吴恩达深度学习公开课笔记(3)

博客围绕如何解决过拟合问题展开,介绍了减少特征变量和正规化两种方法,阐述了正规化背后的思路及代价函数,强调正规化参数对避免过拟合和欠拟合的作用。此外,还探讨了神经网络如何拟合非线性函数,给出了 and、or、xnor 等示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何解决过拟合问题

  • 尽量减少特征变量:
    • 人工选择
    • 模型选择算法
  • 正规化:
    • 保存所有特征,但减少参数θj\theta_jθj的值
    • 当我们有许多特征时能工作的很好

什么是过拟合

在这里插入图片描述

正规化

优化目标:
在这里插入图片描述
加上一些 项(1000只是一个随意的很大的数):
在这里插入图片描述

θ3和θ4对代价函数的影响巨大\theta_3和\theta_4对代价函数的影响巨大θ3θ4
如果我们要最小化代价函数,那么θ3\theta_3θ3θ4\theta_4θ4就会尽可能小
新的代价函数将会导致:
θ3≈0,θ4≈0\theta_3\approx0, \theta_4\approx0θ30,θ40就像我们忽略了θ3\theta_3θ3θ4\theta_4θ4

在这里插入图片描述

正规化背后的思路

如果我们的参数对应一个较小值的话,更简单的参数会参数更平滑的函数

  • 更简单的假设
  • 不会产生过拟合

代价函数

当特征很多时:

  • Features:x1,x2,…,x100x_1,x_2,\dots,x_{100}x1,x2,,x100
  • Parameters:θ0,θ1,θ2,…,θ100\theta_0,\theta_1,\theta_2,\dots,\theta_{100}θ0,θ1,θ2,,θ100

我们不知道怎么选择参数

在正规化在我们要做的就是惩罚所有参数:

Jθ(θ)=[12m∑i=1m(h(x(i))−y(i))+λ∑j=inθj2] J_{\theta}(\theta)= \lbrack\frac{1}{2m}\sum_{i=1}^{m}(h(x^{(i)})-y^{(i)})+\lambda\sum_{j=i}^{n}\theta_{j}^{2}\rbrack Jθ(θ)=[2m1i=1m(h(x(i))y(i))+λj=inθj2]

按照惯例来说不会惩罚θ0\theta_0θ0

λ\lambdaλ在这里叫做正规化参数,λ\lambdaλ要做的就是控制在两个不同目标间的平衡关系:
平衡拟合目标(平方误差)和保持较小参数的目的
从而保持假设更简单,来避免过拟合

如果λ\lambdaλ过大会导致欠拟合
在这里插入图片描述
hθ(x)=θ0+θ1x1+θ2x2+θ3x3+θ4x4h_\theta(x)=\theta_0+\theta_1x_1+\theta_2x_2+\theta_3x_3+\theta_4x_4hθ(x)=θ0+θ1x1+θ2x2+θ3x3+θ4x4
如果λ\lambdaλ过大,那么参数将会尽可能小:
θ1≈0,θ2≈0,θ3≈0,θ4≈0\theta_1\approx0,\theta_2\approx0,\theta3\approx0,\theta_4\approx0θ10,θ20,θ30,θ40
相当于拟合了直线:
hθ(x)=θ0h_\theta(x)=\theta_0hθ(x)=θ0

偏导:
线性回归:J(θ)′=1m∑i=1M(H(x(i))−y(i))xj(i)+2λθj逻辑回归:J(θ)′=1m∑i=1M(H(x(i))−y(i))xj(i)+λmθj 线性回归:J(\theta)'=\frac{1}{m}\sum_{i=1}^{M}(H(x^{(i)})-y^{(i)})x_j^{(i)}+2\lambda\theta_{j}\\ 逻辑回归:J(\theta)'=\frac{1}{m}\sum_{i=1}^{M}(H(x^{(i)})-y^{(i)})x_j^{(i)}+\frac{\lambda}{m}\theta_j 线J(θ)=m1i=1M(H(x(i))y(i))xj(i)+2λθjJ(θ)=m1i=1M(H(x(i))y(i))xj(i)+mλθj

神经网络是怎么拟合非线性函数

and

x1,x2∈{0,1}x1,x2\in\{ 0,1\}x1,x2{0,1}

-30
+20
+20
+1
a
x1
x2

hθ(x)=g(−30+20x1+20x2)h_{\theta}(x)=g(-30+20x1+20x2)hθ(x)=g(30+20x1+20x2)

x1x2hθ(x)h_{\theta}(x)hθ(x)
00g(−30+0+0)≈0g(-30+0+0)\approx0g(30+0+0)0
01g(−30+0+20)≈0g(-30+0+20)\approx0g(30+0+20)0
10g(−30+20+0)≈0g(-30+20+0)\approx0g(30+20+0)0
11g(−30+20+20)≈1g(-30+20+20)\approx1g(30+20+20)1

or

x1,x2∈{0,1}x1,x2\in\{ 0,1\}x1,x2{0,1}

-10
+20
+20
+1
a
x1
x2

hθ(x)=g(−10+20x1+20x2)h_{\theta}(x)=g(-10+20x1+20x2)hθ(x)=g(10+20x1+20x2)

x1x2hθ(x)h_{\theta}(x)hθ(x)
00g(−10+0+0)≈0g(-10+0+0)\approx0g(10+0+0)0
01g(−10+0+20)≈1g(-10+0+20)\approx1g(10+0+20)1
10g(−10+20+0)≈1g(-10+20+0)\approx1g(10+20+0)1
11g(−10+20+20)≈1g(-10+20+20)\approx1g(10+20+20)1

or

x1,x2∈{0,1}x1,x2\in\{ 0,1\}x1,x2{0,1}

+10
-20
+1
a
x1

hθ(x)=g(+10−20x1)h_{\theta}(x)=g(+10-20x1)hθ(x)=g(+1020x1)

x1hθ(x)h_{\theta}(x)hθ(x)
0g(10+0)≈1g(10+0)\approx1g(10+0)1
1g(10−20)≈0g(10-20)\approx0g(1020)0

xnor

太弱智了

-30
+20
+20
+10
-20
-20
-10
+20
+20
+1
a1
x1
x2
a2
+1
a3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值