逻辑回归原理和实践
逻辑回归解决的问题并不是回归问题,而是经典的二分类问题。其实分类和回归的本质并没有实质性的区别,原理是只要将回归任务用sigmoid函数将连续的值映射到0-1之间,然后添加一个阈值,就可以达到分类的任务。
在上一篇线性回归的博客中我们重点分析了其中的数学原理和理论实践,感兴趣的小伙伴可以参考一下,接下来我们在上一篇的基础上来探讨逻辑回归的相关数学原理和实际应用。
线性回归方程:
y
=
W
X
+
b
y=WX+b
y=WX+b
sigmoid函数:
σ
(
z
)
=
1
1
+
e
x
p
(
−
z
)
\sigma(z)=\frac{1}{1+exp(-z)}
σ(z)=1+exp(−z)1
函数图像如下:
我们将线性回归的方程代入到sigmoid函数:
σ
(
y
)
=
1
1
+
e
x
p
(
−
y
)
\sigma(y)=\frac{1}{1+exp(-y)}
σ(y)=1+exp(−y)1
σ
(
W
X
+
b
)
=
1
1
+
e
x
p
(
−
(
W
X
+
b
)
)
\sigma(WX+b)=\frac{1}{1+exp(-(WX+b))}
σ(WX+b)=1+exp(−(WX+b))1
同样我们写成矩阵相乘的格式:
σ
(
W
T
X
)
=
1
1
+
e
x
p
(
−
W
T
X
)
\sigma(W^TX)=\frac{1}{1+exp(-W^TX)}
σ(WTX)=1+exp(−WTX)1
假设成二分类任务:
P
(
y
=
1
∣
X
;
W
)
=
σ
(
W
T
X
)
=
h
W
(
X
)
P(y=1|X;W)=\sigma(W^TX)=h_W(X)
P(y=1∣X;W)=σ(WTX)=hW(X)
P
(
y
=
0
∣
X
;
W
)
=
1
−
σ
(
W
T
X
)
=
1
−
h
W
(
X
)
P(y=0|X;W)=1-\sigma(W^TX)=1-h_W(X)
P(y=0∣X;W)=1−σ(WTX)=1−hW(X)
上述表达式是为了使正样本与负样本的概率和为1.
整合得:
P
(
y
∣
X
;
W
)
=
h
W
(
X
)
y
(
1
−
h
W
(
X
)
)
1
−
y
P(y|X;W)=h_W(X)^y(1-h_W(X))^{1-y}
P(y∣X;W)=hW(X)y(1−hW(X))1−y
引入似然函数:
L
(
w
)
=
∏
i
=
0
n
p
(
y
i
∣
x
i
;
w
)
=
∏
i
=
1
n
h
W
(
x
i
)
y
(
1
−
h
W
(
x
i
)
)
1
−
y
L(w)=\prod_{i=0}^np(y_i|x_i;w)=\prod_{i=1}^nh_W(x_i)^y(1-h_W(x_i))^{1-y}
L(w)=i=0∏np(yi∣xi;w)=i=1∏nhW(xi)y(1−hW(xi))1−y
对数似然:
l
(
w
)
=
l
o
g
L
(
w
)
=
∑
i
=
1
n
(
y
i
l
o
g
h
W
(
x
i
)
+
(
1
−
y
i
)
l
o
g
(
1
−
h
W
(
x
i
)
)
)
l(w)=logL(w)=\sum_{i=1}^n(y_ilogh_W(x_i)+(1-y_i)log(1-h_W(x_i)))
l(w)=logL(w)=i=1∑n(yiloghW(xi)+(1−yi)log(1−hW(xi)))
在原始的公式中加入
−
1
/
n
-1/n
−1/n变成求解梯度下降的问题,推导过程如下:
其中
j
j
j表示第
j
j
j个特征的权重.