特征提取-贝叶斯规则化.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
特征提取-贝叶斯规则化

规则化和模型选择(Regularization and model selection)1 问题模型选择问题:对于一个学习问题,可以有多种模型选择。比如要拟合一组样本点,可以使用线性回归,也可以用多项式回归。那么使用哪种模型好呢(能够在偏差和方差之间达到平衡最优)?还有一类参数选择问题:如果我们想使用带权值的回归模型,那么怎么选择权重w公式里的参数?形式化定义:假设可选的模型集合是,比如我们想分类,那么SVM、logistic回归、神经网络等模型都包含在M中。2 交叉验证(Cross validation)我们的第一个任务就是要从M中选择最好的模型。假设训练集使用S来表示如果我们想使用经验风险最小化来度量模型的好坏,那么我们可以这样来选择模型:1、使用S来训练每一个,训练出参数后,也就可以得到假设函数。(比如,线性模型中得到后,也就得到了假设函数)2、选择错误率最小的假设函数。遗憾的是这个算法不可行,比如我们需要拟合一些样本点,使用高阶的多项式回归肯定比线性回归错误率要小,偏差小,但是方差却很大,会过度拟合。因此,我们改进算法如下:1、 从全部的训练数据S中随机选择70%的样例作为训练集,剩余的30%作为测试集。2、 在上训练每一个,得到假设函数。3、 在上测试每一个,得到相应的经验错误。4、 选择具有最小经验错误的作为最佳模型。这种方法称为hold-out cross validation或者称为简单交叉验证。由于测试集是和训练集中是两个世界的,因此我们可以认为这里的经验错误接近于泛化错误(generalization error)。这里测试集的比例一般占全部数据的1/4-1/3。30%是典型值。还可以对模型作改进,当选出最佳的模型后,再在全部数据S上做一次训练,显然训练数据越多,模型参数越准确。简单交叉验证方法的弱点在于得到的最佳模型是在70%的训练数据上选出来的,不代表在全部训练数据上是最佳的。还有当训练数据本来就很少时,再分出测试集后,训练数据就太少了。我们对简单交叉验证方法再做一次改进,如下:1、 将全部训练集S分成k个不相交的子集,假设S中的训练样例个数为m,那么每一个子集有m/k个训练样例,相应的子集称作{}。2、 每次从模型集合M中拿出来一个,然后在训练子集中选择出k-1个{}(也就是每次只留下一个),使用这k-1个子集训练后,得到假设函数。最后使用剩下的一份作测试,得到经验错误。3、 由于我们每次留下一个(j从1到k),因此会得到k个经验错误,那么对于一个,它的经验错误是这k个经验错误的平均。4、 选出平均经验错误率最小的,然后使用全部的S再做一次训练,得到最后的。这个方法称为k-fold cross validation(k-折叠交叉验证)。说白了,这个方法就是将简单交叉验证的测试集改为1/k,每个模型训练k次,测试k次,错误率为k次的平均。一般讲k取值为10。这样数据稀疏时基本上也能进行。显然,缺点就是训练和测试次数过多。极端情况下,k可以取值为m,意味着每次留一个样例做测试,这个称为leave-one-out cross validation。如果我们发明了一种新的学习模型或者算法,那么可以使用交叉验证来对模型进行评价。比如在NLP中,我们将训练集中分出一部分训练,一部分做测试。3 特征选择(Feature selection)特征选择严格来说也是模型选择中的一种。这里不去辨析他们的关系,重点说明问题。假设我们想对维度为n的样本点进行回归,然而,n可能大多以至于远远大于训练样例数m。但是我们感觉很多特征对于结果是无用的,想剔除n中的无用特征。n个特征就有种去除情况(每个特征去或者保留),如果我们枚举这些情况,然后利用交叉验证逐一考察在该情况下模型的错误率,太不现实。因此需要一些启发式搜索方法。第一种,前向搜索:1、 初始化特征集F为空。2、 扫描i从1到n,如果第i个特征不在F中,那么将特征i和F放在一起作为(即)在只使用中特征的情况下,利用交叉验证来得到的错误率。3、 从上步中得到的n个中选出错误率最小的,更新F为。如果F中的特征数达到了n或者预设定的阈值(如果有的话),那么输出整个搜索过程中最好的F,没达到转到2前向搜索属于wrapper model feature selection。Wrapper这里指不断地使用不同的特征集来测试学习算法。前向搜索说白了就是每次增量地从剩余未选中的特征选出一个加入特征集中,待达到阈值或者n时,从所有的F中选出错误率最小的。既然有增量加,那么也会有增量减,后者称为后向搜索。先将F设置为{1,2,..,n},然后每次删除一个特征,并评价,直到达到阈值或者为空,然后选择最佳的F。这两种算法都可以工作,但是计算复杂度比较大。时间复杂度为。第二种,过滤特征选择(Filte

文档评论(0)

dashewan + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档