Error & Gradient Descent

误差与梯度下降

在机器学习中,我们用训练数据集去训练(学习)一个model(模型),通常的做法是定义一个Loss function(误差函数),通过将这个Loss(或者叫error)的最小化过程,来提高模型的性能(performance)。然而我们学习一个模型的目的是为了解决实际的问题(或者说是训练数据集这个领域(field)中的一般化问题),单纯地将训练数据集的loss最小化,并不能保证在解决更一般的问题时模型仍然是最优,甚至不能保证模型是可用的。这个训练数据集的loss与一般化的数据集的loss之间的差异就叫做generalization error。

一、Error

Error 主要来源于 Bias 和 Variance。
Error反映的是整个模型的准确度,Bias描述的是根据样本拟合出的模型的输出预测结果的期望与样本真实结果的差距,要想在bias上表现好,就要多加模型的参数,但这样容易过拟合(Overfitting)
Varience描述的是样本上训练出来的模型在测试集上的表现,要想在variance上表现好,就要简化模型,减少模型的参数,但这样容易欠拟合(Unfitting)

例如:

一次打靶子游戏

在这里插入图片描述

Low Bias High Variance :这种情景,所有拟合模型都围绕中间那个 correct target 均匀分布,但又不够集中,很散。这说明这个拟合模型过于复杂,不具有普适性,这就是过拟合(Overfitting)

High Bias Low Variance:这种情景,对应就是点都打的很集中,但不是准心不足,说明这个模型的参数太少了,复杂度太低,这就是欠拟合(Unfitting)

小结:总之Bias和Variance是针对Generalization(一般化,泛化)来说的,Bais 和 Variance 的选择是一个 Trade-off。

二、Gradient Descent

梯度下降法简单来说就是一种寻找目标函数最小化的方法。

经典梯度下降法(GD)其实是通过迭代遍历的方式寻找最优解,两个关键点是如何取初始值和如何取学习速率。

优点:Lost func若为凸函数,则能保证收敛到全局最优,若为非凸函数,能保证收敛到局部最优

缺点:

  • 每个epoch在整个数据集上训练一次,会很慢

  • 训练数量较大时,需要较大内存

随机梯度下降法(SGD)

在每次更新时用1个样本,可以看到多了随机两个字,随机也就是说我们用样本中的一个例子来近似我所有的样本,来调整θ,因而随机梯度下降是会带来一定的问题,因为计算得到的并不是准确的一个梯度,**对于最优化问题,凸问题,**虽然不是每次迭代得到的损失函数都向着全局最优方向, 但是大的整体的方向是向全局最优解的,最终的结果往往是在全局最优解附近。

两者对比
在这里插入图片描述
后续继续补充……

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一城山水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值