《机器学习从入门到入职》讨论隐藏层对模型的影响-增加层深度/层数

代码链接:

CSDN:

https://download.csdn.net/download/qq_38649386/12668357

 

实验效果:

结论:

层数/深度 增加的效果优于 宽度增加的效果

 

遇到的问题及解决方法:

1.for 循环内模型建立有问题:本来要建立四个不同模型变成同一个模型层数叠加

错误模型结构:

《机器学习从入门到入职》讨论隐藏层对模型的影响-增加层深度/层数_第1张图片

正确代码:

# 分别列举增加不同神经元数量及层数-【神经元数量,层数】
for i,j in enumerate([[512,1],[1024,2],[512,4],[1024,4]]):
    # 建立神经网络
    model = Sequential()
    model.add(Dense(N_HIDDEN, input_shape=(RESHAPED,)))
    model.add(Activation('relu'))

把模型建立放在for循环内,不要放在外面

 

2.输出模型信息/保存模型结构图

    # summary()用于显示模型详细信息
    #model.summary()
    # plot_model函数用于绘制神经网络模型结构
    # 输入所需要绘制模型的model
    # 输出图片为model.png,并展示各网络层的大小
    plot_model(model, to_file='model_SD_{0}_{1}.png'.format(j[0],             
    int(j[1])+2),show_shapes=True)

便于查看模型结构问题,及优化

3.代码问题

model.add(Dense(int(j[0]/j[1])))

512/2=256

1024/2=512

512/4=128

1024/4=256

每层添加的神经元数量

4.怎么计算模型param

《机器学习从入门到入职》讨论隐藏层对模型的影响-增加层深度/层数_第2张图片

你可能感兴趣的:(keras,神经网络,深度学习)