深入理解逻辑回归(logisitc regression)

逻辑回归(logisitc regression)

1.逻辑分布

定义:连续变量X服从逻辑分布,分布函数表示为:

F(x)=11+e(θTx+b)(1) F ( x ) = 1 1 + e − ( θ T x + b ) ( 1 )

分布函数图形为S形曲线,即为Sigmoid Logistic Function,表示为下图:
这里写图片描述
在实际应用中,F(X)函数表示为
F(x)=11+eθTx(2) F ( x ) = 1 1 + e − θ T x ( 2 )

2.逻辑回归模型概念

a.假设有模型 P(Y=1|x)=F(x)=11+eθTx P ( Y = 1 | x ) = F ( x ) = 1 1 + e − θ T x 在已知输入x的情况下,判断此输入为1类的概率是多少。
b.而在此概率模型中,若想求得概率P,只有参数 θT θ T 不知道。
c.如何求得参数 θT θ T ,就需要估计参数值。参数估计方法则采用在模型已知,参数未知的情况下的极大似然估计。
d.若采用极大似然估计方法来估计参数,那么就需要给出似然函数。在整个模型训练中,似然函数如何表示?问题转化成如何表达极大似然估计函数

3.极大似然估计

(1)训练样本
假设我们有5个训练样本,样本集为
{(x1,y1=1),(x2,y2=0),(x3,y3=1),(x4,y4=0),(x5,y5=1)} { ( x 1 , y 1 = 1 ) , ( x 2 , y 2 = 0 ) , ( x 3 , y 3 = 1 ) , ( x 4 , y 4 = 0 ) , ( x 5 , y 5 = 1 ) }
则要满足5个样本的总的分布概率,有:
P=P(Y=1|x=x1)P(Y=0|x=x2)P(Y=1|x=x3)P(Y=0|x=x4)P(Y=1|x=x5) P = P ( Y = 1 | x = x 1 ) P ( Y = 0 | x = x 2 ) P ( Y = 1 | x = x 3 ) P ( Y = 0 | x = x 4 ) P ( Y = 1 | x = x 5 )
要计算P的值,从而确定极大似然函数。
(2)极大似然函数
a.极大似然估计求解步骤:

  • 写出似然函数;
  • 对似然函数求log
  • 对log函数求导数
  • 令导数等于0,求参数

b.设逻辑回归模型:

P(Y=1|x)=hθ(x) P ( Y = 1 | x ) = h θ ( x )

P(Y=0|x)=1hθ(x) P ( Y = 0 | x ) = 1 − h θ ( x )

则似然函数表示为:
L(θ)=i=1m[(hθ(xi)]yi[1hθ(xi)]1yi(3) L ( θ ) = ∏ i = 1 m [ ( h θ ( x i ) ] y i [ 1 − h θ ( x i ) ] 1 − y i ( 3 )

对数似然函数为:
l(θ)=log(L(θ))=i=1m(yilog(hθ(xi)+(1yi)log(1hθ(xi)))(4) l ( θ ) = log ⁡ ( L ( θ ) ) = ∑ i = 1 m ( y i log ⁡ ( h θ ( x i ) + ( 1 − y i ) log ⁡ ( 1 − h θ ( x i ) ) ) ( 4 )

即要求得 l(θ) l ( θ ) 取得最大值时的θ的值。 问题转换成对极大似然函数的最优化问题。

4.代价函数与损失函数

代价函数 cost() c o s t ( ) 可以用对数似然函数公式(4)表示。
代价函数是用来寻找最优解的目标函数。
令代价函数 cost() c o s t ( ) 和损失函数 J(θ) J ( θ ) 表示为:
这里写图片描述
可以看出损失函数:

J(θ)=1ml(θ) J ( θ ) = − 1 m l ( θ )

问题转换为使得损失函数最小时的参数θ的值。求损失函数极小值,采用梯度下降方法。
为了推导公式简单,在梯度下降求解之前,我们先介绍对数几率(log odds)或lofit函数

5.对数几率(log odds)

逻辑回归模型如下:

P(Y=1|x)=eθTx1+eθTx5 P ( Y = 1 | x ) = e θ T x 1 + e θ T x ( 5 )

P(Y=0|x)=11+eθTx6 P ( Y = 0 | x ) = 1 1 + e θ T x ( 6 )

几率定义:一个事件的几率(odds)是指该事件发生的概率p与该事件不发生的概率1-p的比值 p1p p 1 − p .
对数几率即对几率求对数 logit(p)=logp1p l o g i t ( p ) = log ⁡ p 1 − p .
由公式(5)、(6)得
logP(Y=1|x)1P(Y=1|x)=θTx l o g P ( Y = 1 | x ) 1 − P ( Y = 1 | x ) = θ T x

对数几率将在下面的推导中用到

6.梯度下降

由第4部分,得到损失函数 J(θ) J ( θ )

J(θ)=1mi=1m[yilog(hθ(xi)+(1yi)log(1hθ(xi))] J ( θ ) = − 1 m ∑ i = 1 m [ y i log ⁡ ( h θ ( x i ) + ( 1 − y i ) log ⁡ ( 1 − h θ ( x i ) ) ]
=1mi=1m[yiloghθ(xi)1hθ(xi)+log(1hθ(xi))] = − 1 m ∑ i = 1 m [ y i l o g h θ ( x i ) 1 − h θ ( x i ) + l o g ( 1 − h θ ( x i ) ) ]
=1mi=1m[yi(θTxi)log(1+eθTxi)] = − 1 m ∑ i = 1 m [ y i ( θ T x i ) − l o g ( 1 + e θ T x i ) ]

梯度函数:
J(θ)θ=1mi=1m[yixi11+eθxieθxi xi] ∂ J ( θ ) ∂ θ = − 1 m ∑ i = 1 m [ y i x i − 1 1 + e θ x i e θ x i   x i ]
=1mi=1m(yihθ(xi))xi = − 1 m ∑ i = 1 m ( y i − h θ ( x i ) ) x i
=1mi=1m(hθ(xi)yi)xi = 1 m ∑ i = 1 m ( h θ ( x i ) − y i ) x i

梯度迭代:
Repeat{
θj:=θjαJ(θ)θj θ j := θ j − α ∂ J ( θ ) ∂ θ j

}
最终找到极小值,从而确定 θT θ T

7.LR如何处理过拟合问题?

1.什么是过拟合?
就是训练出的样本可以很好的适应所有的训练样本,但是不能对测试样本很好的预测,这就是过拟合。
2.解决过拟合的方法有两个:
(1)降维,使用PCA降维,使使得模型 θ θ 个数减少,次数也降低,避免了过拟合
(2)正则化。增加正则化项
对于LR添加L1正则项或者L2正则项。

L1正则化会导致参数值变为0,但是L2却只会使得参数值减小,这是因为L1的导数是固定的,参数值每次的改变量是固定的,而L2会由于自己变小改变量也变小。

8.多分类问题

多分类逻辑回归的模型为:

P(Y=k|x)=eθx1+K1k=1eθx,k=1,2,...,K1. P ( Y = k | x ) = e θ x 1 + ∑ k = 1 K − 1 e θ x , k = 1 , 2 , . . . , K − 1.

9.总结

  1. 梯度下降法实现简单,但是梯度下降求得最优解不一定是全局最优解,有可能是局部最优解,并且收敛速度不一定是最快的。
  2. 逻辑回归源于线性回归
    线性函数=逻辑回归模型中Y=1的对数几率。

参考:
http://blog.csdn.net/chibangyuxun/article/details/53148005逻辑回归原理及过程
http://blog.csdn.net/raintungl/article/details/78188182中3.1logistic回归的极大似然估计
http://blog.csdn.net/walilk/article/details/50978864的导数与梯度下降

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值