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_ ...
随机推荐
- Java 正则校验整数,且小数点只能是2位
//金额验证 public static boolean isNumber(String str){ Pattern pattern=Pattern.compile("^(([1-9]{1} ...
- Java Web(十) 分页功能
分页 分页的使用非常普遍,现在一步步的把分页功能实现出来,先看看已经写好的效果: 该页面的所有数据都存放在一个javaBean对象(PageBean)里,每次访问该页面时,Serlvet就会把page ...
- laravel管理员表中的模型
<?php namespace App; use App\Model; use Illuminate\Foundation\Auth\User as Authenticatable; class ...
- Five Great .NET Framework 4.5 Features (五大特性)
[译].Net 4.5 的五项强大新特性 本文原文:Five Great .NET Framework 4.5 Features译者:冰河魔法师 目录 介绍 特性一:async和await 特性二 ...
- bluemix部署(一)简单测试,搭建样本flask程序。
1.注册bluemix 这个略 2.登录bluemix 这个也略 3.创建组织 这个确实是和我们的思想不一样.要创建组织.为什么呢?国内的很多服务都没见过组织这个概念.貌似神符合一个中国人是条龙,十个 ...
- SpringBoot + Security实现权限控制
网上找了好几个,因为各种原因不太行,下面这个亲测可行 参考:https://blog.csdn.net/u012702547/article/details/54319508 基于SpringBoot ...
- RabbitMQ 队列、消息持久化
RabbitMQ的消息队列的持久化是一个很不错的功能,设置也非常简单.如下代码: 1.设置队列持久化(在声明队列的时候设置) channel.QueueDeclare(queue: "q.l ...
- C++基础知识:操作符重载
1.C++标准库: C++标准库并不是C++语言的一部分C++标准库是由C++语言编写而成的类库和函数的集合C++标准库中定义的类和对象都位于std命名空间中C++标准库的头文件都不带.h后缀C++标 ...
- Win10安装mysql-8.0.11-winx64详细步骤
安装 mysql-8.0.11-winx64 https://blog.csdn.net/qq_20788055/article/details/80372577
- AOP 实现自定义注解
1.自定义注解2.编写 AOP3.测试 1.自定义注解 package com.base.yun.spring.aop; import java.lang.annotation.Documented; ...