机器学习笔记之---------Logistic回归

上一篇介绍的线性回归是解决回归问题的,那么解决分类问题有什么模型呢?
从最简单分类问题的开始,也就是二分类问题,即y属于{0,1},Logistic回归就是机器学习中比较基础的一个分类算法,对,名称里有回归,但是它就是分类算法,对于Logistic方法来说,我也把它记为以下三步:

 1. 建立模型
 2. 目标函数推导
 3. 参数优化求解

  • 模型建立

先不加证明地给出一个模型,logistic/sigmoid函数: h θ ( x ) = g ( θ T x ) = 1 1 + e − θ T x h_θ(x)=g(θ^Tx)=\frac {1}{1+e^{-θ^Tx}} hθ(x)=g(θTx)=1+eθTx1 这个函数有个性质
g ′ ( θ T x ) = ( 1 1 + e − θ T x ) ′ = e − x ( 1 + e − θ T x ) 2 = 1 1 + e − θ T x ( 1 − 1 1 + e − θ T x ) = g ( θ T x ) ( 1 − g ( θ T x ) ) \begin{aligned} g'(θ^Tx)&=(\frac {1}{1+e^{-θ^Tx}})'=\frac {e^{-x}}{(1+e^{-θ^Tx)^2}} \\ &=\frac {1}{1+e^{-θ^Tx}} (1-\frac{1}{1+e^{-θ^Tx}}) \\ &=g(θ^Tx)(1-g(θ^Tx)) \end{aligned} g(θTx)=(1+eθTx1)=(1+eθTx)2ex=1+eθTx1(11+eθTx1)=g(θTx)(1g(θTx))

  • 目标函数推导

假定模型服从二项分布,有:
p ( y = 1 ∣ x ; θ ) = h θ ( x ) p ( y = 0 ∣ x ; θ ) = 1 − h θ ( x ) \begin{aligned} &p(y=1|x;θ)=h_θ(x) \\ &p(y=0|x;θ)=1-h_θ(x) \end{aligned} p(y=1x;θ)=hθ(x)p(y=0x;θ)=1hθ(x)
则,综合写出概率密度函数为: p ( y ∣ x ; θ ) = h θ ( x ) y ( 1 − h θ ( x ) ) 1 − y p(y|x;θ)=h_θ(x)^{y}(1-h_θ(x))^{1-y} p(yx;θ)=hθ(x)y(1hθ(x))1y 接下来,推导损失函数,这里损失函数有两种,以标签y的取值而区分。
1、当y取值为{0,1}时:
L ( θ ) = ∏ i = 1 m p i y i ( 1 − p i ) 1 − y i L(θ)=\prod_{i=1}^m p_{i}^{y_i}(1-p_i)^{1-y_i} L(θ)=i=1mpiyi(1pi)1yi 取对数函数
l ( θ ) = l n L ( θ ) = ∑ i = 1 m l n [ p i y i ( 1 − p i ) 1 − y i ] 令   p i = 1 1 + e − f i   , 其 中 f i = θ T x   , 则 l ( θ ) = ∑ i = 1 m l n [ ( 1 1 + e − f i ) y i ( 1 1 + e f i ) 1 − y i ] \begin{aligned} l(θ)&=lnL(θ)=\sum_{i=1}^m ln[ p_{i}^{y_i}(1-p_i)^{1-y_i}] \\ 令\ p_i&=\frac {1}{1+e^{-f_i}}\ ,其中 f_i= θ^Tx \ ,则\\ l(θ)&=\sum_{i=1}^m ln[ (\frac {1}{1+e^{-f_i}})^{y_i}(\frac {1}{1+e^{f_i}})^{1-y_i}] \\ \end{aligned} l(θ) pil(θ)=lnL(θ)=i=1mln[piyi(1pi)1yi]=1+efi1 ,fi=θTx ,=i=1mln[(1+efi1)yi(1+efi1)1yi]
此时,损失函数为:
l o s s ( y i , y i ^ ) = − l ( θ ) = ∑ i = 1 m [ y i l n ( 1 + e − f i ) + ( 1 − y i ) ( l n ( 1 + e f i ) ) ] loss(y_i,\hat {y_i})=-l(θ)=\sum_{i=1}^m[{y_i} ln ( {1+e^{-f_i}})+(1-y_i)(ln(1+e^{f_i}))] loss(yi,yi^)=l(θ)=i=1m[yiln(1+efi)+(1yi)(ln(1+efi))]

2、当y取值为{-1,1}时: L ( θ ) = ∏ i = 1 m p i ( y i + 1 ) / 2 ( 1 − p i ) − ( y i − 1 ) / 2 L(θ)=\prod_{i=1}^m p_{i}^{(y_i+1)/2}(1-p_i)^{-(y_i-1)/2} L(θ)=i=1mpi(yi+1)/2(1pi)(yi1)/2同上处理,
令   p i = 1 1 + e − f i   , 其 中 f i = θ T x   , 则 令\ p_i=\frac {1}{1+e^{-f_i}}\ ,其中 f_i= θ^Tx \ ,则  pi=1+efi1 ,fi=θTx , l ( θ ) = l n L ( θ ) = ∑ i = 1 m l n [ p i y i ( 1 − p i ) 1 − y i ] = ∑ i = 1 m l n [ ( 1 1 + e − f i ) ( y i + 1 ) / 2 ( 1 1 + e f i ) − ( y i − 1 ) / 2 ] l o s s ( y i , y i ^ ) = − l ( θ ) = ∑ i = 1 m [ y i + 1 2 l n ( 1 + e − f i ) − y i − 1 2 ( l n ( 1 + e f i ) ) ] = { ∑ i = 1 m l n ( 1 + e f i ) ,   y i = − 1 ∑ i = 1 m l n ( 1 + e − f i ) ,   y i = 1 = ∑ i = 1 m [ l n ( 1 + e − y i f i ) ] \begin{aligned} l(θ)&=lnL(θ)=\sum_{i=1}^m ln[ p_{i}^{y_i}(1-p_i)^{1-y_i}] \\ &=\sum_{i=1}^m ln[ (\frac {1}{1+e^{-f_i}})^{(y_i+1)/2}(\frac {1}{1+e^{f_i}})^{-(y_i-1)/2}] \\ loss(y_i,\hat {y_i})&=-l(θ)=\sum_{i=1}^m[{\frac {y_i+1}{2}} ln ( {1+e^{-f_i}})-\frac{y_i-1}{2}(ln(1+e^{f_i}))]\\ &= \{ ^{{\sum_{i=1}^m}ln( {1+e^{-f_i}}),\ y_i=1}_{\sum_{i=1}^mln(1+e^{f_i}),\ y_i=-1} \\ &= \sum_{i=1}^m [ln(1+e^{-y_i f_i})] \end{aligned} l(θ)loss(yi,yi^)=lnL(θ)=i=1mln[piyi(1pi)1yi]=i=1mln[(1+efi1)(yi+1)/2(1+efi1)(yi1)/2]=l(θ)=i=1m[2yi+1ln(1+efi)2yi1(ln(1+efi))]={i=1mln(1+efi), yi=1i=1mln(1+efi), yi=1=i=1m[ln(1+eyifi)]此时,损失函数为: l o s s ( y i , y i ^ ) = ∑ i = 1 m [ l n ( 1 + e − y i f i ) ] loss(y_i,\hat {y_i}) = \sum_{i=1}^m [ln(1+e^{-y_i f_i})] loss(yi,yi^)=i=1m[ln(1+eyifi)]

  • 参数优化求解

以y取{0,1}为例,目标函数为 l o s s ( y i , y i ^ ) = − l ( θ ) = ∑ i = 1 m [ y i l n ( 1 + e − f i ) + ( 1 − y i ) ( l n ( 1 + e f i ) ) ] loss(y_i,\hat {y_i})=-l(θ)=\sum_{i=1}^m[{y_i} ln ( {1+e^{-f_i}})+(1-y_i)(ln(1+e^{f_i}))] loss(yi,yi^)=l(θ)=i=1m[yiln(1+efi)+(1yi)(ln(1+efi))]
与线性回归一样的做法,求梯度,然后同梯度下降算法最小化loss函数,在此直接给出:
∇ J ( θ ) ∇ θ j = ∑ i = 1 m ( y ( i ) − g ( θ T x ( i ) ) ) x j ( i ) \frac {\nabla J(θ)}{\nablaθj} =\sum_{i=1}^m(y^{(i)}-g(θ^Tx^{(i)}))x_{j}^{(i)} θjJ(θ)=i=1m(y(i)g(θTx(i)))xj(i)
故得到Logistic回归参数的更新规则为: θ j : = θ j − α ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) ) x j ( i ) θj :=θj-\alpha \sum_{i=1}^m (h_{θ}(x^{(i)})-y^{(i)}))x_{j}^{(i)} θj:=θjαi=1m(hθ(x(i))y(i)))xj(i)
同样,将m一次取k个样本更新做批量梯度下降: θ j : = θ j − α ∑ i = 1 k ( h θ ( x ( i ) ) − y ( i ) ) ) x j ( i ) θj :=θj-\alpha \sum_{i=1}^k (h_{θ}(x^{(i)})-y^{(i)}))x_{j}^{(i)} θj:=θjαi=1k(hθ(x(i))y(i)))xj(i)

思考

Logistic回归与线性回归模型的参数更新规则在形式上一样,那么区别在哪呢?
区别就在连接函数g(z):
1、若 g ( θ T x ) = θ T x g(θ^Tx)=θ^Tx g(θTx)=θTx则为线性回归,它是假定模型服从正太分布推出来的。
2、若 g ( θ T x ) = 1 1 + e − θ T x g(θ^Tx)=\frac {1}{1+e^{-θ^Tx}} g(θTx)=1+eθTx1则为logistic回归,它是假定模型服从二项分布推出来的。
其实这种结果是因为正太分布和二项分布都属于指数族分布,实际上logistic回归还是线性回归的范畴,它是
广义的线性回归,是对数的线性模型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值