ML笔记——逻辑回归

目录


想法

先考虑二值的分类(预测结果只有好/坏,输/赢,行动/停留等等),再考虑多值的分类(预测结果含有两种以上情况:天气是晴/多云/下雨,心情是开心/悲伤/忧郁等等)
当有如下两组数据时
二值分类
多值分类
也像线性回归时那样,尝试用一个函数表达式将它表示出来。

数学表示

在逻辑回归中我们尝试用sigmoid函数(或logistic函数)去拟合,图像如下图
sigmoid
结合所使用的数据,可以使用如下公式
{g(z)=11+ezhθ(x)=g(θTX) { g ( z ) = 1 1 + e − z h θ ( x ) = g ( θ T X )

hθ(x)=11+eθTX h θ ( x ) = 1 1 + e − θ T X
其中 θTX θ T X 叫做决策边界,不做特别说明都指线性函数
通过代价函数表示 θ θ 取值的合理性
J(θ)=1mmi=1Cost (hθ(xi),yi) J ( θ ) = 1 m ∑ i = 1 m C o s t   ( h θ ( x i ) , y i )
Cost (hθ(xi), yi)={log(hθ(xi))yi=1log(1hθ(xi))yi=0 C o s t   ( h θ ( x i ) ,   y i ) = { − log ⁡ ( h θ ( x i ) ) y i = 1 − log ⁡ ( 1 − h θ ( x i ) ) y i = 0 (本文中的 log log ln ln 等价)

J(θ)=1mmi=1[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 ) ) ]
并用梯度下降算法,取 θ θ minθJ(θ) min θ J ( θ )
对于多值的分类,可以转换为二值处理
n n 种预测情况分别从总体数据人为的分离出来,做一次逻辑回归,得到hθi(x)(其中的 i i 表示第i种预测情况)
对于需要作出预测的数据 x x ,将得到maxihθi(x)的一个结果

胡思乱想时刻

  1. 为什么 hθ(x)=11+eθTX h θ ( x ) = 1 1 + e − θ T X 能够比线性函数更好的拟合离散的数据

    首先,sigmoid函数的取值范围是 (0,1) ( 0 , 1 ) ,而线性函数的取值可能落在 (0,1) ( 0 , 1 ) 之外
    其次,sigmoid函数又一个特殊点,如上图所示当 x=0 x = 0 时,sigmoid函数的取值为 0.5 0.5 ,将整个取值范围分成两份,这也恰好对应于我们所要求的 y{0,1} y ∈ { 0 , 1 } ;对于线性函数,很难找到这样一个点或者说找到这样一个点不能达到预想的效果。

  2. 决策边界如何作用于sigmoid函数达到拟合数据集的目的

    第一问中提到,特殊点的位置决定了如何划分sigmoid函数的取值,那么选择合适的决策边界用以确定特殊点位置,就能划分数据集。
    利用sigmoid函数的性质,我们对 hθ(x)=11+eθTX h θ ( x ) = 1 1 + e − θ T X 分析
    结合sigmoid图像,设 hθ(x)<0.5 h θ ( x ) < 0.5 时, y=0 y = 0 hθ(x)0.5 h θ ( x ) ≥ 0.5 时, y=1 y = 1
    11+eθTX<12 1 1 + e − θ T X < 1 2 ,也就是 1+eθTX>2 1 + e − θ T X > 2 eθTX>1 e − θ T X > 1 ,两边取对数后, θTX>0 − θ T X > 0
    也就是 θTX<0 θ T X < 0 时, y=0 y = 0 ,同理, θTX0 θ T X ≥ 0 时, y=1 y = 1
    结合图像来说就是,决策边界的两侧对应 y y 的不同取值

    对于单变量x,如图
    二值分类
    如果取 x=1 x = 1 时,就能将两个数据集分为左右两半,当 x<1 x < 1 时, y=0 y = 0 ,当 x1 x ≥ 1 时, y=1 y = 1
    又如图,存在多个变量时,
    多变量
    如果选取直线 2x1+1.5x2=3 2 x 1 + 1.5 x 2 = 3 ,也能将两个数据集分开,当 2x1+1.5x2<3 2 x 1 + 1.5 x 2 < 3 时, y=0 y = 0 ,当 2x1+1.5x23 2 x 1 + 1.5 x 2 ≥ 3 时, y=1 y = 1
    此外还适合于多项式的形式
    多项式
    图中,当 3x21+5x22<12 3 x 1 2 + 5 x 2 2 < 12 时, y=0 y = 0 ,当 3x21+5x2212 3 x 1 2 + 5 x 2 2 ≥ 12 时, y=1 y = 1
    :线性回归时,我们希望数据都落在线上;而逻辑回归时,我们希望数据都分散在线的两侧

  3. Cost (hθ(xi),yi) C o s t   ( h θ ( x i ) , y i )

    该类函数的选择,需要做到能反映预测值与真实值的差距,同时需要保证该函数 f(x1)+f(x2)2f(x1+x22) f ( x 1 ) + f ( x 2 ) 2 ≤ f ( x 1 + x 2 2 ) (方便计算)
    虽然用 (hθ(xi)yi)2 ( h θ ( x i ) − y i ) 2 能表示预测值与真实值的差距,但是不满足存在唯一的极小值点
    如果取 Cost (hθ(xi), yi)={log(hθ(xi))y=1log(1hθ(xi))yi=0 C o s t   ( h θ ( x i ) ,   y i ) = { − log ⁡ ( h θ ( x i ) ) y = 1 − log ⁡ ( 1 − h θ ( x i ) ) y i = 0 那么满足上述的两个条件
    yi=0 y i = 0 时, Cost(hθ(xi),yi)=log(1hθ(xi)) C o s t ( h θ ( x i ) , y i ) = − log ⁡ ( 1 − h θ ( x i ) )
    已知 hθ(x)(0,1) h θ ( x ) ∈ ( 0 , 1 ) ,则 1hθ(x)(0,1) 1 − h θ ( x ) ∈ ( 0 , 1 )
    Cost(hθ(xi),yi)=log(1hθ(xi)) C o s t ( h θ ( x i ) , y i ) = − log ⁡ ( 1 − h θ ( x i ) ) 的图像如下
    Cost函数
    当假设函数越接近 0 0 的时候,Cost函数越接近 0 0 ;当假设函数越接近1时, Cost C o s t 函数越趋于 ,也就是假设函数越接近 0 0 的时候,这个模型预测越正确
    再考虑到函数接近0时, y y ​ 的取值
    所以,当 yi=0 y i = 0 时,用 Cost(hθ(xi),yi)=log(1hθ(xi)) C o s t ( h θ ( x i ) , y i ) = − log ⁡ ( 1 − h θ ( x i ) ) 表示偏差
    同理,当 yi=1 y i = 1 时,用 Cost(hθ(xi),yi)=log(hθ(xi)) C o s t ( h θ ( x i ) , y i ) = − log ⁡ ( h θ ( x i ) ) 表示偏差

  4. θ θ 的过程

    利用梯度下降算法,求解 θ θ
    θj=θjαθjJ(θ) θ j = θ j − α ∂ ∂ θ j J ( θ )
    hθ(x)=11+eθTX, 1hθ(x)=eθTX1+eθTX h θ ( x ) = 1 1 + e − θ T X ,   1 − h θ ( x ) = e − θ T X 1 + e − θ T X
    其中 θjJ(θ)=1mmi=1θj[yilog(hθ(xi))+(1yi)log(1hθ(xi))]=1mmi=1[yi1hθ(xi)1(1+eθTX)2eθTXxij(1yi)11hθ(xi)1(1+eθTX)2eθTXxij]=1mmi=1[(yihθ(xi)+yi11hθ(xi))(1(1+eθTX)2eθTXxij)]=1mmi=1[yiyihθ(xi)hθ(xi)+yihθ(xi)hθ(xi)(1hθ(xi))1(1+eθTX)2eθTXxij] ∂ ∂ θ j J ( θ ) = − 1 m ∑ i = 1 m ∂ ∂ θ j [ y i log ⁡ ( h θ ( x i ) ) + ( 1 − y i ) log ⁡ ( 1 − h θ ( x i ) ) ] = − 1 m ∑ i = 1 m [ y i ⋅ 1 h θ ( x i ) ⋅ 1 ( 1 + e − θ T X ) 2 ⋅ e − θ T X ⋅ x j i − ( 1 − y i ) ⋅ 1 1 − h θ ( x i ) ⋅ 1 ( 1 + e − θ T X ) 2 ⋅ e − θ T X ⋅ x j i ] = − 1 m ∑ i = 1 m [ ( y i h θ ( x i ) + y i − 1 1 − h θ ( x i ) ) ⋅ ( 1 ( 1 + e − θ T X ) 2 ⋅ e − θ T X ⋅ x j i ) ] = − 1 m ∑ i = 1 m [ y i − y i h θ ( x i ) − h θ ( x i ) + y i h θ ( x i ) h θ ( x i ) ( 1 − h θ ( x i ) ) ⋅ 1 ( 1 + e − θ T X ) 2 ⋅ e − θ T X ⋅ x j i ]
    上式中 hθ(xi)(1hθ(xi))=eθTX(1+eθTX)2 h θ ( x i ) ( 1 − h θ ( x i ) ) = e − θ T X ( 1 + e − θ T X ) 2
    得到原式 θjJ(θ)=1mmi=1(hθ(xi)yi)xij ∂ ∂ θ j J ( θ ) = 1 m ∑ i = 1 m ( h θ ( x i ) − y i ) ⋅ x j i

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值