斯坦福CS229课程笔记:机器学习中的损失函数详解
引言
在机器学习领域,损失函数(Loss Function)是模型训练过程中至关重要的组成部分。它量化了模型预测结果与真实值之间的差异,为优化算法提供了明确的方向。本文将深入探讨斯坦福大学CS229课程中介绍的几种常见损失函数,特别是它们在二分类问题中的应用。
二分类问题概述
在二分类问题中,目标变量y通常取两个离散值,课程中采用y∈{-1,+1}的表示方法。这种表示方法在数学处理上具有诸多优势:
- 正类标记为+1,负类标记为-1
- 分类决策基于θᵀx的符号
- 边界(margin)定义为yθᵀx,其值的大小和符号反映了分类的置信度
分类正确性的判断标准可以简洁地表示为yθᵀx > 0。这个乘积值越大,说明分类的置信度越高。
损失函数的基本要求
理想的损失函数应满足以下特性:
- 当边界z=yθᵀx为正且较大时,损失值趋近于0
- 当边界为负时,损失值迅速增大
- 函数最好是连续可导的,便于优化
常见损失函数比较
1. 0-1损失函数
0-1损失是最直观的分类损失函数:
φ₀₁(z) = 1 if z ≤ 0
0 if z > 0
特点:
- 直接对应分类错误率
- 不连续、非凸
- 优化是NP难问题
2. Logistic损失函数
Logistic损失定义为:
φ_logistic(z) = log(1 + e⁻ᶻ)
特点:
- 处处光滑可导
- 对应于逻辑回归模型
- 输出可以解释为概率
3. 铰链损失(Hinge Loss)
铰链损失表达式为:
φ_hinge(z) = max{1-z, 0}
特点:
- 是支持向量机(SVM)的基础
- 在z≥1时为0,鼓励更大的边界
- 在z=1处不可导
4. 指数损失
指数损失定义为:
φ_exp(z) = e⁻ᶻ
特点:
- 用于AdaBoost等提升算法
- 对异常值敏感
- 随着z减小损失增长迅速
逻辑回归的深入解析
概率解释
逻辑回归使用sigmoid函数将线性预测转换为概率:
g(z) = 1/(1+e⁻ᶻ)
分类概率模型为:
p(y|x;θ) = g(yxᵀθ) = 1/(1+e⁻ʸˣᵀθ)
最大似然估计
逻辑回归的似然函数:
L(θ) = ∏ hθ(y⁽ⁱ⁾x⁽ⁱ⁾)
对数似然函数:
ℓ(θ) = -∑log(1+e⁻ʸ⁽ⁱ⁾θᵀx⁽ⁱ⁾) = -mJ(θ)
这表明最大化似然函数等价于最小化平均Logistic损失。
梯度下降实现
Logistic损失的导数为:
φ'_logistic(z) = -g(-z) = -1/(1+eᶻ)
随机梯度下降更新规则:
θ ← θ + α g(-y⁽ⁱ⁾x⁽ⁱ⁾ᵀθ) y⁽ⁱ⁾x⁽ⁱ⁾
更新直观解释:
- 当模型对错误标签赋予高概率时,进行较大更新
- 当模型已能正确分类时,更新较小
损失函数选择建议
- 逻辑回归:需要概率输出时首选
- 支持向量机:追求最大边界和稀疏解时使用
- 提升方法:集成学习场景下考虑指数损失
总结
理解不同损失函数的特性和适用场景对于构建有效的机器学习模型至关重要。CS229课程中介绍的这些损失函数构成了监督学习的基础,掌握它们的数学特性和优化方法将帮助我们在实际应用中做出更明智的选择。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考