1. VC dimension(VC维,非常重要的概念)
能够shutter 二分类问题的上限。也是衡量模型复杂度的工具(类似自由度的概念)。之所以这个概念比较重要是它能够解释为什么机器能够学习。1),以概率统计中常用的手段:用sample来估计整体,机器学习也是如此,就是说,通过对采样得到的sample进行学习,能够用来对out of sample进行估计、处理、预测、分类等等。所谓的学习就是从一堆Hypothesis(set)中,利用sample,通过learning algorithm赛选出合适的hypothesis - g的过程。
2)塞选的标准通常是各种类型的error(0/1error,square error...),这些误差是用来调节W权重,最后得到比较小Error (in sample)的hypothesis(g)。
3)这个g只是在in sample上表现比较好,其实在in sample上表现好并没什么卵用,因为如果你只是处理in sample数据的话就没有必要进行机器学习,之所以使用机器学习,就是因为不可能得到所有的data,你只能sample一部分的sample。所以最好的g应当是在out of sample上表现好的。因为,我们并不能测得error in sample,所以最好的办法就是建立error in sample 与error out of sample的联系,能不能有一个upper bound来衡量两者之间的关系呢?答案是肯定,那就是Hoeffding's 不等式。
4)hoeffding不等式说明了一个问题,如果Hypothesis set中hypothesis能shutter很多种类(就是VC dimension很大),就会导致这个Error in sample与Error out of sample相差很大,也就是指模型复杂度很大。这样error in sample 你能做的很小,但是error out of sample会很大。
5)VC维大=>模型复杂度高=>error in sample 小=>模型不够平滑=>generalization能力弱=>error out of sample大=>overfitting=>模型并没有卵用。
2. Generalization(泛化能力)
1)衡量模型在out of sample上的表现;2)通常曲线越平滑,泛化能力越强,但error in sample就可能越大,underfitting;曲线也复杂,error in sample就可能做的越小,但泛化能力越弱,overfitting;
3. Regularization(正则化)
1)用来控制模型复杂度,从而实现Error in sample与Error out of sample的逼近,也就是使得既具有较好的精度,又有较好的泛化能力;2)不同的regularizer对应不同的回归方法:L1,L2,...实际上就是一种惩罚措施。用来权衡是要好的error和好的generalization能力;
4. Validation
用来衡量机器学习泛化能力的一种方法。因为机器学习得到的Hypothesis是为了在out of sample上进行处理,而不是在in sample上处理。所以,用来评价机器学习是否学到位的一种手段就是从validation。一般的做法是将先验的数据集分开为训练集和验证集,用训练集进行Hypothesis的学习,用验证集决定学习的终止条件,并给出学习的Hypothesis性能指标。但是如果将数据集分开,那么用于训练的样本就变少了。我们知道训练集的样本数N是机器学习中防止overfitting的一重大的因素。如果模型复杂度较高的话,通常需要增加训练样本的数量来克服由于模型复杂度导致的overfitting的风险。比如神经网络就是一种典型的例子。所以最好是能够不减少训练集的样本数,而且还能进行validation。这样就提出了leave one out的validation和N-folder validation。
除了以上四个我觉得极为重要的概念和思想,还有一些主要内容比如:导致overfitting的几种原因:过度使用vc dimension,noise和limited data size N,解决overfitting的几种方法、技巧:validation(cross validation,leave one out validation, N-folder valiation...),data hinting, data cleaning/pruning, regularization, start from simple model等等。这里都不再进行总结
*********************************
2015-8-16
艺少