损失函数清单

损失函数(Loss Function)用来估量模型的预测值 \hat y = f(x) 与真实值 y 的不一致程度。这里做一个简单梳理,以备忘。

回归问题

常见的回归问题损失函数有绝对值损失、平方损失、Huber损失。

绝对值损失

又叫做L1损失。

L(y, \hat y) = |y - \hat y|

MAE = \frac{1}{n} \sum_{i=1}^{n} |y - \hat y|

MAE一个问题是在 y - \hat y=0 处不可导,优化比较困难。

平方损失

又称为L2损失。

L(y, \hat y) = (y - \hat y)^2

MSE = \frac{1}{n} \sum_{i=1}^{n}(\hat y - y)^2

MSE一个问题是对异常点敏感,由于平方的存在,会放大对异常点的关注。

Huber损失

相当于是L1和L2损失的一个结合。

L_{\delta}(y, \hat y) = \begin{cases} \frac{1}{2}(y - \hat y)^2, && for |y - \hat y| \le \delta \\ \delta |y - \hat y| - \frac{1}{2} \delta ^2, && otherwise \end{cases}

Huber损失是对上述两者的综合,当 \mid y-\hat y\mid小于指定的值 \delta 时,变为平方损失,大于 \delta 时,则变成类似于绝对值损失。即避免了在\mid y-\hat y\mid在0处不可导问题,也解决了其值过大对异常值敏感的问题。值得注意的是,该函数在\delta处连续。

三种Loss随残差\mid y-\hat y\mid的大致走势如下图。

algo-huber-loss

分类问题

一般来说,二分类机器学习模型输出有两个部分:线性输出s和非线性输出g(s)。其中,线性输出score一般是

s = w^Tx

非线性输出常见的如sigmoid:

g(s) = \frac{1}{1 + e^{-s}}

对应label y一般两种表示方式,\{+1, -1\}\{1, 0\}表示正负类。其中用\{+1, -1\}表示正类有个好处,就是从ys可以看出是否是误分类。

  • ys \ge 0,则预测正确
  • ys \lt 0,则预测错误

这样,ys和回归模型中残差s - y非常类似,以ys为自变量作图,方便理解。

0-1 Loss

0-1 Loss很直观,如果误分类则误差为1,否则为0。

L(y, s) = \begin{cases} 0, && ys \ge 0\\ 1, && ys \lt 0 \end{cases}

有两个明显的问题

  • 0-1 Loss对每个误分类点惩罚相同,即使错的比较离谱(ys远小于0)
  • 0-1 Loss不连续、非凸、不可导,梯度优化算法不适用

所以实际模型中0-1 Loss用的很少,后续介绍的误差,多数可看做0-1 Loss的一个上界。

Cross Entropy Loss

Cross Entropy Loss是非常重要的损失函数,也是应用最多的分类损失函数之一。根据label的表示方式,一般有两种常见形式。

如果label表示为\{1, 0\},形式如下

L(y, \hat y) = -[ylog(\hat y) + (1 - y)log(1 - \hat y)]

简单看其来由。模型输出预测类别的概率

p = \begin{cases} p(y = 1|x) = \hat y \\ p(y = 0|x) = 1 - \hat y \end{cases}

以上可整合到一个公式中

p(y|x) = \hat y^y(1 - \hat y)^{(1 - y)}

根据极大似然估计原理,我们希望p越大越好,为了方便计算,同时引入负对数(不影响单调性)。

L(y, \hat y) = -log(p(y|x)) = -[ylog(\hat y) + (1 - y)log(1 - \hat y)]

其中

\hat y = \frac {1}{1 + e^{-s}}

代入可得出

$$
L(y, \hat y) = \begin{cases}

  • log(\hat y) = log(1 + e^{-s}) && y = 1 \
  • log(1 - \hat y) = log(1 + e^s) && y = 0
    \end{cases}
    $$

当y=1时,s越大loss越小;当y=0时,s越小loss越小,make sense。

如果label表示为\{+1, -1\},形式如下

L(y, \hat y) = log(1 + e^{-ys})

其实上述式子完全等价,只不过将y=1或y=0两种情况整合到一起。ys的符号反映预测准确性,其数值大小反映预测置信度。

交叉熵损失在实数域内,Loss近似线性变化。尤其是当 ys << 0 的时候,Loss 更近似线性。这样,模型受异常点的干扰就较小。 而且交叉熵 Loss 连续可导,便于求导计算,应用比较广泛。

Hinge Loss

The hinge loss is used for maximum-margin classification, most notably for support vector machines (SVMs).

L(y, s) = max(0, 1 - ys)

Hinge Loss名字很象形,其形状类似合页。一般用于SVM中,体现SVM距离最大化思想。当Loss大于0时,是线性函数,可以用梯度优化算法。此外ys > 1损失皆为0,可以带来稀疏解,使得SVM仅通过少量支持向量就能确定最终超平面。

algo-hinge-loss

Exponential Loss

指数损失,多用于AdaBoost中,其它算法中用的较少。

L(y, s) = e^{-ys}

Modified Huber Loss

Huber Loss整合MAE和MSE的优点,稍作改进,同样可用于分类问题,称为Modified Huber Loss。

L(y, s) = \begin {cases} max(0, 1 - ys)^2, && ys \ge -1 \\ -4ys, && ys \lt -1 \end{cases}

该函数分三段

  • [-Inf, -1]线性
  • [-1, 1]二次
  • [1, Inf]常数0

分类问题损失函数对比

对比不同损失函数随ys的变化趋势。有一点值得注意,就是各个损失函数在ys很小时,损失一般不超过线性(指数损失除外),否则对异常值太敏感。

algo-loss-function-1
algo-loss-function-2
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,290评论 6 491
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,107评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,872评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,415评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,453评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,784评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,927评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,691评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,137评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,472评论 2 326
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,622评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,289评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,887评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,741评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,977评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,316评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,490评论 2 348

推荐阅读更多精彩内容