【机器学习算法班】(一)管窥机器学习

来源:互联网 发布:chrome 插件 运行js 编辑:程序博客网 时间:2024/05/16 11:01

一.若干概念

交叉验证:

   交叉验证(Cross-validation)也称为交叉比对,主要用于建模应用中。在给定的建模样本中,拿出大部分样本进行建模型,留小部分样本用刚建立的模型进行预报,并求这小部分样本的预报误差,记录它们的平方加和。这个过程一直进行,直到所有的样本都被预报了一次而且仅被预报一次。把每个样本的预报误差平方加和,称为PRESS(predicted Error Sum of Squares)。


交叉验证的形式:

Holdout 验证

   通常来说,Holdout 验证并非一种交叉验证,因为数据并没有交叉使用。 随机从最初的样本中选出部分,形成交叉验证数据,而剩余的就当做训练数据。 一般来说,少于原本样本三分之一的数据被选做验证数据。

K-fold cross-validation

   K折交叉验证,初始采样分割成K个子样本,一个单独的子样本被保留作为验证模型的数据,其他K-1个样本用来训练。交叉验证重复K次,每个子样本验证一次,平均K次的结果或者使用其它结合方式,最终得到一个单一估测。这个方法的优势在于,同时重复运用随机产生的子样本进行训练和验证,每次的结果验证一次,10折交叉验证是最常用的。

留一验证

   意指只使用原本样本中的一项来当做验证资料, 而剩余的则留下来当做训练资料。 这个步骤一直持续到每个样本都被当做一次验证资料。 事实上,这等同于 K-fold 交叉验证是一样的,其中K为原本样本个数。


泛化能力:

   概括地说,所谓泛化能力(generalization ability)是指机器学习算法对新鲜样本的适应能力。学习的目的是学到隐含在数据对背后的规律,对具有同一规律的学习集以外的数据,经过训练的算法也能给出合适的输出,该能力称为泛化能力。


VC维:

对于一个分类H,我们定义它的Vapnik Chervonenkis dimension, 记做VC(H):指的是能够被H打散的最大集合的数目。
打散:shatter

参照:http://www.cnblogs.com/wuyuegb2312/archive/2012/12/03/2799893.html



而对于四个点时,存在下面的情况:


   因此:H={二维线性分类器}的VC维是3。

   注意:集合本身是固定的,也许对某些集合而言,也不能shatter,但只要存在集合可以对所有情况都分类就行。

在VC维的定义下,为了证明VC(H)至少是d,我们只需要证明至少存在一个大小是d的集合是可以被打散的。

   如果对于任意的样本数,总能找到一个样本集,它能够被某分类H打散,则该分类H的VC维就是无穷大,这个分类H的学习性能也就是最好的。
   VC维反映了分类集的学习能力,VC维越大则学习机器越复杂(容量越大),遗憾的是,目前尚没有通用的关于任意分类集VC维计算的理论,只对一些特殊的分类集知道其VC维。例如在N维空间中线形分类器的VC维是N+1。











1 0
原创粉丝点击