关于机器学习 Machine Learning中loss函数参数正则化的一点思考

1 致谢

感谢 Andrew Ng教授的讲述!

2 前言

今天在学习机器学习中对loss函数中的参数进行正则化~

3 关于机器学习中loss函数参数正则化

在机器学习中,有一项防止过拟合的技巧就是(参数)正则化,以平方误差函数为例,原始的loss函数为:
J ( θ ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\theta)=\frac{1}{2m} \sum_{i=1}^{m}\left ( h_\theta\left ( x^{\left ( i \right )}\right )- y^{\left ( i \right )} \right )^2 J(θ)=2m1i=1m(hθ(x(i))y(i))2
而加上正则化项后的loss函数为,
J ( θ ) = 1 2 m [ ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 + λ ∑ j = 1 n θ j 2 ] J(\theta)=\frac{1}{2m} \left [ \sum_{i=1}^{m}\left ( h_\theta\left ( x^{\left ( i \right )}\right )- y^{\left ( i \right )} \right )^2 +\lambda \sum_{j=1}^{n}\theta_j^2 \right ] J(θ)=2m1[i=1m(hθ(x(i))y(i))2+λj=1nθj2]
可以看到,多了一个正则化项 λ ∑ j = 1 n θ j 2 \lambda \sum_{j=1}^{n}\theta_j^2 λj=1nθj2
在学习的时候,常常听到学者说到,正则化并没有什么很具体的数学解释,这一点我是不认同的,其实从数学的角度来看,这并不是不能分析的,首先,我们把原始loss函数称为 J 1 ( θ ) J_1(\theta) J1(θ),而加了正则化的loss函数称为 J 2 ( θ ) J_2(\theta) J2(θ),两者的区别在于 J 2 ( θ ) J_2(\theta) J2(θ)多了对权值参数的惩罚项,所以不同loss函数往往会训练出不同的模型函数,(具体训练出的函数有什么根本性的不同,这里还需要进一步进行论证);

不过我将在这里提出自己的一点猜想,首先 J 2 ( θ ) J_2(\theta) J2(θ)多了对所有参数的惩罚项,必然会减小绝对值大的参数值产生的概率,这就会使参数值的整体分布偏向于平均,也就是说,这样会防止模型过多地依赖于某个参数的值,于是,这似乎隐含着一个很重要的前提,那就是:我们认为每个参数对模型的贡献是平均的,而不认为模型会过多地依赖于其中某一个或某几个参数的值。

由此可以推论,如果某个模型的真实情况的确是过多的依赖于所有参数中的某几个参数,即:在真实模型函数中,存在一个或几个权值 θ i 1 , θ i 2 , … , θ i j \theta_{i1},\theta_{i2},\dots,\theta_{ij} θi1,θi2,,θij与其它的权重值相差较大,例如:归一化之后仍然存在几千到上万倍的差距;则使用正则化则可能导致训练出来的模型具有更差的泛化能力。
以上推论是可以通过实验来进行判断的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值