机器学习基础篇之逻辑回归模型

本文详细介绍了逻辑回归模型,包括其基本概念、决策边界、代价函数的计算、以及正则化方法(L1和L2)的应用,强调了正则化在防止过拟合和简化模型的重要性。

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

逻辑回归模型是一个非常经典的算法,其中包含非常多的细节。本文就是总结下我眼中的逻辑回归模型,方便以后有更多的认识后继续修正。

一、模型简介

Logistic Regression(简称LR)虽然被称为回归,但其实是分类模型,并常用于二分类。LR由于其简单、可并行化、可解释性强深受工业界喜爱,尤其是金融领域。

LR模型的本质是:假设数据集服从这个分布,然后用极大似然估计做参数的估计。

1.1 Logistic分布

Logistic分布是一种连续型的概率分布,其分布函数为:
F(x)=P(X<=x)=11+e−(x−μ)/γF(x) = P(X<=x) = \frac{1}{1+e^{-(x-\mu)/\gamma}}F(x)=P(X<=x)=1+e(xμ)/γ1
其中μ\muμ表示位置参数,γ>0\gamma>0γ>0为形状参数,其密度函数分布如下图所示:
在这里插入图片描述
Logistic分布的形状与正态分布的形状类似,但是Logistic分布的尾部更长,更符合现实世界的数据分布。如人们的工资分布,大部分集中在3000-7000的区域,7000以上的尾部要比小于3000的头部更长,所以更适合用Logistic分布拟合数据。

1.2 Logistic回归

LR模型主要用于分类问题,在本文中以二分类为例。对于所有数据集假设存在一条直线可以将数据完全线性可分。
在这里插入图片描述
图中数据集的决策边界可以表示为ω1x1+ω2x2+b=0\omega_1x_1+\omega_2x_2+b=0ω1x1+ω2x2+b=0,假设某个样本点hω(x)=ω1x1+ω2x2+b>0h_\omega(x)=\omega_1x_1+\omega_2x_2+b>0hω(x)=ω1x1+ω2x2+b>0那么就能判断为它的类别是1,这个过程其实就是感知机。

LR模型还要在决策边界上再加一层,它要找的是分类概率P(Y=1)与输入向量X的直接关系,然后通过比较概率值来判断类别。考虑二分类问题,给定数据集D=(x1,y1),(x2,y2),...,(xN,yN)、xi⊆Rn、yi∈0,1、i=1,2,...,ND = (x_1, y_1),(x_2, y_2),...,(x_N,y_N)、x_i\subseteq R^n、y_i\in 0,1、i=1,2,...,ND=(x1,y1),(x2,y2),...,(xN,yN)xiRnyi0,1i=1,2,...,N

考虑到wTx+bw^Tx+bwTx+b的取值是连续的,因此它不能拟合离散变量。可以考虑用它拟合条件概率p(Y=1∣x)p(Y=1|x)p(Y=1∣x),因为概率的取值是连续的。

最理想的是单位阶跃函数:
在这里插入图片描述
但是这个阶跃函数不可导,使得没法用梯度下降法求解参数的值,故使用Logistic分布代替阶跃函数。Logistic分布是在0和1之间的连续值,符合二分类问题的取值要求。
在这里插入图片描述
于是:y=P(Y=1∣x)=11+e−(wTx+b)y=P(Y=1|x)=\frac{1}{1+e^{-(w^Tx+b)}}y=P(Y=1∣x)=1+e(wTx+b)1
也就是说,Y=1的概率可以表示成输入X的线性函数的模型,这就是逻辑回归模型。当wTx+bw^Tx+bwTx+b的值越接近正无穷,P(Y=1∣x)P(Y=1|x)P(Y=1∣x)概率值也越接近1。因此逻辑回归的思路就是:先拟合决策边界,再建立这个边界与分类的概率联系,从而得到二分类的概率。

1.3 代价函数

逻辑回归模型的数学形式确定了之后,剩下的就是如何求解模型中的参数。在统计学中,常常使用极大似然估计法求解。即找到一组参数,使得在这组参数下,数据集的似然度(概率)最大。

假设:P(Y=1∣x)=p(x),则P(Y=0∣x)=1−p(x)P(Y=1|x)=p(x),则P(Y=0|x)=1-p(x)P(Y=1∣x)=p(x),则P(Y=0∣x)=1p(x)
似然函数:
L(ω)=∏[p(x)]yi[1−p(x)]1−yiL(\omega)=\prod[p(x)]^{y_i}[1-p(x)]^{1-y_i}L(ω)=[p(x)]yi[1p(x)]1yi

为了更方便的求解,我们对等式两边同时取对数:
ln(L(ω))=∑[yilnp(xi)+(1−yi)ln(1−p(xi)]ln(L(\omega))=\sum[y_ilnp(x_i)+(1-y_i)ln(1-p(x_i)]ln(L(ω))=[yilnp(xi)+(1yi)ln(1p(xi)]
在机器学习中有损失函数的概念,其衡量的是模型预测错误的程度。如果取整个数据集上的平均对数似然损失,我们可以得到:
J(ω)=−1NlnL(ω)J(\omega)=-\frac{1}{N}lnL(\omega)J(ω)=N1lnL(ω)
即在逻辑回归模型中,最大化似然函数和最小化损失函数实际上是一样的。

1.4 求解

求解逻辑回归的方法有很多,这里主要用梯度下降法和牛顿法。优化的主要目的是找到一个方向,使得参数朝着这个方向移动后的损失函数下降的最快,这个方向往往是由一阶导数或二阶导数的各种组合求得。逻辑回归的损失函数是:
J(ω)=−1n∑i=1n[yilnp(xi)+(1−yi)ln(1−p(xi)]J(\omega)=-\frac{1}{n}\sum_{i=1}^n[y_ilnp(x_i)+(1-y_i)ln(1-p(x_i)]J(ω)=n1i=1n[yilnp(xi)+(1yi)ln(1p(xi)]
随机梯度下降法:随机梯度下降是通过J(w)J(w)J(w)www的一阶导数去找下降方向,找到后不断迭代更新参数,直到∣J(ωk)−J(ωk+1)∣|J(\omega^k)-J(\omega^{k+1})|J(ωk)J(ωk+1)小于阈值或者达到最大迭代次数停止。

牛顿法:在现有极小点附近对f(x)f(x)f(x)做二阶泰勒展开,进而找到极小点的下一个估计值。

二、正则化

正则化是一个通用的算法思想,所有会产生过拟合的算法都可以使用正则化来避免过拟合。

在经验风险最小化(也是训练误差最小化)的基础上,尽可能的采用简单的模型,可以有效提高模型泛化预测精度。如果模型过于复杂,变量值稍微变动就会引起预测精度问题。正则化之所以有效,就是因为其降低了特征的权重,使得模型更为简单。

正则化一般会采用L1正则和L2正则,其形式分别为Φ(ω)=∣∣x∣∣1\Phi(\omega)=||x||_1Φ(ω)=∣∣x1Φ(ω)=∣∣x∣∣2\Phi(\omega)=||x||_2Φ(ω)=∣∣x2

2.1 L1正则化

Lasso回归相当于为模型添加了一个先验知识:www服从零均值拉普拉斯分布。拉普拉斯分布如下:
f(ω∣μ,b)=12bexp(−∣ω−μ∣b)f(\omega|\mu,b)=\frac{1}{2b}exp^{(-\frac{|\omega-\mu|}{b})}f(ωμ,b)=2b1exp(bωμ)
由于引入了先验知识,所以似然函数如下:
L(ω)=P(y∣ω,x)P(ω)L(\omega)=P(y|\omega,x)P(\omega)L(ω)=P(yω,x)P(ω)
L(ω)=P(y∣ω,x)P(ω)=∏[p(x)]yi[1−p(x)]1−yi∏12bexp(−∣ωj∣b)\begin{align} L(\omega) & = P(y|\omega,x)P(\omega) \\ & = \prod[p(x)]^{y_i}[1-p(x)]^{1-y_i} \prod\frac{1}{2b}exp^(-\frac{|\omega_j|}{b}) \\ \end{align}L(ω)=P(yω,x)P(ω)=[p(x)]yi[1p(x)]1yi2b1exp(bωj)
取log再取负后,得到目标函数:
−ln(L(ω))=−∑i[yilnp(xi)+(1−yi)ln(1−p(xi))]+12b2∑j(∣ωj∣)-ln(L(\omega))=-\sum_i[y_iln p(x_i)+(1-y_i)ln(1-p(x_i))]+\frac{1}{2b^2}\sum_j(|\omega_j|)ln(L(ω))=i[yilnp(xi)+(1yi)ln(1p(xi))]+2b21j(ωj)

等价于原始损失函数的后面加上了L1正则,因此L1正则的本质是为模型增加了“模型参数服从从零均值拉普拉斯分布”这一先验知识。

2.2 L2正则化

L2正则也叫做Ridge回归或岭回归,相当于为模型增加了这样一个先验知识:www服从从零均值正态分布。正态分布的密度函数如下:
f(ω∣μ,σ)=12πσexp(−(ω−μ)22σ2)f(\omega|\mu,\sigma)=\frac{1}{\sqrt{2\pi}\sigma}exp(-\frac{(\omega-\mu)^2}{2\sigma^2})f(ωμ,σ)=2πσ1exp(2σ2(ωμ)2)
按时上述同样的方法可以得到目标函数为:
−ln(L(ω))=−∑i[yilnp(xi)+(1−yi)ln(1−p(xi))]+12σ2ωTω-ln(L(\omega))=-\sum_i[y_iln p(x_i)+(1-y_i)ln(1-p(x_i))]+\frac{1}{2\sigma^2}\omega^T\omegaln(L(ω))=i[yilnp(xi)+(1yi)ln(1p(xi))]+2σ21ωTω
等价于原始的损失函数后面加了L2正则,因此L2正则的本质其实是模型增加了“模型参数服从零均值正态分布”这一先验知识。

2.3 L1和L2的区别

从上面的目标函数可以看出,L1正则化增加了所有参数的权重www的绝对值之和,这样使得更多的www变为0,也就是变稀疏。L2因为其导数也趋于0,奔向0的速度就不如L1了。

我们对稀疏规则趋之若附的一个原因是能实现特征的自动选择,一般来说,大部分特征xix_ixi和最终的输出yiy_iyi之间没有什么关系。在最小化目标函数的时候考虑这些额外的特征,虽然可以获得更小的训练误差,但在预测新样本时,这些没用的特征权重反而是干扰正确结果。L1正则化可以把一些不重要的特征过滤掉,对应的特征权重也就是0

L2正则化中加入的是权重www的平方之和,逼迫所有www尽可能趋向于0但是部位0,L2相比L1可以对较大的权重www施加更大的惩罚,所以L2正则化的参数更加的平滑。

给损失函数加上正则化项,使得新得到的优化目标函数h=f+∣∣ω∣∣h=f+||\omega||h=f+∣∣ω∣∣,需要在fff∣∣ω∣∣||\omega||∣∣ω∣∣中做一个权衡。如果还是只优化fff的话,那么可能会得到一组比较复杂的解,使得正则项∣∣ω∣∣||\omega||∣∣ω∣∣比较大,那么hhh就不是最优的。因此加正则项可以让解更加简单,符合奥卡姆剃刀理论,同时也符合在偏差和方差(模型的复杂度)分析中,通过降低模型复杂度,得到更小的泛化误差。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值