Keras训练神经网络进行分类并使用GridSearchCV进行参数寻优
Posted Data+Science+Insight
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Keras训练神经网络进行分类并使用GridSearchCV进行参数寻优相关的知识,希望对你有一定的参考价值。
Keras训练神经网络进行分类并使用GridSearchCV进行参数寻优
在机器学习模型中,需要人工选择的参数称为超参数。比如随机森林中决策树的个数,人工神经网络模型中隐藏层层数和每层的节点个数,正则项中常数大小等等,他们都需要事先指定。超参数选择不恰当,就会出现欠拟合或者过拟合的问题。而在选择超参数的时候,有两个途径,一个是凭经验微调,另一个就是选择不同大小的参数,带入模型中,挑选表现最好的参数。
GridSearchCV的名字其实可以拆分为两部分,GridSearch和CV,即网格搜索和交叉验证。这两个名字都非常好理解。网格搜索,搜索的是参数,即在指定的参数范围内,按步长依次调整参数,利用调整的参数训练学习器,从所有的参数中找到在验证集上精度最高的参数,这其实是一个训练和比较的过程。
GridSearchCV可以保证在指定的参数范围内找到精度最高的参数,但是这也是网格搜索的缺陷所在,他要求遍历所有可能参数的组合,在面对大数据集和多参数的情况下,非常耗时。
- GridSearchCV,它存在的意义就是自动调参,只要把参数输进去,它能够返回最好的模型参数组合。
- GridSearchCV用于系统地遍历多种参数组合,通过交叉验证确定最佳效果参数。
# 加载需要的包和函数
# Load libraries
import numpy as np
from keras import models
from keras import layers
from keras.wrappers.scikit_learn import KerasClassifier
from sklear
以上是关于Keras训练神经网络进行分类并使用GridSearchCV进行参数寻优的主要内容,如果未能解决你的问题,请参考以下文章
keras构建前馈神经网络(feedforward neural network)进行多分类模型训练学习
使用Python,Keras和TensorFlow训练第一个CNN