机器学习基础理论笔记

没有免费午餐定理(NFL)

抛开实际背景,样本数据可由很多种分布产生,基于所有可能的分布训练后的模型,对测试样本的预测平均错误率是一样的,或者说与随机猜测没有区别。
这里考虑的是所有可能的分布,然而在实际应用中,我们会结合数据产生的背景,对分布由一个可信度非常高的假设,只会考虑一种或有限种分布。
总之,机器学习的目的不是找到一个通用的算法,而是理解数据,假定最合适的分布,再去寻找在该分布上表现最优的算法

选择合适的模型

拿到数据以及明确学习目的后,我们需要深入了解数据,思考哪一类的知识能够很好地表示数据。进而选择合适的模型。例如:

  1. 如果有足够的知识很好地表征样本之间的相似性,不妨选择k近邻这类instance based模型
  2. 如果足够了解概率依赖机制,不妨选择概率图模型
  3. 如果充分了解每个类的先决条件,不妨选择决策树这类"if … then …"规则模型

bias–variance tradeoff

机器学习模型的error(误差)要同时考虑bias(偏差)以及variance(方差)。
bias:模型欠拟合导致预测结果与实际结果误差较大。
variance:模型过拟合,对训练数据集中的数据的波动或噪声过于敏感,错误学习了噪音样本的信息,对未知数据的预测误差波动较大。
通常,表示能力弱(假设空间小)的学习器bias较大(例如线性分类器),反之,variance较大(例如决策树)

过拟合的原因及应对方法

要找出过拟合的原因,可以将误差分解为bias以及variance,再进一步分析造成variance的原因。
列举一些情形:

  1. 添加正则化项可以有效防止过拟合
  2. 交叉检验能够很好防止过拟合,但是若训练参数过多,也可能会过拟合
  3. 数据量较小时,基于错误假设的学习器要比弱正确的学习器要好,因为弱正确的学习器需要更多数据防止过拟合。例如朴素贝叶斯要好于决策树
  4. 数据量较小时,可考虑用卡方检验模型更新前后类的分布是否有明显改变,若有明显改变则说明更新后模型合理

VC维

一个机器学习模型的 VC维代表了模型的复杂程度、学习能力以及模型分离数据集的能力。VC维越大模型越复杂。
直观定义,模型(函数集)能够分散的最大数据集的大小。
举个例子,二维线性分类器,在二维空间中能分散的数据集,最大为3。4个样本就需要两条直线才能分散。
vc维度(摘自维基百科)

二分类模型性能度量

TP(ture positive):正确预测为正类的样本数
FP(false positive):错误预测为正类的样本数
TN(true negtive):正确预测为负类的样本数
FN(false negtive):错误预测为负类的样本数

准确率(accuracy):预测正确的样本占总样本的比例 T P + T N T P + F P + T N + F N \frac{TP+TN}{TP+FP+TN+FN} TP+FP+TN+FNTP+TN
精确率(precision):预测结果的正类中,正确预测的比例 T P T P + F P \frac{TP}{TP+FP} TP+FPTP
召回率(recall):原样本的正类中,被正确预测的比例 T P T P + F N \frac{TP}{TP+FN} TP+FNTP
附:召回率又称真正率(true positive rate, TPR)。与精确率的区别在于精确率针对预测结果,召回率针对原样本。
f1-score: 精确率以及召回率的调和平均数 F 1 = 2 1 p r e c i s i o n + 1 r e c a l l = 2 ∗ p r e c i s i o n ∗ r e c a l l p r e c i s i o n + r e c a l l F_1=\frac{2}{\frac{1}{precision}+\frac{1}{recall}}=2*\frac{precision*recall}{precision+recall} F1=precision1+recall12=2precision+recallprecisionrecall

假正率(false positive rate, FPR):原样本的负类中,被错误预测为正类的比例 F P F P + T N \frac{FP}{FP+TN} FP+TNFP
附:医学领域又被称为误诊率。TPR与FPR是相互制约的

错误发现率(false discovery rate, FDR): 预测结果为正类中, 被错误预测为正类的比例 F P F P + T P \frac{FP}{FP+TP} FP+TPFP

从假设检验的角度考虑:原假设(null hypothesis)为0,备择假设为1,预测为1就是拒绝原假设。

预测\实际01
1FPTP
0TNFN

KS值:衡量模型区分正负类的能力。 K S = m a x ( T P R − F P R ) KS = max(TPR-FPR) KS=max(TPRFPR)
KS曲线中,横轴为阈值,KS曲线的极大值(TPR与FPR的最大差)对应的阈值即为最优阈值。

接收者操作特征曲线(receiver operating characteristic curve,ROC) 以假正率为横坐标,召回率为纵坐标,得到的曲线。二分类模型通常输出样本为正类的概率,另外设置一个阈值(比如0.5),当概率大于阈值则为正类。这样地情况下,针对不同地阈值有一对不同地假正率和召回率。阈值取得越密,ROC曲线越光滑。

(图片摘自维基百科)

ROC曲线得含义:阈值越小,正确预测为正类的样本越多,但同时将负类错误预测为正类的样本也增多,所以越靠近(1,1)。正常情况下,假正率要小于真正率(误诊情况比较少),并且模型分类性能越好曲线越靠近左上方。即曲线上最靠近(0,1)得点对应得阈值应该作为最佳阈值。举个例子,如果一个医生毫无判断能力,将所有就医者认定为没病,那么肯定能召回所有没病的就医者,但其误诊率也必然为1,这将毫无意义。
为什么使用ROC?:ROC曲线对样本中正负类比例不敏感,即如果选取的样本原本就存在正负类比例失衡的情况,用其他指标会产生较大误差,而ROC曲线的趋势受影响较小。同时从ROC曲线中,可以选择出最优的概率阈值,即距离(0,1)最近点对应的阈值。
AUC (Area Under Curve): ROC曲线下的面积,是一个数值,衡量了模型的预测稳定性,值越大越容易选取出合理的概率阈值使得分类性能达到最优。其含义就是随机选取一个正类一个负类,正类预测结果P1,负类预测结果为P2,那么P1>P2的概率等于AUC。反映了分类器的排序能力,即将正类排在负类前面。如下图所示,AUC=1是完美分类器,表明至少存在一个阈值使得分类合理,AUC=0.8表明分类器需要谨慎选择阈值才能使得分类效果合理,AUC=0.5表明模型无分类预测能力。

AUC(图片摘自参考资料)

参考资料

机器学习之分类性能度量指标 : ROC曲线、AUC值、正确率、召回率
https://www.cnblogs.com/gczr/p/10354646.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值