惩罚因子&损失函数

penalty term 和 loss function 看起来很相似,但其实二者完全不同。

惩罚因子:

penalty term的作用是把受限优化问题转化为非受限优化问题。

比如我们要优化:

m i n f ( x ) = x 2 − 10 x min f(x) = x^2−10x minf(x)=x210x x x x 受限于 g ( x ) = x − 3 < = 0 g(x) = x -3 <= 0 g(x)=x3<=0

我们可以利用惩罚因子,将上述问题转化为非受限约束问题,也就是拿掉 g ( x ) g(x) g(x)的限制。

函数变为:

m i n P ( x , s , r ) = x 2 − 10 x + s r ϕ ( x − 3 ) min P(x,s,r) = x^2−10x+srϕ(x−3) minP(x,s,r)=x210x+srϕ(x3)
其中s = +1 或-1, r 是控制变量,单调增或减, ϕ是惩罚函数。

如果我们令 s = 1 , r = 1 , ϕ = x 2 s = 1, r = 1, ϕ=x2 s=1,r=1,ϕ=x2,则:

m i n P ( x , s , r ) = x 2 − 10 x + ( x − 3 ) 2 min P(x,s,r) = x^2−10x+(x−3)^2 minP(x,s,r)=x210x+(x3)2
最终得到结果是错的,原因是r太小,如果我们将r = 100,最终就能得到对的结果。

也就是说,在迭代优化过程中,r是单调变量,如果优化结果不满足约束条件,那么可调节r的值,继续迭代,直至满足为止。

损失函数(loss function):

损失函数是分类(或回归)过程中计算分类结果错误(损失)的函数。为了检验分类结果,只要使总损失函数最小即可。

以0,1分类为例:

如果我们把一个样本分类正确记为1,错误记为0,那么这就是最简单的0,1 loss function.

如果记 l ( y ) = m a x ( 0 , 1 − t y ) l(y)=max(0,1−ty) l(y)=max(0,1ty),其中 t为预期结果,y为实际结果,那这就是hinge loss.

其他常用的还有 logistic loss等。

选择合适的损失函数是分类问题的关键之一,对于分类问题最好的是hinge loss. [1]

参考:

[1] Rosasco, Lorenzo, et al. “Are loss functions all the same?.” Neural Computation 16.5 (2004): 1063-1076.

[2] http://web.engr.oregonstate.edu/~paasch/classes/me517/week7/penalty.html

[3] https://en.wikipedia.org/wiki/Hinge_loss

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值