softmax和logistic回归的区别和联系

   首先先说结论,两者的主要不同体现在(1)softmax用来解决多分类问题,lr解决二分类问题(2)softmax输出每一类的概率值,并确定概率最大的类是正确的,lr只区别是还是不是。事实上softmax是lr的一般情况。下面具体来看。

1.Logistic回归

   一般线性分类器的是通过输入一系列的样本数据,学习一组权重系数$w_0$,$w_1$…$w_n$来进行分类,即:

这里$x_1$….$x_n$是指每个样本的n个特征。
   Logistic回归引入了sigmoid函数来进行学习,如下所示:

   这里的x和上面的表示是一样的,总之要通过这个sigmoid函数来学习这些系数。很显然f(x)的范围是在0到1之间的,令输出的值大小为y。则有

我们定义一件事发生概率和不发生概率的比值为一件事发生的几率,即:

可以看出,输出类别1对数几率是x的线性函数。
   学习的过程就是训练数据求出最优参数$w_i$使得预测尽可能准确。由于预测的是P(y|x,w),所以使用极大似然函数估计时如下:

对上式求对数,得:

最小化该式就可以求解出w,求解过程略(一般使用梯度下降法),进行判别时,计算P(y|x,w),如果大于0.5,预测类别为1,否则则为0。

2.Softmax回归

   简单的来说,softmax用来分类时P(y|x,w)中y可以为1,2,..k,即可以对k类数据进行分类,不局限于2类。所以各类的分类表示如下:

……

参考Logistic损失函数建立的形式,这里同样采用了对数损失函数,表达如下:

其中,$1[y_i=t]$是指示函数,若$y_i=t$为真,否则为0。
   综上可以看出,当类别数 k = 2 时,softmax 回归退化为 logistic 回归。这表明 softmax 回归是 logistic 回归的一般形式。

参考:
1.https://www.zhihu.com/question/26855978
2.http://www.cnblogs.com/guyj/p/3800519.html
3.https://blog.csdn.net/zhangliyao22/article/details/48379291

0%