一、什么是机器学习
机器学习研究的是计算机怎么模拟人类的行为,以获取新的知识和技能,并重新组织已有的知识结构,使之不断改善
自身。简单一点说,就是计算机自动从数据中学习规律和模式,并应用于解决新问题。比如给定数据(X1,Y1), (X2,Y2), …
,(Xn,Yn),通过算法机器自动学习X和Y之间的关系,从而对新的Xi,能够预测Yi,比如通过身高预测性别、预测体重等。
机器学习关注的问题
并非所有问题都适合用机器学习解决,如果逻辑清晰的问题用规则就能很高效和准确解决。也没有一个机器学习算法
可以通用于所有问题。机器学习到底关心和解决什么样的问题?
1、分类问题
根据数据样本上抽取出的特征,判定其属于 有限 个类别中的哪一个,比如
垃圾邮件识别:1 垃圾邮件,2 正常邮件
文本情感分析:1 褒,2 贬
图像内容识别识别(结果类别:1、喵星人 2、汪星人 3、人类 4、草泥马 5、都不是)。
2、回归问题
根据数据样本上抽取的特征,预测一个连续值的结果,比如
《速度与激情》票房
《速度与激情》票房
广州2个月后房价
3、聚类
根据数据样本上抽取出的特征,相近或相关的样本聚在一起,比如:
新闻分类
用户群体划分
再把上述的问题划分到机器学习2个分类上:
分类和回归问题需要已知结果的数据做训练,属于“监督学习”
聚类问题不需要已知标签进行训练,属于“非监督学习”
机器学习在以下热点有非常多的应用:
1.计算机视觉
典型的应用包括:人脸识别、车牌识别、扫描文字识别、图片内容识别、图片搜索等等。
2.自然语言处理
典型的应用包括:搜索引擎智能匹配、文本内容理解、文本情绪判断,语音识别、输入法、机器翻译等等。
3.社会网络分析
典型的应用包括:用户画像、网络关联分析、欺诈作弊发现、热点发现等等。
4.推荐
典型的应用包括:虾米音乐的“歌曲推荐”,某宝的“猜你喜欢”等等。
二、基于规则
三、基于模型-机器学习
四、基本概念
输入空间 :输入所有可能取值集合
输出空间 :输出所有可能取值集合
特征空间 :每个具体的输入是一个实例,通常由 特征向量 表示,特征向量存在的空间称为特征空间。特征空间的每一维对应于一个特征。
假设空间 :学习的目的在于学习一个有输入到输出的 映射 ,映射由模型来表示,模型属于由输入空间到输出空间的映射。集合,这个集合称为假设空间。
输入变量X和输出变量Y有不同的类型,可以是连续,也可以是离散的。输入和输出变量均为连续变量的预测问题称为 回归问题 ;输出变量为有限个离散变量的预测问题称为 分类问题
五、机器学习三要素
统计学习=模型+策略+算法
模型:所要学习的条件概率分布或决策函数
策略:从假设空间中按照一定的准则去选择最优的模型?损失函数和风险函数
算法:如何高效找到模型中未知的最优参数
1.模型-规律
模型通常分为决策函数或条件概率分布
决策函数:
条件概率分布:
2.策略 ---模型好不好
评估模型的好坏,使用损失函数来进行度量,模型给出的值与实际真实值存在的差距。
损失函数度量模型一次预测的好坏 ,常用的损失函数有:
期望风险
由于模型的输入和输出(X,Y)是随机变量,遵循联合分布P(X,Y),所以损失函数的期望是
这是理论上模型f(x)关于联合分布P(X,Y)的平均意义下的损失,称为 风险函数 (risk function)或 期望损失 (expected loss)。
机器学习的目标就是选择 期望风险最小的模型 ,但由于 联合分布P(X,Y)是未知 的,E不能直接计算 。
经验风险
模型f(X)关于训练数据集的平均损失称为 经验风险 (empirical risk)或 经验损失 (empirical loss),记作
期望风险是模型关于联合分布的期望损失,经验风险是模型关于训练样本集的平均损失 。依据大数定律,当样本N趋于无穷时,经验风险趋于期望风险。但由于现实中训练样本数有限甚至很小,使用经验风险估计期望风险常常并不理想,所以要对 经验风险进行一定的矫正 ,这就关系到监督学习的两个基本策略:经验风险最小化和结构风险最小化。
经验风险最小化
当样本容量够大时,经验风险最小化能保证有很好的学习效果,比如 极大似然估计 就是经验风险最小化的一个例子。当模型是条件概率分布,损失函数是对数损失函数时,经验风险最小化就等价于极大似然估计。
过拟合与模型选择
上图给出了M=0,M=1,M=3,M=9时的多项式函数拟合的情况,其中绿色曲线为真模型,红色为预测模型。
结构风险最小化
当样本容量很小时,经验风险最小化学习的效果就未必很好,会产生“ 过拟合(over-fitting) ”现象。
结构风险最小化(structural risk minimization)是为了防止过拟合而提出来的策略,结构风险在经验风险上加上表示模型的 正则化 (regularizer)或 罚项 (penalty term)。在假设空间,损失函数以及训练数据集确定情况下,结构风险的定义是
正则化
正则化项可以模型参数向量的范数。例如,回归问题中,损失函数是平方损失,正则化项可以是参数向量的L2范数:
也可以是参数向量的L1范数:
经验风险较小的模型可能较复杂,这时正则化项的值会较大,正则化的作用就是选择经验风险与模型复杂度同时较小的模型
正则化项符合奥卡姆剃刀原理,在所有可能的模型中,能够很好的解释已知数据并且十分简单的模型才是最好的模型。
从 贝叶斯估计 的角度来看,正则化项对应于模型的先验概率,可以假设复杂的模型有较小的先验概率,简单的模型有较大的先验概率。
六、算法
机器学习的算法就是 求解最优化问题 的算法,如果最优化问题有 显示的解析解 ,这个最优化问题就比较简单,但通常这个解析解不存在,所以需要利用 数值计算 的方法来求解,机器学习可以利用已有的最优化。算法,也可以开发独自的最优化算法。
1.交叉验证
机器学习中常用的精度测试方法,叫做交叉验证,目的是得到可靠稳定的模型,具体的做法是拿出大部分数据进行建模,留下部分样本用模型进行预测,并求出小部分样本预测的误差,交叉验证在克服过拟合问题非常有效。下面介绍常见的交叉验证方法:
(1)简单交叉验证
随机从最初的样本中选择部分,形成验证数据,而剩下的当作训练数据。一般来说,少于三分之一的数据被选作验证数据。
(2)10折交叉验证
10折交叉验证是把样本数据分成10份,轮流将其中9份做训练数据,将剩下的1份当测试数据,10次结果的均值作为对算法精度的估计,通常情况下为了提高精度,还需要做多次10折交叉验证.
(3)留一验证
留一验证只使用样本数据中的一项当作验证数据,而剩下的全作为训练数据,一直重复,直到所有的样本都作验证数据一次。可以看出留一验证实际上就是K折交叉验证,只不过这里的K有点特殊,K为样本数据个数。
2 泛化能力
泛化能力指由学习方法得到的模型对未知数据的预测能力
3 过拟合与模型选择