一、机器学习历史来源
机器学习在近30多年已发展为一门多领域交叉学科,机器学习是人工智能的一个分支。人工智能“知识”--》“学习”重点,机器学习是实现人工智能的一个途径,机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。
人工智能证明了很多复杂的领域你无法直接通过编程来实现处理,比如你通过程序一步一步的if--elsif去设置所有的逻辑判断,通过程序识别海量的异常(如果强行实现难度太高且通用性不够)。但是通过一些学习型算法,可以让计算机自己去学习,比如学习手写体,学习各种声音、学习识别图片等,目前的手写体识别、声音识别、图像识别都是人工智能领域研究出机器学习的算法,最后通过机器学习实现的。
二、机器学习的应用领域
机器学习是一种方法论,通过研究数据的各种独立角度寻找数据的函数变化关系,代入函数后通过机器自动在海量数据中去寻找函数输出值(也就是我们需要挖掘的内容,比如从众多图片中寻找所有属于人的脸;找出所有图片中的猫;通过话单分析人的活动轨迹,常住地、娱乐地、工作地、性格特征等)。
日常生活中,我们每天使用的美团外卖、淘宝购物、每日头条等APP,都使用了一种对用户使用习惯进行分析的学习型算法,通过对我们在APP中的操作行为与历史浏览数据学习,分析出我们的口味、购物习惯、兴趣爱好等,最后在APP中实现在首页推送我们感兴趣的物品与新闻等信息,自动迎合每个人的不同爱好,而这一切都是不需要人工去识别操作。
在通信领域,通过用户的行为数据(各类网管系统日志或告警信息)构建学习--这一块应该通过学习算法建立机器学习模型,通过计算机自动学习识别,可以对用户群体的各种特征与网络运行维护指标、网络设备性能指标进行关联分析,最终实现网络生态化(即网络可以根据用户的行为习惯自动调度优化设备资源配置,满足业务需求的同时防止设备能力建设维护的过度或不足,降低维护成本)
二、机器学习涉及预备知识
机器学习涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科,学习它需要以下5个方面的基础知识,尤其是概率统计与线性代数知识。
1、计算机科学基本知识
2、大O的含义(分析算法复杂性)及数据结构(队列、栈、二叉树等)
3、编程能力(python,matlab、Octave)
4、概率统计(随机变量及随机变量的期望,和方差等)
5、线性代数(矩阵、向量,矩阵*向量,矩阵乘法,逆矩阵,矩阵的特征向量)
三、机器学习分类模型
1、监督学习
定义:是一个机器学习的方法,可以由训练资料中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练资料是由输入物件(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。
个人理解:为算法提供标准答案,希望算法学习输入数据与标准答案之间的联系,实现输入没有标准答案数据时,机器为我们提供类似标准答案, 给定的训练数据集中学习出一个函数,当新的数据到来时,可以根据这个函数预测结果。
监督式学习有两种形态的模型。通常是产生一个全域模型,将输入物件对应到预期输出。
另一种,则是将这种对应实作在一个区域模型。(如案例推论及最近邻居法)
监督式学习数学描述:
监督式学习的目标是在给定一个 (x, g(x))的集合下,去找一个函数g。
假设符合g行为的样本集合是从某个更大甚至是无限的母体中,根据某种未知的概率分布p,以独立同分布随机变量方式来取样。则可以假设存在某个跟任务相关的损失函数 L
其中,Y是g的到达域,且L会对应到非负实数(L可能有其它限制)。如果预测出来g的值是z,但实际值是y,而L(z, y)这个量是其间的损失。
某个函数f的风险是定义成损失函数的期望值。如果概率分布p是离散的(如果是连续的,则可采用定积分和概率密度函数),则定义如下:
现在的目标则是在一堆可能的函数中去找函数f*,使其风险R(f*)是最小的。
然而,既然g的行为已知适用于此有限集合(x1, y1), ..., xn, yn),则我们可以求得出真实风险的近似值,譬如,其经验风险为:
选择会最小化经验风险的函数f*就是一般所知的经验风险最小化原则。统计学习理论则是研究在什么条件下经验风险最小化才是可行的
经典算法介绍:
a、回归算法
一种统计学上分析数据的方法,目的在于了解两个或多个变数间是否相关、相关方向与强度,并建立数学模型以便观察特定变数来预测研究者感兴趣的变数。更具体的来说,回归分析可以帮助人们了解在只有一个自变量变化时因变量的变化量。
目的在于找出一条最能够代表所有观测资料的函数(回归估计式),用此函数代表因变数和自变数之间的关系。
(回归分析模型图)
参数估计
- 矩估计(Method of Moment、MOM)
- 最小二乘法(Ordinary Least Square Estimation, OLSE)
- 最大似然估计(Maximum Likelihood Estimation, MLE)
回归模型主要包括以下变量:
回归模型将Y和一个关于X和β的函数关联起来。
-
-
- 简单线性回归 ( 英语:simple linear regression )
-
- 应用时机
- 以单一变数预测
- 判断两变数之间相关的方向和程度
复回归(或多变量回归)
复回归分析(英语:multiple regression analysis)是简单线性回归的一种延伸应用,用以了解一个依变项与两组以上自变项的函数关系。
对数线性回归
对数线性回归(英语:Log-linear model),是将解释变项(实验设计中的自变项)和反应变项(实验设计中的依变项)都取对数值之后再进行线性回归,所以依据解释变项的数量,可能是对数简单线性回归,也可能是对数复回归。
-
可以用于房价预测,手写识别、垃圾邮件识别等;
- 问题: "基于上面房价和面积的数据,我有一套750平方英尺的房子,如何通过上面的数据算出我的房子值多少钱?"
- 我们一般会使用两种方法来预测?
- 画一条穿越这些数据的直线在坐标轴上找到x=750时对应的y轴位置
- 可能是 $150 000
- 画一条二次函数曲线更加精密的贴近这些数据,然后类似方法一找到对应的y轴值
- 可能是 $200 000
- 如何选择这些预测算法?上面这些标注的数据就是人为给算法提供的训练集(标准答案)
- 这些方法中的每一种代表着监督学习的一种方式
- 画一条穿越这些数据的直线在坐标轴上找到x=750时对应的y轴位置
- 问题: "基于上面房价和面积的数据,我有一套750平方英尺的房子,如何通过上面的数据算出我的房子值多少钱?"
- b、分类算法
- 分类算法由监督分类与无监督分类两种。
-
监督分类(supervised classification):根据已知训练区提供的样本,通过计算选择特征参数,建立判别函数以对样本进行的分类。
无监督分类(unsupervised classification):指人们事先对分类过程不施加任何的先验知识,而仅凭数据,即自然聚类的特性,进行“盲目”的分类;其分类的结果只是对不同类别达到了区分,但并不能确定类别的属性。
举例:
- 多维度数据标注一个问题
- 下例中使用年龄、肿瘤大小标注一组数据(红叉表示恶性、蓝圈表示良性)
- 基于以上年龄、肿瘤大小数据,你尝试把良性和恶性肿瘤分类
- 从两组数据间画一条直线
- 使用更多复杂的方法来定义这两组数据
- 然后,当您具有特定肿瘤大小,特定年龄的个体时,您可以希望使用该训练数据将该输入数据置于上面我们已经分好的一个类中
- 实际应用中会考虑更多的维度进行判别
- 肿瘤的厚度
- 肿瘤细胞大小的均匀性
- 肿瘤细胞形状均匀
- 最好的算法可以处理无限数量特征的数据
- 但是如何处理这么多数量的特征数据呢?
- 数学中的向量机可以标注特征数据
- 但是如何在无限空间中去标注一个数据呢?无限向量机?
2、无监督学习
与监督学习相比,训练集没有人为标注的结果。常见的无监督学习算法有聚类。
一种机器学习的方式,并不需要人力来输入标签(也就是不需要人工去标注正确答案)。
一个常见的非监督式学习是数据聚类。在人工神经网络中,自我组织映射(SOM)和适应性共振理论(ART)则是最常用的非监督式学习。
ART模型允许丛集的个数可随着问题的大小而变动,并让使用者控制成员和同一个丛集之间的相似度分数,其方式为透过一个由使用者自定而被称为警觉参数的常数。ART也用于模式识别,如自动目标辨识和数位信号处理。
聚类算法应用:
在同时混杂多人的语音中,通过聚类算法分离出每个人的声音;
在同时混杂人声与背景音乐的声音中,通过聚类算法分离出音乐与人声;
3、强化学习
通过观察来学习做成如何的动作。每个动作都会对环境有所影响,学习对象根据观察到的周围环境的反馈来做出判断。
强化学习是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益(回报函数)。其灵感来源于心理学中的行为主义理论,即有机体如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的预期,产生能获得最大利益的习惯性行为。
强化学习和标准的监督式学习之间的区别在于,它并不需要出现正确的输入/输出对,也不需要精确校正次优化的行为。强化学习更加专注于在线规划,需要在探索(在未知的领域)和遵从(现有知识)之间找到平衡。强化学习中的“探索-遵从”的交换。
基本的强化学习模型包括:
- 环境状态的集合
;
- 动作的集合
;
- 在状态之间转换的规则;
- 规定转换后“即时奖励”的规则;
- 描述主体能够观察到什么的规则。