Regularization

Hypothesis set可以表示如下。

可以看出H2=H3 when w3=0。或者H2=H10 when w3…w10=0。

因此可以得出结论

上篇文章说到,H2中找到的h*的Eout会比H10中找到的h*的Eout要小,因为H10中的h*产生了overfitting。

假如说现在要在H10中找h*,那么就是要

       (1)

如果要在H2中找h*,也可以做(1)式的动作,只不过要加上约束条件w3=w4=…w10=0。

即H2可以 表示为

现在我们把约束条件放松一点,不要让特定的w3…w10=0,只需要有8个w=0即可。定义为

因此,对求h*的过程要保证w=0的个数小于等于3.

但是求解这样一个h是NP-hard的问题。于是,我们把约束的目标变成,之所以可以这样替代的原因是,如果当大部分的w都为0时,它们的平方和也应该小于某个数,这里引入了C。于是原来的变为

可以看出,的空间有overlap,但是并不是完全一样的,比如中确实满足,但是可能是每个w都很小但不等于0,这部分的h并不是重叠部分。如果C无穷大时,说明木有约束条件,也就是H10了。

现在在H(C)中求h*,需要minEin(w),对于linear regression的问题

对于约束条件的物理意义就是w要在半径为的球内部,如下图红色部分。

对于min的部分,w减小的方向就是梯度的方向,现在有个w已经在球的边缘,因为有约束条件的限制,意思是w只能最多在球面上滚动,不能滚出球的范围。然后求出的梯度是蓝色的部分,如果梯度的方向垂直于球的切面,即normal那个方向,这样就违反了约束条件,其实normal向量的方向就和w的方向一致。如果求出的梯度的方向如图所示,可知梯度在垂直于normal向量的绿色方向有一个分量,可知w可以往绿色的方向滚,这样就更加接近了位于山谷的wlin了。

当求出的梯度和normal,也就是w的方向一直的话,则说明再滚下去就会滚出球的范围,违反了约束条件。把此时的w称为,有,即这两个方向平行。

既然平行,我们可以加入拉格朗日乘子,把这两项写在一个式子里,如式(2)

     (2)

其中

所以(2)式变为

已知时,解关于的一次方程,有

叫做ridge regression (L2-norm)

如果没有那一项,就是之前没有正规化的w的求法

其实求式(2),等价于求式(3),就是把式(2)积分回去的结果。

定义

这样,原来求解一个带有C的约束条件的方程,变成求解一个没有约束条件,但是带有一项regularizer的方程,即

这种方法叫做weight-decay regularization.

其实就是给定一个C,就可以求出对应的

有个问题需要讨论,如果当x的取值范围在-1到1之间,那么经过polynomial的转换以后,高次的就会变很小,前面的系数则需要很大,但是这和regularization所希望的是相矛盾的。

因此如果要做多项式的regularization,用右图的变换比左图的,得到的效果更好。

从VC bound的角度来说,如果算法没有经过regularized,,这是个很大的数字。但是如果regularized的话,,这个值其实很小(A是用于min 的算法)

以上是在讨论L2 regularizer,接下来稍微介绍一下L1 regularizer:

L1的解出来的w是sparse的,有很多的w是0,因为往往求得的会跑到顶点去,这边的w就会有很多是0.

时间: 2024-08-18 06:43:42

Regularization的相关文章

正则化方法:L1和L2 regularization、数据集扩增、dropout

本文是<Neural networks and deep learning>概览 中第三章的一部分,讲机器学习/深度学习算法中常用的正则化方法.(本文会不断补充) 正则化方法:防止过拟合,提高泛化能力 在训练数据不够多时,或者overtraining时,常常会导致overfitting(过拟合).其直观的表现如下图所示,随着训练过程,网络在training data上的error渐渐减小,但是在验证集上的error却反而渐渐增大--因为训练出来的网络过拟合了训练集,对训练集外的数据却不work

正则化方法:L1和L2 regularization、数据集扩增、dropout(转)

ps:转的.当时主要是看到一个问题是L1 L2之间有何区别,当时对l1与l2的概念有些忘了,就百度了一下.看完这篇文章,看到那个对W减小,网络结构变得不那么复杂的解释之后,满脑子的6666-------->把网络权重W看做为对上一层神经元的一个WX+B的线性函数模拟一个曲线就好.知乎大神真的多. 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 本文是<Neural networks and deep learning>概览 中第三章的一部分,讲机器学习/深度学习算

Regularization in Linear Regression & Logistic Regression

一.正则化应用于基于梯度下降的线性回归 上一篇文章我们说过,通过正则化的思想,我们将代价函数附加了一个惩罚项,变成如下的公式: 那么我们将这一公式套用到线性回归的代价函数中去.我们说过,一般而言θ0我们不做处理,所以我们把梯度下降计算代价函数最优解的过程转化为如下两个公式. 我们通过j>0的式子,能够分析得出,θj 我们可以提取公因子,即将上式变成: 由于θj的系数小于1,可以看出, 正则化线性回归的梯度下降算法的变化在于,每次都在原有算法更新规则的 基础上令 θ 值减少了一个额外的值. 那么至

Stanford机器学习笔记-3.Bayesian statistics and Regularization

3. Bayesian statistics and Regularization Content 3. Bayesian statistics and Regularization. 3.1 Underfitting and overfitting. 3.2 Bayesian statistics and regularization. 3.3 Optimize Cost function by regularization. 3.3.1 Regularized linear regressi

Stanford机器学习---第三讲. 逻辑回归和过拟合问题的解决 logistic Regression &amp; Regularization

原文地址:http://blog.csdn.net/abcjennifer/article/details/7716281 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归.Octave Tutorial.Logistic Regression.Regularization.神经网络.机器学习系统设计.SVM(Support Vector Machines 支持向量机).聚类.降维.异常检测.大规模机器学习等章节.所有内容均来自Standford公开课machin

Andrew Ng Machine Learning - Week 3:Logistic Regression &amp; Regularization

此文是斯坦福大学,机器学习界 superstar - Andrew Ng 所开设的 Coursera 课程:Machine Learning 的课程笔记.力求简洁,仅代表本人观点,不足之处希望大家探讨. 课程网址:https://www.coursera.org/learn/machine-learning/home/welcome Week 1: Introduction 笔记:http://blog.csdn.net/ironyoung/article/details/46845233 We

Logistic Regression &amp; Regularization ----- Stanford Machine Learning(by Andrew NG)Course Notes

coursera上面Andrew NG的Machine learning课程地址为:https://www.coursera.org/course/ml 我曾经使用Logistic Regression方法进行ctr的预测工作,因为当时主要使用的是成型的工具,对该算法本身并没有什么比较深入的认识,不过可以客观的感受到Logistic Regression的商用价值. Logistic Regression Model A. objective function       其中z的定义域是(-I

数据预处理中归一化(Normalization)与损失函数中正则化(Regularization)解惑

背景:数据挖掘/机器学习中的术语较多,而且我的知识有限.之前一直疑惑正则这个概念.所以写了篇博文梳理下 摘要: 1.正则化(Regularization) 1.1 正则化的目的 1.2 正则化的L1范数(lasso),L2范数(ridge),ElasticNet 2.归一化 (Normalization)   2.1归一化的目的 2.1归一化计算方法 2.2.spark ml中的归一化 2.3 python中skelearn中的归一化 知识总结: 1.正则化(Regularization) 1.

Bias vs. Variance(2)--regularization and bias/variance,如何选择合适的regularization parameter λ(model selection)

Linear regression with regularization 当我们的λ很大时,hθ(x)≍θ0,是一条直线,会出现underfit:当我们的λ很小时(=0时),即相当于没有做regularization,会出现overfit;只有当我们的λ取intermediate值时,才会刚刚好.那么我们怎么自动来选择这个λ的值呢? 正则化时的Jtrain(θ),Jcv(θ),Jtest(θ)的表达式 正则化时的Jtrain(θ),Jcv(θ),Jtest(θ)的表达式不带有regulariz