| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 【学习day5】正则化+权重衰退 -> 正文阅读 |
|
[人工智能]【学习day5】正则化+权重衰退 |
主要来源: (大四上终于尘埃落定,假期全面投入学习!) 1. 什么是正则化?Regularization,翻译过来可以称为正则化,或者是规范化。什么是规则?闭卷考试中不能查书,这就是规则,一个限制。同理,在这里,规则化就是说给 2. 为什么要正则化?一种简单的方法是通过线性函数
f
(
x
)
=
w
?
x
f(\mathbf{x}) = \mathbf{w}^\top \mathbf{x}
f(x)=w?x中的权重向量的某个范数来度量其复杂性,例如
∥
w
∥
2
\| \mathbf{w} \|^2
∥w∥2。要保证权重向量比较小,最常用方法是将其范数作为惩罚项加到最小化损失的问题中。将原来的训练目标 L ( w , b ) = 1 n ∑ i = 1 n 1 2 ( w ? x ( i ) + b ? y ( i ) ) 2 . L(\mathbf{w}, b) = \frac{1}{n}\sum_{i=1}^n \frac{1}{2}\left(\mathbf{w}^\top \mathbf{x}^{(i)} + b - y^{(i)}\right)^2. L(w,b)=n1?i=1∑n?21?(w?x(i)+b?y(i))2. 回想一下,
x
(
i
)
\mathbf{x}^{(i)}
x(i)是样本
i
i
i的特征,
y
(
i
)
y^{(i)}
y(i)是样本
i
i
i的标签。
(
w
,
b
)
(\mathbf{w}, b)
(w,b)是权重和偏置参数。为了惩罚权重向量的大小,我们必须以某种方式在损失函数中添加
∥
w
∥
2
\| \mathbf{w} \|^2
∥w∥2,但是模型应该如何平衡这个新的额外惩罚的损失?实际上,我们通过 L ( w , b ) + λ 2 ∥ w ∥ 2 , L(\mathbf{w}, b) + \frac{\lambda}{2} \|\mathbf{w}\|^2, L(w,b)+2λ?∥w∥2, 对于 λ = 0 \lambda = 0 λ=0,我们恢复了原来的损失函数。对于 λ > 0 \lambda > 0 λ>0,我们限制 ∥ w ∥ \| \mathbf{w} \| ∥w∥的大小。我们仍然除以 2 2 2:当我们取一个二次函数的导数时, 2 2 2和 1 / 2 1/2 1/2会抵消,以确保更新表达式看起来既漂亮又简单。聪明的读者可能会想知道为什么我们使用平方范数而不是标准范数(即欧几里得距离)。我们这样做是为了便于计算。通过平方 L 2 L_2 L2?范数,我们去掉平方根,留下权重向量每个分量的平方和。这使得惩罚的导数很容易计算:导数的和等于和的导数。 3. 代码实现1)生成人工数据集
生成公式如下: y = 0.05 + ∑ i = 1 d 0.01 x i + ? ?where? ? ~ N ( 0 , 0.0 1 2 ) . y = 0.05 + \sum_{i = 1}^d 0.01 x_i + \epsilon \text{ where } \epsilon \sim \mathcal{N}(0, 0.01^2). y=0.05+i=1∑d?0.01xi?+??where??~N(0,0.012). 我们选择标签是关于输入的线性函数。标签同时被均值为0,标准差为0.01高斯噪声破坏。为了使过拟合的效果更加明显,我们可以将问题的维数增加到 d = 200 d = 200 d=200,并使用一个只包含20个样本的小训练集。
2)初始化模型参数
w是向量,b是标量
实现这一惩罚最方便的方法是对所有项求平方后并将它们求和。 3) 实现
4)结果
λ
=
0
\lambda = 0
λ=0:非常明显的过拟合了,测试根本就莫得变化 5)使用框架
小结:
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 22:42:28- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |