MLK | Keras 基础模型调参指南

本文是 MLK 专栏关于Keras模型调参的教程,介绍了从Loss Function切换到categorical_crossentropy提高模型效果,探讨了batch_size对训练的影响,发现并非越大越好。此外,通过实验揭示了增加深度层并不总是提升性能,调整激活函数为relu能显著改善结果。优化器如Adam也有良好表现。Dropout作为正则化手段,能有效减少过拟合,但过度使用可能导致效果下降。
摘要由CSDN通过智能技术生成


640?wx_fmt=png

MLK,即Machine Learning Knowledge,本专栏在于对机器学习的重点知识做一次梳理,便于日后温习,这次主要讲下Keras 模型的调参。


? 前情回顾


上一篇文章讲解了如何简易入门Keras,大致给出了一个深度学习模型,但对于模型如何调参就没有太过于深入讲解,今天继续写一篇文章来整理下 Keras 深度学习模型的调参教程,希望可以对大家有所帮助。


00- 初始化一个NN模型

我们还是使用 MNIST 数据集,这一次训练和测试数据的样本量都一样,都是10000。

# 导入相关库
import numpy as np
from keras.models import Sequential
from keras.layers.core import Dense,Dropout,Activation
from keras.optimizers import SGD,Adam
from keras.utils import np_utils
from keras.datasets import mnist

# 封装数据读取及预处理的代码
def load_data():
  (x_train,y_train),(x_test,y_test)=mnist.load_data()
   number=10000
   x_train=x_train[0:number]
   y_train=y_train[0:number]
   x_train=x_train.reshape(number,28*28)
   x_test=x_test.reshape(x_test.shape[0],28*28)
   x_train=x_train.astype('float32')
   x_test=x_test.astype('float32')
   y_train=np_utils.to_categorical(y_train,10)
   y_test=np_utils.to_categorical(y_test,10)
   x_train=x_train
   x_test=x_test
   x_train=x_train/255
   x_test=x_test/255
   return (x_train,y_train),(x_test,y_test)

# 调用方法
(x_train,y_train),(x_test,y_test)=load_data()
print(x_train.shape)
print(x_test.shape)

'''
随便初始化一个NN模型
'''
model=Sequential()
model.add(Dense(input_dim=28*28,units=633,activation='sigmoid'))
model.add(Dense(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值