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

深度学习(十):逻辑回归的代价函数

逻辑回归(Logistic Regression)是机器学习中最基础也是最经典的分类算法之一,它在深度学习的早期发展中扮演了重要角色,并且至今仍然是许多神经网络模型(特别是二分类问题)最后一层的核心组成部分。

逻辑回归:从线性模型到概率分类

逻辑回归虽然名字里带有“回归”二字,但它本质上是一种分类算法,专门用于处理二分类问题(例如:判断邮件是否为垃圾邮件、图片中是否包含猫)。

它在数学上的核心思想是:首先,像线性回归一样,通过一个线性方程对输入特征进行加权求和:

在这里插入图片描述

其中,z 是一个线性分数,w 是权重,x 是输入特征,b 是偏置项。

然后,它将这个线性结果 z 映射到 0 到 1 之间的一个概率值,这通过一个特殊的非线性激活函数——Sigmoid 函数来实现:

在这里插入图片描述

Sigmoid 函数将任意实数 z 压缩到 (0,1) 区间内。这个输出 σ(z) 可以被解释为样本属于正类别(例如:类别 1)的预测概率

代价函数:衡量模型预测的好坏

在任何机器学习模型中,我们都需要一个**代价函数(Cost Function)损失函数(Loss Function)**来量化模型预测的“好坏”。这个函数值越小,代表模型的预测越接近真实标签,模型表现越好。训练模型的过程,就是通过优化算法(如梯度下降)来不断调整权重 w 和偏置 b,以最小化这个代价函数。

对于逻辑回归,我们不能使用像线性回归中那样的均方误差(MSE),因为 Sigmoid 函数的非线性特性会导致 MSE 变得非凸(Non-Convex),拥有多个局部最小值,使得梯度下降难以找到全局最优解。

为了解决这个问题,逻辑回归引入了**交叉熵(Cross-Entropy)**作为其代价函数。

交叉熵损失:从信息论到分类损失

交叉熵源于信息论,用于衡量两个概率分布之间的差异。在逻辑回归中,它被巧妙地用来衡量模型的预测概率分布(y^)与真实的标签分布(y)之间的差异。

对于单个样本,逻辑回归的交叉熵损失函数定义如下:

在这里插入图片描述

其中:

  • y 是样本的真实标签,对于二分类问题,y 的值是 0 或 1。
  • y^ 是模型的预测概率,即 y^=σ(z)。

这个公式看起来复杂,但我们可以分情况来理解:

  • 当真实标签 y=1 时: 损失函数变为 L=−log(y^)。 如果模型预测概率 y^ 接近 1(预测正确),则 log(y^) 接近 0,损失 L 接近 0。 如果模型预测概率 y^ 接近 0(预测错误),则 log(y^) 接近 −∞,损失 L 接近 +∞。
  • 当真实标签 y=0 时: 损失函数变为 L=−log(1−y^)。 如果模型预测概率 y^ 接近 0(预测正确),则 1−y^ 接近 1,损失 L 接近 0。 如果模型预测概率 y^ 接近 1(预测错误),则 1−y^ 接近 0,损失 L 接近 +∞。

可以看出,交叉熵损失函数完美地惩罚了错误的、高置信度的预测。如果模型对错误的类别给出了很高的预测概率,损失就会变得非常大,从而在梯度下降过程中产生巨大的梯度,促使模型快速修正其参数。

整个训练集上的总代价函数是所有样本损失的平均值:

在这里插入图片描述

其中 m 是样本总数。

交叉熵损失的优点与在深度学习中的应用

交叉熵损失函数之所以成为分类问题中的首选,是因为它具备以下关键优点:

  • 凸性(Convexity):对于逻辑回归模型,交叉熵损失函数是凸函数,这意味着它只有一个全局最小值,没有任何局部最小值。这确保了梯度下降等优化算法可以稳定地收敛到全局最优解,而不是卡在某个局部最优解中。
  • 梯度特性:交叉熵的梯度非常平滑,尤其是在误差很大的时候,梯度也很大,这加速了训练过程。当误差很小时,梯度也随之减小,有助于模型平稳收敛。
http://www.dtcms.com/a/391819.html

相关文章:

  • FreeRTOS学习笔记(六):汇编指令笔记
  • 【复刻】中国城市数字经济发展对环境污染的影响及机理研究(2011-2021年)
  • Blazer:一个免费开源、基于SQL的数据分析与可视化工具
  • 软件体系架构——系统架构评估与ATAM
  • sam2 docker部署
  • 深度学习------卷积神经网络
  • Amazon SES + NestJS 实战:零成本打造高送达率邮箱验证方案
  • MySQL 8.0临时表空间深度解析
  • 低秩矩阵:揭示高维数据中的简约之美
  • QR Wizard for Mac 好用的二维码生成器
  • 【redis】redis知识点
  • C语言模版(机试666)
  • 高通camx架构学习(二)——深入理解高通Camx Hal
  • 戴尔笔记本的奇怪功能
  • Linux文件系统结构与用户管理完全指南
  • 鸿蒙保存图片到相册
  • 【C语言】喝汽水问题分析:20元能喝多少瓶汽水?
  • 二物理层-ADSL-思考题
  • PyQt6之滑动条
  • 虚拟机ubuntu安装中文输入法
  • 康奈尔大学视觉-语言-动作模型全面综述:概念、进展、应用与挑战
  • 单片机--中断实验
  • 嵌入式 - GPIO
  • 一款商用的基于SpringBoot+VUE的出货单智能比对系统
  • systemctl 在启动服务时的 常用参数
  • 【MySQL】SQL性能分析
  • 【软件测试Linux】详细Linux介绍和各种命令的场景应用
  • 【MySQL】使用C/C++链接mysql数据库
  • 【复现】【充换电站】考虑用户充电负荷-最优分时电价互动的光储充换电站优化模型
  • 多光谱相机按不同分类的几种类型