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

news/2025/9/26 16:55:27/文章来源:https://www.cnblogs.com/tlnshuju/p/19113814

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

2025-09-26 16:51  tlnshuju  阅读(0)  评论(0)    收藏  举报

逻辑回归(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 是样本总数。

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/918550.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

wordpress知识管理系统seo wordpress 插件

第1题:【 单选题】 执行以下脚本后舞台上的角色将 ?( ) A:先克隆自身,克隆体出现后被删除 B:先克隆自身,克隆体出现后删除本体 C:克隆出自身后本体与克隆体同时被删除 D:克隆出自身后本体与克隆体被不会被删除 【正确答案】: A 【试题解析】 : 第2题:【 单选题】…

Spring Boot启动报错:Failed to configure a DataSource 全面解析与解决方案 - 教程

Spring Boot启动报错:Failed to configure a DataSource 全面解析与解决方案 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; f…

深入理解 CSS 浮动:从原理到实战应用​ - space

深入理解 CSS 浮动:从原理到实战应用 ** 在 CSS 布局的发展历程中,浮动(Float)曾是实现页面布局的核心技术之一。尽管如今 Flexbox 和 Grid 布局已成为主流,但浮动依然在特定场景中发挥着重要作用,尤其是在处理图…

Winform程序中将datagridview导出到excel (推荐)

使用DEEPSEEK推荐的导出方法,好的很! 用前要用nuget 安装 ClosedXML 插件包using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Threading.T…

第二章Pycharm和Jupiter

第二章Pycharm和Jupiter 一.Pycharm 在python console里的操作如下:右侧会像matlab一样显示变量二.Jupyter 1.下载Jupyter所需要的包 先进入环境(激活) conda activate pytorchnow conda install nb_conda2.进入Jup…

[吾爱原创] 【小众应用】鼠标键盘操作可视化设备v1.1 可用于教育培训/演示/远程辅助等

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

微服务基础3-服务保护与分布式事务 - 详解

微服务基础3-服务保护与分布式事务 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "…

网站首页列表布局设计淘宝关键词指数查询

使用微软的com组件Microsoft.office.Interop.Excel读写Excel文件虽然可用,但是列多、行多的时候速度很慢,之前测试过Sylvan.Data.Excel包的用法,如果只是读取Excel文件内容的话,还可以使用ExcelDataReader包,后者是C#开…

使用parted命令扩容vm内磁盘分区大小

假如已经在VMware的设置里扩容了磁盘大小,接下来需要在系统内调整大小,按如下操作: 0、查看磁盘情况: root@ubuntu:~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 160G 0 disk ├─s…

pyinstaller

pyinstaller --onefile --windowed -i binglish.ico --add-data "binglish.ico;." --hidden-import "pystray._win32" binglish.py 使用 PyInstaller 工具将 Python 脚本 binglish.py 打包成一个独…

wordpress 子网站重命名东莞毛织厂家东莞网站建设

🎈 作者:互联网-小啊宇 🎈 简介: CSDN 运维领域创作者、阿里云专家博主。目前从事 Kubernetes运维相关工作,擅长Linux系统运维、开源监控软件维护、Kubernetes容器技术、CI/CD持续集成、自动化运维、开源软件部署维护…

帮建网站wordpress微信个人支付

介绍: Python推导式是一种简洁、高效的创建列表、字典或集合的方法。它使用一种类似于数学公式的语法,通过一个表达式和一个循环来生成一个新的数据结构。 以下是一些常见的Python推导式: 列表推导式(List Comprehension&#xf…

国外网站配色平凉哪有做网站的

【为什么要用多线程?】 传统的图形用户界面应用程序都仅仅有一个运行线程,而且一次仅仅运行一个操作。假设用户从用户界面中调用一个比較耗时的操作,当该操作正在运行时,用户界面一般会冻结而不再响应。这个问题能够用事件处理和多…

吴江区建设局网站中装建设公司待遇好吗

容器分为三类,顺序容器,关联容器和适配器。顺序容器又分为连续的容器(vector,array),顺序容器中的离散容器(list,slist,forward_list),离连形的de…

pc网站 手机网站 微信长春公司做网站

笔记整理:刘尧锟,天津大学硕士链接:https://dl.acm.org/doi/pdf/10.1145/3404835.3462900动机面对大量的机器学习(ML)方法,为给定的数据集和任务选择合适的方法是一个挑战。一般来说,ML方法或数…

wordpress 双语站点自己使用原生php做网站性能

目录 1.题目描述 一 2.解题想法图解 2.1直接解 2.2巧解 3.题目描述二 3.1.1思路1 3.1.2 思路2 4.结语 1.题目描述 一 实现现一个函数,可以左旋字符串中的k个字符。 例如: ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB 2.解题想法图解 2.…

Python 标准库 typing 类型注解标注

Python 标准库 typing 类型注解标注Python 标准库 typing 类型注解标注说明 《Python 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gr99123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习…

redis-Geospatial类型基本命令

redis-Geospatial类型基本命令redis在3.2版本中引入了Geospatial数据类型。该类别本质上是一种集合,不过集合中的元素比较特殊, 是一种由三部分构成的数据结构,这种数据结构称之为空间元素: 经度: longitude,有效…

洛谷题单指南-进阶数论-P3861 拆分

原题链接:https://www.luogu.com.cn/problem/P3861 题意解读:将整数n拆分成不同因数之积的方案数,不含1*n的情况。 解题思路: 1、背景知识-超级合数 n的数据范围最大是10^12,尽管n很大,但是n以内的整数的约数个数…

查网站域名备案wordpress主导航菜单

AItoolchain主要模块包括: 模型转换:将深度学习模型转换为特定硬件平台可以识别和执行的格式。嵌入式运行环境:提供异构模型的运行库支持,确保模型在目标设备上的运行效率。性能验证:包括静态和动态性能评估&#xff…