李宏毅机器学习 03梯度下降

误差从哪里来

Average Error随着模型复杂增加呈指数上升趋势。更复杂的模型并不能给测试集带来更好的效果,而这些Error的主要有两个来源,分别是 bias和 variance

Error = Bias + Variance
Error反映的是整个模型的准确度,Bias反映的是模型在样本上的输出与真实值之间的误差,即模型本身的精准度,Variance反映的是模型每一次输出结果与模型输出期望之间的误差,即模型的稳定性。

误差的期望值可以分解为三个部分:样本噪音、模型预测值的方差、预测值相对真实值的偏差
误差的期望值 = 噪音的方差 + 模型预测值的方差 + 预测值相对真实值的偏差的平方
在这里插入图片描述
估测变量x的方差
在这里插入图片描述
在这里插入图片描述
用同一个model,在不同的训练集中找到的 f* 就是不一样的

这就像在靶心上射击,进行了很多组(一组多次)。现在需要知道它的散布是怎样的,将100个宇宙中的model画出来
在这里插入图片描述

模型判断

偏差大-欠拟合:
如果模型没有很好的训练集,就是偏差过大,也就是欠拟合
方差大-过拟合:
如果模型没有很好的训练集,即再训练集上得到很小的错误,但在测试集上得到大的错误,这意味着模型可能是方差比较大,就是过拟合。
对于欠拟合和过拟合,是用不同的方式来处理的

模型选择

偏差和方差之间就需要一个权衡
想选择的模型,可以平衡偏差和方差产生的错误,使得总错误最小
交叉验证
在这里插入图片描述
N-折交叉验证
将训练集分成N份,比如分成3份。
在这里插入图片描述
比如在三份中训练结果Average错误是模型1最好,再用全部训练集训练模型1。

什么是梯度下降法?

Review: 梯度下降法
在回归问题的第三步中,需要解决下面的最优化问题:

θ ∗ = a r g θ m i n L ( θ ) θ^∗= arg_θ minL(θ) θ=argθminL(θ)

  • LL:lossfunction(损失函数)

  • θ :parameters(参数)
    这里的parameters是复数,即θ 指代一堆参数, w 和 b 。

我们要找一组参数θ ,让损失函数越小越好,这个问题可以用梯度下降法解决:
假设θ 有里面有两个参数 θ 1 θ_1 θ1, θ 2 θ_2 θ2

在这里插入图片描述
η 叫做Learning rates(学习速率)
在这里插入图片描述
Tip1:调整学习速率
小心翼翼地调整学习率
自适应学习率
举一个简单的思想:随着次数的增加,通过一些因子来减少学习率
- 通常刚开始,初始点会距离最低点比较远,所以使用大一点的学习率
- update好几次参数之后呢,比较靠近最低点了,此时减少学习率
- η t = η t t + 1 \eta^t =\frac{\eta^t}{\sqrt{t+1}} ηt=t+1 ηt ,t 是次数。随着次数的增加, η t \eta^t ηt减小
- 学习率不能是一个值通用所有特征,不同的参数需要不同的学习率

Adagrad 算法
Adagrad 是什么?
每个参数的学习率都把它除上之前微分的均方根。解释:

普通的梯度下降为:
在这里插入图片描述
w 是一个参数
Adagrad 可以做的更好:
在这里插入图片描述
σ t σ^t σt:之前参数的所有微分的均方根,对于每个参数都是不一样的。

Adagrad举例
下图是一个参数的更新过程
在这里插入图片描述

梯度下降的限制
在这里插入图片描述
容易陷入局部极值
还有可能卡在不是极值,但微分值是0的地方
还有可能实际中只是当微分值小于某一个数值就停下来了,但这里只是比较平缓,并不是极值点

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值