机器学习中的经验风险,期望风险和结构风险最小化

机器学习任务几乎没有例外的都使用了损失函数cost function这一概念。常见的损失函数有平方误差损失函数,交叉熵损失函数等,在分类任务中一般使用交叉熵损失函数,回归问题中一般使用平方误差损失函数。

损失函数的核心思想是建立一种预测结果和真实结果之间误差的衡量标准,而机器学习的优化目标就是让这个衡量项越小越好,这种差别也叫做风险,风险分为经验风险和结构风险两种,经验风险是样本集合的预测值和真实值的差的平方的期望,这个期望也叫期望风险,但是由于期望风险难以求解,常常以经验风险来代替,但是经验风险存在一定问题,说明在下面,所以才提出了结构风险,结构风险到提出者也是SVM的提出者,所以对于SVM的优化问题是围绕着模型的结构风险最小化进行的,结构风险包含了经验风险和正则化项两项,并要求它们同时达到最小化。

上文提到经验风险最小化存在问题是什么问题呢?这个问题就是当在训练集上得到很好的效果的时候,在测试集上往往得到很差的效果。这是因为模型在训练集上产生了过拟合,直观理解是最小二乘法(最小二乘也是机器学习包括深度学习的思想的一个很重要的来源),当存在一系列杂乱无章的数据的时候,我们先去拿直线来拟合它,结果发现效果很差,然后使用二次曲线,发现结果要好一点,于是我们认为加大曲线的阶次可以提升模型的拟合效果,我们可能终于找到了一个很高阶的曲线拟合训练数据得到了一个很好的效果,但是这个曲线用到测试数据上也很好吗?答案往往是否定的。这个时候采用的办法就是正则化的办法,正则化分为L0,L1,L2三种分别表示非零项的个数,各项绝对值之和,各项平方和,(虽然在几何上三种正则化都有自身的解释,但是在我看来,它们无一例外的都是用来提高特征向量的稀疏性,从而避免过拟合的)。其中L2范数最难理解但是也最好解释,直观上,一条高次曲线,减小高次项系数与低次项系数的比值可以使得这条高次曲线更加的缓和,缓和自然也就降低了过拟合。所以,在经验风险的后面加上一个正则化项或者叫稀疏项就可以得到既准确拟合又不至于过拟合的模型。拿这个模型用在测试数据上也会得到差不多的性能。

参考文献
http://blog.csdn.net/shenxiaoming77/article/details/51614601

你可能感兴趣的:(机器学习理论)