赞
踩
Logistic 回归是一种分类器,功能与贝叶斯分类器,SVM等分类器一致,是用于分类的,而不是进行数据回归的。下面简单介绍下整个LR模型的基本原理,主要有两个核心问题,1是LR如何分类,2是如何得到模型内相应的参数。
首先介绍sigmoid函数,sigmoid函数可以把任意实数域内的元素映射到
(
0
,
1
)
(0,1)
(0,1)之间。表达式如下:
y ( x ) = 1 1 + e − x (1) y(x)=\frac{1}{1+e^{-x}}\tag{1} y(x)=1+e−x1(1)
图像如下:
值得注意的是,
(
0
,
1
)
(0,1)
(0,1)这个区间正好对应了概率的取值,因此sigmoid函数的函数值在某些情况下就可以看成概率。
LR回归的模型很简单,表达式如下:
y i = 1 1 + e − w T x i − b y_i=\frac{1}{1+e^{-w^Tx_i-b}} yi=1+e−wTxi−b1
首先 w T x i + b w^Tx_i+b wTxi+b是一个线性分类器(图像表达为一个超平面),为什么呢?考虑最简单的二维情况:
当数据
x
i
x_i
xi落在直线上时有
w
T
x
i
+
b
=
0
w^Tx_i+b=0
wTxi+b=0
当数据
x
i
x_i
xi落在直线上方时有
w
T
x
i
+
b
>
0
w^Tx_i+b>0
wTxi+b>0
当数据
x
i
x_i
xi落在直线下方时有
w
T
x
i
+
b
<
0
w^Tx_i+b<0
wTxi+b<0
其次
y
i
=
1
1
+
e
−
w
T
x
i
−
b
y_i=\frac{1}{1+e^{-w^Tx_i-b}}
yi=1+e−wTxi−b1也是一个分类器,为什么呢?也考虑二维最简单的情况:
当数据
x
i
x_i
xi落在直线上时有
y
i
=
1
1
+
e
−
w
T
x
i
−
b
=
0.5
y_i=\frac{1}{1+e^{-w^Tx_i-b}}=0.5
yi=1+e−wTxi−b1=0.5
当数据
x
i
x_i
xi落在直线上方时有
y
i
=
1
1
+
e
−
w
T
x
i
−
b
∈
(
0.5
,
1
)
y_i=\frac{1}{1+e^{-w^Tx_i-b}}\in(0.5,1)
yi=1+e−wTxi−b1∈(0.5,1)
当数据
x
i
x_i
xi落在直线下方时有
y
i
=
1
1
+
e
−
w
T
x
i
−
b
∈
(
0
,
0.5
)
y_i=\frac{1}{1+e^{-w^Tx_i-b}}\in(0,0.5)
yi=1+e−wTxi−b1∈(0,0.5)
因此,LR模型可作为二分类的分类器。
已知有数据集
X
=
{
X
1
,
X
2
,
.
.
.
,
X
N
}
X=\{X_1,X_2,...,X_N\}
X={X1,X2,...,XN},对应的二分类标签为
{
0
,
1
}
\{0,1\}
{0,1},要得到LR模型中的
w
,
b
w,b
w,b,肯定有一个训练的过程,而且是有监督的训练过程。
对于数据
X
i
X_i
Xi,若划分类别为
y
i
(
y
i
∈
{
0
,
1
}
)
y_i(y_i\in\{0,1\})
yi(yi∈{0,1}),那么相应的概率如下:
p ( y i = 0 ∣ X i , w , b ) = 1 1 + e − w T x i − b p(y_i=0|X_i,w,b)=\frac{1}{1+e^{-w^Tx_i-b}} p(yi=0∣Xi,w,b)=1+e−wTxi−b1
p ( y i = 1 ∣ X i , w , b ) = 1 − 1 1 + e − w T x i − b = e − w T x i − b 1 + e − w T x i − b p(y_i=1|X_i,w,b)=1-\frac{1}{1+e^{-w^Tx_i-b}}=\frac{e^{-w^Tx_i-b}}{1+e^{-w^Tx_i-b}} p(yi=1∣Xi,w,b)=1−1+e−wTxi−b1=1+e−wTxi−be−wTxi−b
记 h ( X i , w , b ) = 1 1 + e − w T x i − b h(X_i,w,b)=\frac{1}{1+e^{-w^Tx_i-b}} h(Xi,w,b)=1+e−wTxi−b1,因此 y y y的概率分布为:
p ( y i ∣ X i , w , b ) = h ( X i , w , b ) y ( 1 − h ( X i , w , b ) ) 1 − y (2) p(y_i|X_i,w,b)=h(X_i,w,b)^y(1-h(X_i,w,b))^{1-y}\tag{2} p(yi∣Xi,w,b)=h(Xi,w,b)y(1−h(Xi,w,b))1−y(2)
为什么是以上这个形式,可以考虑以下概率论中 ( 0 , 1 ) (0,1) (0,1)分布的知识。
有了(2)式,如何得到 w , b w,b w,b?,由 ( 2 ) (2) (2)式可知,这属于参数估计问题,最直接的办法是极大似然,似然函数如下:
L ( y i ∣ X i , w , b ) = ∏ i = 1 N h ( X i , w , b ) i y ( 1 − h ( X i , w , b ) ) 1 − y i L(y_i|X_i,w,b)=\prod_{i=1}^Nh(X_i,w,b)^y_i(1-h(X_i,w,b))^{1-y_i} L(yi∣Xi,w,b)=i=1∏Nh(Xi,w,b)iy(1−h(Xi,w,b))1−yi
取对数得:
J
(
y
i
∣
X
i
,
w
,
b
)
=
∑
i
=
1
N
[
y
i
h
(
X
i
,
w
,
b
)
+
(
1
−
y
i
)
(
1
−
h
(
X
i
,
w
,
b
)
)
]
J(y_i|X_i,w,b)=\sum_{i=1}^N[y_ih(X_i,w,b)+(1-y_i)(1-h(X_i,w,b))]
J(yi∣Xi,w,b)=i=1∑N[yih(Xi,w,b)+(1−yi)(1−h(Xi,w,b))]
要得到最优的 w , b w,b w,b只需优化以下目标函数:
m a x [ J ( y i ∣ X i , w , b ) ] max[J(y_i|X_i,w,b)] max[J(yi∣Xi,w,b)]
其中 X i X_i Xi为提取出来的特征向量, y i y_i yi为标签,为了求解这个优化问题,可以使用梯度上升法等优化方法。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。