ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:33.27KB ,
资源ID:9566210      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9566210.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(交叉验证我的总结.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

交叉验证我的总结.docx

1、交叉验证我的总结先说下我和邵是云的聊天情况:她的意思其实一开始所有样本也是先分为了两个部分,一个大的部分是训练集,一个小的部分是测试集,然后只是在训练集里面分为常规训练集和一个效验集,且是交叉验证的方式,都全部交叉验证搞完了,再最后单独测试那个小部分的测试集样本?就是你说的training accuracy(常规训练集), cross validation rate(效验集) and test accuracy(测试集),她说这是标准的方式,而如果全体数据用来训练和交叉验证其实就是把所有的样本全部分为了训练集和效验集,所以就没有test accuracy一说。常用的精度测试方法有交叉验证,例如

2、10倍交叉验证(10-fold cross validation),将数据集分成十分,轮流将其中9份做训练1份做测试,10次的结果的均值作为对算法精度的估计,一般还需要进行多次10倍交叉验证求均值,例如10次10倍交叉验证,更精确一点。当训练样本数目过少,采用“交叉验证法”(cross validation).交叉验证法分两种1:K重交叉验证法:该方法是最为普遍的计算推广误差的方法之一。其过程为:将训练样本集随机分为K个集合,通常分为K等份,对其中的K-1个集合进行训练,得到一个决策函数,并用决策函数对剩下的一个集合进行样本测试。该过程重复K次,取K次过程中的测试错误的平均值作为推广误差。2:

3、留一法:该方法可以说是K重交叉验证法的极端情况,即K=L,L为整个训练样本集的大小。该过程为 :对于第i个训练样本,将其取出,对剩下L-1个样本进行训练,得到决策函数,并用其测试第i个训练样本,该过程重复L次,用此方法求出的误差对于实际中的测试误差来说几乎是无偏的。(注意当样本过少,即使交叉验证效果也不会理想,一般样本应在100以上.)k-foldvalidation中文就是k-折交叉验证(确认)其中的k是用户自己定的但它必须比原始的训练集中的元素个数n要小,即k=1的条件吗),即经验风险Remp 为 0 的前提下,通过对分类间隔最大化(咦,这个就是(w)(1/2)*w*w嘛),使分类器获得最

4、好的推广性能。 那么解释完线性可分了,我们知道其实很多时候是线性不可分的啊,那么有什么区别没有啊?废话区别当然会有啦,嘿嘿那么什么是本质的区别啊?本质的区别就是不知道是否线性可分但是允许有错分的样本存在(这个咋回事还是没明白hoho)但是正是由于允许存在错分样本,此时的软间隔分类超平面表示在剔除那些错分样本后最大分类间隔的超平面。这里就出现了新词松驰因子,干吗用滴?就是用来控制错分样本的啊。这样的话经验风险就要跟松驰因子联系在一起了。而C就是松驰因子前面的系数,C0 是一个自定义的惩罚因子,它控制对错分样本惩罚的程度,用来控制样本偏差与机器推广能力之间的折衷。c越小,惩罚越小,那么训练误差就越

5、大,使得结构风险也变大,而C 越大呢,惩罚就越大,对错分样本的约束程度就越大,但是这样会使得第二项置信范围的权重变大那么分类间隔的权重就相对变小了,系统的泛化能力就变差了。所以选择合适的C还是很有必要的。选择核函数。核函数有很多种,如线性核、多项式核、Sigmoid 核和 RBF(Radial Basis function)核。本文选定 RBF 核为 SVM 的核函数(RBF 核K(x, y) = exp( | x y |的平方), 0)。因为RBF 核可以将样本映射到一个更高维的空间,可以处理当类标签(Class Labels)和特征之间的关系是非线性时的样例。Keerthi 等25证明了一

6、个有惩罚参数C 的线性核同有参数(C, )(其中C 为惩罚因子, 为核参数)的 RBF 核具有相同的性能。对某些参数,Sigmoid核同 RBF 核具有相似的性能26。另外,RBF 核与多项式核相比具有参数少的优点。因为参数的个数直接影响到模型选择的复杂性。非常重要的一点是01)或者0 xi xj + r 1,跨度非常大。而且,必须注意的是Sigmoid 核在某些参数下是不正确的(例如,没有两个向量的内积)。 (4)用交叉验证找到最好的参数 C 和 。使用 RBF 核时,要考虑两个参数 C 和 。因为参数的选择并没有一定的先验知识,必须做某种类型的模型选择(参数搜索)。目的是确定好的(C,)使

7、得分类器能正确的预测未知数据(即测试集数据),有较高的分类精确率。值得注意的是得到高的训练正确率即是分类器预测类标签已知的训练数据的正确率)不能保证在测试集上具有高的预测精度。因此,通常采用交叉验证方法提高预测精度。k 折交叉验证(k-fold cross validation) 是将训练集合分成 k 个大小相同的子集。其中一个子集用于测试,其它 k-1 个子集用于对分类器进行训练。这样,整个训练集中的每一个子集被预测一次,交叉验证的正确率是 k次正确分类数据百分比的平均值。它可以防止过拟合的问题。 可以归纳为以下几个过程(顺序的):1. 收集数据,相关性分析(p卡方检验),特征选择(主成份分

8、析)。 2. 归一化数据。就是根据实际要求,将数据的取值范围转化为统一的区间如a,b,a,b为整数。方法参考:http:/slt- 3. 利用抽样技术将数据集分为训练集和测试集。抽样技术有分层抽样,简单抽样(等概率抽样) 4. 将数据转化为软件(接口)所支持的格式。就libsvm(c,java)来说,我们可以使用FormatDataLibsvm.xls将数据转化为libsvmm所要求 的格式。参考:http:/slt- 5. 选择核函数,可以优先考虑rbf。 6. 对训练集利用交叉验证法选择最好的参数C和r(rbf核函数中的参数gama)。可以通过网格法寻找出最优的参数,注意一次交叉验证得到一

9、个参数对所对应的模型精度,网格法目的就是找到使得模型精度达到对高的参数对(这里的参数对可能不止两个,有可能也有其他的),可以使用一些启发式的搜索来降低复杂度,虽然这个方法笨了点,但是它能得到很稳定的搜索结果。需要提到的这里在对训练集进行分割的时候涉及到抽样,一个较好的方法就是分层抽样。从这步可以看出其实 CrossValidation是一种评估算法的方法。 7. 用6中得到的参数对在整个训练集合上进行训练,从而得出模型。 8. 利用测试集测试模型,得到精度。这个精度可以认为是模型最终的精度。当然有人会担心3步中抽样会有一定的误差,导致8得到的精度不一定是最好的,因此可以重复38得到多个模型的精

10、度,然后选择最好的一个精度最为模型的精度(或者求所有精度的均值做为模型精度)。如何使用交叉验证(cross-validatation) 写于7月28日 1条评论 如何使用Cross-Validation写这份文件,最主要的目的是介绍如何正确的使用cross-validation,并举例一些常犯的错误。假设您对pattern recognition已经有基础的认识,希望这份文件对您论文中的实验内容能有所帮助。 在pattern recognition与machine learning的相关研究中,经常会将dataset分为training跟test这两个subsets,前者用以建立model,后

11、者则用来评估该model对未知样本进行预测时的精确度,正规的说法是generalization ability。在往下叙述之前,这边就必须点出一个极为重要的观念:只有training data才可以用在model的训练过程中,test data则必须在model完成之后才被用来评估model优劣的依据。怎么将完整的dataset分为training set与test set也是学问,必须遵守两个要点:1. training set中样本数量必须够多,一般至少大于总样本数的50%。 2. 两组子集必须从完整集合中均匀取样。其中第2点特别重要,均匀取样的目的是希望减少training/test s

12、et与完整集合之间的偏差(bias),但却也不易做到。一般的作法是随机取样,当样本数量足够时,便可达到均匀取样的效果。然而随机也正是此作法的盲点,也是经常是可以在数据上做手脚的地方。举例来说,当辨识率不理想时,便重新取样一组training set与test set,直到test set的辨识率满意为止,但严格来说这样便算是作弊了。Cross-validation正是为了有效的估测generalization error所设计的实验方法,可以细分为double cross-validation、k-fold cross-validation与leave-one-out cross-valida

13、tion。Double cross-validation也称2-fold cross-validation(2-CV),作法是将dataset分成两个相等大小的subsets,进行两回合的分类器训练。在第一回合中,一个subset作为training set,另一个便作为test set;在第二回合中,则将training set与test set对换后,再次训练分类器,而其中我们比较关心的是两次test sets的辨识率。不过在实务上2-CV并不常用,主要原因是training set样本数太少,通常不足以代表母体样本的分布,导致test阶段辨识率容易出现明显落差。此外,2-CV中分subs

14、et的变异度大,往往无法达到实验过程必须可以被复制的要求。K-fold cross-validation (k-CV)则是double cross-validation的延伸,作法是将dataset切成k个大小相等的subsets,每个subset皆分别作为一次test set,其余样本则作为training set,因此一次k-CV的实验共需要建立k个models,并计算k次test sets的平均辨识率。在实作上,k要够大才能使各回合中的training set样本数够多,一般而言k=10算是相当足够了。最后是leave-one-out cross-validation (LOOCV),假

15、设dataset中有n个样本,那LOOCV也就是n-CV,意思是每个样本单独作为一次test set,剩余n-1个样本则做为training set,故一次LOOCV共要建立n个models。相较于前面介绍的k-CV,LOOCV有两个明显的优点: 每一回合中几乎所有的样本皆用于训练model,因此最接近母体样本的分布,估测所得的generalization error比较可靠。 实验过程中没有随机因素会影响实验数据,确保实验过程是可以被复制的。但LOOCV的缺点则是计算成本高,因为需要建立的models数量与总样本数量相同,当总样本数量相当多时,LOOCV在实作上便有困难,除非每次训练mode

16、l的速度很快,或是可以用平行化计算减少计算所需的时间。使用Cross-Validation时常犯的错误由于实验室许多研究都有用到evolutionary algorithms(EA)与classifiers,所使用的fitness function中通常都有用到classifier的辨识率,然而把cross-validation用错的案例还不少。前面说过,只有training data才可以用于model的建构,所以只有training data的辨识率才可以用在fitness function中。而EA是训练过程用来调整model最佳参数的方法,所以只有在EA结束演化后,model参数已经固

17、定了,这时候才可以使用test data。那EA跟cross-validation要如何搭配呢?Cross-validation的本质是用来估测(estimate)某个classification method对一组dataset的generalization error,不是用来设计classifier的方法,所以cross-validation不能用在EA的fitness function中,因为与fitness function有关的样本都属于training set,那试问哪些样本才是test set呢?如果某个fitness function中用了cross-validation的t

18、raining或test辨识率,那么这样的实验方法已经不能称为cross-validation了。EA与k-CV正确的搭配方法,是将dataset分成k等份的subsets后,每次取1份subset作为test set,其余k-1份作为training set,并且将该组training set套用到EA的fitness function计算中(至于该training set如何进一步利用则没有限制)。因此,正确的k-CV 会进行共k次的EA演化,建立k个classifiers。而k-CV的test辨识率,则是k组test sets对应到EA训练所得的k个classifiers辨识率之平均值。

19、Cross Validation,中文意思是交叉验证,下面是几种不同类型的Cross validation的解释,有一个Idea in p27 in the ideas notebook。Cross validation is a model evaluation method that is better than residuals. The problem with residual evaluations is that they do not give an indication of how well the learner will do when it is asked to

20、make new predictions for data it has not already seen. One way to overcome this problem is to not use the entire data set when training a learner. Some of the data is removed before training begins. Then when training is done, the data that was removed can be used to test the performance of the lear

21、ned model on new data. This is the basic idea for a whole class of model evaluation methods called cross validation. 1.The holdout method is the simplest kind of cross validation. The data set is separated into two sets, called the training set and the testing set. The function approximator fits a f

22、unction using the training set only. Then the function approximator is asked to predict the output values for the data in the testing set (it has never seen these output values before). The errors it makes are accumulated as before to give the mean absolute test set error, which is used to evaluate

23、the model. The advantage of this method is that it is usually preferable to the residual method and takes no longer to compute. However, its evaluation can have a high variance. The evaluation may depend heavily on which data points end up in the training set and which end up in the test set, and th

24、us the evaluation may be significantly different depending on how the division is made. 2.The K-fold cross validation is one way to improve over the holdout method. The data set is divided into k subsets, and the holdout method is repeated k times. Each time, one of the k subsets is used as the test

25、 set and the other k-1 subsets are put together to form a training set. Then the average error across all k trials is computed. The advantage of this method is that it matters less how the data gets divided. Every data point gets to be in a test set exactly once, and gets to be in a training set k-1 times. The variance of the resulting estimate is reduced as k is increased. The disadvantage of this method is that the training algorithm has to be rerun from scratch k times, which means it takes k times as much computation to make an evaluation. A variant of this method is to

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1