深入理解logistic回归

本文目录如下:

逻辑回归

1.逻辑回归

1.1 逻辑回归概念

  逻辑回归函数用来表示实例x属于类别1的概率,用sigmoid函数表示:

h(z)=11+ez(1) (1) h ( z ) = 1 1 + e − z

  其图形是一条S形曲线



sigmoid函数

  由函数图可以看出,函数 y=h(x) y = h ( x ) x=0 x = 0 时候的取值为 12 1 2 ,随着 x x 的不断减小,函数值趋向于0;x不断变大的同时,函数值趋向于1。
  所以,我们定义线性回归的预测函数为 y=θTx y = θ T x ,那么逻辑回归的输出为 y=h(θTx) y = h ( θ T x )

1.2 判定边界

  通过观察sigmoid函数,我们可以发现:
  当 h(x)0.5 h ( x ) ≥ 0.5 时, x0 x ≥ 0 ;对于 h(θTx)0.5 h ( θ T x ) ≥ 0.5 时,则 θTx0 θ T x ≥ 0 ,此时预估 y=1 y = 1
  反之,当预测 y=0 y = 0 时, θTx<0 θ T x < 0 ;
  所以,我们认为 θTx=0 θ T x = 0 是一个判定边界,当它大于0或小于0时,逻辑回归模型分别预测为不同的类别。
  先看第一个例子 g(θTx)=g(θ0+θ1·x1+θ2·x2) g ( θ T x ) = g ( θ 0 + θ 1 · x 1 + θ 2 · x 2 ) ,其中 θ0 θ 0 θ1 θ 1 θ2 θ 2 分别取-3, 1, 1。则当 3+x1+x20 − 3 + x 1 + x 2 ≥ 0 时, y=1 y = 1 ;则 x1+x2=3 x 1 + x 2 = 3 是一个决策边界,图形表示如下:




  理论上说,只要我们的 θTx θ T x 设计的足够复杂,我们就能在不同的情景下,拟合出不同的判定边界,从而把不同的样本点分隔开来。

1.3 二项逻辑回归

  二项逻辑回归模型是一个分类模型,由条件概率分布 P(Y|X) P ( Y | X ) 表示。

P(Y=1|x)=11+e(θT·x+b)P(Y=0|x)=1P(Y=1|x)(2)(3) (2) P ( Y = 1 | x ) = 1 1 + e − ( θ T · x + b ) (3) P ( Y = 0 | x ) = 1 − P ( Y = 1 | x )

  逻辑回归比较上述两个条件概率值的大小,将实例 x x 分到概率值比较大的那一类。
  有时为了方便,将权值向量θ和输入向量 x x 加以扩充,记作θ x x ,即θ=(θ(1),θ(2),...,θ(n),b)T x=(x(1),x(2),...,x(n),1)T x = ( x ( 1 ) , x ( 2 ) , . . . , x ( n ) , 1 ) T 。这时,逻辑回归模型如下:
P(Y=1|x)=11+eθT·xP(Y=0|x)=1P(Y=1|x)(4)(5) (4) P ( Y = 1 | x ) = 1 1 + e − θ T · x (5) P ( Y = 0 | x ) = 1 − P ( Y = 1 | x )

1.4 逻辑回归的求解

  • 要想求得给定实例 x x 属于类别1的概率,参数θ是未知的。
  • 此时需要估计参数 θ θ 的值,符合“模型已知,参数未知”的情景。所以,采用极大似然估计。
  • 若采用极大似然估计方法来估计参数,就需要给出似然函数。因此转换为如何表达极大似然函数

1.5 极大似然函数

1.5.1 极大似然估计的特点
  • 极大似然估计所有采样的样本都是独立同分布的
  • 极大似然估计是在模型已定,参数未知的情况下,估计模型中的具体参数
  • 极大似然估计核心是:产生所采样的样本出现的概率最大。即利用已知的样本信息,反推最大可能使样本集出现当前结果的模型参数
1.5.2 求解极大似然函数的步骤:

  (1): 写出似然函数;似然函数值的大小意味着这组样本值出现的可能性的大小,是个概率值。
  (2): 对似然函数取ln对数,并整理化简;ln对数函数单调递增
  (3): 求导数,令导数为0,得到似然方程;
  (4): 解似然方程,得到的参数即为所求

1.5.3 极大似然估计求解实例:
  • 假设当前样本存在这样的分布, {(x1,y1=1),(x2,y2=0),(x3,y3=1),(x4,y4=0),(x5,y5=0)} { ( x 1 , y 1 = 1 ) , ( x 2 , y 2 = 0 ) , ( x 3 , y 3 = 1 ) , ( x 4 , y 4 = 0 ) , ( x 5 , y 5 = 0 ) } ,样本是满足独立同分布的。
  • 模型为 P(Y=1|x)=11+eθT·x P ( Y = 1 | x ) = 1 1 + e − θ T · x ,表示样本 x x 在该模型预测为1的概率,满足“模型已定,参数未知”的原则
  • 由于样本是独立同分布的,则可得以下公式:
    L(θ)=P(Y=1|x=x1)P(Y=0|x=x2)P(Y=1|x=x3)P(Y=0|x=x4)P(Y=0|x=x5)

      极大似然函数就是求 L(θ) L ( θ ) 最大时的参数 θ θ
      假设 P(Y=1|x)=hθ(x),P(Y=0|x)=1hθ(x) P ( Y = 1 | x ) = h θ ( x ) , P ( Y = 0 | x ) = 1 − h θ ( x ) ,则上式可以化为:
    L(θ)=i=1m[hθ(xi)]yi·[1hθ(xi)](1yi)(7) (7) L ( θ ) = ∏ i = 1 m [ h θ ( x i ) ] y i · [ 1 − h θ ( x i ) ] ( 1 − y i )

      其中 m=5 m = 5 ,以上即为逻辑回归的似然函数,似然函数的大小代表了这种样本组合可能出现的概率大小。
      将公式(7)取ln对数可得:
    l(θ)=ln(L(θ))=i=1m[yiloghθ(xi)+(1yi)log(1hθ(xi))](8) (8) l ( θ ) = l n ( L ( θ ) ) = ∑ i = 1 m [ y i l o g h θ ( x i ) + ( 1 − y i ) l o g ( 1 − h θ ( x i ) ) ]

      对上式中的 l(θ) l ( θ ) 求极大值,得到 θ θ 的估计值。这样问题就转换为:以对数似然函数为目标函数的最优化问题。
    逻辑回归求解参数时的目标函数就是对数似然函数(公式8)

1.6 代价函数和损失函数

  代价函数(cost function)可以用对数似然函数公式(8)表示,代价函数和损失函数表示为:

Cost(hθ(x),y)={log(hθ(x))log(1hθ(x))if y=1if y=0 C o s t ( h θ ( x ) , y ) = { − l o g ( h θ ( x ) ) i f   y = 1 − l o g ( 1 − h θ ( x ) ) i f   y = 0

J(θ)==1mi=1NCost(hθ(xi),yi)1mi=1N[yiloghθ(xi)+(1yi)log(1hθ(xi))](9)(10) (9) J ( θ ) = 1 m ∑ i = 1 N C o s t ( h θ ( x i ) , y i ) (10) = − 1 m ∑ i = 1 N [ y i l o g h θ ( x i ) + ( 1 − y i ) l o g ( 1 − h θ ( x i ) ) ]

  可以得出损失函数:
J(θ)=1ml(θ) J ( θ ) = − 1 m l ( θ )

  问题转换为求解使得损失函数最小时,参数 θ θ 的值。通常采用梯度下降法和拟牛顿法。为了求解简单,在应用梯度下降求解之前,首先介绍对数几率。

1.7 几率和对数几率

  • 几率(odds):指该事件发生的概率和不发生的概率比值
    如果一个事件发生的概率为P,那么该事件的几率是 P1P P 1 − P
  • 对数几率(log odds):如果一个事件发生的概率为P,那么该事件对数几率(log odds)或logit函数是:
    logit(P)=logp1p l o g i t ( P ) = l o g p 1 − p

      对logistic回归而言,由公式(4)和(5)得:
    logP(Y=1|x)1P(Y=1|x)=θTx(11) (11) l o g P ( Y = 1 | x ) 1 − P ( Y = 1 | x ) = θ T ⋅ x

      即:线性模型=逻辑回归模型在 Y=1 Y = 1 上的对数几率。

1.8 梯度下降

由第1.6得到的将 Y=1 Y = 1 的对数几率: logP(Y=1|x)1P(Y=1|x)=θTx l o g P ( Y = 1 | x ) 1 − P ( Y = 1 | x ) = θ T ⋅ x P(Y=0|x)=1hθ(x)=11+eθT·x P ( Y = 0 | x ) = 1 − h θ ( x ) = 1 1 + e − θ T · x 代入损失函数 J(θ) J ( θ )

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

梯度函数:
J(θ)θ=1mi=1m[yixi11+eθxieθxixi] ∂ 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:=θjaJ(θ)θ θ j := θ j − a ∂ J ( θ ) ∂ θ

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

1.9 逻辑回顾的优缺点

优点:
(1) 预测结果是介于0和1之间的概率
(2) 同时适用于连续型和类别型自变量
(3) 容易使用和解释

缺点:
(1) 逻辑回归对模型中自变量多重共线性比较敏感。因为逻辑回归求解参数的时候,运用了极大似然函数,极大似然函数要求自变量是独立同分布的。加入两个高度相关的自变量放入Logistic模型,可能导致较弱的自变量预测错误。需要利用因子分析或者变量聚类分析等手段来选择代表性的自变量,以减少候选变量之间的相关性。
(2) 预测结果呈”s”型,中间概率变化很大,很敏感;两端概率变化很小,导致很多变量的变化对目标概率没有区分度。
参考:
http://blog.csdn.net/yingfengfeixiang/article/details/79631638:深入理解逻辑回归
http://blog.csdn.net/zjuPeco/article/details/77165974:逻辑回归(logistic regression)的本质——极大似然估计
http://blog.csdn.net/han_xiaoyang/article/details/49123419:器学习系列(1)_逻辑回归初步
http://blog.csdn.net/zhangxueyang1/article/details/54176359:逻辑回归优缺点

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值