损失函数介绍
1 课程概览
本课详细讲解损失函数的概念、作用和数学表达。通过多条拟合回归线的对比,说明损失函数用于评价模型好坏。详细推导损失函数的数学公式,包括误差计算、平方处理、求和等步骤。介绍损失函数的多种名称(损失函数、成本函数、代价函数、目标函数)及求解最小值的方法(正规方程、梯度下降)。
2 核心概念与定义
- 误差:预测值减去真实值,可能为正也可能为负。
- 损失函数(Loss Function):描述每个样本点和其预测值之间关系的函数,也叫成本函数、代价函数、目标函数。
- 真实值:数据集中实际的标签值。
- 预测值:模型根据公式计算出的预测结果。
- 正规方程:一步到位直接求解最优参数的方法。
- 梯度下降:不断逼近最优解的方法。
3 算法与模型详解
3.1 误差的概念
公式: $$\text{误差} = \text{预测值} - \text{真实值}$$
问题:
- 误差有正有负
- 正负误差可能相互抵消
- 解决方法:取绝对值或平方
3.2 损失函数的作用
作用:
- 描述每个样本点和其预测值之间的关系
- 让损失函数最小 = 让误差和最小
- 损失函数越小,模型拟合效果越好
核心思想:寻找一条线,使所有点到该线的误差和最小。
3.3 损失函数的多种名称
| 名称 | 英文 | 说明 |
|---|---|---|
| 损失函数 | Loss Function | 最常用的名称 |
| 成本函数 | Cost Function | 同义 |
| 代价函数 | Cost Function | 同义 |
| 目标函数 | Objective Function | 同义 |
多种名称的原因:AI研究初期,众多公司和机构参与,命名不统一。
3.4 损失函数的数学表达
简单表示: $$L(W, B)$$
或 $$L(X)$$
完整公式(以身高体重为例):
$$L(W, B) = (160W + B - 56.3)^2 + (166W + B - 60.6)^2 + (172W + B - 65.1)^2 + ...$$
通用公式: $$L(W, B) = \sum_{i=1}^{n} (W X_i + B - y_i)^2$$
其中:
- $X_i$:第i个样本的特征值
- $y_i$:第i个样本的真实值
- $WX_i + B$:第i个样本的预测值
- $n$:样本数量
3.5 求解损失函数最小值的方法
| 方法 | 特点 | 重点程度 |
|---|---|---|
| 正规方程 | 一步到位,基于公式直接计算 | 了解 |
| 梯度下降 | 不断逼近最优解 | ⭐重点 |
3.6 平方展开公式
铺垫知识: $$(A - B)^2 = A^2 - 2AB + B^2$$
示例:$(5-3)^2 = 25 - 30 + 9 = 4 = 2^2$ ✓
应用于损失函数: $$(160W + B - 56.3)^2 = (160W)^2 + (B - 56.3)^2 - 2 \times 160W \times (B - 56.3)$$
3.7 求导思路
目的:让损失函数最小
方法:对损失函数求导,令导数等于0,求解W和B
$$\frac{\partial L}{\partial W} = 0, \quad \frac{\partial L}{\partial B} = 0$$
4 数学原理与推导
4.1 误差公式
$$\text{误差}_i = \hat{y}_i - y_i = (WX_i + B) - y_i$$
4.2 损失函数公式
$$L(W, B) = \sum_{i=1}^{n} (\hat{y}i - y_i)^2 = \sum{i=1}^{n} (WX_i + B - y_i)^2$$
4.3 平方展开
$$(WX_i + B - y_i)^2 = (WX_i)^2 + (B - y_i)^2 - 2 \cdot WX_i \cdot (B - y_i)$$
4.4 求最小值
对L(W, B)分别对W和B求偏导,令偏导等于0:
$$\frac{\partial L}{\partial W} = 0$$
$$\frac{\partial L}{\partial B} = 0$$
5 代码示例
本课为理论推导,无代码示例。
损失函数计算示例:
# 假设 W=0.858, B=-81.05
W = 0.858
B = -81.05
# 训练数据
X = [160, 166, 172, 174, 180]
y_true = [56.3, 60.6, 65.1, 68.5, 75.0]
# 计算损失函数
loss = 0
for i in range(len(X)):
y_predict = W * X[i] + B
loss += (y_predict - y_true[i]) ** 2
print("损失函数值:", loss)
6 重难点与易错提醒
- ❗重点:误差 = 预测值 - 真实值(顺序不能反)。
- ❗重点:损失函数 = 各样本误差的平方和,越小越好。
- ❗重点:损失函数有多种名称(损失、成本、代价、目标函数)。
- ❗重点:求解最小值的方法:正规方程(了解)、梯度下降(重点)。
- ⚠️易错:误差顺序写反(真实值 - 预测值)。
- ⚠️易错:忘记平方处理,导致正负误差抵消。
- 💡深入理解:损失函数越小,模型拟合效果越好。
7 课堂问答精选
Q: 为什么损失函数要用平方而不是绝对值?
A:
- 误差有正有负,直接相加可能相互抵消。
- 平方处理:
- 消除正负影响(平方后都为正)
- 放大较大误差(惩罚预测偏差大的样本)
- 便于求导(平方函数可导,绝对值函数不可导)
- 绝对值处理:MAE(平均绝对误差),也可用但不便求导。
Q: 损失函数为什么有这么多名字?
A: 因为AI研究初期,众多公司和机构参与研究,没有统一命名。不同机构使用不同名称:
- 损失函数(Loss Function)
- 成本函数(Cost Function)
- 代价函数(Cost Function)
- 目标函数(Objective Function) 最终做的都是同一件事:描述预测值和真实值之间的关系。
8 本课小结
- 误差 = 预测值 - 真实值
- 损失函数 = 各样本误差的平方和,越小越好
- 损失函数有多种名称:损失、成本、代价、目标函数
- 公式:$L(W, B) = \sum_{i=1}^{n} (WX_i + B - y_i)^2$
- 求解最小值:正规方程(了解)、梯度下降(重点)
- 平方展开:$(A-B)^2 = A^2 - 2AB + B^2$
9 延伸思考与实践
- 思考:为什么用平方而不是绝对值?
- 预习:正规方程的求解方法。
- 预习:梯度下降的原理和实现。