逻辑回归与线性回归

本文详细介绍了线性回归及逻辑回归的基本原理与应用。包括线性回归的代价函数、梯度下降法、正则化处理等内容,并进一步阐述了逻辑回归的概念、代价函数及其正则化方法。

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

1. 线性回归

1.1概念

对于一组特征,使用线性方程来进行拟合,对结果进行预测,公式如下:
hθ(X)=θTX=θ0X0+θ1X1+⋅⋅⋅+θnXnθ=(θ0,θ1,θ2,...,θn)X=(X0,X1,X2,...,Xn)其中X1=1 h_\theta (X)= \theta^TX = \theta_0X_0+\theta_1X_1+···+\theta_nX_n \\ \theta=(\theta_0,\theta_1,\theta_2,...,\theta_n) \\ X=(X_0,X_1,X_2,...,X_n) \\ 其中X_1=1 hθ(X)=θTX=θ0X0+θ1X1++θnXnθ=(θ0,θ1,θ2,...,θn)X=(X0,X1,X2,...,Xn)X1=1

1.2代价函数

线性回归选取的损失函数是均方误差,均方误差表示所有样本到该预测函数的欧式距离最小,代价函数如下:
J(θ)=12m∑i=1m(hθ(X)−yi)2 J(\theta)=\frac{1}{2m}\sum_{i=1}^m(h_\theta(X)-y_i)^2 J(θ)=2m1i=1m(hθ(X)yi)2
对每一个θ\thetaθ进行求导,便可以得到θ\thetaθ的值:
∂J∂θi=1m∑i=1m(hθ(Xi)−yi)Xi \frac{\partial J}{\partial \theta_i}=\frac{1}{m}\sum_{i=1}^{m}(h_\theta(X_i)-y_i)X_i θiJ=m1i=1m(hθ(Xi)yi)Xi
更新参数:
θ:=θ−α∂J∂θi \theta:=\theta-\alpha\frac{\partial J}{\partial \theta_i} θ:=θαθiJ
其中α\alphaα表示学习率

1.3如何选取α,如何停止更新权值

通常α\alphaα取0.001,根据实验结果依次增加三倍,比较实验结果。0.001,0.003,0.01,0.03,0.1
θ\thetaθ更新到什么时候停止?
每次更新后,带入θ\thetaθ值可以求得J(θ)J(\theta)J(θ)的值,比较当前的J(θ)J(\theta)J(θ)与上一次的值,如果变化很小,则可认为达到收敛;或者不断增加迭代次数,可视化观察J(θ)J(\theta)J(θ)的曲线图。

1.4 正则化

使用L1范数(权值为非0的权值和)称为Lasso回归,使用L2范数(权值平方和)称为岭回归。正则化项称为惩罚函数,目的解决过拟合问题,代价函数变为:
J(θ)=12m∑i=1m(hθ(Xi)−yi)2+λ∑j=1nθj2 J(\theta) =\frac{1}{2m}\sum_{i=1}^{m}(h_\theta(X_i)-y_i)^2 + \lambda\sum_{j=1}^n\theta_j^2 J(θ)=2m1i=1m(hθ(Xi)yi)2+λj=1nθj2
这里使用的时L2范数J(θ)J(\theta)J(θ)称为岭回归

2 逻辑回归

2.1 概念

逻辑回归由线性回归转变而来,线性回归用来预测具体的值,如果遇到分类问题如何解决呢?这里还是使用线性回归来拟合数据,然后再对其预测值进行0 1 映射(使用sigmod函数),因此得到的逻辑回归模型为:
hθ(X)=11+e−zz=θTX h_\theta(X) = \frac{1}{1+e^{-z}} \\ z=\theta^TX hθ(X)=1+ez1z=θTX
sigmod函数就是形式S形状的函数,存在上限、下限。

2.2代价函数

这里可以均方误差作为代价函数,但是图像非凸函数,使用梯度下降很难求得其收敛值,因此这里借助于极大似然估计的概念来设计逻辑回归的代价函数:对于二分类:
似然函数:
L(x)=px∗(1−p)1−xx=0,1 L(x)=p^x*(1-p)^1-x \\ x=0,1 L(x)=px(1p)1xx=0,1
对数形式:
log⁡L(x)=xlog⁡p+(1−x)log⁡(1−p) \log L(x)=x\log p+(1-x)\log(1-p) logL(x)=xlogp+(1x)log(1p)
对于逻辑回归本身求得就是偏向某类的概率hθ(x)h_\theta(x)hθ(x):逻辑回归似然函数:
L(x)=∏i=1mh(xi)yi∗(1−hθ(xi)1−y) L(x)=\prod_{i=1}^m h(x_i)^{y_i}*(1-h_\theta(x_i)^{1-y}) L(x)=i=1mh(xi)yi(1hθ(xi)1y)
对数形式:这里求得极大似然估计,前面取符号,即可求得满足代价函数的最小值,于是得到逻辑回归的代价函数如下:
log⁡L(x)=∑i=1myilog⁡(hθ(xi))+(1−yi)log⁡(1−hθ(xi)) \log L(x) = \sum_{i=1}^m y_i \log (h_\theta(x_i)) + (1-y_i) \log(1-h_\theta(x_i)) logL(x)=i=1myilog(hθ(xi))+(1yi)log(1hθ(xi))
1m\frac{1}{m}m1不影响函数的功能。故求得对θ\thetaθ的偏导为:
∂J∂θi=1m∑i=1mxi∗(hθxi−yi) \frac{\partial J}{\partial \theta_i}=\frac{1}{m} \sum_{i=1}^m x_i * (h_\theta x_i - y_i) θiJ=m1i=1mxi(hθxiyi)
更新梯度:
θ:=θ−α∂J∂θi \theta:=\theta-\alpha\frac{\partial J}{\partial \theta_i} θ:=θαθiJ

2.3 正则化

与线性回归相似,正则化可以使用L1范数、L2范数,这里使用L2范数得到的代价函数为:
J(θ)=−1m∑i=1m[yilog⁡(hθ(xi))+(1−yi)log⁡(1−hθ(xi))+λ∑j=1nθj2] J(\theta) = - \frac{1}{m} \sum_{i=1}^m\left[ y_i\log (h_\theta(x_i)) + (1-y_i)\log (1-h_\theta(x_i)) + \lambda\sum_{j=1}^n\theta_j^2\right] J(θ)=m1i=1m[yilog(hθ(xi))+(1yi)log(1hθ(xi))+λj=1nθj2]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值