概念
概念 | 解释 | 页码 |
---|---|---|
错误率 | 分类错误的样本数占样本总数的比例 | 23 |
精度 | 精度 = ( 1-错误率 ) x 100% | 23 |
误差 | 学习器的实际预测输出与样本的真实输出之间的差异称为"误差"(误差期望) | 23 |
训练误差 | 学习器在训练集上的误差称为"训练误差" | 23 |
泛化误差 | 学习器在新样本上的误差称为"泛化误差" | 23 |
过拟合 | 欠拟合 |
---|---|
训练样本学得“太好",泛化性能下降 | 对训练样本的一般性质尚未学好 |
过配 | 欠配 |
通常学习能力过于强大导致 | 通常学习能力低下导致 |
学习能力是否"过于强大",由学习算法和数据内涵共同决定的。
过拟合是机器学习面临的关键障碍
过拟合问题的理论思考:
机器学习面对的通常是NP难甚至更难
有效的学习算法可以理解为P
如果通过经验误差最小化就能获得最优解,意味着构造性证明了 P = N P P=NP P=NP
只要相信 P ≠ N P \mathrm{P} \neq \mathrm{NP} P=NP,那么就难以避免过拟合
模型选择
包括
评估方法
评价标准
测试集 T T T
数据集 D D D划分出 训练集 S S S 和 测试集 T T T (验证集)的方法
(模型评估中用于测试的数据集通常称为验证集)
补充
在模型评估与选择的过程中留出一部分数据进行评估测试,在模型选择完成后,学习算法和参数配置已选定,再用全量的数据进行训练,这个才是最终提交给用户的模型
将数据集 D D D划分为两个互斥的集合
D = S ∪ T S ∩ T = ∅ D=S \cup T\\ S \cap T=\varnothing D=S∪TS∩T=∅
注意点
将数据集 D D D划分为 k k k个大小相似的互斥子集,同时每个子集尽可能保证数据分布的一致性
D = D 1 ∪ D 2 ∪ … ∪ D k D i ∩ D j = ∅ ( i ≠ j ) D=D_{1} \cup D_{2} \cup \ldots \cup D_{k}\\ D_{i} \cap D_{j}=\varnothing(i \neq j) D=D1∪D2∪…∪DkDi∩Dj=∅(i=j)
每次使用 k − 1 k-1 k−1个自己的并集作为训练集,余下的那个子集作为测试集
返回结果为 k k k个测试结果的均值
交叉验证也称为 k k k折交叉验证, k k k倍交叉验证
留一法(Leave-One-Out,LOO)
数据集 D D D中包含 m m m个样本,令 k = m k=m k=m
在交叉验证法中,数据集 D D D划分为 k k k个子集同样存在多种划分方式,可将交叉验证重复划分 p p p次,最终结果为 p p p次 k k k次交叉验证结果的均值
交叉验证法和留出法
“10次10折交叉验证” 与 “100次留出法” 都是进行了100次训练
以自助采样法(bootstrap)为基础
给定包含 m m m个样本的数据集 D D D
D D D中有一部分样本会在 D ′ D^{\prime} D′中多次出现,而另一部分样本不出现
做简单的估计,样本在 m m m次采样中始终不被采到的概率是 ( 1 − 1 m ) m \left(1-\frac{1}{m}\right)^{m} (1−m1)m
取极限可以得到
lim m ↦ ∞ ( 1 − 1 m ) m ↦ 1 e ≈ 0.368 \lim _{m \mapsto \infty}\left(1-\frac{1}{m}\right)^{m} \mapsto \frac{1}{e} \approx 0.368 m↦∞lim(1−m1)m↦e1≈0.368
初始数据集 D D D中约有 36.8 36.8% 36.8%的样本未出现在采样数据集 D ′ D^{\prime} D′中,剩余的这36.8%样本作为测试集
包外估计(out-of-bag)
实际评估的模型和期望评估的模型都使用了 m m m个训练样本,但仍有约1/3没在训练集中出现,用于测试,这样的测试结果称为包外估计
留出法 v.s. 交叉验证法 v.s. 自助法
参数调节/调参
对算法参数进行设定
参数的选择方法
基于验证集上的性能来进行模型选择和调参
性能度量
回归任务的性能度量
均方误差
E ( f ; D ) = 1 m ∑ i = 1 m ( f ( x i ) − y i ) 2 E(f ; D)=\frac{1}{m} \sum_{i=1}^{m}\left(f\left(\boldsymbol{x}_{i}\right)-y_{i}\right)^{2} E(f;D)=m1i=1∑m(f(xi)−yi)2
对于数据分布 D D D和概率密度函数 p ( ⋅ ) p(·) p(⋅),均方误差
E ( f ; D ) = ∫ x ∼ D ( f ( x ) − y ) 2 p ( x ) d x E(f ; \mathcal{D})=\int_{\boldsymbol{x} \sim \mathcal{D}}(f(\boldsymbol{x})-y)^{2} p(\boldsymbol{x}) \mathrm{d} \boldsymbol{x} E(f;D)=∫x∼D(f(x)−y)2p(x)dx
分类任务的性能度量
适用范围
二分类和多分类
定义
错误率
精度
更一般的描述
E ( f ; D ) = ∫ x ∼ D I ( f ( x ) ≠ y ) p ( x ) d x E(f ; \mathcal{D})=\int_{\boldsymbol{x} \sim \mathcal{D}} \mathbb{I}(f(\boldsymbol{x}) \neq y) p(\boldsymbol{x}) \mathrm{d} \boldsymbol{x} E(f;D)=∫x∼DI(f(x)=y)p(x)dx
acc ( f ; D ) = ∫ x ∼ D I ( f ( x ) = y ) p ( x ) d x = 1 − E ( f ; D ) \begin{aligned} \operatorname{acc}(f ; \mathcal{D}) &=\int_{\boldsymbol{x} \sim \mathcal{D}} \mathbb{I}(f(\boldsymbol{x})=y) p(\boldsymbol{x}) \mathrm{d} \boldsymbol{x} \\ &=1-E(f ; \mathcal{D}) \end{aligned} acc(f;D)=∫x∼DI(f(x)=y)p(x)dx=1−E(f;D)
分类结果混淆矩阵
预测结果 | ||
---|---|---|
真实情况 | 正例 | 反例 |
正例 | TP真正例 | FN假反例 |
反例 | FP假正例 | TN真反例 |
准确率 P P P
召回率 R R R
准确率和召回率之间的trade-off
一个高的情况下,另一个指标就会相对下降,通常只有在一些简单任务上,才可能使得两者都很高,具体需要那儿一指标比较高,需要根据具体的应用来进行设定
P-R曲线(P-R图)
召回率作为横轴,精确率作为纵轴
现实任务中P-R曲线常是非单调、不平滑的,在很多局部都有上下波动
不同P-R曲线之间的比较方法
(1) 包围情况
(2) 平衡点(Break-Event Point ,BEP)
(3) F1
包围情况下,即曲线A完全包围了曲线B,那么学习器A的性能优于学习器B的性能
平衡点
F 1 F1 F1
基于准确率和召回率的调和平均(harmonic mean)
F 1 = 2 × P × R P + R = 2 × T P 样例总数 + T P − T N F 1=\frac{2 \times P \times R}{P+R}=\frac{2 \times T P}{\text { 样例总数 }+T P-T N} F1=P+R2×P×R= 样例总数 +TP−TN2×TP
F 1 F1 F1 v.s. 算术平均 v.s. 几何平均
算术平均 P + R 2 \frac{P+R}{2} 2P+R
几何平均 P × R \sqrt{P \times R} P×R
F β F_{\beta} Fβ
n n n个二分类混淆矩阵上综合考虑准确率和召回率
宏
macro- P = 1 n ∑ i = 1 n P i macro- R = 1 n ∑ i = 1 n R i macro- F 1 = 2 × macro- P × macro- R macro- P + macro- R . \begin{array}{c} \text { macro- } P=\frac{1}{n} \sum_{i=1}^{n} P_{i} \\ \text { macro- } R=\frac{1}{n} \sum_{i=1}^{n} R_{i} \\ \text { macro- } F 1=\frac{2 \times \text { macro- } P \times \text { macro- } R}{\text { macro- } P+\text { macro- } R} . \end{array} macro- P=n1∑i=1nPi macro- R=n1∑i=1nRi macro- F1= macro- P+ macro- R2× macro- P× macro- R.
微
micro- P = T P ‾ T P ‾ + F P ‾ , micro- R = T P ‾ T P ‾ + F N ‾ , micro- F 1 = 2 × micro- P × micro- R micro- P + micro- R . \begin{array}{c} \text { micro- } P=\frac{\overline{T P}}{\overline{T P}+\overline{F P}}, \\ \text { micro- } R=\frac{\overline{T P}}{\overline{T P}+\overline{F N}}, \\ \text { micro- } F 1=\frac{2 \times \text { micro- } P \times \text { micro- } R}{\text { micro- } P+\text { micro- } R} . \end{array} micro- P=TP+FPTP, micro- R=TP+FNTP, micro- F1= micro- P+ micro- R2× micro- P× micro- R.
错误率 v.s. 精度 v.s. 查准率 v.s. 查全率
常用错误率和精度,但在一些应用中如信息检索、Web搜索等应用中需要查准率和查全率的需求
[1]周志华. 《机器学习》[J]. 中国民商, 2016, 03(No.21):93-93.