从极大似然估计推出多分类交叉熵损失函数

传统的数理统计

以往,我们有二项、几何等等比较简单的分布,假设随机变量服从这些分布,然后用MLE估计这些分布概率密度式当中的参数。

Neural Network

但是在现实当中数据的分布是未知且复杂的,我们无法去假设它们服从二项、几何等等这些简单的分布。

于是我们根据问题的性质,定制神经网络,其中有庞大的参数,这个神经网络就可以视为真实世界的概率分布。有了神经网络,问题变得和传统的数理统计一样了,我们需要估计神经网络(也就是概率分布)的参数,而且也是用MLE。

下面我将证明神经网络的交叉熵多分类损失就是由MLE导出来的(他们是一件事):

n类分类的概率 p j m p_{jm} pjm表示第j个样本分为第m类的概率,在神经网络的语境当中, p j m p_{jm} pjm是神经网络的输出(想想多分类softmax输出分类概率),对每个样本j,神经网络会给出其被分到各个类的概率 [ p j 1 , p j 2 , p j 3 . . . . p j n ] T [p_{j1},p_{j2},p_{j3}....p_{jn}]^{T} [pj1,pj2,pj3....pjn]T
p j ( x = m ) = ∏ i = 1 n p j i I ( m = i ) = p j m p_j(x=m)=\prod_{i=1}^{n}p^{I(m=i)}_{ji}=p_{jm} pj(x=m)=i=1npjiI(m=i)=pjm
其中 I ( m = i ) = { 1 , m = i 0 , m ≠ i I(m=i)=\left\{\begin{array}{l}1,m=i\\0,m\neq{i}\end{array}\right. I(m=i)={1,m=i0,m=i
之后可以采用极大似然估计(MLE)了,设有标签为(x1,…xs)的样本:

极 大 似 然 估 计 函 数 L = ∏ j = 1 s p j ( x = x j ) , x j ∈ { 1 , . . . . n } 对 L 取 对 数 ln ⁡ ( L ) = ∑ j = 1 s ln ⁡ ( p j ( x = x j ) ) = ∑ j = 1 s ln ⁡ ( p j x j ) m a x ( L ) → min ⁡ ( − L ) 于 是 可 以 知 道 交 叉 熵 损 失 e n t r o p y    l o s s    i s    l o s s = − 1 s l n ( L ) = − 1 s ∑ j = 1 s ln ⁡ ( p j x j ) = − 1 s ∑ j = 1 s ln ⁡ ( p j x j ) = − 1 s ∑ j = 1 s ln ⁡ ( p j x j ) = − 1 s ∑ j = 1 s ∑ i = 1 n I ( x j = i ) ln ⁡ ( p j i ) 与 极 大 似 然 的 估 计 本 质 上 是 相 同 的 。 极大似然估计函数L=\prod_{j=1}^{s}p_j(x=x_j),x_j\in\{1,....n\} \\对L取对数\\ \ln(L)=\sum_{j=1}^{s}\ln(p_j(x=x_j))\\=\sum_{j=1}^{s}\ln(p_{jx_j}) \\max(L)\rightarrow\min(-L) \\于是可以知道交叉熵损失 \\entropy\;loss\;is\; \\loss=-\frac{1}{s}ln(L)=-\frac{1}{s}\sum_{j=1}^{s}\ln(p_{jx_j})=-\frac{1}{s}\sum_{j=1}^{s}\ln(p_{jx_j}) \\=-\frac{1}{s}\sum_{j=1}^{s}\ln(p_{jx_j}) \\=-\frac{1}{s}\sum_{j=1}^{s}\sum_{i=1}^{n}I(x_j=i)\ln(p_{ji}) \\与极大似然的估计本质上是相同的。 L=j=1spj(x=xj),xj{1,....n}Lln(L)=j=1sln(pj(x=xj))=j=1sln(pjxj)max(L)min(L)entropylossisloss=s1ln(L)=s1j=1sln(pjxj)=s1j=1sln(pjxj)=s1j=1sln(pjxj)=s1j=1si=1nI(xj=i)ln(pji)
I ( x j = i ) : 当 样 本 j 的 标 签 是 第 i 类 , I 为 1 , 其 余 情 况 是 0. I(x_{j}=i):当样本j的标签是第i类,I为1,其余情况是0. I(xj=i):jiI10.

你可能感兴趣的:(原创观点,数理)