机器学习之西瓜书-第2章 模型评估与选择
小编又又又与大家见面了,好开心啊啊~
整体评价:
密密麻麻的重点,像西瓜籽一样
知识点:
一些衡量的指标
如果m个样本中有a个样本分类错误
- error rate:错误率=a/m
- accuracy:精度=1-错误率=1-a/m
训练误差和泛化误差
- training error:训练误差,在训练集上的误差,也叫empirical error经验误差
- generalization error:泛化误差,在测试集/新样本上的误差,约等于testing error测试误差
过拟合和欠拟合
- overfitting:过拟合
- underfitting:欠拟合
划分训练集和测试集
通过对数据集D进行适当处理,从中产生训练集S和测试集T,两者尽可能互斥。
(PS:在金融建模中,经常会将D拆分成三部分:训练集S和测试集T,以及最后一段时间的样本作为时间外样本)
方法一:留出法
随机抽取2/3—4/5的样本用于训练,剩余样本用于测试
方法二:交叉验证法
实际中用的少,因为计算开销很大
k-fold cross validation:k折交叉验证
方法三:自助法
同样是实际中用的少
booststrapping:自助法,可重复采样
优:适用于数据集较小、难以有效划分训练/测试集时
下面公式推导自:lim(1+1/x)^x=e x趋向于无穷
验证集
validation set:验证集,主要是为了选择模型/调参
在研究对比不同算法的泛化性能时,我们用测试集上的判别效果来估计模型在实际使用时的泛化能力,而把训练数据另外划分为训练集和验证集,基于验证集上的性能来进行模型选择和调参.
性能度量
performance measure:性能度量
假设,预测结果为f(x),真实标记为y。
- 回归任务
mean squared error:均方误差,性能度量最常用的
- 不带概率密度:
- 带概率密度:
- 分类任务-二分类(带概率密度的基本同上,略)
- error rate错误率
别看错误率公式这么复杂,其实也就是a/m=count(case when f(x)^=y then 1 else 0 end)/count(*) - accuracy精度
- precision查准率=①/(①+③)
- recall查全率 =①/(①+②)
查准率和查全率相互矛盾,要求一个高的时候另一个就会低。
就像策略切线一样,要求把尽可能多的坏客户切进去时,查全率高了,但同时查准率就会变低。
小编推荐的B站视频里用的另一个例子,也很好理解,识别图片上的数字是不是5
给是5的概率打一个分,分按照从低到高排序,越高,是5的概率越大
针对每个阈值切线点,计算查准率和查全率
- 最优阈值的确定
方法一:break-even point:BEP,平衡点
对比多个模型时,计算P-R曲线与xy轴围成的面积大小
P-R曲线中,P=R的点,查准率=查全率
方法二:F1度量:查准率和查全率的调和平均
对比多个模型时,对比大小
推导出:
方法三:Fβ度量:查准率和查全率的加权调和平均
对比多个模型时,对比大小
β>1时查全率有更大影响;β<1时查准率有更大影响.
推导出:
方法四:ROC曲线和auc面积
当①/(①+②)不变时,③/(③+④)越小越好,此时auc面积更大
- 分类任务-多分类
方法一:直接用现成的算法
方法二和三见下图:
方法二:先分别计算P、R,再平均,最后计算F1
方法三:先平均①②③④,再计算P、R,最后计算F1
———————————————分界线,以下仅作了解,不必深究——————————————
- 代价敏感错误率与代价曲线
目的:区分不同类型的错误造成的后果不同
- cost sensitive error rate:代价敏感错误率公式
- cost curve:代价曲线CC
CC 的应用远不及 ROC,进一步了解看参看:https://www.zhihu.com/question/63492375
横轴(分母仅用来做归一化)
纵轴(分母仅用来做归一化)
比较检验
- hypothesis test:假设检验
- binomial test二项检验
- 交叉验证t检验
- McNemar检验
- Friedman检验与Nemenyi检验
偏差与方差
第二章到此为止,886~