线性分类-逻辑回归
逻辑回归和线性回归之间有何联系,又有什么样的不同之处?
不同点:逻辑回归是用来进行分类任务的,而且是典型的二分类,线性回归是用来进行预测的,二者任务的性质是不同的。
联系:逻辑回归是将线性回归的输入值再通过一个激活函数映射成一个概率值,用概率值的大小来进行分类。
由上面的叙述引出第一个问题,逻辑回归所用的激活函数是什么呢?
答:Sigmoid函数,函数的图像由下图所示:Sigmoid函数的表达式
Y
=
1
1
+
e
−
z
Y=\frac{1}{1+e^{-z}}
Y=1+e−z1
Sigmoid函数有什么作用呢?我们先观察一下这个函数,y的取值范围是[0,1],x的取值范围是负无穷到正无穷,它的作用就是将一个输入值映射到0-1的区间内,我们可以设定一个阈值0.5,大于0.5的就认为属于1,小于0.5的就属于0。
把线性回归和逻辑回归联系起来就是
y
=
1
1
+
e
−
(
w
T
x
+
b
)
y=\frac{1}{1+e^{-(w^Tx+b)}}
y=1+e−(wTx+b)1
上半部分主要是从直观的层面上去理解一下逻辑回归在做什么事下半部分使用严谨的数学公式来进行推导;
因为逻辑回归主要是二分类任务,暂且就用0和1两个类别进行分类吧
一个数据输入进来分类为1的概率:
p
(
y
=
1
∣
x
)
=
e
w
T
x
+
b
1
+
e
w
T
x
+
b
p(y=1|x)=\frac{e^{w^Tx+b}}{1+e^{w^Tx+b}}
p(y=1∣x)=1+ewTx+bewTx+b,为了简便咱可以用
P
1
P_1
P1来替代
分类为0的概率:
1-
p
(
y
=
1
∣
x
)
=
p
(
y
=
0
∣
x
)
=
1
1
+
e
w
T
x
+
b
p(y=1|x)=p(y=0|x)=\frac{1}{1+e^{w^Tx+b}}
p(y=1∣x)=p(y=0∣x)=1+ewTx+b1用
p
0
p_0
p0来替代
将上述两个式子结合可以写成
p
(
y
∣
x
)
=
p
1
y
p
0
1
−
y
p(y|x)=p_1^yp_0^{1-y}
p(y∣x)=p1yp01−y,当然也可以写成
p
(
y
∣
x
)
=
y
p
1
+
(
1
−
y
)
p
0
p(y|x)=yp_1+(1-y)p_0
p(y∣x)=yp1+(1−y)p0,怎么理解呢?
当y=0时
p
(
y
∣
x
)
=
p
0
p(y|x)=p_0
p(y∣x)=p0
当y=1时
p
(
y
∣
x
)
=
p
1
p(y|x)=p_1
p(y∣x)=p1
接下来就用到了极大似然估计(MLE)
δ
(
ω
,
b
)
^
=
a
r
g
m
a
x
ω
,
b
log
p
(
Y
∣
X
)
=
a
r
g
m
a
x
ω
,
b
log
∏
i
=
1
N
p
(
y
i
∣
x
i
)
=
a
r
g
m
a
x
ω
,
b
∑
i
=
1
N
log
p
(
y
i
∣
x
i
)
=
a
r
g
m
a
x
ω
,
b
∑
i
=
1
N
(
y
i
log
p
1
+
(
1
−
y
i
)
log
p
0
)
=
a
r
g
m
a
x
ω
,
b
∑
i
=
1
N
(
y
i
log
e
w
T
x
+
b
1
+
e
w
T
x
+
b
+
(
1
−
y
i
)
log
1
1
+
e
w
T
x
+
b
)
=
a
r
g
m
a
x
ω
,
b
∑
i
=
1
N
(
y
i
(
ω
T
x
+
b
)
−
log
(
1
+
e
ω
T
x
+
b
)
)
=
a
r
g
m
i
n
ω
,
b
∑
i
=
1
N
(
−
y
i
(
ω
T
x
+
b
)
+
log
(
1
+
e
ω
T
x
+
b
)
\hat{\delta(\omega,b)}=argmax_{\omega,b}\log{p(Y|X)}\\=argmax_{\omega,b}\log{\prod_{i=1}^{N}p(y_{i}\mid{x_{i}})}\\=argmax_{\omega,b}\sum_{i=1}^{N}\log{p(y_{i}\mid{x_{i}})}\\=argmax_{\omega,b}\sum_{i=1}^{N}(y_i\log{p_1}+(1-y_i)\log{p_0})\\=argmax_{\omega,b}\sum_{i=1}^{N}(y_i\log{\frac{e^{w^Tx+b}}{1+e^{w^Tx+b}}}+(1-y_i)\log{\frac{1}{1+e^{w^Tx+b}}})\\=argmax_{\omega,b}\sum_{i=1}^{N}(y_i(\omega^Tx+b)-\log{(1+e^{\omega^Tx+b}}))\\=argmin_{\omega,b}\sum_{i=1}^{N}(-y_i(\omega^Tx+b)+\log{(1+e^{\omega^Tx+b}})
δ(ω,b)^=argmaxω,blogp(Y∣X)=argmaxω,blogi=1∏Np(yi∣xi)=argmaxω,bi=1∑Nlogp(yi∣xi)=argmaxω,bi=1∑N(yilogp1+(1−yi)logp0)=argmaxω,bi=1∑N(yilog1+ewTx+bewTx+b+(1−yi)log1+ewTx+b1)=argmaxω,bi=1∑N(yi(ωTx+b)−log(1+eωTx+b))=argminω,bi=1∑N(−yi(ωTx+b)+log(1+eωTx+b)
到目前为止,我们将问题转换成一个凸优化问题,可以使用梯度下降法或者牛顿法求出最优解