Datawhale X 李宏毅苹果书 AI夏令营 task3笔记

实践方法论

配套视频:https://www.bilibili.com/video/BV1JA411c7VT/?p=4

一、模型偏差

如果模型过于简单,集合太小了,没有包含任何一个函数,可以让损失变低的函数不在模型可以描述的范围内。这种情况就是想要在大海里面捞针(一个损失低的函数),结果针根本就不在海里。

这个时候重新设计一个模型,给模型更大的灵活性。

二、优化问题

方法:梯度优化(详见task1笔记)。

问题:

梯度下降这一个算法无法找出损失低的函数,梯度下降是解一个优化的问题,找到 θ∗ 就结束了。但 θ∗ 的损失不够低。

增加模型的灵活性

优化的方法:

a.优化过程中会卡在局部最小值

b.模型的灵活性足够大

优化方法的问题

判断的方法:通过比较不同的模型来判断模型现在到底够不够大。

三、过拟合

举一个极端的例子,这是训练集。假设根据这些训练集,某一个很废的机器学习的方法找出了一个一无是处的函数。这个一无是处的函数,只要输入 x 有出现在训练集里面,就把它对应的 y 当做输出。如果 x 没有出现在训练集里面,就输出一个随机的值。这个函数啥事也没有干,其是一个一无是处的函数,但它在训练数据上的损失是 0。把训练数据通通丢进这个函数里面,它的输出跟训练集的标签是一模一样的,所以在训练数据上面,这个函数的损失可是 0 呢,可是在测试数据上面,它的损失会变得很大,因为它其实什么都没有预测。

模型灵活导致的问题

数据增强:

增加数据

解决过拟合的问题的方法:a.加训练集 b.模型一些限制,让模型不要有过大的灵活性

全连接网络

卷积神经网络(CNN)CNN 是一种比较没有灵活性的模型,其是针对图像的特性来限制模型的灵活性。所以全连接神经网络,可以找出来的函数所形成的集合其实是比较大的,CNN 所找出来的函数,它形成的集合其实是比较小的,其实包含在全连接网络里面的,但是就是因为CNN 给了,比较大的限制,所以 CNN 在图像上,反而会做得比较好。

对模型增加限制

四、交叉验证

训练集和验证集

验证损失:在实现上,不太可能这么做,因为公开数据集的结果对模型的选择,可能还是会有些影响的。理想上就用验证集挑就好,有过比较好的基线(baseline)算法以后,就不要再去动它了,就可以避免在测试集上面过拟合。但是这边会有一个问题,如果随机分验证集,可能会分得不好,分到很奇怪的验证集,会导致结果很差,如果有这个担心的话,可以用 k 折交叉验证。k 折交叉验证就是先把训练集切成 k 等份。在这个例子,训练集被切成 3 等份,切完以后,拿其中一份当作验证集,另外两份当训练集,这件事情要重复 3 次。即第一份第 2 份当训练,第 3 份当验证;第一份第 3 份当训练,第 2 份当验证;第一份当验证,第 2 份第 3 份当训练。

k 折交叉验证

五、不匹配

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值