shartoo +

softmax函数

本文总阅读量
欢迎star我的博客

本文根据 softmax函数定义 整理

softmax函数的定义

softmax是sigmoid函数的普遍形式,用于多分类。用在输出层,作为一个分类器,表述为多个分类上的概率分布。 softmax函数的常见形式如下:

通过softmax函数,可以使得 $P(i)$ 的范围在[0,1]之间。在回归和分类问题中,通常θ是待求参数,通过寻找使得 $P(i)$ 最大的 $\theta_i$作为最佳参数。回顾logistic函数形式

这个函数的作用就是使得 $P(i)$ 在负无穷到0的区间趋向于0,在0到正无穷的区间趋向于1。同样,softmax函数加入了e的幂函数正是为了两极化:正样本的结果将趋近于1,而负样本的结果趋近于0。

softmax的可以作为最终概率的证明

虽然Softmax函数得到的是一个[0,1]之间的值,且 $\sum _{i=1}^KP(i)=1$ ,但是这个softmax求出的概率是否就是真正的概率?换句话说,这个概率是否严格等于期望呢?为此在这里进行推导。

假设现在有K个类,样本属于类别 $i$ 的概率为 $ϕ(i),i=1,…,K$ ,由于 $\sum _{i=1}^KP(i)=1$ ,所以只需要 前K-1个参数即可:

先引入T(y),它是一个k-1维的向量,如下所示:

样本属于第i类则第 $i$ 行元素为1,其余为0,即:$(T(i))i=1$ (注意第i个列的第i行)。因为y只能属于1类,故(y不等于k时)T(y)只有一个元素为1,其余元素都为0,则y的期望为:

令 $\beta_i=log\frac{\phi_i}{\phi_K},i=1,…,K$(同时除以 $\phi_K$ ),则有:

注意观察:第三个式子是在第一个式子的左右乘以 $\phi_K$ ,然后累加求和。(第二个式子用在第二步)

所以:

此时再将 $\phi_K=\frac{\phi_i}{\beta}$ 带入(上面推导的第二个式子),有:

由于分母中是求和操作,可以将i换成K。得到

所以实际的期望是具有softmax函数的形式的,当 $f_i(x)=\beta_i=log\frac{\phi_i}{\phi_k}$ 时实际期望与softmax函数严格相等,所求概率为真实值。

我的博客

观点

源码