Andrew Ng机器学习课程10补充
VC dimension
讲到了如果通过最小化训练误差,使用一个具有d个参数的hypothesis class进行学习,为了学习好,一般需要参数d的线性关系个训练样本。到这里需要指出一点,这个结果是基于empirical risk minimization得到的,而对于那些大部分的discriminative的学习算法采用的通过最小化training error或者training error的近似值,前面推导的结论并不总是可以用,而对于non_ERM 学习,给出好的理论保证仍然是一个活跃的研究领域。
In other words, the number of training examples needed to learn “well” using H is linear in the VC dimension of H.而对于大部分的hypothesis classes,VC dimension粗略的等于参数的个数。
model selection
How can we automatically select a model that represents a good tradeoff between the twin evils of bias and variance?
最直观的方法:直接选择最smallest training error的hypothesis
这种方法不行,比如多项式的阶数,这种方法总会选择得到high-variance,high-degree polynomial model。
hold-out cross validation
随机把S分为训练集和验证集,在训练集上训练hypothesis model,在验证集上获取hypothesis,然后选择最小验证误差的hypothesis,之后再用全部的数据进行训练。但是对于那些对初始条件或者初始数据比较敏感的算法,最好不要再进行retraining,因为在训练集上表现好的model,并不一定意味着在验证集上也表现好。这种hold-out cross validation的方法主要的缺点就是waste样本数据,即使是采用了retraining。
k-fold cross validation
随机将S分割为大小相同的k份,每次在k-1份上进行训练,而在另外一份上进行validation,循环k次,将每次得到的误差进行平均作为estimated generalization error,然后挑选最低的model,最后retraining这个model在整个S上。一般选择k为10。
leave-one-out cross validation
上一个方法中,将k=样本数量m,就叫做leave-one-out cross validation。
上面两种方法进行cross validation都会有计算量的问题,实际上当样本数量足够多时,可以采用hold-out cross validation,样本数量不足而计算能力达到要求时,可以采用k-fold或者leave one out的cross validation。
Feature Selection
Feature Selection是model selection的一种特殊和重要的案例,主要有两种方法:前向搜索和后向搜索,前向搜索是从空集开始逐个添加剩余最好的进来,而后向搜索是从满集开始,逐个剔除其中最差的出去。这两种方法的缺点就是计算量大。
还有一种是filter feature selection,采用启发式的选择,计算量相比上面两种要小,主要的思想是计算xi与y的相关度,或者是互信息等。
版权声明:本文为博主原创文章,未经博主允许不得转载。