本文是作者学习台大林轩田教授《机器学习基石》课程后整理的简要笔记(未按课程回目分节),内容大部分来源于林轩田教授的课程资料,其余相关参考链接已标出。
重要工具 - Key tools
线性分类模型的核心是算分数,有边界明确、复杂度可控等cons,但是对于更为复杂的情形,直线和超平面的分割就显得比较局限,此时引出非线性分类的思路;但非线性一系列的演算法不必要重新设计,此时引出非线性转换,从而系统而完整地整理这一块
由一个圆形分类问题入手:
这样,完成从非线性空间X中的特殊二次曲线(有条件的圆、椭圆、双曲线等),到线性空间Z中的直线的转换,这个转换就是“(非线性)特征转换”(特征就是x、z)
从二次曲线推广到到q次,会发现特征转换的代价,增加了计算和存储成本,以及模型复杂度modle complexity。特征转换带来modlecomplexity的增加,modle complexity的增加进而带来了一个大危险:Overfitting
Overfitting:
左图的例子展现了在一个5样本上的回归结果,很显然虽然在样本上Ein很低(low),但Eout是很高的(high),这样在某个样本上的情形叫做bad genelization
右图是经典图,Ein、Eout、以及modle complexity随dVC变化的走向。dVC*是相对最佳值,我们把Ein把握的很好,此时是fitting的
从dVC*往左走,Ein↑Eout↑,我们的Ein做的还不够,称为underfitting
往右走Ein↓Eout↑, 我们Ein做的太极致太过头了,称为overfitting
用出车祸来比喻overfitting,造成的原因及解决方法:
(1) 开太快-> useexcessive dVC(如左图用四次去fit二次)
start from simple modle(慢慢加速)、regularization(踩刹车)
(2) 路不平-> noise(如左图中右边数第二个点,有noise所以偏离了target函数)
noise分为stochastic noise随机噪声和deterministicnoise可算噪声(用二次去fit十次,很显然无法完美fit,由目标复杂度引起的这之间的差距就是deterninisiticnoise)
data cleaning(修正y值)、data pruning(移除noise样本点)
(3) 对路况所知有限->limited data size N(样本资料不足)
datahinting(由样本微调获得更多样本)、validation(监控仪表盘)