机器学习当中很大一部分优化模型可归结为:损失函数+正则化
SVM和logistic函数从本质上讲也都是损失函数形式的不同。
而正则化参数调整,防止过拟合,其本质也是特征选择。
3.多项式曲线拟合
贯穿PRML第一章的例子是多项式曲线拟合的问题(polynomial curve fitting)。
考虑order为M的多项式曲线,可以表述为下面的形式:
曲线拟合的目标可以表述为优化是的下面的E(W)最小化(当然你可能会选取不同的error function这只是其中一种而已):
对于取到最小值的我们表示为,最优的最小距离是。
如果我们选择不同的order值即M不同的多项式曲线去拟合,比如取M=0,1,3,9最小二乘法拟合的结果如下图:
可以看到M=9的情况,曲线和采样观察点拟合的很好但是却偏离了整体,不能很好的反映,这就是传说中的over fitting过度拟合问题。
越高的order值M,对应越flexible的曲线,能够对采样点更好的逼近,毕竟高order的曲线包含了(可以表示)所有低order的曲线。另外
是包含所有order的,所以可以预见M越大对采样点拟合越好。但是从上图可以看出越大的M越flxible的曲线则对于噪声越敏感。
上面提到过度拟合问题,那么如何评判是否过度拟合呢?我们的终极目标是什么呢,终极目标是:
对于一个新的data,我们可以给出精确的值预测,即对于新的给出精确的估计正则化的具体做法。
我们可以采用另外生成一个test数据集比如100个数据,对于每个M值,计算对于训练集trainning data的和对于测试集test data的。有的时候
可能用下面的误差函数更好:
这样可以使得对于不同的N即数据集合的大小有一个公平的比较基准。
测试集与训练集的
对于过度拟合问题,如果增加观察点,则可以看到过度拟合的问题得以缓解,如下图M=9:
数据集合的大小越大,我们可以承受的模型复杂度越大。一个常见做法是数据(data points)应该多于参数数目的一定倍数(如,5,10)才能取得较好的效果。
在第3章中我们会看到,参数的数目并不是模型复杂度最好的度量。
同时很不爽的是我们需要根据训练集合的数据大小(size of the available training set)来限制模型的参数数目。看上去更自然的是根据要解决问题的复杂度来选择模型的复杂度。
我们将要看到最小二乘法和最大似然法是一致的(前面的单一参数线性回归的例子已经给了一个证明:)。如果采用贝叶斯方法,过度拟合问题可以避免。从贝叶斯的角度,实施用一个参数数目远多于data points的模型是可行的,事实上在贝叶斯模型,有效的参数数目可以根据data set的大小自动调整。
当下从最小二乘法的角度,为了解决过度拟合的问题,我们可以改变优化目标,加入reularization,限制|w|的值过大。
8. 正则化:
blog.csdn/viewcode/article/details/8794401
为防止过度拟合的模型出现(过于复杂的模型),在损失函数里增加一个每个特征的惩罚因子。这个就是正则化。如正则化的线性回归 的 损失函数:
ambda就是惩罚因子。
正则化是模型处理的典型方法。也是结构风险最小的策略。在经验风险(误差平方和)的基础上,增加一个惩罚项/正则化项。
线性回归的解,也从
转化为
括号内的矩阵,即使在样本数小于特征数的情况下,也是可逆的。
逻辑回归的正则化:
正则化是模型处理的典型方法。也是结构风险最小的策略。在经验风险(误差平方和)的基础上,增加一个惩罚项/正则化项
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论