机器学习的损失函数

机器学习三方面

机器学习问题,大致包含这是哪个方面:

  • 模型:建立什么样的模型
  • 目标:怎么定义最大化或最小化的目标函数
  • 算法:怎么求解最大或最小化目标函数的优化问题

举个例子:

  • 逻辑回归。模型是 y=θ(wx) ;通过最大似然(MLE)构造目标函数;通过SGD求解目标函数。
  • 线性回归。模型是 y=wx ;通过最小二乘构建目标函数;通过求解最小二乘得到优化问题的闭解。

机器学习的目的,就是在确定好模型(假设集)的前提下,构建目标函数构建优化问题,然后通过优化算法求解模型的最优参数,通常可以表达成如下式子:

θ=argminθ1Ni=1NL(yi,f(xi,θ))+λϕ(θ)

式子左边表示经验风险函数,损失函数是其核心部分;式子右边是正则项。式子整体是结构风险函数,其由经验风险函数和正则项组成。

损失函数

交叉熵(逻辑回归)

逻辑回归的经验风险函数如下:

Ein=1Ni=1Nlog(1+exp(ynwTxn))

其损失函数叫做交叉熵:

L(yn,xn,w)=log(1+exp(ynwTxn)

其函数图像如下(横坐标轴代表 ys ,即 ywTx ):

这里写图片描述

平方损失函数(最小二乘)

最小二乘的经验风险函数如下:

Ein=1Ni=1N(ynwTxn)2

其损失函数为平方损失函数:

L(yn,xn,w)=(ynwTxn)2

其函数图像如下(横坐标轴代表 ys ,即 ywTx ):

这里写图片描述

Hinge损失函数(SVM)

软间隔的SVM有如下表示:

s.t.minb,w,ξ12wTw+Cn=1Nξnyn(wTxn+b)1ξn,ξn0

将约束条件放到最小化的式子中得到软间隔SVM的结构风险函数:

minb,w,ξ12wTw+Cn=1Nmax(0,1yn(wTxn+b))

软间隔SVM的损失函数为Hinge损失函数:

L(yn,xn,w,b)=max(0,1yn(wTxn+b))

其图像为:

这里写图片描述

指数损失函数(AdaBoost)

在AdaBoost中,数据权重的更新方式为:

u(t+1)nu(t+1)nu(T+1)nn=1Nu(T+1)n=u(t)nyngt(xn)=u(t)nexp(ynαtgt(xn))=1Nexp(ynt=1Tαtgt(xn))=1Nn=1Nexp(ynt=1Tαtgt(xn))

AdaBoost的训练的目标就是减少 Nn=1u(T+1)n ,因此其风险函数为:

1Nn=1Nexp(ynt=1Tαtgt(xn))

其损失函数为:

L(yn,xn,α,g)=exp(ynt=1Tαtgt(xn))

其损失函数的图像为:

这里写图片描述

对比与总结

这里写图片描述

  • 01 loss是最本质的分类损失函数,但是这个函数不易求导,在模型的训练不常用,通常用于模型的评价。
  • squared loss方便求导,缺点是当分类正确的时候随着 ys 的增大损失函数也增大。
  • cross entropy方便求导,逼近01 loss。
  • Hinge Loss当 ys1 ,损失为0,对应分类正确的情况;当 ys<1 时,损失与 ys 成正比,对应分类不正确的情况(软间隔中的松弛变量)。
  • exponential loss方便求导,逼近01 loss。
  • squared loss, cross entropy,exponential loss以及hinge loss的左侧都是凸函数,方便求导有利于优化问题的求解;同时这些loss函数都是01 error的上界,可以通过减少loss来实现01问题的求解,即求解分类问题。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值