机器学习正是这样一门学科,它致力于研究如何通过计算的手段,利用经验来改善系统自身的性能.
我的理解是机器学习是通过数据(经验)来学习一种解决问题的方法(模型),而实现这一学习过程的方法(学习算法或说计算的手段)就是我们目前正在学习的内容。
这里主要是摘录,就偷懒搬运了网上整理好的笔记了 出处
假设指模型所对应数据集中在的规律,所以假设空间应该是指所有可能的模型对应的规律的集合,也就是特征和结果之间可能的关系的集合。西瓜书中的例子就是指判断好瓜的所有可能的标准。如【色泽不限,根蒂蜷缩,敲声浊响】就是一条标准(它不一定对),也就是一个规律,按这个规律来判别好瓜的方法就是一个模型。除了这一条标准,还有其他的标准(规律),这些标准(规律)的集合就是假设空间,也就是机器学习的学习的范围。机器学习所要做的就是在这个范围(假设空间)内找到真实(或者说最接近真实的)规律,依据这一规律,模型就能够解决问题。
1950-1970初:机器拥有逻辑推理能力
1970中:机器拥有知识
1980:机器学习成为独立学科
1950中后:基于神经网络的连接主义
1960-1970:基于逻辑表示的符号主义
1990中:统计学习
2000初:深度学习
训练误差/经验误差:模型在训练集上的误差
泛化误差:模型在新样本上的误差
过拟合:将训练样本自身特点当做潜在样本的一般性质
欠拟合:对训练样本的一般性质尚未学好
机器学习的难点之一是如何缓解过拟合,使模型泛化能力增强
欠拟合可以通过增加“学习量”来解决
应当选择泛化误差最小的模型
用已知结果的测试集对模型进行测试,以测试集上的测试误差作为泛化误差的近似
测试集应当与训练集互斥,原因在于测试集是新样本的一个近似代表,所以不应使用原本训练时用过的数据
留出法
直接将数据集划分为两个互斥的集合,一个为训练集,另一个为测试集
划分时应分层采样,划分比例常为2/3~/5,要多次随机划分,重复进行实验评估取平均值
交叉验证法
将数据集划分为k个大小相似的互斥子集,每次用k-1个子集的并集作为训练集,剩下的子集作为测试集,可以进行k次训练与测试
交叉验证法又称为k折交叉验证,k常用取值5、10、20
随机重复划分p次,称为p次k折交叉验证
自助法
数据集样本数为m,有放回的重复抽取m次形成一个训练集,数据集中从未被抽取的样本组成测试集
学习算法的参数常在实数范围取值,无法将所有可能的模型都训练出来,需要按一定规则选择一部分参数来进行训练,如选择一个范围和步长,使可选参数数量从无穷多个减少到有限个,然后才能实际进行模型训练
衡量模型范化能力的评价标准就是性能度量
错误率:分类错误的样本数占总测试样本数的比例
精度:分类正确的样本数占总测试样本数的比例
混淆矩阵:
真实\预测 | 正例 | 反例 |
---|---|---|
正例 | TP(真正例) | FN(假反例) |
反例 | FP(假正例) | TN(真反例) |
查准率:P = T P T P + F P \frac{TP}{TP+FP} TP+FPTP
查全率:R = T P T P + F N \frac{TP}{TP+FN} TP+FNTP
P-R曲线:
BEP:P-R曲线中查全率等于查准率的平衡点
F 1 F_{1} F1度量: F 1 = 2 × P × R P + R F1=\frac{2\times P\times R}{P+R} F1=P+R2×P×R
F β F_{\beta} Fβ度量: F β = ( 1 + β 2 ) × P × R ( β 2 × P ) + R F_{\beta }=\frac{(1+\beta^{2})\times P\times R}{(\beta^{2}\times P)+R} Fβ=(β2×P)+R(1+β2)×P×R
宏查全率、查准率、 F 1 F_{1} F1:先在各混淆矩阵上计算出查准率、查全率、 F 1 F_{1} F1,再计算平均值
微查全率、查准率、 F 1 F_{1} F1:先计算各混淆矩阵的平均值,再计算查准率、查全率、 F 1 F_{1} F1
参考资料:
[1] 周志华.机器学习[M].北京:清华大学出版社,2016.