机器学习进阶文档深度页
近端梯度与软阈值
先对光滑数据损失做梯度步,再用软阈值处理 L1,使小权重精确归零。
学习前需要掌握
导数、梯度与梯度下降L1内容待补充
背景与问题
简单地把 sign 梯度加进普通下降难正确处理零点;成熟 Lasso 常用坐标下降。
概念定义
L1 在零点不可普通求导;近端算子给出稳定更新。Sτ(z)=sign(z)max(|z|-τ,0)。
直观理解
先按拟合误差移动,再统一把权重向零推一段;不够大的直接归零。
核心原理
阈值 τ=学习率×L1 强度。截距通常不惩罚。收敛与尺度仍需检查。
数学表达
核心表达
阈值 τ=学习率×L1 强度。截距通常不惩罚。收敛与尺度仍需检查。
变量含义
变量定义与本页概念定义一致,代码中的同名变量保持相同语义。
计算步骤
- 1计算数据梯度
- 2做普通梯度步
- 3应用软阈值
- 4单独更新偏置
代码对应位置
示例 1近端梯度与软阈值 示例:对应文档中的可靠评价或训练流程。
计算与实现步骤
- 1
计算数据梯度
- 2
做普通梯度步
- 3
应用软阈值
- 4
单独更新偏置
- 5
记录完整目标
- 6
检查收敛
代码实现
示例 1
近端梯度与软阈值 示例
近端梯度与软阈值 示例
NumPy
example_01.py用途:对应文档中的可靠评价或训练流程。
def soft_threshold(z,t):
return np.sign(z)*np.maximum(np.abs(z)-t,0)
w=soft_threshold(w-lr*gradient,lr*l1_strength)代码解析
解析始终位于完整代码下方,并按实际代码段逐项对应。
输入数据与任务
对应文档中的可靠评价或训练流程。
gradient- 损失对参数的局部变化率。
w- 模型权重或当前待优化参数。
Step 1 · 1–3 行
计算损失对参数的梯度,对应数学表达中的 ∇J;梯度只给出局部变化方向。
def soft_threshold(z,t):
return np.sign(z)*np.maximum(np.abs(z)-t,0)
w=soft_threshold(w-lr*gradient,lr*l1_strength)代码与数学原理
参数更新由当前梯度与学习率共同决定。
预期输出或运行结果
绝对值不超过阈值的权重变为 0,其余向 0 收缩。
常见错误 · 3 条
- 惩罚截距
- 数据未标准化
- 只看训练目标
实际应用
- 理解 Lasso
- 稀疏优化
常见错误
惩罚截距
数据未标准化
只看训练目标
文档来源
11|L1 正则化:稀疏模型与特征选择原始文档
学习资料/learning_tech/11_l1_regularization.md- §2 L1 数学形式
- §6 用 NumPy 理解 L1 更新
推荐学习资料
暂未收录相关资料
参考库不会生成虚假资源或无效外部链接。