【机器学习】逻辑回归(Logistic Regression)

逻辑回归

逻辑回归

逻辑回归线性回归 都是线性模型 ,其中线性回归使用线性式来预测数值逻辑回归使用线性式来进行分类任务
逻辑回归 就是使用1条线(在特征向量为1维或2维的情况)1个超平面(特征数量超过2维的情况) 来对数据进行划分,根据特征向量落在线或超平面的2侧 来对其进行划分,因此,逻辑回归是用来处理二分类问题的

逻辑回归 可以通过组合多个逻辑回归来进行多分类任务

逻辑回归的流程

逻辑回归使用线性式Sigmoid的函数 来得到结果。逻辑回归的输入为 N N N维特征向量 ,将 N N N维特征向量带入线性式,得到输出公式如下,将结果带入Sigmoid函数。
f ( x ) = w 0 + w 1 ∗ x 1 + . . . + w n ∗ x n ∑ 1 1 = ∑ i = 0 n w i ∗ x i ∑ 1 1 = w T x ∑ 1 1 p = s i g m o i d ( f ( x ) ) ∑ 1 1 \begin{align} f(x)&=w_0+w_1*x_1+...+w_n*x_n\vphantom{\sum_1^1}\\ &=\sum_{i=0}^{n}w_i*x_i\vphantom{\sum_1^1}\\ &=\mathbf{w}^T\mathbf{x}\vphantom{\sum_1^1}\\ p&=sigmoid(f(x))\vphantom{\sum_1^1}\\ \end{align} f(x)p=w0+w1∗x1+...+wn∗xn1∑1=i=0∑nwi∗xi1∑1=wTx1∑1=sigmoid(f(x))1∑1
( 3 ) (3) (3)式是使用线性代数的方法表示 ( 1 ) (1) (1)以及 ( 2 ) (2) (2)式。

Sigmoid函数

Sigmoid函数在机器学习和深度学习中通常被简写为 σ \sigma σ,Sigmoid函数接接收 ( − ∞ , ∞ ) (-\infin,\infin) (−∞,∞)的数值,并将其映射到 ( 0 , 1 ) (0,1) (0,1)范围之内,因此可以具有概率的意义。

Sigmoid函数的公式及图像

Sigmoid函数的公式如下:
σ ( x ) = 1 1 + e x p ( − x ) \sigma(x)=\frac{1}{1+exp(-x)} σ(x)=1+exp(−x)1

其中 e x p ( x ) exp(x) exp(x)函数为自然对数的 x x x次幂。

Sigmoid函数的图像如下:

Sigmoid函数单调递增 ,在自变量 x = 0 x=0 x=0附近斜率变化较大,函数值增长较快,而在远离 x = 0 x=0 x=0处,函数值变化较慢。在 x = 0 x=0 x=0处,Sigmoid函数值为 1 1 + e x p ( 0 ) = 0.5 \frac{1}{1+exp(0)}=0.5 1+exp(0)1=0.5。

在进行预测 时,Sigmoid函数计算之后,函数大于 0.5 0.5 0.5 ,则特征向量属于目标类别 ,否则特征向量不属于目标类别
{ y ^ = 1 i f p > = 0.5 y ^ = 0 i f p < 0.5 \begin{equation} \begin{cases} \hat{y}=1\space\space if\space p>=0.5\\ \hat{y}=0\space\space if \space p<0.5 \end{cases} \end{equation} {y^=1 if p>=0.5y^=0 if p<0.5

逻辑回归的损失函数与最优化求解

回归问题 中,我们通常使用MSE,RMSE以及MAE损失,这些损失函数使用不同的方式计算计算预测值与真实值的距离,如明氏距离曼哈顿距离 以及欧式距离 ,不同损失函数使用不同的加权方式从而得到损失值

分类问题 中,样本的真实值是离散的标签(如A类,B类等),线性式的结果经过Sigmoid函数变换之后,再经过MSE求损失并无更大的意义 ,因为MES衡量的是欧式空间中的距离 ,而逻辑回归经过Sigmoid处理后的数据可以理解为概率,两者并不对应。

在分类问题中,通常使用交叉熵损失,因为交叉熵模型的本质决定其可以用来衡量概率模型的差别。

逻辑回归 适用于二分类问题 。对于二分类问题,可以使用二元交叉熵损失(Binary Cross Entropy Loss) 。逻辑回归问题模型求解,即求解使得对样本集合的总体损失最小的模型参数 ,使用公式表述如下:
arg min ⁡ w 0 . . . w n 1 m ∑ i = 1 m B C E L o s s ( y i , y i ^ ) \argmin_{w_0...w_n}\frac{1}{m}{\sum_{i=1}^mBCELoss(y_i,\hat{y_i})} w0...wnargminm1i=1∑mBCELoss(yi,yi^)

其中二元交叉熵损失的公式如下:
B C E L o s s ( y , y ^ ) = − ( y ∗ log ⁡ y ^ + ( 1 − y ) ∗ log ⁡ ( 1 − y ^ ) ) BCELoss(y,\hat{y})=-(y*\log{\hat{y}}+(1-y)*\log{(1-\hat{y})}) BCELoss(y,y^)=−(y∗logy^+(1−y)∗log(1−y^))

将二元交叉熵公式代入,即得:
arg min ⁡ w 0 . . . w n 1 m ∑ i = 1 m − ( y i ∗ log ⁡ y i ^ + ( 1 − y i ) ∗ log ⁡ ( 1 − y i ^ ) ) \argmin_{w_0...w_n}\frac{1}{m}\sum_{i=1}^m-(y_i*\log{\hat{y_i}}+(1-y_i)*\log{(1-\hat{y_i})}) w0...wnargminm1i=1∑m−(yi∗logyi^+(1−yi)∗log(1−yi^))

其中 m m m是样本数量, y i y_i yi是第 i i i个样本的真实值(真或假), y i ^ \hat{y_i} yi^是第 i i i个样本的预测值,为经过Sigmoid函数求解后获得的 ( 0 , 1 ) (0,1) (0,1)之间的数值,意为概率。

逻辑回归使用梯度下降法求解

由于逻辑回归模型使用了非线性的Sigmoid函数 ,因此逻辑回归模型并没有解析解,需要使用梯度下降法求解。

相关推荐
阿坡RPA3 小时前
手搓MCP客户端&服务端:从零到实战极速了解MCP是什么?
人工智能·aigc
用户27784491049933 小时前
借助DeepSeek智能生成测试用例:从提示词到Excel表格的全流程实践
人工智能·python
机器之心3 小时前
刚刚,DeepSeek公布推理时Scaling新论文,R2要来了?
人工智能
算AI5 小时前
人工智能+牙科:临床应用中的几个问题
人工智能·算法
凯子坚持 c6 小时前
基于飞桨框架3.0本地DeepSeek-R1蒸馏版部署实战
人工智能·paddlepaddle
你觉得2056 小时前
哈尔滨工业大学DeepSeek公开课:探索大模型原理、技术与应用从GPT到DeepSeek|附视频与讲义下载方法
大数据·人工智能·python·gpt·学习·机器学习·aigc
8K超高清6 小时前
中国8K摄像机:科技赋能文化传承新图景
大数据·人工智能·科技·物联网·智能硬件
hyshhhh7 小时前
【算法岗面试题】深度学习中如何防止过拟合?
网络·人工智能·深度学习·神经网络·算法·计算机视觉
薛定谔的猫-菜鸟程序员7 小时前
零基础玩转深度神经网络大模型:从Hello World到AI炼金术-详解版(含:Conda 全面使用指南)
人工智能·神经网络·dnn
币之互联万物7 小时前
2025 AI智能数字农业研讨会在苏州启幕,科技助农与数据兴业成焦点
人工智能·科技