模型的评估和选择
最近补了西瓜书的第1,2章。这样西瓜书只差8集成学习,9聚类,10降维与度量学习,11特征选择与稀疏学习,13半监督学习,16强化学习就算粗读一遍了。一些比较重要的算法在下学期的课中应该会再学习一遍。
没有免费午餐(NFL)定理
首先是没有免费午餐定理(NFL定理),这个定理推导比较简单,看懂假设就好了。
定理结果说的是,在测试集等可能分布的情况下,训练集训练出来的任何算法,在测试集上的期望表现相等。
但是大部分情况下,测试集与训练集有相似的分布,不满足测试集等可能分布,所以大部分情况下好的算法还是可以获得好的表现的。
评估方法
- 留出法(leave one out):交叉验证的特例
- 交叉验证法(cross validation)
- 自助法(bootstrapping):自助法不减少训练集规模,所以在数据集较小,难以有效划分时很有用。自助法产生的数据集改变了初始数据集的分布,会引入偏差。因此,在初始数据集足够时,留出法和交叉验证法更常用一些。
性能度量
- 错误率(1-acc)
- 精度(acc)
- 查准率(准确率P)
- 查全率(召回率R)
- F 1 F_1 F1-score, F β F_\beta Fβ-score
- P-R曲线,以及平衡点的得分BEP值。
- ROC和AUC、ROC曲线以及围的面积AUC
偏差与方差
参数估计的泛化误差由方差和偏倚组成。
E
(
d
−
θ
)
2
=
E
(
(
d
−
E
d
)
+
(
E
d
−
θ
)
)
2
=
V
a
r
(
d
)
+
(
E
d
−
θ
)
2
E(d−θ)^2=E((d−Ed)+(Ed−θ))^2=Var(d)+(Ed−θ)^2
E(d−θ)2=E((d−Ed)+(Ed−θ))2=Var(d)+(Ed−θ)2
欠训练时,方差小,偏倚大,欠拟合。
过训练时,方差大,偏倚小,过拟合。
如果考虑含噪声
ϵ
{\epsilon}
ϵ的标记的泛化误差,那么泛化误差还包括噪声。
E
(
f
−
y
+
ϵ
)
2
=
E
(
(
f
−
f
ˉ
)
+
(
f
ˉ
−
y
)
−
ϵ
)
)
2
=
V
a
r
(
f
)
+
(
f
ˉ
−
y
)
2
+
ϵ
2
E(f−{y+\epsilon})^2=E((f−\bar f)+(\bar f−y)-\epsilon))^2=Var(f)+(\bar f−y)^2+\epsilon^2
E(f−y+ϵ)2=E((f−fˉ)+(fˉ−y)−ϵ))2=Var(f)+(fˉ−y)2+ϵ2
最后三项一次是方差,偏倚,噪声。