机器学习系列2:从线性回归到逻辑回归

该系列将整理机器学习相关知识。这篇博客主要讨论:
1 线性回归与最小二乘法
2 逻辑斯谛回归:逻辑斯谛回归的定义、损失函数、推导
3 广义线性模型

1 线性回归

线性回归的目的是用一条曲线拟合数据,常用于在房价、股票预测等。这里将从误差的概率分布解释线性回归。假设线性回归的预测值和真实值表示为:

yi=θTxi+εi y i = θ T x i + ε i

在线性回归中,假设误差 εi ε i 独立同分布(误差有大有小,并且服从正太分布),并且服从均值为0,方差为 θ2 θ 2 的高斯分布,则有:

p(εi)=12πδexp((εi)22δ2) p ( ε i ) = 1 2 π δ e x p ( − ( ε i ) 2 2 δ 2 )

合并上面两个式子,则有
p(yi|xi;θ)=12πδexp((yiθTxi)22δ2) p ( y i | x i ; θ ) = 1 2 π δ e x p ( − ( y i − θ T x i ) 2 2 δ 2 )

假设样本集合大小为m,可以用极大似然估计对参数 θ θ 进行估计,在线性回归中似然函数可以表示为:
L(θ)=i=1m(p(yi|xi;θ)=i=1m12πδexp((yiθTxi)22δ2) L ( θ ) = ∏ i = 1 m ( p ( y i | x i ; θ ) = ∏ i = 1 m 1 2 π δ e x p ( − ( y i − θ T x i ) 2 2 δ 2 )

对数似然函数(将乘法转换为加法):
l(θ)=i=1mlog12πδexp((yiθTxi)22δ2) l ( θ ) = ∑ i = 1 m log ⁡ 1 2 π δ e x p ( − ( y i − θ T x i ) 2 2 δ 2 )

=mlog(12πδ)12δ2i=1m(yiθTxi)2 = m log ⁡ ( 1 2 π δ ) − 1 2 δ 2 ∑ i = 1 m ( y i − θ T x i ) 2

由上式子可以得到目标函数(求极小值):
J(θ)=12i=1m(yiθTxi)2 J ( θ ) = 1 2 ∑ i = 1 m ( y i − θ T x i ) 2

这个式子就是 线性回归的最小二乘法

2 logistic regression

2.1 模型假设

逻辑斯谛回归是一种用于分类的机器学习算法,虽然叫回归,但实际上是用来做分类的,其本质上是一种线性模型。其假设模型是:

hθ(x)=g(θTx) h θ ( x ) = g ( θ T x )

其中, g(z)=11+ez g ( z ) = 1 1 + e − z ,则有:
hθ(x)=11+eθTx h θ ( x ) = 1 1 + e − θ T x

其中, hθ(x) h θ ( x ) 表示分类为正样本的概率,即 hθ(x)=p(y=1|x;θ) h θ ( x ) = p ( y = 1 | x ; θ ) 。以上只是得出了样本点是正例的概率,到底预测它是正例还是负例,我们还需要一个 decision boundary,例如:
hθ(x)0.5y=1 hθ(x)<0.5y=0 h θ ( x ) ≥ 0.5 → y = 1   h θ ( x ) < 0.5 → y = 0

由逻辑斯谛函数的性质,可得到:
θTx0y=1,θTx<0y=0 θ T x ≥ 0 → y = 1 , θ T x < 0 → y = 0

2.2 极大似然估计

二元分类可以看成一个伯努利分布,即0-1分布,上面提到

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 )

合并上述式子则有:
p(y|x;θ)=(hθ(x))y(1hθ(xi))(1y) p ( y | x ; θ ) = ( h θ ( x ) ) y ( 1 − h θ ( x i ) ) ( 1 − y )

由极大释然估计,假设所有样本独立同分部,将它们的概率相乘得到似然函数:
L(θ)=i=1m((hθ(xi))yi(1hθ(xi))(1yi)) L ( θ ) = ∏ i = 1 m ( ( h θ ( x i ) ) y i ( 1 − h θ ( x i ) ) ( 1 − y i ) )

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

2.3 逻辑回归的损失函数

逻辑斯谛回归的损失函数定义为:

J(θ)=1mi=1m(Cost(hθ(xi)),yi) J ( θ ) = 1 m ∑ i = 1 m ( C o s t ( h θ ( x i ) ) , y i )

其中:
Cost(hθ(x),y)=log(hθ(x))  if  y=1 ;Cost(hθ(x),y)=log(1hθ(x))  if  y=0 C o s t ( h θ ( x ) , y ) = − log ⁡ ( h θ ( x ) )     i f     y = 1   ; C o s t ( h θ ( x ) , y ) = − log ⁡ ( 1 − h θ ( x ) )     i f     y = 0

结合两个式子,则简写为:
Cost(hθ(x),y)=ylog(hθ(x))(1y)log(1hθ(x)) C o s t ( h θ ( x ) , y ) = − y log ⁡ ( h θ ( x ) ) − ( 1 − y ) log ⁡ ( 1 − h θ ( x ) )

用图像表示为:

可以直观的看到,就是概率预测的和标签越接近惩罚越小,反之越大。当然,这里讲的只是二元分类,标签不是0就是1.

最后,逻辑回归的损失函数为

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 ) )

2.4 梯度下降优化过程

使用梯度下降进行优化:

θj=θjαJ(θ)θj θ j = θ j − α ∂ J ( θ ) ∂ θ j

其中:
J(θ)=1mi=1m(yilog(g(z))+(1yi)log(1g(z)) J ( θ ) = − 1 m ∑ i = 1 m ( y i log ⁡ ( g ( z ) ) + ( 1 − y i ) log ⁡ ( 1 − g ( z ) )

J(θ)θj=1mi=1m(yig(z)g(z)θj1yi1g(z)g(z)θj) ∂ J ( θ ) ∂ θ j = − 1 m ∑ i = 1 m ( y i g ( z ) ∂ g ( z ) θ j − 1 − y i 1 − g ( z ) ∂ g ( z ) θ j )

=1mi=1myig(z)g(z)(1g(z))g(z)θj = − 1 m ∑ i = 1 m y i − g ( z ) g ( z ) ( 1 − g ( z ) ) ∂ g ( z ) θ j

g(z)θj=g(z)(1g(z)xij ∂ g ( z ) θ j = g ( z ) ( 1 − g ( z ) x j i

带入上式即可都得到
J(θ)θj=1mi=1m(hθ(xi)yi)xij ∂ J ( θ ) ∂ θ j = 1 m ∑ i = 1 m ( h θ ( x i ) − y i ) x j i

这就是逻辑斯谛回归的梯度下降更新式子:
θj=θjα1mi=1m(hθ(xi)yi)xij θ j = θ j − α 1 m ∑ i = 1 m ( h θ ( x i ) − y i ) x j i

3 广义线性模型GLM

讨论广义线性模型之前,先问下为什么逻辑斯谛回归中要使用sigmod(x)函数
本质上,线性回归和逻辑回归都是广义线性模型的特例。具体推导参考知乎文章广义线性模型为什么 LR 模型要使用 sigmoid 函数,背后的数学原理是什么?

4 参考

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值