DL之DNN:利用MultiLayerNetExtend模型【6*100+ReLU+SGD,dropout】对Mnist数据集训练来抑制过拟合

简介: DL之DNN:利用MultiLayerNetExtend模型【6*100+ReLU+SGD,dropout】对Mnist数据集训练来抑制过拟合

输出结

image.png

image.png

 

设计思

 image.png

image.png


核心代

class RMSprop:

   def __init__(self, lr=0.01, decay_rate = 0.99):

       self.lr = lr

       self.decay_rate = decay_rate

       self.h = None

     

   def update(self, params, grads):

       if self.h is None:

           self.h = {}

           for key, val in params.items():

               self.h[key] = np.zeros_like(val)

         

       for key in params.keys():

           self.h[key] *= self.decay_rate

           self.h[key] += (1 - self.decay_rate) * grads[key] * grads[key]

           params[key] -= self.lr * grads[key] / (np.sqrt(self.h[key]) + 1e-7)

class Nesterov:

   def __init__(self, lr=0.01, momentum=0.9):

       self.lr = lr

       self.momentum = momentum

       self.v = None

     

   def update(self, params, grads):

       if self.v is None:

           self.v = {}

           for key, val in params.items():

               self.v[key] = np.zeros_like(val)

         

       for key in params.keys():

           self.v[key] *= self.momentum

           self.v[key] -= self.lr * grads[key]

           params[key] += self.momentum * self.momentum * self.v[key]

           params[key] -= (1 + self.momentum) * self.lr * grads[key]

use_dropout = True  

dropout_ratio = 0.2

network = MultiLayerNetExtend(input_size=784, hidden_size_list=[100, 100, 100, 100, 100, 100],

                             output_size=10, use_dropout=use_dropout, dropout_ration=dropout_ratio)

trainer = Trainer(network, x_train, t_train, x_test, t_test, epochs=301, mini_batch_size=100,

                 optimizer='sgd', optimizer_param={'lr': 0.01}, verbose=True)  

trainer.train()                                                                

train_acc_list, test_acc_list = trainer.train_acc_list, trainer.test_acc_list


相关文章
|
3月前
|
机器学习/深度学习 算法
编译DNN模型
【8月更文挑战第9天】编译DNN模型。
31 1
|
3月前
|
机器学习/深度学习 算法 搜索推荐
支付宝商业化广告算法问题之在DNN模型中,特征的重要性如何评估
支付宝商业化广告算法问题之在DNN模型中,特征的重要性如何评估
|
机器学习/深度学习
时间序列预测模型 MLP DNN网络详解 完整代码
时间序列预测模型 MLP DNN网络详解 完整代码
173 0
|
机器学习/深度学习 算法 PyTorch
OpenCV-图像着色(采用DNN模块导入深度学习模型)
OpenCV-图像着色(采用DNN模块导入深度学习模型)
182 0
来自OpenCv的DNN模块助力图像分类任务
来自OpenCv的DNN模块助力图像分类任务
185 0
来自OpenCv的DNN模块助力图像分类任务
|
机器学习/深度学习 数据库 SQL
|
机器学习/深度学习
DNN 模块MVP 模式学习中的一些问题
为了让View部分可以测试,我们使用interface来分离View和业务逻辑的耦合。 我的问题是: Q:对于在aspx.design.cs中声明的控件,我们也需要在interface中声明吗?如果要声明,那么在aspx.design.cs中的控件声明是不是就是interface的实现? 我们不能在interface直接声明跟aspx.design.cs控件同名的变量,我们应该认为aspx.design.cs中的控件就是view的一部分,我们无法控制。
500 0
|
机器学习/深度学习 前端开发
介绍一些免费的DNN模块
网址:http://oliverhine.com/DotNetNuke.aspx Administration Advanced Control Panel Free fully featured ajax enabled control panel replacement for Dot...
851 0
|
机器学习/深度学习
如何使用NAnt 自动打包DNN模块 之一
一、安装NAnt 每次开发完毕一个DNN模块的版本,打包DNN模块是一件很繁琐的事情。更重要的是,为每一个发布的版本做一个安装包如果用手工管理和容易出错。这里介绍一下如何使用NAnt自动打包模块。 首先需要下载NAnt,http://sourceforge.net/projects/nant/ 下载之后解压这个ZIP包 解压之后的目录重名名为NAnt,拷贝到c:下面。
973 0
|
机器学习/深度学习 SEO
介绍几个DNN SEO模块,可免费试用的
iFinity Url Master - Get the best SEO results by taking control of your DNN urls iFinity Tagger - Tag your DNN content and create specific, target...
632 0

相关实验场景

更多