mlp调参问题,unit如何取值?

来源:7-4 实战(一)

谢思阳

2020-03-08

有没有规律可循,unit的取值如何确定?

写回答

1回答

flare_zhao

2020-03-08

同学你好,关于mlp中隐藏层的数量以及神经元数量的确定,这是很多学者也很感兴趣的问题,有一些学者给出了一一些经验公式,但当你解决的任务多了,最后通常会发现没有一个公式能推算出不同情况下最合理的结构。原因在于:你可能是第一个尝试使用神经网络解决某个特定问题的人。在你之前,没有人解决它。因此,没有人能告诉你有关如何配置网络的答案。

当然,我们在进行设计的时候,可以遵行一些原则:1、首要目标是建立一个有效的模型,获得好的训练与预测结果。通常来说,相对复杂的模型可以达到不错的效果。当然,模型过于复杂可能会导致过拟合2、在效果较好的情况下,尽可能让模型简单,这样的话模型通用性会更强,运算时间也会更短。

以上设计思路是通用的,这里flare老师也提供一些学者提出的设计原则:

这是很经典的Kolmogorov定理,首先Kolmogorov也提到结构的确定是没有一个很简单的答案的。其次,当我们对数据做了预处理,输入数据范围为0-1,有n维输入,最简单的结构是1个隐藏层,包含2(n+1)个神经元。但通常这种结构因为过于简单,可能要训练很久才能达到较好的效果。那我们可以基于这个理论做一些调整,比如增加一层,第二层的神经元数量是前一层的二分之一。总之,最后要根据训练集与测试集的效果来确定最优解,并综合考虑模型复杂度。

//img.mukewang.com/szimg/5e64f29c09565b8603700488.jpg


1
0

Python3入门人工智能 掌握机器学习+深度学习

人工智能基础全方位讲解,构建完整人工智能知识体系,带你入门AI

1946 学习 · 594 问题

查看课程