lesson3 overfitting -fastai



VGG:3*3
Imagenet:7*7,9*9
论文中证明3*3更胜一筹,但是用多少并没有定论
微调:删掉模型的中间
只对最后一层微调:model.pop,就删掉了最后一层
如何决定训练多少层?:·看论文上的可视化结构,清楚每一层的语义层次,哪一层的语义操作和自己的模型相关 ·试验
欠拟合:使用的模型不够复杂不够强大到能完成你的任务 或者 没有足够的参数;
过拟合:参数太多,训练时间太长,训练集上的准确率远远高于测试集和验证集,意味着模型变得过分严格的识别训练集上的内容
如何把vgg的权重加到去掉dropout的vgg模型中?:return 二分之一的权重~没有dropout但相当于dropout
卷积层是进行计算的地方,dense layer是内存所在地
避免过拟合但是不删除重要信息:1增加更多数据 2数据扩增 3使用更多泛化结构 4正则化,如dropout,L2正则化
---》由于数据扩增,我们不能进行任何的与计算,因此需要重新计算卷积层而耗费时间
---》何时需要数据扩增?比如猫狗,不需要上下反转,因为从来没有看到过倒立着的猫狗;但是可以旋转、resize,因为由于拍摄方式不同,可以得到这些图片
---》对图片变为黑白算是一种扩增吗?:不,因为kaggle的图片就是彩色的,颜色也是一种重要信息,去掉了颜色,就把判断过程复杂化了
---》可以在输入图片处dropout吗?:简单的说是ok的,但是删除模型信息和删除输入信息是不同的,前者可以有效避免过拟合,后面会丢失信息
建立batches:使用数据生成器image.ImageDtaGenerator
验证集没有数据增加和变动,是持续固定的:因为它是检查的标准
batch normalnization:数值-均值/标准差, 给数值不同的权重,对loss的影响也很不同;当输入数值差距很大时,特别是使用softmax,会让朕个模型变得很脆弱,意味着很难学会获得最好的权重组
---》总是需要标准化输入信息
---》实际情况中,不仅要标准化输入值,也要标准化激活值(但是不仅仅是-均值/标准差,因为这样简单的操作并不会起作用,SGD是很难对付的,如果它想要提高某个权重,但是你想通过-均值/标准差来对抗它,那么SGD又会重新提高该权重
---》采用bacthnorm:(1)快十倍,因为一般会使用高10倍的学习率 (2)能够在不需要删除任何模型信息的情况下,减少过拟合
---》batchnorm的实现:像标准化输入层一样标准化中间层,同时增加了两个可训练的参数,其中v一个参数乘以所有的激活值,另一个参数和所有的激活值相加;这两个参数也会融合到梯度计算中,因此现在模型知道它能够重新调整所有权重(在不需要把任何一个权重删除的情况下)
从而有效的控制权重 ~ 放在dense layers之后,当作用于卷积层时,需要BatchNormalization(axis=1)
np.expand_dims:keras卷积操作中,希望又一定量的通道,所以对于灰度图的输入,需要要用~来加入empty dimension
Flatten():讲输入的图片转化为向量
epoch=1,学习率设为0.1,epoch=2,学习率设为0.01,即epoch增长的同时,降低学习率;在每个epoch的多个batch中,观察知道出现过拟合时停止学习率的减小
Ensembing(集合):建立多个版本的模型然后把他们组合起来,来提高每个模型的性能 -- 即把不同学习率的model组合,最后return model
同一个model可以获取6个:相同的方式进行训练,但是以不同的随机起点开始
---》all_preds.shape为(6,10000,10),即10000个输入测试图片,10个输出,6个model
---》all_preds.mean就是找出不同model的错误点,计算平均值
lesson3 overfitting -fastai的更多相关文章
- 局部加权回归、欠拟合、过拟合(Locally Weighted Linear Regression、Underfitting、Overfitting)
欠拟合.过拟合 如下图中三个拟合模型.第一个是一个线性模型,对训练数据拟合不够好,损失函数取值较大.如图中第二个模型,如果我们在线性模型上加一个新特征项,拟合结果就会好一些.图中第三个是一个包含5阶多 ...
- 11 Clever Methods of Overfitting and how to avoid them
11 Clever Methods of Overfitting and how to avoid them Overfitting is the bane of Data Science in th ...
- overfitting过拟合
来自:https://www.zhihu.com/question/32246256 其实不完全是噪声和假规律会造成过拟合. (1)打个形象的比方,给一群天鹅让机器来学习天鹅的特征,经过训练后,知道了 ...
- over-fitting、under-fitting 与 regularization
机器学习中一个重要的话题便是模型的泛化能力,泛化能力强的模型才是好模型,对于训练好的模型,若在训练集表现差,不必说在测试集表现同样会很差,这可能是欠拟合导致:若模型在训练集表现非常好,却在测试集上差强 ...
- 过拟合(Overfitting)和正规化(Regularization)
过拟合: Overfitting就是指Ein(在训练集上的错误率)变小,Eout(在整个数据集上的错误率)变大的过程 Underfitting是指Ein和Eout都变大的过程 从上边这个图中,虚线的左 ...
- 过度拟合(overfitting)
我们之前解决过一个理论问题:机器学习能不能起作用?现在来解决另一个理论问题:过度拟合. 正如之前我们看到的,很多时候我们必须进行nonlinear transform.但是我们又无法确定Q的值.Q过小 ...
- lesson3:使用java代码的方式对不能识别的协议进行压力测试
在我们的实际环境中,我们所使用的协议肯定不只是http的方式,对于rpc等调用协议,目前jmeter没有相应的sampler支持,这时就需要通过引入我们自己写的jar包的方式来解决这个问题.例如:当我 ...
- overfitting
当模型复杂度上升时,可控制参数变多,VC dimension变大, 当VC dimension过大时,虽然Ein很小,但是Eout很大,产生overfitting 比喻:开车 开太快 ...
- Overfitting&Underfitting Problems
这次根据结合Google的翻译果然速度快上许多,暂时休息,晚上在传一个exm2的随笔. 关于过度拟合下的问题 考虑从x∈R预测y的问题,下面的最左边的图显示了将\(y=\theta_0+\theta_ ...
随机推荐
- sql group by max
SELECT * , REPLACE(TDFG.xdfd,'doc_111','') GBFROM ( SELECT * FROM ...
- asp.net mvc中动作方法的重定向
简单介绍一下mvc控制器下怎样重定向的其它页面 1.方式1:Response.Redirect重定向 //Response.Redirect方式跳转 Response.Redirect("~ ...
- Ubuntu云服务器下mysql授权远程登陆
1)首先以 root 帐户登陆 MySQL(在授权之前要确保3306端口开放)2)创建远程登陆用户并授权 > grant all PRIVILEGES on discuz.* to zhan@' ...
- Shell编程积累 zhuan
在新的shell里执行程序 cd /home/lq/Server/anew-lstm_scriptmatlab -nodesktop -singleCompThred -r 'aStart' ,qui ...
- decltype的参数是左值时,得到一个引用类型
int* a = new int(10); decltype(*a) 得到的是引用类型:int&
- Win10系列:C#应用控件基础2
HyperlinkButton控件 HyperlinkButton控件是以超链接文本形式显示的按钮,可以为其NavigateUri属性设置一个URI地址,当单击超链接文本按钮时,将会使用浏览器打开在H ...
- 【oracle】一些的常用命令
命令行连接oracle sqlplus 回车 分别输入用户名和密码 命令行重启oracle数据库 sqlplus /nolog conn 账号/密码 as sysdba shutdow immedi ...
- UVA 11990 `Dynamic'' Inversion CDQ分治, 归并排序, 树状数组, 尺取法, 三偏序统计 难度: 2
题目 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&a ...
- 搭建Hadoop2.7.1的分布式集群
Hadoop 2.7.1 (2015-7-6更新),hadoop的环境配置不是特别的复杂,但是确实有很多细节需要注意,不然会造成许多配置错误的情况.尽量保证一次配置正确防止反复修改. 网上教程有很多关 ...
- EF-使用迁移技术让程序自动更新数据库表结构
承接上一篇文章:关于类库中EntityFramework之CodeFirst(代码优先)的操作浅析 本篇讲述的是怎么使用迁移技术让程序自动通过ORM框架将模型实体类结构映射到现有数据库,并新增或修改与 ...