机器学习(Machine Learning)
简要声明
基于吴恩达教授(Andrew Ng)课程视频
BiliBili课程资源
一、特征缩放(Feature Scaling)
(一)从参数灾难看特征缩放的必要性
特征取值差异导致的参数失衡
在房价预测公式price = w₁x₁ + w₂x₂ + b
中:
x₁
(面积)取值区间 [300, 2000]x₂
(卧室数)取值区间 [0, 5]
当参数组合为w₁=50, w₂=0.1
时:
price = 50 * 2000 + 0.1 * 5 + 50 = $ 100,050.5 k ( 明显不合理 ) \quad (\text{明显不合理}) (明显不合理)
而调整参数为 w 1 = 0.1 , w 2 = 50 w_1=0.1, w_2=50 w1=0.1,w2=50后:
price = 0.1 * 2000 + 50 * 5 + 50 = $ 500 k ( 符合实际 ) \quad (\text{符合实际}) (符合实际)
关键启示:特征量纲差异会导致参数敏感度失衡,需要将不同特征的取值范围缩放到可比区间。
(二)特征缩放如何优化梯度下降
2.1 未缩放与缩放后的数据分布对比
原始特征分布 | 缩放后特征分布 |
---|---|
![]() | ![]() |
2.2 代价函数等高线变化
特征缩放前后梯度下降路径对比
- 上图:未缩放时等高线呈狭长椭圆,梯度下降呈"之"字形震荡
- 下图:缩放后等高线接近圆形,梯度下降路径更直接
(三)三大特征缩放方法详解
3.1 最大最小值缩放(Max-Min Scaling)
x
rescaled
=
x
−
min
(
x
)
max
(
x
)
−
min
(
x
)
\mathbf{x_{\text{rescaled}}} = \frac{x - \min(x)}{\max(x) - \min(x)}
xrescaled=max(x)−min(x)x−min(x)
将特征压缩到[0,1]区间
3.2 均值归一化(Mean Normalization)
x normalized = x − μ max ( x ) − min ( x ) \mathbf{x_{\text{normalized}}} = \frac{x - \mu}{\max(x) - \min(x)} xnormalized=max(x)−min(x)x−μ
特征中心化后范围示例
3.3 Z-score标准化(Z-score Normalization)
x standardized = x − μ σ \mathbf{x_{\text{standardized}}} = \frac{x - \mu}{\sigma} xstandardized=σx−μ
σ为标准差
标准差缩放的参数标注
(四)特征缩放实施指南
4.1 目标范围建议
理想范围 | 可接受范围 | |
---|---|---|
特征范围 | (-1 ≤ x j ≤ \leq x_j \leq ≤xj≤ 1) | (-3 ≤ x j ≤ \leq x_j \leq ≤xj≤ 3) |
4.2 典型场景判断
特征范围 | 处理建议 |
---|---|
(0 ≤ x 1 ≤ 3 \leq x_1 \leq 3\ ≤x1≤3 ) | 无需缩放 |
(-100 ≤ x 3 ≤ \leq x_3 \leq ≤x3≤ 100) | 需缩放 |
(-0.001 ≤ x 4 ≤ \leq x_4 \leq ≤x4≤ 0.001) | 需放大 |
二、梯度下降收敛性检验与学习率选择
(一)梯度下降的本质与收敛判断
梯度下降通过不断迭代参数 (w, b) 使代价函数 (J(w, b)) 逼近全局最小值,其参数更新公式为:
w = w − α ∂ J ( w , b ) ∂ w b = b − α ∂ J ( w , b ) ∂ b \begin{align*} w &= w - \alpha \frac{\partial J(w, b)}{\partial w} \\ b &= b - \alpha \frac{\partial J(w, b)}{\partial b} \end{align*} wb=w−α∂w∂J(w,b)=b−α∂b∂J(w,b)
核心收敛准则:每次迭代后 J(w, b)必须严格递减
(二)通过学习曲线诊断收敛状态
2.1 健康的学习曲线特征
- 曲线呈现平滑单调递减趋势
- 400次迭代后下降幅度趋近于零
- 最终 J(w, b) 值稳定在可接受范围
典型学习曲线与自动收敛测试
2.2 异常情况识别
异常形态 | 可能原因 | 解决方案 |
---|---|---|
剧烈震荡 | 学习率过大 ( α \alpha\ α > 0.1) | 降低 α \alpha\ α 值至 0.01~0.001 范围 |
持续上升 | 参数更新方向错误 | 检查梯度计算符号是否正确 |
平台期过长 | 学习率过小 ( α \alpha α< 0.0001)) | 按 3 倍梯度调整 α \alpha\ α 值 |
(三)自动收敛测试的工程实践
3.1 阈值设定原则
ϵ = 1 0 − 3 ( 常用基准值 ) \epsilon = 10^{-3} \quad (\text{常用基准值}) ϵ=10−3(常用基准值)
当满足以下条件时判定收敛:
J ( k ) ( w , b ) − J ( k + 1 ) ( w , b ) J ( k ) ( w , b ) ≤ ϵ \frac{J^{(k)}(w, b) - J^{(k+1)}(w, b)}{J^{(k)}(w, b)} \leq \epsilon J(k)(w,b)J(k)(w,b)−J(k+1)(w,b)≤ϵ
3.2 实施步骤
- 记录每 100 次迭代的 (J(w, b)) 值
- 计算相邻区间的相对变化率
- 当连续 3 次变化率<=ε时终止迭代
(四)学习率α的黄金选择法则
学习率对收敛速度的影响
4.1 实验选择法
推荐尝试序列:
α = 0.001 → 0.003 → 0.01 → 0.03 → 0.1 \alpha = 0.001 \rightarrow 0.003 \rightarrow 0.01 \rightarrow 0.03 \rightarrow 0.1 α=0.001→0.003→0.01→0.03→0.1
调整策略:每次增减幅度保持3倍关系
4.2 动态调整技巧
α t = α 0 1 + d e c a y _ r a t e × t \alpha_t = \frac{\alpha_0}{1 + decay\_rate \times t} αt=1+decay_rate×tα0
- 初始值 α 0 \alpha_0\ α0 建议 0.01
- d e c a y _ r a t e decay\_rate\ decay_rate 取 0.1~0.5
- t t t为当前迭代次数
(五)工程调试速查表
现象 | 检查项 | 调参方向 |
---|---|---|
代价函数震荡 | 1. 学习率是否过大 2. 特征缩放是否正确 | 降低α值 检查Z-score归一化 |
收敛速度过慢 | 1. 学习率是否过小 2. 自动收敛阈值是否过严 | 按3倍增大α 放宽ε至10⁻² |
局部最优停滞 | 1. 参数初始化策略 2. 动量项是否启用 | 改用He初始化 添加β=0.9动量 |
(六)代码演示
6.1 理想收敛过程
# 参数设置
alpha = 0.01
max_iter = 400
# 迭代过程
Iteration 100: Cost = 5.32 → 学习率有效
Iteration 200: Cost = 1.07 → 进入稳定下降
Iteration 300: Cost = 0.98 → 接近收敛
Iteration 400: Cost = 0.97 → 达到自动收敛阈值
通过合理设置学习率与收敛判断机制,可使梯度下降算法的训练效率提升3-10倍。
三、特征工程与多项式回归
(一)特征工程:从数据中发现隐藏规律
1.1 特征工程的核心思想
通过创造性组合原始特征,将领域知识注入机器学习模型。如图1所示,房屋价格预测中:
原始特征 : x 1 ( frontage ) , x 2 ( depth ) 新特征 : x 3 = x 1 × x 2 = area 模型公式 : f w , b ( x ) = w 1 x 1 + w 2 x 2 + w 3 x 3 + b \begin{aligned} \text{原始特征} & : x_1(\text{frontage}),\ x_2(\text{depth}) \\ \text{新特征} & : x_3 = x_1 \times x_2 = \text{area} \\ 模型公式 & : f_{\mathbf{w},b}(\mathbf{x}) = w_1x_1 + w_2x_2 + w_3x_3 + b \end{aligned} 原始特征新特征模型公式:x1(frontage), x2(depth):x3=x1×x2=area:fw,b(x)=w1x1+w2x2+w3x3+b
1.2 特征工程的三大范式
方法类型 | 数学表达 | 应用场景 |
---|---|---|
数值转换 | x ′ = log ( x ) x' = \log(x) x′=log(x) | 处理长尾分布数据 |
组合运算 | x 3 = x 1 × x 2 x_3 = x_1 \times x_2 x3=x1×x2 | 揭示交互效应 |
(二)多项式回归:非线性关系的建模利器
2.1 多项式回归原理
通过引入高次项扩展线性模型:
f w , b ( x ) = w 1 x + w 2 x 2 + w 3 x 3 + b f_{w,b}(x) = w_1 x + w_2 x^2 + w_3 x^3 + b fw,b(x)=w1x+w2x2+w3x3+b
不同阶数多项式拟合效果
(三)特征选择:在复杂性与效果间寻找平衡
3.1 非线性特征设计
如图所示,通过引入平方根项增强模型灵活性:
f
w
,
b
(
x
)
=
w
1
x
+
w
2
x
+
b
f_{w,b}(x) = w_1 x + w_2 \sqrt{x} + b
fw,b(x)=w1x+w2x+b
混合特征设计的拟合效果
通过合理运用特征工程与多项式回归,我们能够将预测误差降低,同时保持较好的模型可解释性。
end_Linear Regression