| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 组队学习李宏毅的深度学习-4 -> 正文阅读 |
|
[人工智能]组队学习李宏毅的深度学习-4 |
一、学习任务 ?二、完成任务 Task03:误差和梯度下降 ?Part1:任务综述 ? ? ?通过2天观看视频5-8,主要学习了误差和梯度下降两个方面的内容。第一个方面了解了误差的来源,估测以及如何判断,关于模型的选择问题。另一方面的梯度下降,学习相关定义,关于Adagrad算法,以及其存在的矛盾,随机梯度下降法的理论基础,特征缩放,最后还有关于它的局限性。这次任务的学习内容繁重。 Part2: 主要内容笔记
? ? ? ? Average error随着模型复杂增加呈指数上升趋势。更加复杂的模型并不能给测试集带来更好的效果,主要原因是bias和variance 那么bias、variance、error是什么呢?-查阅于知乎 ? ? ? ? ?举一个例子,一次打靶实验,目标是为了打到10环,但是实际上只打到了7环,那么这里面的Error就是3。具体分析打到7环的原因,可能有两方面:一是瞄准出了问题,比如实际上射击瞄准的是9环而不是10环;二是枪本身的稳定性有问题,虽然瞄准的是9环,但是只打到了7环。那么在上面一次射击实验中,Bias就是1,反应的是模型期望与真实目标的差距,而在这次试验中,由于Variance所带来的误差就是2,即虽然瞄准的是9环,但由于本身模型缺乏稳定性,造成了实际结果与模型期望之间的差距。 ? ? ?在一个实际系统中,Bias与Variance往往是不能兼得的。如果要降低模型的Bias,就一定程度上会提高模型的Variance,反之亦然。造成这种现象的根本原因是,我们总是希望试图用有限训练样本去估计无限的真实数据。当我们更加相信这些数据的真实性,而忽视对模型的先验知识,就会尽量保证模型在训练样本上的准确度,这样可以减少模型的Bias。但是,这样学习到的模型,很可能会失去一定的泛化能力,从而造成过拟合,降低模型在真实数据上的表现,增加模型的不确定性。相反,如果更加相信我们对于模型的先验知识,在学习模型的过程中对模型增加更多的限制,就可以降低模型的variance,提高模型的稳定性,但也会使模型的Bias增大。Bias与Variance两者之间的trade-off是机器学习的基本主题之一,机会可以在各种机器模型中发现它的影子。 ? ? ? 具体到K-fold Cross Validation的场景,其实是很好的理解的。首先看Variance的变化,还是举打靶的例子。假设我把抢瞄准在10环,虽然每一次射击都有偏差,但是这个偏差的方向是随机的,也就是有可能向上,也有可能向下。那么试验次数越多,应该上下的次数越接近,那么我们把所有射击的目标取一个平均值,也应该离中心更加接近。更加微观的分析,模型的预测值与期望产生较大偏差,在模型固定的情况下,原因还是出在数据上,比如说产生了某一些异常点。在最极端情况下,我们假设只有一个点是异常的,如果只训练一个模型,那么这个点会对整个模型带来影响,使得学习出的模型具有很大的variance。但是如果采用k-fold Cross Validation进行训练,只有1个模型会受到这个异常数据的影响,而其余k-1个模型都是正常的。在平均之后,这个异常数据的影响就大大减少了。相比之下,模型的bias是可以直接建模的,只需要保证模型在训练样本上训练误差最小就可以保证bias比较小,而要达到这个目的,就必须是用所有数据一起训练,才能达到模型的最优解。因此,k-fold Cross Validation的目标函数破坏了前面的情形,所以模型的Bias必然要会增大。 所以:来源一:bias(一般见于underfitting) ? ? ? ?简单的模型受到不同训练集的影响比较小,所以简单的模型一般Variance比较小,Bias比较大。复杂的模型对训练集敏感,Variance一般比较大,散布比较开。 ?2.模型的选择 ?为什么会有很多模型呢? ? ? ? ?利用不同训练集训练得到的模型是不一样的。model的复杂程度不同,一次的五次的是不一样的。比较简单的模型,方差是比较小的(就像设计每次射击都设置集中在一个比较小的区域捏),偏差大,简单的模型受到训练集的影响也比较小;比较复杂的模型,方差就较大,偏差小。 ? ? ?那么,如何选择一个好的模型呢? ? ? ? ?可以平衡bias和variance带来的error,使得总error最小: ?3.梯度下降 ? ? ? ? 关于梯度下降,在前面的任务2中介绍Regression 回归:案例研究中有提到过。其中有个学习速率的概念。
? ? ? lr是一个重要的超参数,lr太小,损失函数下降非常慢;lr太大,损失函数下降很快,但是很快就卡住不下降了。所以选择一个合适的学习率对于训练时间和效果都很重要。 ?调整学习速率 ?综上可以了解
? ? ? ?那么我们知道恒定的学习率可能并不好,可以通过一些因子来调整学习率。刚开始可以使用大一点的学习率,比较靠近最低点时,减小学习率。 随机梯度下降法 ? ? ? 普通的梯度下降法在每次更新参数的时候,是需要处理训练集的所有数据。而随机梯度下降法每次更新只需要随机选择某一个样本进行损失函数计算并update梯度,这样速度会大大提高。整体前进的方向是对的。 笔记总结:本次笔记是结合开源笔记,视频同步学习后的总结笔记。有些内容还没有很深入,有些知识点需要进一步扩充才能理解透彻。后继会从其他笔记中扩展。主要是跟着李宏毅老师的学习视频的进度。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/27 18:26:31- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |