0 概述
- 训练误差:在训练集上的误差
- 泛化误差:在新样本上的误差
- 目标:得到泛化误差小的学习器
- 过拟合与欠拟合:把训练样本的特点当作所有样本的特点,泛化性能下降;训练样本的一般性质尚未学习好
1 模型评估
- 通过测试集上的测试误差作为泛化误差的近似。
- 如何得到测试集?留出法,k-fold, 自助法
1.1 留出法
- 将数据集D划分为训练集S和测试集T,S与T互斥
- 划分要尽量保持数据分布的一致性 分层采样 拓展:样本有偏差的情况
- 优缺点:单次使用留出法得到的结果往往不够稳定。常采用多次随机划分,重复评估后取平均值;若S较大,则可能更接近D,易过拟合,若T较大,则结果可能不够准确。通常取2/3-4/5用于训练。
1.2 交叉验证法
- k-fold cross validation
- 评估的结果是k折交叉验证结果的均值
- 为减少因样本划分不同引入的差别,k折交叉验证通常随机使用不同的划分重复p次,此时最终的评估结果是p次结果的均值 进行了pk次训练
1.3 自助法
- 包含m个样本的数据集D,每次有放回的抽样,重复m次,得到D’
- 样本不被采到的概率为 ( 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} \approx0.368 limm↦∞(1−m1)m↦e1≈0.368
- D’为训练集,D\D’为测试集
- 优缺点:数据集较小,难以有效划分时有用;可以产生多个不同的训练集 拓展:集成学习bagging。但 改变了初始数据集的分布,会引入估计偏差。
2 调参
后续根据实际应用再说明
3 性能度量
- 测试集上如何度量模型性能?(评价指标)
- 分类:错误率,精确率,召回率,F1,ROC-AUC,PRC
- 回归:RMSE平方根误差,MAE平均绝对误差,MSE平均平方误差
- 聚类:兰德指数,互信息,轮廓系数
3.1 分类
3.1.1 错误率和精度
- 分类任务中常用:错误率和精度,错误率是分类错误的样本数占总体的比例,精度是分类正确的样本数占总体的比例
- 错误率:
E ( f ; D ) = 1 m ∑ i = 1 m I ( f ( x i ) ≠ y i ) E(f ; D)=\frac{1}{m} \sum_{i=1}^{m} \mathbb{I}\left(f\left(\boldsymbol{x}_{i}\right) \neq y_{i}\right) E(f;D)=m1i=1∑mI(f(xi)̸=yi) - 精度: acc ( f ; D ) = 1 m ∑ i = 1 m I ( f ( x i ) = y i ) = 1 − E ( f ; D ) \begin{aligned} \operatorname{acc}(f ; D) &=\frac{1}{m} \sum_{i=1}^{m} \mathbb{I}\left(f\left(\boldsymbol{x}_{i}\right)=y_{i}\right) \\ &=1-E(f ; D) \end{aligned} acc(f;D)=m1i=1∑mI(f(xi)=yi)=1−E(f;D)
准确率评价指标没有对不同类别进行区分,即其平等对待每个类别。但是这种评价有时是不够的,比如有时要看类别0与类别1下分类错误的各自个数,因为不同类别下分类错误的代价不同,即对不同类别的偏向不同,例如在病患诊断中,诊断患有癌症实际上却未患癌症(False Positive)与诊断未患有癌症的实际上却患有癌症(False Negative)的这两种情况的重要性不一样。另一个原因是,可能数据分布不平衡,即有的类别下的样本过多,有的类别下的样本个数过少,两类个数相差较大。这样,样本占大部分的类别主导了准确率的计算。此时我们应选择其他指标作为评价标准。
3.1.2 精确率, 召回率,F1
- 分类结果的混淆矩阵:
- 精确率P (percision)与 召回率R (recall) P = T P T P + F P R = T P T P + F N \begin{aligned} P &=\frac{T P}{T P+F P} \\ R &=\frac{T P}{T P+F N} \end{aligned} PR=TP+FPTP=TP+FNTP
- 精确率(查准率):预测结果为正的正确率
- 召回率(查全率):在实际正样本中,分类器能预测出多少
- 精确率与召回率通常是矛盾的。例如:为了使R较大,将全部样本预测为正,此时FN=0,R=1;但是精确率低。
- P-R曲线
- F1度量:
1
F
1
=
1
2
⋅
(
1
P
+
1
R
)
\frac{1}{F 1}=\frac{1}{2} \cdot\left(\frac{1}{P}+\frac{1}{R}\right)
F11=21⋅(P1+R1)
是P与R的调和平均。更一般的,有加权平均: 1 F β = 1 1 + β 2 ⋅ ( 1 P + β 2 R ) \frac{1}{F_{\beta}}=\frac{1}{1+\beta^{2}} \cdot\left(\frac{1}{P}+\frac{\beta^{2}}{R}\right) Fβ1=1+β21⋅(P1+Rβ2)
其中 β > 1 \beta>1 β>1时R有更大影响, β < 1 \beta<1 β<1时P有更大影响。
3.1.3 ROC与AUC
- ROC以TPR为纵轴(recall),FPR为横轴(负例中判断为正的比例)
T
P
R
=
T
P
T
P
+
F
N
F
P
R
=
F
P
T
N
+
F
P
\begin{aligned} \mathrm{TPR} &=\frac{T P}{T P+F N} \\ \mathrm{FPR} &=\frac{F P}{T N+F P} \end{aligned}
TPRFPR=TP+FNTP=TN+FPFP
- 对角线:随机模型
- 优点:当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变(PR曲线变化大),因此不均衡样本通常使用AUC作为评价分类器的标准。
- AUC:ROC曲线下的面积。The AUC value is equivalent to the probability that a randomly chosen positive example is ranked higher than a randomly chosen negative example. AUC值越大,当前分类算法越有可能将正样本排在负样本前面,从而能够更好地分类。
3.1.4 适用情景实例
- 准确率/错误率/精度:不同的分类是同等地位的
- 精确率P:“宁放过一万,不错拿一个”。预测为正但真实为负(FP)的成本很高,因此非常看重预测正样本预测的准确度。比如在银行对用户违约与否进行预测/嫌疑人定罪
- 召回率R:“宁错拿一万,不放过一个” 。真实值为正,而未被成功预测为正(FN)的成本很高,因此非常看重真实为正样本被正确预测的比例。比如在流行病的案例中,如果真实为正而未被正确预测,即本身患病而被判断为不患病,那么对于社会公共安全造成极大危害,后果严重,所以这里会很看重召回率。
- AUC:样本不平衡
3.2 回归
- MAE(Mean Absolute Error) 平均绝对误差 : M A E = 1 n ∑ i = 1 n ∣ f i − y i ∣ MAE=\frac{1}{n} \sum_{i=1}^{n}\left|f_{i}-y_{i}\right| MAE=n1i=1∑n∣fi−yi∣
- MSE(Mean Square Error) 平均平方差/均方误差: M S E = 1 n ∑ i = 1 n ( f i − y i ) 2 M S E=\frac{1}{n} \sum_{i=1}^{n}\left(f_{i}-y_{i}\right)^{2} MSE=n1i=1∑n(fi−yi)2
- RMSE(Root Mean Square Error) 方均根差 :
R
M
S
E
=
M
S
E
R M S E=\sqrt{M S E}
RMSE=MSE
对异常点非常敏感 - R 2 R^2 R2: S S r e s = ∑ ( y i − f i ) 2 S S_{r e s}=\sum\left(y_{i}-f_{i}\right)^{2} SSres=∑(yi−fi)2 S S t o t = ∑ ( y i − y ‾ ) 2 S S_{t o t}=\sum\left(y_{i}-\overline{y}\right)^{2} SStot=∑(yi−y)2 R 2 = 1 − S S r e s S S t o t = 1 − ∑ ( y i − f i ) 2 ∑ ( y i − y ‾ ) 2 R^{2}=1-\frac{S S_{r e s}}{S S_{t o t}}=1-\frac{\sum\left(y_{i}-f_{i}\right)^{2}}{\sum\left(y_{i}-\overline{y}\right)^{2}} R2=1−SStotSSres=1−∑(yi−y)2∑(yi−fi)2 反映了在因变量y的变化中被估计的回归方程所解释的比例。R平方越接近1,表明回归平方和占总平方和的比例越大,回归线与各观测点越接近,用x的变化来解释y值变差的部分就越多,回归的拟合程度就越好。但同样是基于误差的均值对进行评估的, R 2 R^2 R2对异常点(outliers)较敏感。另外, R 2 R^2 R2的大小并不能用来比较模型的好坏,例如模型A的训练集包含了模型B的训练集,此时A的 R 2 R^2 R2总是不小于B的 R 2 R^2 R2
- Adjusted R 2 R^2 R2: adjusted R 2 = 1 − M S error M S total = 1 − S S error / ( n − p − 1 ) SS totar / ( n − 1 ) \begin{aligned} \text { adjusted } R^{2} &=1-\frac{\mathrm{MS}_{\text { error }}}{\mathrm{MS}_{\text {total}}} \\ &=1-\frac{\mathrm{SS}_{\text { error }} /(n-p-1)}{\text { SS }_{\text { totar }} /(n-1)} \end{aligned} adjusted R2=1−MStotalMS error =1− SS totar /(n−1)SS error /(n−p−1) n为样本数量,p为特征维度。 消除了样本数量和特征数量的影响.
- 其他指标:Mallow’s C p C_p Cp, AIC, BIC