机器学习系列(七)- $softmax$ 最大熵

$sigmod$ 函数缺点

$Softmax$ 函数

公式推导

  1. 公式:$z^{[l][k]}=W^{[l][k]}·a^{[l-1][k]}+b^{[l][k]}$ ,其中 $k$ 对应每个分类

    激活函数:$a^{[l][k]}= \sigma(z^{[l][k]})$

  2. 多分类问题应输出每个分类的概率,故针对多分类问题要求满足:

    $a^{[l][k]}= \begin{bmatrix} a_1^{[l][k]} \newline \vdots \newline a_n^{[l][k]} \end{bmatrix}$ ,其中 $a_i^{[l][k]} \ge 0$ 且 $\sum_{i=1}^na_i^{[k][k]}=1$

  3. 为满足 $a_i^{[l][k]} \ge 0$ ,取 $a^{[l][k]}$ 以 $e$ 为底,即

    $\sigma(z^{[l][k]}) = e^{z^{[l][k]}} = \begin{bmatrix} e^{z_1^{[l][k]}} \newline \vdots \newline e^{z_n^{[l][k]}} \end{bmatrix} = \begin{bmatrix} t_1^{[k]} \newline \vdots \newline t_n^{[k]} \end{bmatrix}$

    为满足 $\sum_{i=1}^na_i^{[k][k]}=1$ ,同除总和,

    $\sigma(z^{[l][k]}) = softmax(z^{[l][k]}) = \begin{bmatrix} t_1^{[k]}/\sum_{i=1}^n t_j^{k} \newline \vdots \newline t_n^{[k]}/\sum_{i=1}^n t_j^{k} \end{bmatrix} = \begin{bmatrix} p_1^k \newline \vdots \newline p_n^k \end{bmatrix}$

  4. 交叉熵损失函数变化:

    $\begin{align} H(Q)=-\sum_{i=1}^n q_i·log_2p_i \Rightarrow H(Q,P)=J=-\sum_{k=1}^m\sum_{i=1}^n q_i^{[k]}·log_2p_i^{[k]} \end{align}$

$sigmod$ 特殊的 $softmax$

  1. $\begin{align} sigmod(z^{[l][k]}) =\frac{1}{1+e^{-z^{[l][k]}}} =\frac{1}{1+\cfrac{1}{e^{-z^{[l][k]}}}} =\frac{e^{-z^{[l][k]}}}{e^{-z^{[l][k]}}+1} \end{align}$
  2. 令 $\begin{bmatrix} t1 \newline t2 \end{bmatrix} = \begin{bmatrix} e^{[l][k]} \newline e^0 \end{bmatrix} = \begin{bmatrix} e^{[l][k]} \newline 1 \end{bmatrix}$
  3. 则 $\begin{align} sigmod(z^{[l][k]}) =\frac{t_1}{t_1+t_2} \end{align}$; $\begin{align} 1-sigmod(z^{[l][k]}) = \frac{1}{t_1+t_2} = \frac{t_2}{t_1+t_2}\end{align}$

单分类 $sigmod$ 与二分类 $softmax$

最大熵

模型对比

image-20211206145117572

先验概率(经验概率)

特征函数(指示函数)

条件熵

最大熵推导