当前位置: 首页 > article >正文

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

逻辑回归

    • 逻辑回归
    • 逻辑回归的流程
      • Sigmoid函数
        • Sigmoid函数的公式及图像
    • 逻辑回归的损失函数与最优化求解
      • 逻辑回归使用梯度下降法求解

逻辑回归

逻辑回归线性回归都是线性模型,其中线性回归使用线性式来预测数值逻辑回归使用线性式来进行分类任务
逻辑回归就是使用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+w1x1+...+wnxn11=i=0nwixi11=wTx11=sigmoid(f(x))11
( 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=1mBCELoss(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^)=(ylogy^+(1y)log(1y^))
将二元交叉熵公式代入,即得:
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=1m(yilogyi^+(1yi)log(1yi^))
其中 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函数,因此逻辑回归模型并没有解析解,需要使用梯度下降法求解。


http://www.kler.cn/a/567520.html

相关文章:

  • WPF高级 | WPF 与数据库交互:连接、查询与数据更新
  • Python办公自动化教程(007):利用python写入excel文件
  • Windows PicPick Professional-v7.3.2-中文版
  • P8649 [蓝桥杯 2017 省 B] k 倍区间--前缀和--同余定理【蓝桥杯简单题-必开long long】
  • 51c自动驾驶~合集22
  • 更新anaconda安装包后重新配置环境
  • javaweb + AI day03
  • Dify v1.0.0 里程碑版本正式亮相
  • LVS+Keepalived高可用高性能负载实战
  • 鸿蒙-状态管理V2其他方法
  • DeepSeek开源周,第六弹再次来袭,DeepSeek-V3/R1推理系统总结
  • 图书数据采集:使用Python爬虫获取书籍详细信息
  • 排序(数据结构)
  • 2025年2月文章一览
  • 自然语言处理NLP入门 -- 第十一节NLP 实战项目 3: 文本摘要
  • 一文了解:部署 Deepseek 各版本的硬件要求
  • 【Python爬虫(94)】爬虫生存指南:风险识别与应对策略
  • 【数据集】ACM数据集
  • 《动手学习深度学习》的笔记
  • 自学微信小程序的第八天