【算法原理】从模型假设看线性回归和逻辑回归

本文对比分析了线性回归、逻辑回归和感知器的模型假设,探讨了它们在回归和分类问题中的应用。线性回归通过最小化误差来估计参数,而逻辑回归在模型中引入sigmoid函数,解决二分类问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘要

本文从算法的模型假设方面,对线性回归、逻辑回归和感知器做一下简要对比,说明了它们之间的联系。

符号约定

1)样本集合: (xi,yi)(1im) ( x i , y i ) ( 1 ⩽ i ⩽ m ) ,其中 i i 表示一共m个样本中的第 i i
2)xi=(x0i,x1i,x2i,,xni)(x0i=1),表示输入向量,其中 xi0=1 x 0 i = 1 是为了统一格式
3) yi y i 为标量,代表第 i i 个样本对应的值(或分类问题中的label)
4)θ=(θ0,θ1,θ2,,θn),表示待求参数
5) xθT=θ0+nj=1θjxj=0 x ⋅ θ T = θ 0 + ∑ j = 1 n θ j x j = 0 ,表示 n n 维空间中的一个超平面

问题描述

已知m个样本 (xi,yi)(1im) ( x i , y i ) ( 1 ⩽ i ⩽ m ) ,当 x=x0,x0(x1,x2,,xm) x = x 0 , x 0 ∉ ( x 1 , x 2 , ⋯ , x m ) 时,我们想要估计出相对应的输出 y0 y 0 。根据 y0 y 0 取值范围的不同,问题分为两种情况。
1)当 y0 y 0 可以取无限多的连续值时,该问题称为回归问题
2)当 y0 y 0 只能取有限多的离散值时,该问题称为分类问题
P.S. 好吧,第2中情况称为分类,很好理解。可第1种情况,为啥叫回归?有啥意义?其实,没啥意义,完全可以忽略。但感兴趣的可以继续阅读参考文献[1]。

线性回归 Linear Regression

一、模型假设

y=hθ(x)=xθT(1) y = h θ ( x ) = x ⋅ θ T ( 1 )

即,我们假设输入和输出之间的关系,符合以上的模型。问题是,你为何要做这种假设呢?如果这个假设本身就是错的怎么办呢?
因为通过对样本集的观察和分析,直观上认为模型应该是这个样子的。当然如果假设本身就是错的,那么无论如何都学习不到很好的结果。这个时候只能修正模型假设,重新再来。

二、目标函数

L=12mj=1m(xiθTyi)2(2) L = 1 2 m ∑ j = 1 m ( x i ⋅ θ T − y i ) 2 ( 2 )

显然,目标函数的每一项,是模型预测结果与真实值直接的误差的平方。因此,目标函数刻画的是,某一个特定的模型(对应一个特定的 θ θ ),在样本集上的整体表现。我们的目标是可以让目标函数取到最小值。求解最小值的过程,就是求解 θ θ 的过程。等号后面的 12m 1 2 m 完全可以不加,因为 m m 并不是变量,加上的好处是可以让目标函数的值不会随着样本的增多而急剧增大。毕竟,相比与目标函数从几百亿减小,大家更想看到目标函数从几百减小吧。

三、目标函数的偏导

Lθj=1mi=1m(yihθ(xi))xji(3)

这个很容易推导,就不解释了吧。

四、参数的迭代求解

θjθj+αLθj(4) θ j ← θ j + α ∂ L ∂ θ j ( 4 )

在实际的求解过程中,因为样本可能非常多,每次迭代可以不对所有的样本求 Lθj ∂ L ∂ θ j 。最极端的情况是只对一个样本求解,但通常情况下,是把样本分成若干个一组(称为一个batch),每次对一组样本求解。

逻辑回归 Logistic Regression

一、模型假设

hθ(x)=11+exθT(5.1) h θ ( x ) = 1 1 + e − x ⋅ θ T ( 5.1 )

y={10hθ(x)0.5hθ(x)<0.5(5.2) y = { 1 h θ ( x ) ⩾ 0.5 0 h θ ( x ) < 0.5 ( 5.2 )

这里 hθ(x) h θ ( x ) 理解为 y=1 y = 1 的概率,相应的 y=0 y = 0 的概率就是 1hθ(x) 1 − h θ ( x ) 了。因为分类问题,是一个非黑即白的结果,所以当概率大于0.5(实际可调)时,我们预测结果是 y=1 y = 1 ,否则预测结果是 y=0 y = 0

二、目标函数
不用说,目标函数肯定是(6.1)喽?理论上,完全没有问题;实际求解中,会有很大麻烦。因为这个目标函数关于 θ θ 是非凸的,对该目标求最小值,会变成一个非凸最优化问题。

L=12mj=1m(11+exθTyi)2(6.1) L = 1 2 m ∑ j = 1 m ( 1 1 + e − x ⋅ θ T − y i ) 2 ( 6.1 )

没关系,我们换个思路。既然 hθ(x) h θ ( x ) y=1 y = 1 的概率, 1hθ(x) 1 − h θ ( x ) y=0 y = 0 的概率,那么在该模型下所有样本都被正确分类的概率为 mi=1hθ(xi)yi(1hθ(xi))1yi ∏ i = 1 m h θ ( x i ) y i ( 1 − h θ ( x i ) ) 1 − y i 。如果能把这个值最大化,是不是说明我们的模型非常合理呢?但这里有一个问题,因为概率都是介于0到1之间的小数,乘的越多该值越小,因此应该根据样本个数 m m 做适当修正。对该值先取1m次幂做适当修正再取对数,(取对数即为了计算方便,也为了把问题变成我们喜欢的凸优化问题),就成了著名的极大似然估计,如(6.2)。
L=1mlog(i=1mhθ(xi)yi(1hθ(xi))1yi)=1mi=0myilog(hθ(xi))+(1yi)log(1hθ(xi))(6.2) L = 1 m l o g ( ∏ i = 1 m h θ ( x i ) y i ( 1 − h θ ( x i ) ) 1 − y i ) = 1 m ∑ i = 0 m y i l o g ( h θ ( x i ) ) + ( 1 − y i ) l o g ( 1 − h θ ( x i ) ) ( 6.2 )

三、目标函数的偏导

Lθj=1mi=1m(yihθ(xi))xij(7) ∂ L ∂ θ j = 1 m ∑ i = 1 m ( y i − h θ ( x i ) ) x j i ( 7 )

瓦特?这不是跟(3)式一毛一样? 没错,所以逻辑回归跟线性回归可以看做是一回事,只是把线性回归的模型假设上再作用了一个 sigmoid s i g m o i d 函数而已。如果我们作用的不是一个 sigmoid s i g m o i d 函数,而是 sign s i g n 函数(完全可以把 xθT0 x θ T ⩾ 0 当成一类, xθT<0 x θ T < 0 当成另一类啊)会发生什么呢?结论是,这将变成另一种机器学习算法—感知器。(但感知器的目标函数和迭代方式,稍有不同。感知器的目标函数只计算被分错类的点,而其参数迭代则是每次选取一个分错类的点,计算梯度并更新参数。)

四、参数的迭代求解

θjθj+αLθj(8) θ j ← θ j + α ∂ L ∂ θ j ( 8 )

结论

逻辑回归可以看做是在线性回归的模型假设上,再作用一个sigmoid函数

还是那句话,欢迎大家从不同的角度进行交流,更恳请大家能批评指正,不胜感激。

参考文献

[1] 机器学习-逻辑回归与最大似然估计
[2] 【机器学习算法系列之二】浅析Logistic Regression

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值