发布时间:2026/8/31 10:51:47
第12章:从“多少”到“哪一类”——逻辑回归 上一章我们干了件事用一条直线预测房价。输入面积输出价格。输入是连续的数输出也是连续的数。这类问题叫“回归”——猜一个数字。但AI面临的大多数问题不是“猜多少”而是“是哪一类”。你手机相册里有一张照片AI要判断“这是猫还是狗”——只有两个答案。你的邮箱收到一封新邮件AI要判断“这是垃圾邮件还是正常邮件”——只有两个答案。医生拿到一张CT片AI要判断“是良性还是恶性”——还是只有两个答案。这类问题叫“分类”——猜一个类别。线性回归能直接用来做分类吗勉强能但效果很糟。我们需要给那条直线外面裹一层“壳”让它输出的不是一个任意数字而是一个“属于某个类别的概率”。这层壳就是逻辑回归。为什么直线不能直接做分类我们先试试用线性回归做分类看看哪里会出问题。假设你有一组数据横轴是“肿瘤大小”纵轴是“良性/恶性”。你把良性标成0恶性标成1。然后你画一条直线 y wx b试图拟合这些点。你会发现一个问题这条直线在大多数点上的预测值既不是0也不是1而是0.3、0.7、1.2这样的数。你本来想要的是“是或否”的干净答案得到的却是“0.73”——这到底算良性还是恶性你可以加一个规则预测值大于0.5就算恶性小于0.5就算良性。这在很多情况下勉强能用但有一个更严重的问题——线性回归对极端值太敏感了。假设你的数据里有一个极端案例——一个特别大的肿瘤明显是恶性。这个点会把整条直线往右上拉。结果大部分良性肿瘤的预测值也被拉高了分界线可能从0.5变成了0.3误判率大增。线性回归追求的是“所有点的误差平方最小”它在乎的是数值精确不是分类正确。你给一个样本预测成0.73误差是0.27预测成1.2误差是0.2。对线性回归来说1.2比0.73“更好”——但这个1.2在分类上没有任何意义它代表的只是“恶性”而已。所以我们需要一个更聪明的办法让模型直接输出概率而不是任意数字。Sigmoid把任意数字“压”成概率逻辑回归的核心就是一层“壳”——一个叫Sigmoid的函数。Sigmoid长得像一条S形的曲线它做的事情极其简单不管你输入什么数——正一亿、负一亿、零、3.14——它都给你一个0到1之间的输出。正无穷大的数输出无限接近1。负无穷大的数输出无限接近0。0输入输出0.5。这个性质刚好对上了概率的需要——概率就是0到1之间的数。逻辑回归的做法是先用线性回归算出 w·x b一个任意实数然后把这个数送进Sigmoid函数“压”成一个0到1之间的概率。写成公式就是p σ(w·x b)其中 σ 就是Sigmoid函数。输出 p 的含义是这个样本属于类别“1”的概率有多大如果 p0.92意思是“有92%的把握它是恶性”。如果 p0.13意思是“只有13%的把握它是恶性——也就是87%的把握它是良性”。你看逻辑回归跟线性回归的差别就是在线性部分外面套了一个Sigmoid。它把“任意实数”翻译成了“概率”——而我们人类天然理解概率。决策边界那条看不见的分割线逻辑回归最终输出的是一个概率。但你得做出判断——“到底是哪一类”最简单的规则是概率大于0.5判为1类小于0.5判为0类。0.5就是那条分界线。在输入空间里这条分界线对应的是 w·x b 0 的那个位置——也就是线性回归原本的那条“直线”。只不过现在这条直线不再直接用来预测数值而是用来划分两个类别的领土。如果输入只有两个特征比如肿瘤大小和患者年龄决策边界就是一条直线。如果有三个特征决策边界就是一个平面。如果有几十几百个特征决策边界就是一个超平面——你看不见它但它依然在那里把你的输入空间一刀劈成两半。这个“一刀劈开”的能力就是逻辑回归作为分类器的本质。它跟感知机第3章那个被XOR问题难住的家伙是近亲——都是线性分类器。区别在于感知机直接输出0或1逻辑回归输出的是概率。概率比硬边界更柔和——它不仅告诉你“是哪个”还告诉你有几分把握。交叉熵这次不用均方误差了线性回归用均方误差来衡量“猜得有多错”。逻辑回归不能用这个。为什么因为Sigmoid让整个模型变成了非线性的。如果你用均方误差作为损失函数你会发现误差曲面有很多坑坑洼洼的局部最小值——梯度下降容易陷在里面很难找到真正好的解。逻辑回归用的是另一个损失函数交叉熵。我们在第10章提过交叉熵的直觉。现在让它正式上场。它的公式写出来是这样的Loss -[y·log§ (1-y)·log(1-p)]其中 y 是真实标签0或1p 是模型预测的概率。这个公式看起来很凶但它的意思特别简单如果真实标签是1损失就是 -log§。当 p 接近1时损失接近0当 p 接近0时损失趋向无穷大。如果真实标签是0损失就是 -log(1-p)。当 p 接近0时损失接近0当 p 接近1时损失趋向无穷大。翻译成人话模型越确信地给出正确答案损失就越小。模型越确信地给出错误答案损失就越大——大到没边。交叉熵不关心“你猜的数值跟真实值差了多少”它只关心“你对你猜的结论有多自信而你的自信对不对”。这是分类问题最自然的损失函数。它把第10章的“概率”和第9章的“梯度下降”接在了一起。从逻辑回归到神经网络只差一步你现在已经理解了逻辑回归的全部骨架。它有一个线性部分 w·x b一个非线性部分 σSigmoid以及一个衡量错误的损失函数交叉熵。现在把“一个线性部分”换成“一连串线性部分中间插着非线性激活函数”——你就得到了神经网络。神经网络就是多层逻辑回归的堆叠。每一层都是一个“线性变换非线性激活”的组合只不过中间的层不输出概率只输出“特征”——也就是更高层次的数据表示。只有最后一层才会套上Sigmoid二分类或者Softmax多分类来输出概率。你从第6章一路走到这里所有的零件都已经在桌上了。函数是骨架。向量和矩阵是数据结构。导数是调整指南。概率是输出语言。线性回归和逻辑回归是第一个完整的工作模型。下一章我们要在逻辑回归的基础上再跨一步支持向量机。它走了一条不同的路——不输出概率而是直接画一条最宽的“马路”来分开两类数据。参考文献3Blue1Brown. (2017). “But what is a neural network? | Chapter 1, Deep Learning”. YouTube.推荐理由这期视频的结尾部分有一个“逻辑回归→神经网络”的极简过渡。它用一张手写数字识别的图展示了从单个神经元到多层网络的自然延伸。虽然我们还没有正式讲神经网络但提前看一眼那个过渡会很有帮助。Nielsen, M. (2015).Neural Networks and Deep Learning. 第1章Using neural nets to recognize handwritten digits。在线免费书籍http://neuralnetworksanddeeplearning.com/推荐理由Nielsen在第1章里用一个极简的神经网络识别手写数字然后把“Sigmoid神经元”作为基本单元来介绍。他对Sigmoid函数的解释——为什么用它、它跟感知机有什么不同——清晰得像在跟你聊天。适合在读完本篇后作为延伸阅读。Goodfellow, I., Bengio, Y., Courville, A. (2016).Deep Learning. MIT Press. 第6章Feedforward Deep Networks。推荐理由第6章从逻辑回归出发推导出前馈神经网络的结构。开篇就点明了一个核心关系逻辑回归是一个没有隐藏层的神经网络。如果你想知道“从逻辑回归到神经网络”在数学上是怎么被严格定义的这一章的前几页值得一看。

相关新闻

2026/8/31 11:21:05

直播预约|鸿蒙 PC AI 编译框架实战:高效搞定开源库迁移适配

随着鸿蒙 PC 生态快速发展,各类 C/C、Python、JS 开源库适配迁移成本高、编译报错难定位等问题凸显。 7 月 13 日 19:00-20:00,华为 HDE 卢庆杰带来鸿蒙 PC AI 智能化开源编译框架技术直播。本次分享详解可覆盖三类开源库的自动化迁移流水线,…

2026/9/1 6:44:09

基于许可分析的授权规划:实现资源最优配置

2025年,全球企业软件开支突破1.5万亿美元,其中超过40%的企业因软件许可管理不善导致成本浪费。这不是危言耸听。行业调研数据显示,超过60%的企业在运行软件时存在许可未被充分利用的问题。55%的大型企业软件许可处于未使用状态——每两份许可…

2026/9/1 10:46:29

蓝桥杯自动售水机赛题拆解:状态机与单片机外设实战

简介:蓝桥杯单片机第三届初赛(第四届模拟题)自动售水机是一个面向竞赛备赛的完整单片机项目资源,适合参加蓝桥杯单片机设计与开发赛项的选手,也适合希望通过真实案例强化嵌入式编程能力的初学者。整个压缩包共24个文件…

2026/9/1 10:46:29

STM32F405嵌入式学习项目源码解析:从GPIO到USB虚拟串口

简介:这是一份基于STM32F405RGT6微控制器的嵌入式学习项目工程,适合正在学习STM32底层驱动与常用外设接口的开发者。项目覆盖SPI、I2C、USART、ADC等通信接口,并集成W25Q SPI Flash、MPU6050、ESP8266、HC05蓝牙、OLED等多款外设驱动&#xf…

2026/9/1 10:46:29

自主格斗机器人备赛全记录:从机械设计到赛场实战

简介:这份zip压缩包围绕浙江省机器人智能创意大赛中的统一部件自主格斗机器人项目整理,适合高校机器人竞赛团队、大创项目组及具备一定编程基础的嵌入式与视觉算法学习者。统一部件约束下,机器人需兼顾结构设计、运动控制与自主决策&#xff…

2026/9/1 10:46:29

腾讯音乐系统测试岗笔试复盘:核心考点与测试设计实战解析

1. 这一轮笔试到底在筛什么人 2023年腾讯音乐秋招系统测试岗第二批笔试,我身边至少有四五个同学都赶上了这场,考完出来大家的第一反应几乎一样——题目不算特别偏,但时间紧、范围杂,稍不留神就会被拉进“会做但来不及做”的泥潭。…

2026/9/1 10:41:29

Python打包不记参数:PyInstaller spec文件与一键打包实战

写完一个小工具,高高兴兴发给同事,结果对方来一句:“我没有Python,你帮我弄成exe呗。”于是你打开命令行,准备用PyInstaller打包,然后开始搜索: --onefile 是干嘛的? --windowed …

2026/8/31 1:05:20

vSound小提琴数字处理器实操指南:从接线到演出的完整配置

电小提琴或者原声小提琴插电演出,第一个绕不开的坎就是声音难听。原声琴的共鸣和空气感一旦进了拾音器,出来的往往是一坨干瘪、发尖、带着奇怪塑料味的信号。我当初第一次把琴接上乐队调音台,直接被主唱吐槽"你这声音像在锯钢丝"。…

2026/9/1 8:27:47

传感器接口IC如何攻克生物化学传感的微弱信号难题?

1. 从电极到比特流:为什么生物化学传感必须依赖专用接口IC 做生物化学传感的人都有过类似的经历:明明传感器本身性能很好,信号输出却一塌糊涂——噪声大、漂移明显、重复性差,怎么调都达不到预期。很多时候问题并不在传感器&#…

2026/9/1 7:04:43

STM32F411CEU6多通道ADC采集:扫描模式+DMA实现详解

1. 多通道 ADC 的用武之地把“Multichannel ADC”和“STM32F411CEU6”这两个关键字放在一起,其实就是嵌入式开发里最常遇到的一类需求:用一块不算贵的 MCU,同时采集多路模拟信号。STM32F411CEU6 是 48 引脚的 Cortex-M4F 主控,主频…

2026/9/1 0:00:42

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/1 0:00:42

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/1 0:00:42

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

2026/9/1 0:00:42

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行&#xff0c;Type-C接口算是典型的“看着简单&#xff0c;做起来全坑”的东西。光引脚就24个&#xff0c;高低速信号、电源、控制线全部塞在一个小小的连接器里&#xff0c;如果PCB布局不做规划&#xff0c;打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/1 0:00:42

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/1 0:00:42

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…