美文网首页
各种熵和Softmax-loss

各种熵和Softmax-loss

作者: xiaowang627 | 来源:发表于2020-05-11 00:26 被阅读0次

    一 自信息

    1.定义:描述某个事件发生所带来的信息量,由克劳德·香农提出,I(x)=-log(p(x)),当p(x)=0即随机事件不发生时自信息被定义为无限大,当p(x)=1即随机事件确定会发生时自信息为0。

    2. 单位:在自信息的定义中,对数的底决定自信息的单位,以2为底则记为比特(bit),以e为底(自然对数)则记为奈特(nat)。

    二 熵

    1. 定义:传送一个随机变量x的平均信息量称为随机变量x的熵,它是表示随机变量不确定性的度量,是对所有可能发生的事件产生的信息量的期望。即自信息I(x)关于概率分布的期望:H(x)=-\sum_{i=1}^np(x_i)logp(x_i)

    当概率为均匀分布时,熵最大(不确定性最大),此时H(x)=log_2n

    三 条件熵

    1. 定义:在已知随机变量X的条件下,随机变量Y的不确定性。即给定X的条件下,Y的条件概率分布的熵对X的数学期望:H(Y|X)=-\sum_{x,y}p(x,y)logp(y|x)

    四 相对熵(KL散度)

    1. 定义:概率分布P对Q的相对熵是P和Q的对数差在P上的期望值:

    D_{KL}(p||q)=E_{p(x)}log\frac{p(x)}{q(x)}

    2. 性质:如果P和Q两个分布相同,则相对熵为0;相对熵恒大于等于0;相对熵具有不对称性。

    五 交叉熵

    1. 定义:描述实际概率分布p(x)于期望概率分布的距离,交叉熵越小,两个概率分布越接近。

    H(p,q)=-\sum_{x}p(x)log(q(x))   --->  D_{KL}(p||q)=H(p,q)-H(p)

    在机器学习中,训练数据分布是固定的,即H(p)为常数,在训练中总是希望在训练数据上模型学到的分布和真实数据分布越接近越好,即希望相对熵最小,等价于交叉熵最小,等价于最大似然估计。

    参考:https://www.cnblogs.com/kyrieng/p/8694705.html

    六 Softmax Loss

    1. 定义:L_S=-\frac{1}{M} \sum_{i=1}^Mlog\frac{e^{W_{y_i}^Tf(x_i)+b_{y_i}}}{\sum_{j=1}^Ce^{W_j^Tf(x_i)+b_j} }

    =-\frac{1}{M}\sum_{i=1}^M  [W_{y_i}^Tf(x_i)+b_{y_i}-log\sum_{j=1}^Ce^{W_j^Tf(x_i)+b_j} ]

    =\frac{1}{M}\sum_{i=1}^M  [log[\sum_{j=1}^Ce^{W_j^Tf(x_i)+b_j}] -[W_{y_i}^Tf(x_i)+b_{y_i}]]

    M: 训练batchsize,x_i:该训练batch中的第i个人脸图片,f(x_i)x_i对应的神经网络倒数第二层输出,y_ix_i对应的标签,W和b:网络最后一层(分类器)对应的权重和偏置。

    2. 关于softmax的详细解释,参考:http://freemind.pluskid.org/machine-learning/softmax-vs-softmax-loss-numerical-stability/

    七 交叉熵和Softmax Loss的关系

    当交叉熵中的概率q(x)为Softmax概率时,交叉熵等价于Softmax loss,证明如下:

    对于输入训练样本x,其在训练集上的概率分布为p,模型预测的softmax概率分布为q,则

    H(p,q)=-\sum_{x}p(x)log(q(x)) =-\sum_{j=1}^Cp_j(x)log(q_j(x))

    其中C表示所有可能的类别数,p_j(x)表示输入样本x属于类别j的概率,对于机器学习的训练样本而言,通常输入样本x有唯一的标签y,即概率分布p往往为:p_j(x)=1,j=y; p_j(x)=0,j!=y,所以:

    H(p,q)=-log(q_j(x)),j为x所属的真实类别,q_j(x)表示输入样本x被预测为真实类别(ground truth)的概率。所以对于M个输入样本而言,其平均交叉熵为:-\frac{1}{M} \sum_{i=1}^Mlog(q_j(x_{i})),其中x_{i}表示第i个输入样本,q_j(x_i)为模型预测第i个样本属于其真实类别j的概率。由于概率分布q为softmax的概率分布,即q_j(x_{i})=\frac{e^{W_{y_i}^Tf(x_i)+b_{y_i}}}{\sum_{j=1}^Ce^{W_j^Tf(x_i)+b_j} } ,带入平均交叉熵可得M个样本的平均交叉熵等于L_s(Softmax loss)。

    相关文章

      网友评论

          本文标题:各种熵和Softmax-loss

          本文链接:https://www.haomeiwen.com/subject/eseenhtx.html