赞
踩
今天就逻辑回归和回归问题之间的关系做个梳理,下次再遇到谁扯逻辑回归如何如何做回归,我直接丢。。。
仅个人拙见。
回归和分类从宏观意义上见就是一类问题,给定输入x,通过模型F,输出结果y。二者的区别在于输出结果y的不同。这就是最最根本的区别,你输出的结果就直接反映了问题的本质。
对于一个回归问题,简单的可以表示为:
y
=
w
x
+
b
y = wx+b
y=wx+b
x是一组符合某种分布的特征
x
=
(
x
1
,
x
2
,
.
.
,
x
n
)
x=(x_1,x_2,..,x_n)
x=(x1,x2,..,xn),回归就是为了拟合出这个函数,使得y值可以经过符合统一分布下的其他x值对应的点。也就是说,回归问题拟合的是一组数据特征的分布。
一个分类可以简单的表示为:
P
(
y
=
1
∣
x
;
θ
T
)
P(y=1|x;\theta^T)
P(y=1∣x;θT)
分类就是在拟合一个概率值,使预测类别不断地逼近真实标签的概率。
逻辑回归(Logistic Regression,LR)和回归之间的关系,大概就是名字中间有了一个回归。为何LR叫做“回归”呢,大概还是要从该算法诞生之初说起。
1956年,统计学家DavidCox在他的论文《The regression analysis of binary sequences》《二元序列中的回归分析》提出了逻辑回归算法。因为上个世纪中叶的时候,回归和分类的定义与今天有所不同,所以分类算法逻辑回归的“回归”两字就这样沿袭下来了。
对于一个回归问题:
y
=
θ
T
x
y =\theta^Tx
y=θTx
将其放在一个Logistic分布函数中,
L
o
g
i
s
t
i
c
(
x
)
=
1
1
+
e
−
(
x
−
u
)
/
r
Logistic(x) = \frac{1}{1+e^{-(x-u)/r}}
Logistic(x)=1+e−(x−u)/r1
得到:
g
(
X
)
=
1
1
+
e
−
θ
T
x
g(X) = \frac{1}{1+e^-{\theta^Tx}}
g(X)=1+e−θTx1
可以进行变形为:
l
n
g
(
X
)
1
−
g
(
X
)
=
θ
T
x
ln\frac{g(X)}{1-g(X)}=\theta^Tx
ln1−g(X)g(X)=θTx
这样一看,如果把一个事件的几率(oods)定义为:事件发生概率
g
(
X
)
=
P
(
y
=
1
∣
x
)
g(X) = P(y=1|x)
g(X)=P(y=1∣x)和不发生概率的比值
o
o
d
s
=
g
(
X
)
1
−
g
(
X
)
oods = \frac{g(X)}{1-g(X)}
oods=1−g(X)g(X)
那么LR就可以看作是:对于 y = 1 ∣ x y = 1|x y=1∣x 这个事件的对数几率的线性回归。于是逻辑回归的回归二字就延续下来了。
接着上面说,如果是对事件 y = 1 ∣ x y=1|x y=1∣x而言,逻辑回归是一个对数几率的回归问题。但是,但是,但是,实际上,y才是因变量,而不是p/1+p。而在逻辑回归中的y是离散值(y=1,y=0)。显然不是连续的,试问离散值的y如何变成回归问题的连续值。
下面简单的介绍下LR模型原理
顾名思义,逻辑回归重点还是在于Logistic。正是由于Logistic分布函数的存在,使得线性回归走向了分类问题。Logistic分布如下:
L
o
g
i
s
t
i
c
(
x
)
=
1
1
+
e
−
(
x
−
u
)
/
r
Logistic(x) = \frac{1}{1+e^{-(x-u)/r}}
Logistic(x)=1+e−(x−u)/r1
其中μ是位置参数,γ是形状参数。
从Logistic的定义式可以看出logistic分布是由其位置和尺度参数定义的连续分布。Logistic 分布的形状与正态分布的形状相似,但是 Logistic 分布的尾部更长,所以我们可以使用 Logistic 分布来建模比正态分布具有更长尾部和更高波峰的数据分布。
另外,我们常用到的 Sigmoid 函数就是μ = 0,γ = 1的特殊形式。 除此之外,Logistic 的分布函数的值域是(0, 1),这正好可以用来表示概率的大小。
对于一个二分类问题,设:
P
(
Y
=
1
∣
x
)
=
p
(
x
)
=
1
1
+
e
−
θ
T
x
P
(
Y
=
0
∣
x
)
=
1
−
p
(
x
)
=
1
−
1
1
+
e
−
θ
T
x
构造似然函数:
L
(
w
)
=
∏
[
p
(
x
i
)
]
y
i
[
1
−
p
(
x
i
)
]
1
−
y
i
L(w)=\prod\left[p\left(x_{i}\right)\right]^{y_{i}}\left[1-p\left(x_{i}\right)\right]^{1-y_{i}}
L(w)=∏[p(xi)]yi[1−p(xi)]1−yi
为了更方便求解,我们对等式两边同取对数,写成对数似然函数:
L
(
w
)
=
∑
[
y
i
ln
p
(
x
i
)
+
(
1
−
y
i
)
ln
(
1
−
p
(
x
i
)
)
]
=
∑
[
y
i
ln
p
(
x
i
)
1
−
p
(
x
i
)
+
ln
(
1
−
p
(
x
i
)
)
]
=
∑
[
y
i
(
θ
⋅
x
i
)
−
ln
(
1
+
e
θ
⋅
x
i
)
]
在机器学习中我们有损失函数的概念,其衡量的是模型预测错误的程度。如果取整个数据集上的平 均对数似然损失,我们可以得到:
J
(
w
)
=
−
1
N
ln
L
(
w
)
J(w)=-\frac{1}{N} \ln L(w)
J(w)=−N1lnL(w)
即在逻辑回归模型中,我们最大化似然函数和最小化损失函数实际上是等价的。
LR的损失函数完整表达为:
J
(
w
)
=
−
1
n
(
∑
i
=
1
n
(
y
i
ln
p
(
x
i
)
+
(
1
−
y
i
)
ln
(
1
−
p
(
x
i
)
)
)
J(w)=-\frac{1}{n}\left(\sum_{i=1}^{n}\left(y_{i} \ln p\left(x_{i}\right)+\left(1-y_{i}\right) \ln \left(1-p\left(x_{i}\right)\right)\right)\right.
J(w)=−n1(i=1∑n(yilnp(xi)+(1−yi)ln(1−p(xi)))
1.梯度下降法
通过
J
(
w
)
J(w)
J(w) 对
w
w
w 的一阶导数来找下降方向,并且以迭代的方式来更新参数,更新方式为
g
i
=
∂
J
(
w
)
∂
w
i
=
(
p
(
x
i
)
−
y
i
)
x
i
w
i
k
+
1
=
w
i
k
−
α
g
i
2.牛顿法
牛顿法基本思路是,在现有极小点估计值的附近对
f
(
x
)
f(x)
f(x) 做二阶泰勒展开,进而找到极小点的下 一个估计值。假设
w
k
w^{k}
wk 为当前的极小值估计值,那么有:
φ
(
w
)
=
J
(
w
k
)
+
J
′
(
w
k
)
(
w
−
w
k
)
+
1
2
J
′
′
(
w
k
)
(
w
−
w
k
)
2
\varphi(w)=J\left(w^{k}\right)+J^{\prime}\left(w^{k}\right)\left(w-w^{k}\right)+\frac{1}{2} J^{\prime \prime}\left(w^{k}\right)\left(w-w^{k}\right)^{2}
φ(w)=J(wk)+J′(wk)(w−wk)+21J′′(wk)(w−wk)2然后令
φ
′
(
w
)
=
0
\varphi^{\prime}(w)=0
φ′(w)=0 ,得到了
w
k
+
1
=
w
k
−
J
′
(
w
k
)
J
′
′
(
w
k
)
w^{k+1}=w^{k}-\frac{J^{\prime}\left(w^{k}\right)}{J^{\prime \prime}\left(w^{k}\right)}
wk+1=wk−J′′(wk)J′(wk) 。因此有迭代更新式:
w
k
+
1
=
w
k
−
J
′
(
w
k
)
J
′
′
(
w
k
)
=
w
k
−
H
k
−
1
⋅
g
k
w^{k+1}=w^{k}-\frac{J^{\prime}\left(w^{k}\right)}{J^{\prime \prime}\left(w^{k}\right)}=w^{k}-H_{k}^{-1} \cdot g_{k}
wk+1=wk−J′′(wk)J′(wk)=wk−Hk−1⋅gk其中
H
k
−
1
H_{k}^{-1}
Hk−1 为海森矩阵:
H
m
n
=
∂
2
J
(
w
)
∂
w
m
∂
w
n
=
h
w
(
x
(
i
)
)
(
1
−
p
w
(
x
(
i
)
)
)
x
m
(
i
)
x
n
(
i
)
H_{m n}=\frac{\partial^{2} J(w)}{\partial w_{m} \partial w_{n}}=h_{w}\left(x^{(i)}\right)\left(1-p_{w}\left(x^{(i)}\right)\right) x_{m}^{(i)} x_{n}^{(i)}
Hmn=∂wm∂wn∂2J(w)=hw(x(i))(1−pw(x(i)))xm(i)xn(i)
此外,这个方法需要目标函数是二阶连续可微的,本文中的
J
(
w
)
J(\mathrm{w})
J(w) 是符合要求的。
其中,由于sigmoid函数的作用:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。