首先先说结论,两者的主要不同体现在(1)softmax用来解决多分类问题,lr解决二分类问题(2)softmax输出每一类的概率值,并确定概率最大的类是正确的,lr只区别是还是不是。事实上softmax是lr的一般情况。下面具体来看。
1.Logistic回归
一般线性分类器的是通过输入一系列的样本数据,学习一组权重系数
w0
w
0
,
w1
w
1
…
wn
w
n
来进行分类,即:
x=w0+w1x1+...+wnxn
x
=
w
0
+
w
1
x
1
+
.
.
.
+
w
n
x
n
这里 x1 x 1 …. xn x n 是指每个样本的n个特征。
Logistic回归引入了sigmoid函数来进行学习,如下所示:
f(x)=11+e−x
f
(
x
)
=
1
1
+
e
−
x
这里的x和上面的表示是一样的,总之要通过这个sigmoid函数来学习这些系数。很显然f(x)的范围是在0到1之间的,令输出的值大小为y。则有
P(y=1|x,w)=f(x),P(y=0|x,w)=1−f(x)
P
(
y
=
1
|
x
,
w
)
=
f
(
x
)
,
P
(
y
=
0
|
x
,
w
)
=
1
−
f
(
x
)
我们定义一件事发生概率和不发生概率的比值为一件事发生的几率,即:
logP1−P=log(P(y=1|x,w)P(y=0|x,w))=Σnwixi
l
o
g
P
1
−
P
=
l
o
g
(
P
(
y
=
1
|
x
,
w
)
P
(
y
=
0
|
x
,
w
)
)
=
Σ
n
w
i
x
i
可以看出,输出类别1对数几率是x的线性函数。
学习的过程就是训练数据求出最优参数 wi w i 使得预测尽可能准确。由于预测的是P(y|x,w),所以使用极大似然函数估计时如下:
L(w)=∏i=1nP(yi|xi,w)=∏i=1nf(xi)yi(1−f(xi)1−yi)
L
(
w
)
=
∏
i
=
1
n
P
(
y
i
|
x
i
,
w
)
=
∏
i
=
1
n
f
(
x
i
)
y
i
(
1
−
f
(
x
i
)
1
−
y
i
)
对上式求对数,得:
l(w)=logL(w)=log∏i=1nf(xi)yi(1−f(xi))1−yi=Σni=1yilogf(xi)+(1−yi)log(1−f(xi))
l
(
w
)
=
l
o
g
L
(
w
)
=
l
o
g
∏
i
=
1
n
f
(
x
i
)
y
i
(
1
−
f
(
x
i
)
)
1
−
y
i
=
Σ
i
=
1
n
y
i
l
o
g
f
(
x
i
)
+
(
1
−
y
i
)
l
o
g
(
1
−
f
(
x
i
)
)
最小化该式就可以求解出w,求解过程略(一般使用梯度下降法),进行判别时,计算P(y|x,w),如果大于0.5,预测类别为1,否则则为0。
2.Softmax回归
简单的来说,softmax用来分类时P(y|x,w)中y可以为1,2,..k,即可以对k类数据进行分类,不局限于2类。所以各类的分类表示如下:
P(y=1|x)=ew1xΣki=1ewix
P
(
y
=
1
|
x
)
=
e
w
1
x
Σ
i
=
1
k
e
w
i
x
……
P(y=k|x)=ewkxΣki=1ewix
P
(
y
=
k
|
x
)
=
e
w
k
x
Σ
i
=
1
k
e
w
i
x
参考Logistic损失函数建立的形式,这里同样采用了对数损失函数,表达如下:
J(w)=−1k(Σni=1Σkt=11[yi=t]logwtxiΣkm=1wmxi)
J
(
w
)
=
−
1
k
(
Σ
i
=
1
n
Σ
t
=
1
k
1
[
y
i
=
t
]
l
o
g
w
t
x
i
Σ
m
=
1
k
w
m
x
i
)
其中, 1[yi=t] 1 [ y i = t ] 是指示函数,若 yi=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
本文探讨了softmax回归与logistic回归的区别和联系。softmax是logistic回归的扩展,适用于多分类问题,输出各类别的概率,而logistic回归主要解决二分类问题,仅判断属于某类的概率。详细内容包括两种方法的数学表达式和应用场景。
476

被折叠的 条评论
为什么被折叠?



