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

机器学习04-逻辑回归(python)-02原理与损失函数

 

1. 逻辑回归概念

逻辑回归(Logistic Regression) 是一种 分类模型,主要用于解决 二分类问题(即分成两类,如是否通过、是否患病等)。逻辑回归的目标是根据输入的特征预测一个 概率,这个概率值介于 0 到 1 之间。

逻辑回归与线性回归的关系:
  • 线性回归 是用来预测连续值的(如房价、身高),它输出的是一个具体的数值。

  • 逻辑回归 则是用来预测类别的(如是否通过考试),它通过一个线性模型输出一个概率值,表示某个样本属于某一类别的概率。

总结:
  • 线性回归输出数值,而逻辑回归输出概率

  • 逻辑回归的输出值是 0 到 1 之间的概率,通常我们会设定一个阈值,比如 0.5,将大于 0.5 的归为 1 类,低于 0.5 的归为 0 类。


2. 基本思想

逻辑回归的基本思想,我们可以从以下几个步骤来理解。

Step 1. 线性模型

逻辑回归首先构建的是一个线性模型,即根据输入的特征计算出一个值:[ f(x) = w^T x + b ] 这里的 ( w ) 是权重向量,表示每个特征的重要性;( b ) 是偏置项,帮助调整模型的输出。

这个线性模型的输出 ( w^T x + b ) 可以是任何实数(正数、负数、大值、小值都有可能)。但是我们不能直接使用这个值进行分类,因为分类任务需要输出的值在 0 到 1 之间,表示概率。

Step 2. Sigmoid 函数

为了将线性模型的输出值转换为 0 到 1 之间的概率值,逻辑回归使用了 Sigmoid 函数[ \sigma(z) = \frac{1}{1 + e^{-z}} ]其中,( z = w^T x + b )

Sigmoid 函数的作用

  • 将任意实数映射到 0 到 1 之间。例如,当 ( z ) 非常大时,Sigmoid 函数的输出接近 1;当 ( z )非常小时,Sigmoid 函数的输出接近 0。

  • 输出的概率值( \sigma(z) ) 表示样本属于某一类别(通常为 1 类)的概率。

Step 3. 分类预测

逻辑回归的最终目标是对样本进行分类。我们通常通过设定一个 阈值 来判断:

  • 如果 Sigmoid函数的输出概率值大于设定的阈值(如 0.5),则预测该样本属于 1 类

  • 如果小于阈值,则预测该样本属于 0 类

总结:逻辑回归首先通过线性模型计算出一个值,然后将该值通过 Sigmoid 函数转换为概率,最后根据设定的阈值进行分类。


3. 逻辑回归的假设函数

在逻辑回归中,假设函数表示的是模型如何通过输入 ( x ) 得到输出的概率值。假设函数如下:[ h_\theta(x) = \sigma(w^T x + b) ]其中:

  • ( w^T x + b ) 是输入特征的线性组合;

  • ( \sigma(z) ) 是 Sigmoid 函数,用来将线性模型的输出转换为概率值。

通过这个假设函数,我们可以将任何输入特征转换为一个概率值,这个概率值用于表示样本属于某一类的可能性。


4. 逻辑回归的预测过程(PPT中的例子)

看PPT中的例子,假设有一组样本输入特征,逻辑回归的预测过程可以总结为以下几个步骤:

  1. 输入样本特征:如一个人的年龄、体重、是否吸烟等特征。

  2. 线性回归计算:根据权重 ( w ) 和偏置 ( b ),计算出线性回归的结果 ( w^T x + b )

  3. Sigmoid 函数转换:将线性回归的输出通过 Sigmoid 函数转换为概率值。

  4. 分类结果:根据设定的阈值,将概率值转换为预测类别。

举例:

假设有一个样本的输入特征为 ( x = [年龄, 体重, 是否吸烟] ),计算过程如下:

  • 使用权重和特征的线性组合计算出 ( f(x) = w^T x + b ),例如输出为 1.5。

  • 通过 Sigmoid 函数将 1.5 转换为概率 ( \sigma(1.5) = 0.82 )

  • 假设阈值为 0.6,由于 0.82 > 0.6,因此预测该样本属于 1 类


5. 损失函数:对数似然损失

为了衡量逻辑回归模型的好坏,我们需要计算 损失函数。损失函数表示模型的预测值与真实值之间的差距。逻辑回归使用的损失函数是 对数似然损失函数,又称为 交叉熵损失(Cross-Entropy Loss)

损失函数的公式如下:[ L(\theta) = - \sum_{i=1}^{m} [y_i \log(p_i) + (1 - y_i) \log(1 - p_i)] ] 其中:

  • ( y_i )是第 ( i ) 个样本的真实类别(0 或 1);

  • ( p_i ) 是模型预测第 ( i ) 个样本属于 1 类的概率。

损失函数的工作原理:
  • 如果样本的真实标签是 1,那么模型预测的概率值( p_i )越接近 1,损失就越小。

  • 如果样本的真实标签是 0,那么模型预测的概率值 ( p_i ) 越接近 0,损失也越小。

举例:

假设我们有一个样本,它的真实类别是 1,模型预测它的概率为 0.9。根据损失函数公式: [ 损失 = - (1 \cdot \log(0.9)) = - \log(0.9) ] 由于预测的概率接近真实值(1 类),损失较小,说明模型预测得很好。

如果模型预测的概率为 0.1(远离真实值),则损失会非常大,表明模型预测得很差。


6. 逻辑回归的优化:梯度下降

为了让模型能够更好地预测,我们需要找到 最优的参数 ( w ) 和 ( b )。为此,我们使用 梯度下降 来最小化损失函数。

梯度下降的步骤:
  1. 计算损失函数的梯度:损失函数对参数 ( w ) 和 ( b ) 的偏导数。

  2. 更新参数:沿着负梯度方向更新参数,使得损失函数的值逐渐减小。

更新公式如下:[ w = w - \alpha \cdot \frac{\partial L}{\partial w} ]这里的 ( \alpha ) 是学习率,控制每次更新的步长大小。

通过反复进行梯度下降,模型会逐渐找到最优的参数,使得损失函数达到最小值。


总结

  • 逻辑回归的工作原理:逻辑回归通过线性模型输出一个值,并通过 Sigmoid 函数将其转换为 0 到 1 之间的概率值,表示样本属于某一类的概率。

  • 损失函数:使用对数似然损失函数衡量模型预测结果与真实结果的差距,模型通过最小化损失函数来优化自身参数。

  • 梯度下降:通过梯度下降算法更新模型的参数,使损失函数逐渐减小,找到最优的模型参数。

逻辑回归是一种非常直观和基础的分类算法,理解了它的原理可以帮助我们更好地理解其他更复杂的模型。


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

相关文章:

  • Axure设计之文本编辑器制作教程
  • python高效处理大数据:将Excel10万数据分批插入MySQL数据库的实战代码
  • 以色列支付龙头遭DDoS攻击,各地超市加油站等POS机瘫痪
  • 开源vs闭源:你更看好哪一方?
  • DApp开发:定制化解决方案与源码部署的一站式指南
  • learn-F12 Performance(性能)前端性能分析(LCP,CLS,INP)
  • 漫谈由标准输入\输出\错误输出引发的思考
  • AI Prompt写作指南:打造高效Prompt的四大核心元素
  • 游戏服务器知识
  • Qt 常用数据类型
  • (笔记自用)位运算总结+LeetCode例题:颠倒二进制位+位1的个数
  • 【学习笔记】STM32F407探索者HAL库开发(五)F407时钟系统配置
  • 好用的工具网址
  • STM32单片机与SU-03T联动(语音播报传感器数据)
  • Docker Networking Tutorial (Bridge - None - Host - IPvlan - Macvlan )
  • TCP/IP协议详解:现代网络通信的基石
  • Unity3D入门(一) : 第一个Unity3D项目,实现矩形自动旋转,并导出到Android运行
  • CSS 的元素显示模式简单学习
  • stack和queue(一)
  • 网络信息传输安全
  • R18 Enhancements on CHO procedure for NES cell(s)(NES event)
  • Linux相关概念和重要知识点(5)(权限的修改、时间属性)
  • 蓝桥杯【物联网】零基础到国奖之路:七. 串口
  • 4、FPGA特征简介
  • 重生之我们在ES顶端相遇第15 章 - ES 的心脏-倒排索引
  • R语言机器学习算法实战系列(二) SVM算法(Support Vector Machine)