标签:style class blog http com width
网易公开课,第10,11课
notes,http://cs229.stanford.edu/notes/cs229-notes5.pdf
Model Selection
首先需要解决的问题是,模型选择问题,如何来平衡bais和variance来自动选择模型?比如对于多项式分类,如何决定阶数k,对于locally weighted regression如何决定窗口大小,对于SVM如何决定参数C
For instance, we might be using a polynomial regression model , and wish to decide if k should be
0, 1, . . . , or 10. Alternatively, suppose we want to automatically choose the bandwidth parameter τ for locally weighted regression, or the parameter C for our ?1-regularized SVM.
Cross validation
最典型的就是交叉验证,有3种方法,
hold-out cross validation (also called simple cross validation)
用70%的数据作为训练集,用30%数据作为测试集,找出训练误差最小的h(7:3是比较典型的比例)
这个方法的问题是,我们浪费了30%的数据,即使你在选定model后,拿整个数据集再做一遍训练,也无法改变你只用了70%来选择最优模型的事实
尤其对于一些领域,数据集的收集的代价是很高的,就不太合适
k-fold cross validation,通常k=10
把数据集随机分为k份,用k-1份来训练,用剩下的那份来测试,这样的过程可以进行k次(不同的组合)
最终选取平均测试误差最小的h
这个的问题,显然是计算量比较大
leave-one-out cross validation
k-fold的特例,k=m,即k等于样本数,一份就是一个样本
适用于样本非常少的情况
Feature Selection
One special and important case of model selection is called feature selection.
对于比如文本分类问题,垃圾邮件分类,会有很大量的features,但其实只有其中一小部分和分类问题相关,比如很多stop word,a,the,都和分类相关,而buy,shop等比较相关的只是一小部分,所以我们需要减少feature数来降低复杂度
Given n features, there are possible feature subsets, thus feature selection can be posed as a model selection problem over possible models.
显然计算和比较那么多的模型是不现实的,所以我们用heuristic search procedure,启发式的方式,去找到一个good feature subset,
forward search OR backward search
属于贪心算法,forward是一个个加,backward是一个个减,然后每次加减都通过cross validation做次局部最优的选择,即加个误差最小的,或减个误差最大的
这种需要通过训练测试的方式来选择的,称为wrapper model feature selection,因为它就像wrapper,需要反复调用学习算法来评估feature。
wrapper模型效果还是不错的,问题就是计算量比较大,需要调用这个数量级的次数的训练算法
Filter feature selection
效果没有wrapper那么好,但是比较cheaper,思路就是计算每个feature的score S(i) that measures how informative each feature xi is about the class labels y,最终我们只需要pick分数最高的那k个features就可以了,最常用的score就是mutual information
In practice, it is more common (particularly for discrete-valued features xi) to choose S(i) to be the mutual information MI(xi, y) between xi and y:
为了更直观的理解mutual information,这个式子还可以表示成,Kullback-Leibler (KL) divergence:
这个KL表示p(xi, y) and p(xi)p(y)的差异程度,
如果x和y是没有关系的,即独立的,那么 ,即KL-divergence为0
特征选择常用算法综述,这篇综述很好,看这个就ok了
Andrew Ng机器学习公开课笔记 -- Regularization and Model Selection,布布扣,bubuko.com
Andrew Ng机器学习公开课笔记 -- Regularization and Model Selection
标签:style class blog http com width
原文地址:http://www.cnblogs.com/fxjwind/p/3808789.html