| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 正则化(Regularization) -> 正文阅读 |
|
[数据结构与算法]正则化(Regularization) |
在前面介绍了线性回归和逻辑回归,他们经常会遇到一个叫做过拟合(overfitting)的问题。 如果假设函数
h
θ
(
x
)
h_{\bm{\theta}}(\boldsymbol{x})
hθ?(x)(hypothesis function)参数太多,容易形成第 ③ 个曲线的样子。 对于逻辑回归的分类问题也是如此: 从图中可以看到,通常在参数较多的时候发生过拟合(最右边的曲线)。 处理办法: 看回这个例子: 明显第 ① 条曲线是很优秀的,第 ② 条有点过拟合。 为了改进图 ② ,我们想把
θ
3
\theta_3
θ3?
θ
4
\theta_4
θ4? 干掉,我们在代价函数加上两项蓝色的东西: 这两个东西会使整个代价函数变得很大。 在拟合参数的时候,为了降低这两个东西对代价函数的影响,
θ
3
\theta_3
θ3? 和
θ
4
\theta_4
θ4? 会尽量变得小,甚至为零。于是就达到了我们的目的:
θ
3
≈
0
,
θ
4
≈
0
\theta_3 \approx 0,\theta_4 \approx 0
θ3?≈0,θ4?≈0: 通常的写法是这样: 其中 λ \lambda λ 是正则化参数,决定了惩罚的强度。 如果
λ
\lambda
λ 过大,会使所有
θ
\theta
θ 都趋于
0
0
0,最后得到一条欠拟合的直线。 关于 λ \lambda λ 的取值,主要看经验。。。也有一些自动化的取值方法。 在运用梯度下降法的时候,对式子 (1) 第
j
j
j 个参数求偏导得到: θ j : = θ j ( 1 ? α λ m ) ? α 1 m ∑ i = 1 m ( ?? h θ ( x i ) ? y i ?? ) x j i \theta_j := \theta_j(1-\alpha \frac{\lambda}{m}) - \alpha \frac{1}{m} \sum^{m}_{i=1} \left( \; h_{\bm{\theta}}\left(x^i\right)- y^i \;\right) x_j^i θj?:=θj?(1?αmλ?)?αm1?i=1∑m?(hθ?(xi)?yi)xji? 其中 ( 1 ? α λ m ) (1-\alpha \dfrac{\lambda}{m}) (1?αmλ?) 是很小的数,大概 0.99 0.99 0.99 的样子,相当于每次更新时先把 θ j \theta_j θj? 缩小一点点,然后再减去梯度。 上面是线性回归的代价函数。 逻辑回归也是一样: 其中红色的部分为新增的正则化项。 对
θ
j
\theta_j
θj? 求偏导得到: 发现和前面线性回归的惊人相似。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/25 18:20:34- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |