l
o
g
i
s
t
i
c
logistic
logistic回归实际上是一个二分类问题。
问题描述:给一组由若干特征组成的
x
x
x以及相对应的标签
y
y
y。其中
y
y
y是由
0
0
0和
1
1
1构成的。
我们来看一下这个预测过程。实际上这应该是一个多元回归的问题,我们由 x 1 , x 2 , x 3 , . . . , x n x_{1},x_{2},x_{3},...,x_{n} x1,x2,x3,...,xn回归出一个 f ( x ) f(x) f(x),其中 f ( x ) f(x) f(x)应该形如 y = k 1 x 1 + k 2 x 2 + . . . + k n x n + b y=k_{1}x_{1}+k_{2}x_{2}+...+k_{n}x_{n}+b y=k1x1+k2x2+...+knxn+b,但是,我们做的是二分类的问题,这个 y y y应该是映射在 [ 0 , 1 ] [0,1] [0,1]之间的。但是如果想现在这样做多元回归, y y y的范围是 ( − ∞ , + ∞ ) (-\infty,+\infty) (−∞,+∞)。所以首先将 y y y映射到 [ 0 , + ∞ ) [0,+\infty) [0,+∞),即 e y e^{y} ey,然后映射到 [ 0 , 1 ) [0,1) [0,1),即 e y e y + 1 \frac{e^{y}}{e^{y}+1} ey+1ey,化简整理得到: 1 1 + e − y \frac{1}{1+e^{-y}} 1+e−y1,也就是我们所熟知的 s i g m o i d sigmoid sigmoid函数。我们知道经过预测之后得到的是概率 P ( x ) P(x) P(x).也就是 P ( x ) = 1 1 + e − f ( x ) P(x)=\frac{1}{1+e^{-f(x)}} P(x)=1+e−f(x)1。则应该有 f ( x ) = l n ( P ( x ) 1 − P ( x ) ) f(x)=ln(\frac{P(x)}{1-P(x)}) f(x)=ln(1−P(x)P(x))。
然后今天上课的时候我就一直在想这样一个问题。我们首先手里有待预测的数据,满足 y y y是 0 0 0或 1 1 1.那么能不能用这个 y y y映射到 f ( x ) f(x) f(x),然后去做多元回归。想了半天发现根本不想, l n ln ln那块的定义域就不对。所以逻辑回归实际上是定义了一个交叉熵函数,然后用这个交叉熵直接去更新 f ( x ) f(x) f(x)的多元回归系数也就是若干个 θ \theta θ。
下面来看这个交叉熵函数:
J
(
θ
)
=
−
1
N
∑
(
y
i
l
o
g
(
p
(
y
i
)
)
+
(
1
−
y
i
)
l
o
g
(
1
−
p
(
y
i
)
)
)
J(\theta)=-\frac{1}{N}\sum(y_{i}log(p(y_{i}))+(1-y_{i})log(1-p(y_{i})))
J(θ)=−N1∑(yilog(p(yi))+(1−yi)log(1−p(yi)))
其中
y
i
y_{i}
yi是期望预测的,
p
(
y
i
)
p(y_{i})
p(yi)是实际的计算结果,比如
y
i
y_{i}
yi是1,
p
(
y
i
)
p(y_{i})
p(yi)是0.9 。注意
y
y
y越大,
p
(
y
i
)
p(y_{i})
p(yi)越小,则
l
o
s
s
loss
loss越大。注意这个
l
o
s
s
loss
loss是针对
P
(
x
)
P(x)
P(x)计算的。
后续求导:
这里
l
o
s
s
loss
loss可以任意定义,与原函数无关。(并不严谨的一种说法)
可能涉及到的代码:
链接:https://pan.baidu.com/s/1Zna79xxqIi1_BitzBSQptw?pwd=1234
提取码:1234