机器学习的几种分类损失函数
1. 机器学习的几种分类损失函数
1.1 信息量
- 信息量也叫做香农信息量,常用于刻画消除随机变量X在x处的不确定性所需的信息量\color{red}刻画消除随机变量X在x处的不确定性所需的信息量刻画消除随机变量X在x处的不确定性所需的信息量。
- 假设连续型随机变量,设ppp为随机变量XXX的概率分布,即p(x)p(x)p(x)为随机变量XXX在X=xX=xX=x处的概率密度函数值,随机变量XXX在xxx处的香农信息量定义为:
I(x)=−logp(x)=log1p(x)(1.1)I(x) = -\log p(x)=\log \frac{1}{p(x)}\tag{1.1}I(x)=−logp(x)=logp(x)1(1.1)
1.2 信息熵
- 信息熵用于刻画消除随机变量X的不确定性所需要的总体信息量\color{red}刻画消除随机变量X的不确定性所需要的总体信息量刻画消除随机变量X的不确定性所需要的总体信息量。
- 信息熵是衡量随机变量XXX在整个样本空间的总体香农信息量,即香农信息量logp(x)\log p(x)logp(x)的数学期望信息熵的定义如下:
H(p)=H(X)=Exp(x)[−logp(x)]=−∫p(x)logp(x)dx(1.2)H(p) = H(X) = E_{x~p(x)}[-logp(x)] = -\int_{}^{}p(x)logp(x)dx\tag{1.2}H(p)=H(X)=Ex p(x)[−logp(x)]=−∫p(x)logp(x)dx(1.2)
1.3 交叉熵
假设q(x)q(x)q(x)是用来拟合p(x)p(x)p(x)的概率分布,xxx属于PPP的样本空间,交叉熵用于衡量QQQ在拟合PPP的过程中,用于刻画消除不确定性而充分使用的信息量\color{red}刻画消除不确定性而充分使用的信息量刻画消除不确定性而充分使用的信息量。常作为神经网络的损失函数使用。
由于在每一个点X=xX=xX=x处qqq的香农信息量为−logq(x)-\log q(x)−logq(x),即衡量QQQ在X=xX=xX=x处为了拟合PPP所作的努力。
因此可以计算出在整个样本空间上QQQ消除不确定性所使用的总体信息量,即−logq(x)-\log q(x)−logq(x)的数学期望,由于每个xxx的权重为p(x)p(x)p(x),因此交叉熵H(p,q)H(p,q)H(p,q)的定义为:
H(p,q)=∑p(x)log1q(x)(1.3)H(p, q) = \sum_{}^{}{p(x)log\frac{1}{q(x)}}\tag{1.3}H(p,q)=∑p(x)logq(x)1(1.3)优点:使用逻辑函数得到概率,并结合交叉熵当损失函数时,在模型效果差的时候学习速度比较快,在模型效果好的时候学习速度变慢。
缺点:
- 1、随着分类数目的增大,分类层的线性变化矩阵参数也随着增大;
- 2、对于封闭集分类问题,学习到的特征是可分离的,但对于开放集人脸识别问题,所学特征却没有足够的区分性。
对于人脸识别问题,首先人脸数目(对应分类数目)是很多的,而且会不断有新的人脸进来,不是一个封闭集分类问题。
- sigmoid(softmax)+cross-entropy loss 擅长于学习类间的信息,因为它采用了类间竞争机制,它只关心对于正确标签预测概率的准确性,忽略了其他非正确标签的差异,导致学习到的特征比较散。
这个问题的优化有很多,比如对softmax进行改进,如L-Softmax、SM-Softmax、AM-Softmax等。
1.4 KL散度
- KL散度也叫相对熵,用于刻画概率分布q拟合概率分布p的程度\color{red}刻画概率分布q拟合概率分布p的程度刻画概率分布q拟合概率分布p的程度。
- ppp为真实数据的概率分布,qqq为随机噪声生成数据的概率分布;
- 生成对抗网络中qqq分布拟合ppp分布的过程中:
- 如果q完全拟合p\color{blue}q完全拟合pq完全拟合p,则H(p)=H(p,q)\color{red}H(p)=H(p,q)H(p)=H(p,q);
- 如果q拟合p不充分\color{blue}q拟合p不充分q拟合p不充分,则产生的信息损耗H(p)−H(p,q)\color{red}H(p)-H(p,q)H(p)−H(p,q)就是ppp和qqq的KL散度。
- p和q的相对熵D(p∣∣q)\color{red}p和q的相对熵D(p||q)p和q的相对熵D(p∣∣q)为信息熵H(p)与交叉熵H(p,q)的差\color{red}信息熵H(p)与交叉熵H(p,q)的差信息熵H(p)与交叉熵H(p,q)的差,KL散度是用来度量使用基于Q的编码来编码来自P的样本平均所需的额外的比特个数。KL散度的定义为:
H(p)−H(p,q)=−∫p(x)logp(x)dx−(−∫p(x)logq(x)dx)(1.4)H(p)-H(p, q) = -\int_{}^{}p(x)logp(x)dx-(-\int_{}^{}p(x)logq(x)dx)\tag{1.4}H(p)−H(p,q)=−∫p(x)logp(x)dx−(−∫p(x)logq(x)dx)(1.4)
D(p∣∣q)=∑P(x)logP(x)Q(x)(1.5)D(p||q) = \sum_{}^{}{P(x)log\frac{P(x)}{Q(x)}}\tag{1.5}D(p∣∣q)=∑P(x)logQ(x)P(x)(1.5)
3.5 JS散度
- 由于KL散度并不是一个真正的度量或距离函数,存在不对称的缺点 ,故引出JS散度。
- JS散度的值域范围是[0,1]\color{red}值域范围是[0,1]值域范围是[0,1],相同为0,相反为1。
- JS散度具有对称性JS(P∣∣Q)=JS(Q∣∣P)\color{red}JS(P||Q)=JS(Q||P)JS(P∣∣Q)=JS(Q∣∣P) 。其定义为:
JS(P∣∣Q)=12KL(P(x)∣∣P(x)+Q(x)2)+12KL(Q(x)∣∣P(x)+Q(x)2)(1.6)JS(P||Q)=\frac{1}{2}KL(P(x)||\frac{P(x)+Q(x)}{2})+\frac{1}{2}KL(Q(x)||\frac{P(x)+Q(x)}{2})\tag{1.6}JS(P∣∣Q)=21KL(P(x)∣∣2P(x)+Q(x))+21KL(Q(x)∣∣2P(x)+Q(x))(1.6) - JS散度的缺陷:当两个分布完全不重叠时\color{red}两个分布完全不重叠时两个分布完全不重叠时,即便两个分布的中心距离有多近,其JS散度都是一个常数,以至于梯度为0,无法更新\color{red}梯度为0,无法更新梯度为0,无法更新。
1.6 Wasserstein距离
3.6.1 介绍
- 由于KL散度和JS散度存在同一个问题,如果p分布和q分布相距很远完全没有重叠,则会导致梯度消失,故引出了Wasserstein距离。
- Wasserstein距离的起源是optimal transport problem,把概率分布想象成一堆石子,如何移动一堆石子,通过最小的累积移动距离把它堆成另外一个目标形状,这就是optimal transport所关心的问题。
- 前提: 确保本来的这一堆石子的总质量要和目标石子堆总质量一样;考虑到概率分布的归一化条件,这一点是自然被满足的。
1.6.2 数学表示
- 引子
- 假设地面上X=R2\mathcal{X} = \mathbb{R}^2X=R2堆了一些石子,石子的分布用μ:X→R\mu: \mathcal{X} \to \mathbb{R}μ:X→R来表示。
- 采取同样的表示方法,地面上的任意一块面积A⊆XA \subseteq \mathcal{X}A⊆X,μ(A)\color{blue}\mu(A)μ(A)表示这块面积上放置的石子质量。
- 定义目标石子堆的分布为ν\color{blue}\nuν,定义一个输运方案T:X→XT:\mathcal{X} \to \mathcal{X}T:X→X把现有的石子堆变成目标石子堆。 T(A)=BT(A)=BT(A)=B表示把放在A处的石子都运到B处,类似地可以定义反函数T−1(B)=AT^{-1}(B)=AT−1(B)=A。
- 该输运方案成立需要满足ν(B)=μ(T−1(B)),∀B⊆X\color{red}\nu(B) = \mu(T^{-1}(B)), \ \forall B\subseteq\mathcal{X}ν(B)=μ(T−1(B)), ∀B⊆X,即任意位置的石子通过输运过后都刚好满足分布μ\muμ的要求。
- 两堆石子之间的距离可以被定义成把一堆石子挪动成另外一堆所需要的最小输运成本\color{blue}最小输运成本最小输运成本可以写成:
Wp(μ,ν)=(infγ∈Γ(μ,ν)∫X×X∣∣x−y∣∣pdγ(x,y))1/p(1.7)W_p(\mu, \nu) = \left( \inf_{\gamma\in\Gamma(\mu, \nu)} \int_{\mathcal{X}\times\mathcal{X}} ||x-y||^p d\gamma(x,y) \right)^{1/p}\tag{1.7}Wp(μ,ν)=(γ∈Γ(μ,ν)inf∫X×X∣∣x−y∣∣pdγ(x,y))1/p(1.7)
其中inf\infinf指代最大下界,γ\gammaγ是一个联合概率分布,称coupling,它要求其边缘分布刚好是μ\muμ 和ν\nuν,即γ(A×X)=μ(A)\gamma(A\times\mathcal{X})=\mu(A)γ(A×X)=μ(A),γ(X×B)=ν(B)\gamma(\mathcal{X}\times B)=\nu(B)γ(X×B)=ν(B);联合概率分布是很难实际成为真实的optimal coupling的,一般来讲optimal coupling都会比较稀疏。排除少数不可分的情况,大多数的optimal coupling都是稀疏的,即γ(A×B)=μ(A∩T−1(B))\gamma(A\times B)=\mu(A\cap T^{-1}(B))γ(A×B)=μ(A∩T−1(B))。
- 定义
- 把面积转换成概率,则:概率分布p(x)p(x)p(x)转变成 q(x)q(x)q(x),设距离函数(转移成本)为d(x,y)d(x, y)d(x,y),那么 Wasserstein 距离定义为:
W[p,q]=infγ∈Π[p,q]∬γ(x,y)d(x,y)dxdy(1.8)\color{red}\mathcal{W}[p, q]=\inf _{\gamma \in \Pi[p, q]} \iint \gamma({x}, {y}) d({x}, {y}) \mathrm d {x} \mathrm d {y}\tag{1.8}W[p,q]=γ∈Π[p,q]inf∬γ(x,y)d(x,y)dxdy(1.8)
γ∈Π[p,q]\gamma \in \Pi[p, q]γ∈Π[p,q]指的是p,qp, qp,q的联合分布。从而,求两个分布p(x)p(x)p(x)和q(x)q(x)q(x)的Wasserstein距离本质上是一个优化问题:
infγ∈Π[p,q]∬γ(x,y)d(x,y)dxdys.t. {∫γ(x,y)dy=p(x)∫γ(x,y)dx=q(y)γ(x,y)⩾0(1.9)\begin{array}{l} \displaystyle\inf_{\gamma \in \Pi[p, q]} \iint \gamma (x, y) d(x, y) \mathrm d x \mathrm d y \\ \text { s.t. }\left\{\begin{array}{l} \displaystyle\int \gamma(x, y)\mathrm d y=p(x) \\ \displaystyle\int \gamma(x, y)\mathrm d x=q(y) \\ \gamma (x, y) \geqslant 0 \end{array}\right. \end{array}\tag{1.9}γ∈Π[p,q]inf∬γ(x,y)d(x,y)dxdy s.t. ⎩⎪⎪⎪⎨⎪⎪⎪⎧∫γ(x,y)dy=p(x)∫γ(x,y)dx=q(y)γ(x,y)⩾0(1.9) - 公式(1.9)的对偶问题则是:
- 对于第一个约束条件,每一个xxx 都有一个对偶变量,假设这个对偶变量是xxx的函数,设为f(x)f(x)f(x),对偶变量与等式约束乘起来求和,就转变成积分;
- 接着我们把第二个约束条件的对偶变量设成g(x)g(x)g(x),于是,公式(3.8)的对偶函数就是:
infγ(x,y)⩾0∬γ(x,y)d(x,y)dxdy+∫f(x)[p(x)−∫γ(x,y)dy]dx+∫g(y)[q(y)−∫γ(x,y)dx]dy(1.10)\inf _{\gamma(x, y) \geqslant 0} \iint \gamma(x, y) d(x, y) \mathrm d x \mathrm d y+\int f(x)\left[p(x)-\int \gamma (x, y) \mathrm d y\right]\mathrm d x \\+ \int g(y)\left[q(y)-\int \gamma(x, y)\mathrm dx \right]\mathrm d y\tag{1.10}γ(x,y)⩾0inf∬γ(x,y)d(x,y)dxdy+∫f(x)[p(x)−∫γ(x,y)dy]dx+∫g(y)[q(y)−∫γ(x,y)dx]dy(1.10)
整理可得:
infγ(x,y)⩾0∫f(x)p(x)dx+∫g(y)q(y)dy+∬γ(x,y)[d(x,y)−f(x)−g(y)]dxdy(1.11)\inf _{\gamma(x, y) \geqslant 0} \int f(x) p(x) \mathrm d x+\int g(y) q (y) \mathrm d y\\+\iint \gamma(x, y)\left[d(x, y)-f(x)-g(y) \right] \mathrm dx \mathrm dy\tag{1.11}γ(x,y)⩾0inf∫f(x)p(x)dx+∫g(y)q(y)dy+∬γ(x,y)[d(x,y)−f(x)−g(y)]dxdy(1.11)
若d(x,y)−f(x)−g(y)⩽0d(x, y)-f(x)-g(y) \leqslant 0d(x,y)−f(x)−g(y)⩽0,则可取适当的γ(x,y)⩾0\gamma(x, y) \geqslant 0γ(x,y)⩾0使得上式无穷小,所以公式(3.10)可以写成:
supf,g∫[f(x)p(x)+g(x)q(x)]dxs.t.f(x)+g(y)≤d(x,y)(1.12)\begin{aligned} \sup_{f, g} & \int[f(x) p(x)+g(x) q(x)] d x \\ \text{s.t.} \; & f(x)+g(y) \leq d(x, y) \end{aligned}\tag{1.12}f,gsups.t.∫[f(x)p(x)+g(x)q(x)]dxf(x)+g(y)≤d(x,y)(1.12)
sup\supsup表示最小上界。只要强对偶关系成立,则有:
W[p,q]=supf,g{∫[p(x)f(x)+q(x)g(x)]dx∣f(x)+g(y)≤d(x,y)}(1.13)\mathcal{W}[p, q]=\sup_{f, g}\left\{\int[p({x}) f({x})+q({x}) g({x})] d {x} \mid f({x})+g({y}) \leq d({x}, {y})\right\}\tag{1.13}W[p,q]=f,gsup{∫[p(x)f(x)+q(x)g(x)]dx∣f(x)+g(y)≤d(x,y)}(1.13)
因为d(x,x)=0d(x, x)=0d(x,x)=0,所以g(x)=−f(x)g(x)=-f(x)g(x)=−f(x),最终形式:
W[p,q]=supf{∫[p(x)f(x)−q(x)f(x)]dx∣f(x)−f(y)≤d(x,y)}(1.14)\mathcal{W}[p, q]=\sup_{f}\left\{\int[p({x}) f({x})-q({x}) f({x})] \mathrm d {x} \mid f({x})-f({y}) \leq d({x}, {y})\right\}\tag{1.14}W[p,q]=fsup{∫[p(x)f(x)−q(x)f(x)]dx∣f(x)−f(y)≤d(x,y)}(1.14)
一般d(x,y)=∥x−y∥td(x, y)=\|x-y\|_td(x,y)=∥x−y∥t会选取成欧式空间的ttt范数,我们称之为type-t Wasserstein Distance。可写成:
W(p,q)={infγ∈Γ(p,q)∬γ(x,y)∣∣x−y∣∣tdγ(x,y)}1/t(1.15)\color{red}W(p, q) = \left\{ \inf_{\gamma\in\Gamma(p, q)} \iint_{\gamma(x, y)} ||x-y||^t d\gamma(x,y) \right\}^{1/t}\tag{1.15}W(p,q)={γ∈Γ(p,q)inf∬γ(x,y)∣∣x−y∣∣tdγ(x,y)}1/t(1.15)
- 把面积转换成概率,则:概率分布p(x)p(x)p(x)转变成 q(x)q(x)q(x),设距离函数(转移成本)为d(x,y)d(x, y)d(x,y),那么 Wasserstein 距离定义为:
3.6.3 例子
3.6.4 优点
- 能够很自然地度量离散分布和连续分布之间的距离;
- 不仅给出了距离的度量,而且给出如何把一个分布变换为另一分布的方案;
- 能够连续地把一个分布变换为另一个分布,在此同时,能够保持分布自身的几何形态特征。
- 基于Wasserstein距离可以找出Wasserstein平均(Wasserstein barycenter),相比于欧式平均(Eulidean average)来说,它更能够描述其形态特征。
参考:
- 【数学】Wasserstein Distance
- Wasserstein距离
- 信息量、信息熵、交叉熵、KL散度、JS散度、Wasserstein距离
- Panaretos, Victor M., and Yoav Zemel. “Statistical aspects of Wasserstein distances.” Annual Review of Statistics and Its Application (2018).
- Optimal Transport and Wasserstein Distance (slides)
- 令人拍案叫绝的Wasserstein GAN
机器学习的几种分类损失函数相关推荐
- 机器学习:几种分类识别问题
分类和识别是机器学习领域非常常见的一类问题,比如之前非常火热的 ImageNet 挑战赛,还有人脸识别,人脸表情识别等,接触机器学习的一般来说,都是从识别开始,因为识别比较简单直观,而且大家都对目前识 ...
- 【机器学习基础】常见二分类损失函数、距离度量的Python实现
本文用Python实现了常见的几种距离度量.二分类损失函数. 设和为两个向量,求它们之间的距离. 这里用Numpy实现,设和为ndarray <numpy.ndarray>,它们的shap ...
- 独家 | 机器学习中的四种分类任务(附代码)
作者:Jason Brownlee 翻译:陈丹 校对:杨毅远 全文约4400字,建议阅读18分钟 本文为大家介绍了机器学习中常见的四种分类任务.分别是二分类.多类别分类.多标签分类.不平衡分类,并提供 ...
- 推荐 :机器学习中的四种分类任务(附代码)
作者:Jason Brownlee 翻译:陈丹 校对:杨毅远 全文约4400字,建议阅读18分钟 本文为大家介绍了机器学习中常见的四种分类任务.分别是二分类.多类别分类.多标签分类.不平衡分类,并 ...
- 从重采样到数据合成:如何处理机器学习中的不平衡分类问题?
从重采样到数据合成:如何处理机器学习中的不平衡分类问题? 2017-03-19 13:17 来源:机器之心 技术 原标题:从重采样到数据合成:如何处理机器学习中的不平衡分类问题? 选自Analytic ...
- 从重采样到数据合成:如何处理机器学习中的不平衡分类问题? 转载 2017年08月01日 17:09:03 标签: 机器学习 / 数据 719 转自:http://www.sohu.com/a/12
从重采样到数据合成:如何处理机器学习中的不平衡分类问题? 转载 2017年08月01日 17:09:03 标签: 机器学习 / 数据 719 转自:http://www.sohu.com/a/1293 ...
- 机器学习--LR逻辑回归与损失函数理解
损失函数(loss function)是用来估量你模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y, f(x))来表示,损失函数越小,模型的鲁棒性就越好.损失函数是经验 ...
- Bishop 模式识别与机器学习读书笔记 || 线性分类模型之判别函数的几何建模
线性分类模型之判别函数的几何建模 文章目录 线性分类模型之判别函数的几何建模 1. 判别函数 1.1 两类问题 1.2 多类问题 1.3 Fisher 线性判别 LDA 算法 1.3 代码实现 1.4 ...
- 机器学习中的 7 大损失函数实战总结(附Python演练)
介绍 想象一下-你已经在给定的数据集上训练了机器学习模型,并准备好将它交付给客户.但是,你如何确定该模型能够提供最佳结果?是否有指标或技术可以帮助你快速评估数据集上的模型? 当然是有的,简而言之,机器 ...
最新文章
- libev源码解析——调度策略
- ubuntu12.04 启动mysql_Ubuntu 12.04 MySQL改utf-8 启动不了
- 汇编语言--8086CPU
- cvr存储服务器的优势,CVR存储设备的结构与优势分析
- oracle生成42位,Oracle HowTo:如何确定Oracle是32 Bit(位)的还是64 Bit(位)的?
- [Redux/Mobx] 你有了解Rxjs是什么吗?它是做什么的?
- linux so 库的生成与调用
- c 给定字符串中查找_【C进阶】练习题(一)
- 切片器可以设置日期格式?_Power BI之相对日期的设置
- 换了路由器电脑都连不上网了_高校连上网自由都实现不了?三大运营商:这锅我不背...
- 绝对值编码器:从调研到开发
- php 导出excel的三种方法
- NN求解NS方程进一步探讨
- RS-485详解(一)
- 幸存与否 ——泰坦尼克号沉船事件数据分析*
- 很有意境的语句[转]
- STM32使用虚拟示波器
- mysql删除重复记录语句
- 太厉害了,竟然用 Python 给英语老师开发了个英语作文批改的神器
- 关于CC2541OTA升级的coed区溢出与bin文件生成问题
热门文章
- MATLAB 数据分析方法(第2版)1.2 MATLAB基础概述
- 一键清除锁屏密码:苹果手机忘记锁屏密码的解决方案
- 2019年,把时间分给靠谱的人和事!(三月复盘)
- ARM处理器比较:A8/A9
- 如何注册域名,获取个人网站网址
- 【java】新建项目
- EndNote: layout can not be formatted because it is no longer open
- php 2038年,php实现兼容2038年后Unix时间戳转换函数,2038unix_PHP教程
- Android 高新面试题
- Flutter高仿微信-第52篇-群聊-清空聊天记录