第一章 绪论
1.1 引言
机器学习的经典定义:利用经验(数据)改善系统自身的性能
经典的机器学习过程:
机器学习最重要的理论模型:PAC(概览近似正确)
1.2 基本术语
数据集:一组记录的集合
学习/训练:通过执行某个学习算法,得到模型,学的的模型对应数据的某种潜在规律
示例:不包含结果(标记label) , 样例:包含结果(标记label)
样本 , 属性(eg.色泽) , 属性值
属性空间、样本空间、输入空间:
学习器:模型
分类:离散的输出(是or否) ,回归:连续的输出(0->1)
二分类(正类,负类<可交换>),多分类
无监督学习:不知道结果(任务:密度统计) , 监督学习:知道结果(任务:分类,回归)
1.3 假设空间
学习过程:在所有假设组成的空间中进行搜索的过程(目标:找到与训练集匹配的假设)
版本空间:与训练集一致的假设集合
1.4 归纳偏好
有效的机器学习必有其偏好
学习算法的归纳偏好是否与问题本身匹配,决定了算法的性能
1.5 NFL定理
一个算法a若在某些问题上比另一个算法b好,必存在另一些问题b比a好
具体问题,具体分析
第二章 模型评估与选择
2.1 经验误差与过拟合
(1)
泛化误差:在未来样本上的误差
经验误差:在训练集上的误差,亦称“训练误差”
泛化误差越小越好,但是经验误差(训练误差)不是越小越好,因为会出现过拟合
(2)
过拟合:特征不是一般规律
欠拟合:特征不足
2.2 模型选择
评估方法:如何获得测试结果
性能度量:如何评估性能优劣
比较检验:如何判断实质差别
2.2.1 评估方法
测试集与训练集互斥
2.2.1.1 留出法
· 保持数据分布一致性(20个好瓜,20个坏瓜)
· 多次重复划分(例如:100次随机划分)
· 测试集不能太大、不能太小(例如:1/5~1/3)
2.2.1.2 k-折交叉验证法
2.2.1.3 自助法
有放回采样,可重复采样
· 训练集与原样本集同规模
· 数据分布有所改变
约有36.8%的样本不出现——>“包外估计”
2.2.1.4 调参与最终模型
算法的参数:一般由人工设定,亦称“超参数”
模型的参数:一般由学习确定
验证集:用来调参数
调参过程相似:先产生若干模型,然后基于某种评估方法进行选择
算法参数选定后,要用“训练集+验证集”重新训练最终模型,调参以验证集上的性能作为评价标准
2.2.2 性能度量
性能度量是衡量模型泛化能力的评价标准,反映了任务需求
使用不同的性能度量往往会导致不同的评判结果什么样的模型是“好”的,不仅取决于算法和数据,还取决于任务需求
回归任务常用均方误差:
2.2.2.1 错误率与精度
错误率:
精度:
2.2.2.2 查准率、查全率与F1
查准率:
查全率:
F1度量:
若对查准率/查全率有不同的偏好:
2.2.3 比较检验
2.2.3.1 假设检验
假设a算法和b算法性能是不是一样,再看实验结果,能不能把之前的假设拒绝掉,如果拒绝掉了则性能不一样,如果没拒绝则性能一样
2.2.3.2 交叉验证t检验
基于成对t检验
k折交叉验证;5x2交叉验证
统计显著性
2.2.3.3 McNemar检验
基于列联表,卡方检验
2.2.3.4 Friedman检验与Nemenyi后续检验
Friedman检验(基于序值,F检验;判断”是否都相同”)
Nemenyi后续检验(基于序值,进一步判断两两差别)