当前位置:   article > 正文

softmax-sigmoid辨析_分类网络最后一层

分类网络最后一层

事物的本质不在于其外在形态,而在于其内在实质。" -亚里士多德

有很多概念纷繁复杂,放在一起统一的看待,会发现他们是同源的,这样理解更加深刻,记忆也会更加深刻。千万不能“着相”

softmax和sigmoid,在二分类的时候显然是一样的:

softmax(x_1)=\frac{e^{x_1}}{e^{x_1}+e^{x_2}}=\frac{1}{1+e^{x_2-x_1}}

sigmoid(x_1)=\frac{1}{1+e^{-x_1}}

可以看到,二者的输出形式都是一样的,求导的特点也是一样的。sigmoid其实可以看作是softmax在类别N等于2时的一个特例。

因为模拟神经元的受刺激与受抑制就属于二分类问题,所以sigmoid不仅用于分类网络的最后一层,也常用于隐藏层中的神经元连接处。

那么接下来看二者分别是怎么来的:

重新发明Sigmoid

表面上看,是sigmoid把线性回归的结果转换为了分类概率,sigmoid是一个性质更好的“阶跃”函数,但这样的sigmoid来得仿佛无衣无据。从“重新发明”的角度出发,实际上是先有了对数几率函数,把离散的概率分布连续化,然后再使用线性组合去拟合对数几率函数。这样同时也解释了为什么回归可以用于分类。

而sigmoid本身的一些优点,如求导简单,S'(x)=S(x)*(1-S(x)),只是意外之喜,而不是使用它的关键。因为sigmoid本身也有一些缺点,如梯度饱和,最大值是0.25,层层传递可能梯度消失;也不是zero-centered。这时就需要relu等不同的激活函数。所以,使用不同的激活函数也可以理解为线性回归拟合不同的目标。

重新发明逻辑回归

对数几率的引入,解决连续性的同时,也把分布变成了线性的,可以使用线性回归拟合。此时线性回归拟合的线就是“边界线”:

同理,sigmoid也让线性回归有了非线性能力,一起组合成了逻辑回归logistic regression。

线性回归常用的损失函数是MSE,但逻辑回归因为使用了sigmoid,此时再使用MSE的话就不再是凸函数了:

这也是为什么分类中为什么不使用MSE的原因。

重新发明交叉熵

为了在标签取0和1的时候都有单调下降的损失函数,所以使用了分段函数:

用一个公式统一混合函数:

已经可以看到交叉熵的雏形了。



机器学习之对数几率回归(Logistic Regression) - 知乎

【机器学习基础】对数几率回归(logistic回归)-CSDN博客

重新发明softmax

毕竟sigmoid作用于二分类,只关心一个值就可以。那么多分类怎么办呢?

既然概率的比值是e指数的形式,可以直接假设每个头预测结果在e指数后就是概率,要做的只是归一化就可以了。我们来看softmax的概率计算:

S_i=\frac{e^i}{\sum_je^j}

对于e指数带来的溢出问题,可以分子分母同除以e^{i_{max}}解决。

二分类器可以实现多分类吗,当然可以。根据怎么划分,有两种策略:

负样本是所有其他类别,负样本是另外一种(需要n(n-1)/2个二分类器)。

参考

https://www.cnblogs.com/alexanderkun/p/8098781.html

https://www.cnblogs.com/jiashun/p/doubles.html

逻辑回归(logistic regression)的本质——极大似然估计_逻辑回归极大似然估计推导-CSDN博客

安全验证 - 知乎

softmax算法为什么采用softmax function作为每一个类别的概率? - 知乎

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
  

闽ICP备14008679号