1.1 基本术语
1.1.1.基本概念
- 数据集:即图中的表格
- 测试数据!=训练数据
- 示例:关于一个事件或对象的描述,如表格中的色泽、根蒂和敲声总部分,若包含瓜的好坏则为样例
- 属性:即表格中的色泽或根蒂或敲声
- 属性值:即为属性上的取值
- 属性空间:属性张成的空间
- 分类:即为表格中的“好瓜”、“坏瓜”
- 学习:可分为“监督学习”和“无监督学习”,分类和回归是前者的代表,聚类是后者的代表
- 独立同分布:样本空间中全体样本服从一个未知“分布”(D),获得的每个样本都是独立地从这个分布上采样获得的
- 泛化能力:学得模型适用于新样本的能力
1.2 归纳偏好
1.2.1.归纳偏好
图1 存在多条曲线与优先样本训练集一致
- 如图1所示,任何一个有效的机器学习算法必须有其偏好,归纳偏好为机器学习算法在学习过程中对某种类型假设的偏好,一般原则为奥卡姆剃刀
- 学习算法的归纳偏好是否与问题本身匹配,大多数时候直接决定了算法能否取得好的性能
- 奥卡姆剃刀:若有多个假设与观察一致,则选择最简单的那个,如图1的A,B两条曲线,虽然都与优先样本的训练集一致,但A曲线更为平滑,偏好于A曲线
1.2.2.判断归纳偏好
图2 没有免费的午餐
- 如图2所示,左图A曲线的测试样本点更多,所以A更好;右图B曲线的测试样本点更多,所以B更好
- NFL定理:一个算法A若在某些问题上比另一个算法B好,必然存在另一些问题B比A好
- NFL定理重要前提:所有”问题“出现的机会相同,或所有问题同等重要(实际情况并非如此,我们通常只关注自己正在试图解决的问题,需要做到具体问题,具体分析)
- 最优方案往往来自按需设计、度身定制
2.1 过拟合和欠拟合
2.1.1.泛化误差 VS 经验误差
- 泛化误差:在”未来“样本上的误差
- 经验误差:在训练集上的误差,亦称为”训练误差“
- 经验误差和泛化误差都不是越小越好,误差国小可能会出现过拟合
2.1.2.过拟合 VS 欠拟合
图3 过拟合和欠拟合的直观类比
- 过拟合使机器学习里的核心内容,所有的算法和技术都在缓解过拟合(Overfitting)
2.1.3.模型选择
图4 三大问题
- 如图4所示,模型选择存在了三大问题,分别为评估方法、性能度量和比较检验
2.2 评估方法
2.2.1.关键:如何获得”测试集"?
- 测试集应该与训练集互斥
- 常见方法:留出法、交叉验证法、自助法
2.2.2.留出法
图5 留出法的具体图示
- 直接将训练数据分成训练和测试两部分,即两个互斥的集合
- 留出法保持数据分布的一致性(例如:分层取样)(eg.训练集有80个瓜,40个好40个坏,则在测试集中20个瓜也应是好坏各占一半)
- 留出法需要多次重复划分(例如:100次随即划分,留出法返回的则是这100个结果的平均值,降低切分对数据造成的影响)
- 测试集不能太大、不能太小(例如:1/5~1/3)(希望测试集、训练集大一点,使结果更为准确,两个互斥的集合不可能同时增大,无法调节,只能取一个较为合适的值)
2.2.3.k-折交叉验证法
图6 折交叉验证示意图
- 如图6所示,将D分成10折,做10次测试,选一个测试集,其他为训练集,即可得到10次测试结果,求平均值返回结果。
- 假定数据集D中有m个样本,若k=m,则得到“留一法”,留一法不受随机样本划分方式的影响
2.2.4.自助法
- 自助法基于“自主采样”,亦称“有放回采样”、“可重复采样”
- 如上图所示,样本在m次采样中始终不被采样的概率为(1-1/m)^m,取极限则为36.8%
- 该方法有两个缺陷:a.训练集与原样本集同规模;b.数据分布有所改变
2.3 调参与最终模型
2.3.1.知识概念
- 算法的参数:一般由人工设定,亦称“超参数”
- 模型的参数:一般由学习确定
- 调参过程相似:先产生若干模型,然后基于某种评估方法进行选择
- 参数调得好不好对性能往往对最终性能有关键影响
2.3.2.训练集 VS 测试集 VS 验证集
- 验证集:训练集中留出用于调参得部分,也可以看作一种测试集
- 算法参数选定后,要用“训练集+验证集”重新验证最终模型
- 测试集在训练中未用到,调参数得过程也是训练中的一部分,应从训练集中来
2.4 性能度量
2.4.1.知识概念
- 性能度量:衡量模型泛化能力的评价标准,反映了任务需求
- 使用不同的性能度量往往会导致不同的评判结果
- 什么样的模型是“好”的,不仅取决于算法和数据,还取决于任务需求
2.4.2.回归任务常用均方误差(二次误差、平方误差)
如图7所示
图7 均方误差的求解公式
2.4.3.错误率 VS 精度
图8 错误率与精度的计算公式
- 错误率与精度总和为1
2.4.4.查准率 VS 查全率
图9 分类结果混淆矩阵
- 查准率(查准多少):P=TP/TP+FP
- 查全率:R=TP/TP+FN
- F1度量
- F1是居于查案准率和查全率的调和平均,FB是基于查准率和查全率的加权调和平均
- F1度量的一般形式为FB,表达对查准率/查全率的不同偏好
2.5 比较检验
1.在某种度量下取得评估结果后,不可以直接比较以评判优劣,原因如下,
- 测试性能不等于泛化性能
- 测试性能随着测试集的变化而变化
- 很多的机器学习算法本身有一定的随机性
注:机器学习找的不是确定的最优的,而是概率近似正确的,无法用一次确定性的比较就决定一切
2.5.2.常用方法
- 统计假设检验为学习器性能比较提供了重要依据
3.1 线性模型
3.1.1.线性模型
- 线性模型试图学得一个通过属性得线性组合来进行预测得函数即
- 向量形式:f(x)=w^T*x+b(w^T为w的转置)
3.1.2.线性回归
- 线性回归试图学得
注:离散属性的处理:若有“序”,则连续化,否则,转化为k维向量
- 线性回归的解决方案,如下图
- E(w,b)是关于w和b的凸函数,当他关于w和b的导数均为0时,即其不再发生变化,得到w和b的最优解,即可解出 f(x)=w^T*x+b的方程,在函数图上得到了一条直线,得到数据点后,要尽可能让直线穿过尽可能多的数据点
- 线性回归无最大值,其可以无限大,可以偏离到无限远,无限偏离,误差无穷大,所以极值点一定为零点,即二者相等的点
3.1.3.多元线性回归
- 线性回归 f(x)=w^T*x+b 的x为标量,多元线性回归的x变为一个向量,即数据集D中样本由d个属性描述
- 对于多元线性回归,依旧可以使用最小二乘法来对w和b进行估计
- 上述求解中要让E对w的求导为0,涉及到矩阵求逆,有以下两种情况
注:此时求解需要一个归纳偏好,,或引入正则化(要什么样的东西表达出来)
3.1.4.线性模型的变化
- 示例所对应的输出标记是在指数尺度上变化,如图10表示的是对数线性回归
图10 对数线性回归示意图
- 广义线性模型,对数线性回归是广义线性模型在g(.)=ln(.)时的特例
3.2 对数几率回归
3.2.1.二分类任务
- 需要将实值z转换为0/1值,最理想的是“单位阶跃函数”
- 对数几率函数
- 单位阶跃函数不连续,性质不好,需找“替代函数”,希望“替代函数”单调可微、常用且任意阶可导,对数几率函数(对率函数)满足所有条件:,可以进行替代
3.2.2.对率回归
- 对率回归
- 将y视为样本x作为正例的可能性,则1-y是其反例的可能性,两者的比值 称为几率,反映了x作为正例的相对可能性,对几率取对数则得到对数几率
- ”对数几率回归“简称“对率回归”,其是一个分类学习算法,具有几个优点,如无需事先假设数据分布;可得到“类别”的近似概率预测;可直接应用现有数值优化算法求取最优解
- 求解思路
3.3 线性判别分析
3.3.1.线性判别分析(LDA)
- LDA的思想:给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离
- LDA的目标:最大化广义瑞利商
- 上图即为LDA的最大化目标,下图为化简后的形式,由化简得公式可知w对J不重要,起作用的是其方向
- 类内散度矩阵(只考虑同类对象内部的分散程度)
- 类间散度矩阵:
- 求解w的思路
3.4 多分类学习
3.4.1.推广至多类
- 多分类LDA由多种实现方法:采用、、中的任何两个,如
- 推广至多类,假设由N个类,则全局散度矩阵、类内散度矩阵、类间散度矩阵如下图所示
3.4.2.多分类学习
- 拆解法:将一个多分类任务拆分为若干个二分类任务求解
- OvO做法 VS OvR做法
- )OvO训练N(N-1)/2个分类器,存储开销和测试时间大;训练只用两个类的样例,训练时间缩短
- )OvR训练N个分类器,存储开销和测试时间小;训练用到全部训练样例,训练时间长
3.5 类别不平衡
- 类别不平衡:指分类任务中不同类别的训练样例数目差别很大的情况,“小类”往往更重要
- 基本思路
- 基本策略——“再放缩”
然而,精确估计通常很困难
- 常见类别不平衡学习方法:过采样(上采样)、欠采样(下采样)、阈值移动