
视频元信息
- 课程:吴恩达深度学习专项课程 - 神经网络与深度学习(第一门课)
- 章节:2.3 逻辑回归损失函数(Logistic Regression Cost Function)
- 时长:约 8 分 5 秒(485 秒)
- 讲师:吴恩达(Andrew Ng)
内容摘要(TL;DR)
本节讲解逻辑回归的训练目标:先回顾预测公式与上标记号约定,再解释为何不用平方误差(会导致非凸优化),引出逻辑回归的标准损失函数(交叉熵形式),并分 y=1 与 y=0 两种情况给出直观理解,最后把单样本损失函数推广到全体训练集上的代价函数 J(w,b)。
一、回顾逻辑回归模型与记号约定 [00:00]
要点:
- 逻辑回归的输出 y-hat 由 Sigmoid 函数作用于线性组合得到。
- 记号约定:上标带括号的 (i) 表示第 i 个训练样本。
- z(i) 是中间变量,等于 w^T x(i) + b。
详细说明:
训练逻辑回归的参数 w 和 b,需要定义一个代价(损失)函数。视频首先回顾上一节的内容:
- 输出预测:y-hat = σ(w^T x + b)
- 其中 σ(z) 是 Sigmoid 函数,定义为 σ(z) = 1 / (1 + e^(-z)),输出范围在 (0, 1) 之间。
给定 m 个训练样本的训练集,自然的想法是找到参数 w 和 b,使得在训练集上的预测 y-hat(i) 尽可能接近真实标签 y(i)。
理解:这里的核心目标就是"让预测逼近真实标签",而如何量化"逼近"的程度,就是本节要解决的损失函数问题。
记号约定(重要):
- 上标 (i) 表示与第 i 个训练样本相关的数据,例如 x(i)、y(i)、z(i)、y-hat(i)。
- 预测值:y-hat(i) = σ(w^T x(i) + b)
- 中间变量:z(i) = w^T x(i) + b
考点:上标记号约定。括号上标 (i) 表示第 i 个训练样本,这是贯穿整个课程的核心记号,务必牢记,后续所有公式都基于此约定。
二、为什么不用平方误差 [02:00]
要点:
- 平方误差(或半平方误差)看似合理,但会导致非凸优化问题。
- 非凸优化中梯度下降可能陷入局部最优,找不到全局最优。
- 逻辑回归需要换成能产生凸优化问题的损失函数。
详细说明:
衡量算法表现,一个直观想法是定义损失为平方误差,或半平方误差:
- L(y-hat, y) = (1/2)(y-hat - y)^2
易错点:在逻辑回归中通常不这样做。原因是:当学习参数时,优化问题会变成非凸(non-convex)的,即存在多个局部最优,梯度下降可能无法找到全局最优。
理解:平方误差配合 Sigmoid 函数会形成"波浪形"的损失曲面,有多个谷底(局部最优);而交叉熵配合 Sigmoid 则形成"碗形"的凸曲面,只有一个全局最优,梯度下降更容易收敛。
考点:凸性(Convexity)。凸优化问题只有一个全局最优,梯度下降能可靠收敛;非凸问题有多个局部最优,梯度下降可能卡住。这是选择损失函数的关键考量。
思考:吴恩达在此强调"如果不理解上述评论不用担心,后续视频会讲"。这说明凸性、局部最优等概念是理解损失函数设计的背景知识,但初学阶段先记住结论即可。
三、逻辑回归的损失函数定义 [03:19]
要点:
- 逻辑回归使用的损失函数:L(y-hat, y) = -[y log(y-hat) + (1-y) log(1-y-hat)]
- 该函数与平方误差作用类似(衡量预测好坏),但产生凸优化问题。
- 目标同样是让损失尽可能小。
详细说明:
逻辑回归采用如下损失函数(针对单个训练样本):
L(y-hat, y) = -[ y·log(y-hat) + (1-y)·log(1-y-hat) ]
这个函数扮演与平方误差类似的角色——衡量输出 y-hat 在真实标签为 y 时的好坏,但能给出凸(convex)的优化问题,从而更容易优化。
理解:这个函数正是二分类问题中著名的交叉熵损失(Cross-Entropy Loss),也叫对数损失(Log Loss)。它来源于最大似然估计,后续有可选视频给出更正式的推导。
四、损失函数的直观理解(分两种情况)[03:35]
要点:
- 当 y = 1 时,损失化简为 -log(y-hat),希望 y-hat 尽可能大(接近 1)。
- 当 y = 0 时,损失化简为 -log(1 - y-hat),希望 y-hat 尽可能小(接近 0)。
- 由于 y-hat 经 Sigmoid 输出,范围被限制在 (0, 1) 内。
详细说明:
情况一:y = 1
此时损失函数中的第二项 (1-y) 为 0,损失变为:
L = -log(y-hat)
要让损失尽可能小,就要让 -log(y-hat) 小,等价于让 log(y-hat) 大,也就是让 y-hat 尽可能大。由于 y-hat 是 Sigmoid 输出,永远不会超过 1,所以实际是希望 y-hat 尽量接近 1。
情况二:y = 0
此时第一项 y·log(y-hat) 为 0,损失变为:
L = -log(1 - y-hat)
要让损失小,就要让 log(1 - y-hat) 大,等价于让 (1 - y-hat) 尽可能大,也就是让 y-hat 尽可能小。由于 y-hat 必须介于 0 和 1 之间,实际是希望 y-hat 尽量接近 0。
理解:这正好符合直觉——真实标签是 1 时,希望模型预测接近 1;真实标签是 0 时,希望模型预测接近 0。
易错点:符号方向。注意损失函数前有负号,所以"让损失小"等价于"让 log 项大"。分析时务必理清负号的作用,否则容易把方向搞反。
拓展:满足"y=1 时推大 y-hat、y=0 时推小 y-hat"这一效果的函数有很多,本节给出的只是其中一种(交叉熵)。之所以选它,是因为它有凸性和概率论(最大似然)的正式依据。
五、从损失函数到代价函数 [06:08]
要点:
- 损失函数(Loss Function)针对单个训练样本。
- 代价函数(Cost Function)针对整个训练集,是各样本损失的平均。
- 训练目标:找到使代价函数 J(w, b) 最小的参数 w 和 b。
详细说明:
术语区分(重要):
- 损失函数 L(y-hat, y):衡量在单个训练样本上的表现。
- 代价函数 J(w, b):衡量在整个训练集上的表现,是 m 个样本损失的平均值。
代价函数定义:
J(w, b) = (1/m) Σ(i=1 到 m) L(y-hat(i), y(i))
展开后为:
J(w, b) = -(1/m) Σ(i=1 到 m) [ y(i)·log(y-hat(i)) + (1-y(i))·log(1-y-hat(i)) ]
其中 y-hat(i) 是逻辑回归算法在给定参数 w、b 下对第 i 个样本的预测输出。
理解:负号写在求和符号外面,作用于整个方括号内的表达式。
训练目标: 找到参数 w 和 b,使整体代价函数 J 最小。
考点:损失函数 vs 代价函数的区别。损失函数对应单个样本,代价函数对应整个训练集(是损失的平均)。这是考试和面试中的常见区分点。
六、总结与下节预告 [07:43]
要点:
- 本节完成了逻辑回归算法的完整设定:预测公式、单样本损失函数、整体代价函数。
- 逻辑回归可以看作一个非常小的神经网络。
- 下节将讲解如何把逻辑回归视为小型神经网络,为理解神经网络打基础。
详细说明:
本节完成了逻辑回归的训练框架搭建:
- 预测输出 y-hat = σ(w^T x + b)
- 单样本损失函数 L(y-hat, y) = -[y log(y-hat) + (1-y) log(1-y-hat)]
- 整体代价函数 J(w, b) = 各样本损失的平均
吴恩达预告:逻辑回归可以被视为一个非常小的神经网络,下一节将展开讲解,帮助建立对神经网络运作方式的直觉。
思考:这个"逻辑回归 = 最小神经网络"的视角非常关键,它把逻辑回归中的 w、b、Sigmoid 分别对应到神经网络中的权重、偏置和激活函数,是理解深度学习的绝佳切入点。
关键标签 / 关键词
逻辑回归 #损失函数 #代价函数 #交叉熵 #平方误差 #凸优化 #梯度下降 #Sigmoid #神经网络 #吴恩达 #深度学习 #二分类 #最大似然 #非凸优化
生成时间:2026-10-10 21:26:52 生成平台:VideoNote www.xygy.top