浅谈机器学习中的风险最小

  之前,在看一些机器学习的算法时,论述中总是出现一些经验风险最小,结构风险最小之类的词,一直不是很明白这些词的具体含义。最近刚好学习了这方面的内容,顺便备忘记录下。

 

  面对大多数学习问题(机器学习或统计学习),我们一般的步骤就是通过训练集建立模型,然后将测试集丢到模型中进行预测。这个步骤看似简单,但如何从所有的可行模型中选择一个好的模型将是我们面临的首要问题。这里,所有的可行模型就是假设空间,学习当前的任务就是在假设空间中找到最优模型,而风险最小在其中所扮演的角色就是“找”这个动作的准则,就像你找妹纸一样,总有一个准则,你是看重脸呢还是看重身材呢等等。

 

  先引入两个概念,损失函数(loss function,度量模型在某一次预测时的好坏;风险函数(risk function:度量模型在平均意义下的预测好坏。

  损失函数很常见,就像logistic回归中的平方损失函数,其中,X表示输入的特征向量,Y表示样本的类别标记,其他的常用的损失函数还有:

   

从定义中也能看出,单单损失函数无法评估普遍意义下的模型好坏,这里对于损失函数的期望有:

  这就是期望风险(excepted loss的定义,最小化期望风险就是学习当下的主要目标,但是对于P(X,Y) = P(Y|X)P(X)又是不可知,我们可用的信息只有训练集的特征和标签。

 

  为了解决这个问题,于是就有了经验风险(empirical risk):

公式中N为样本的数量,x_i 、y_i分别表示第i个样本的特征和标签。

 

  经验风险最小化(empirical risk minimization,ERM准则在很多算法中都有应用,这也是我们选择模型的准则之一,为了验证经验风险的有效性,其中还有一大坨证明过程,具体的就不累述了,有兴趣的可以看[2],Vapnik大神有详细的证明。结论简单来说就是,当N/h很大时(h为样本集的VC维),经验风险可以等价于期望风险(其实根据大数定律也能得到同样的结论);当N/h很小时,单纯的经验风险最小化的准则就不适用了,就需要对其调教调教才便于使用。

 

  还有,当最小化经验风险时,模型的训练误差将趋近于0,难免会遇到“过拟合”的现象。此时,结构风险(structural risk就华丽登场了,结构风险主要是在原有的经验风险上加了一个正则化项,这也是上文所说的调教调教,见公式:

其中I(f)为正则化项,加入正则化项的主要目的是为了平衡模型的泛化误差,保证经验误差极小的情况下,模型还不过拟合。对于正则化,我相信很多人都不是很理解,这里推荐一篇博文http://blog.csdn.net/zouxy09/article/details/24971995,这篇主要讲的是范数正则化,通俗易懂。至于最小化结构误差的经典例子就是SVM了,就是那段outliers啦。

  根据上述的准则选择模型后,学习的问题就转变成了如何求解最优模型,问题变成了一个最优化问题,就像SVM用SMO来求解,logistic回归用梯度下降来求解一样。

  

 

参考:

[1] 统计学习方法,李航

[2] Principles of Risk Minimization for Learning Theory, V. Vapnik

 

posted @ 2014-12-18 10:52  Joke-R  阅读(832)  评论(0)    收藏  举报