【机器学习】多层感知机如何调超参数

参考国外高赞经验贴文章:multi-layer perceptron (MLP) architecture: criteria for choosing number of hidden layers and size of the hidden layer? [closed] (选择隐藏层尺寸和隐藏层数量的标准)

我们知道,感知机(没有隐藏层)可以处理线性可分的数据(4.1有解释,不用管记住就行),因此除非你已经知道你的数据不是线性可分的,就用感知机就行。所以,验证数据的线性可分性这一点并没有坏处,因为我们没有必要使用比任务要求更加复杂的模型(多层感知机)来解决简单技术(感知机)就能够解决的线性可分问题。

  1. 那如何判断数据是否线性可分呢?如何判断数据是否线性可分
  2. 怎样区分线性和非线性_线性与非线性的区别(线性分析、线性模型)

假设你的数据的确需要非线性技术才能够分离,则始终从一个隐藏层开始。毫无疑问,这是你必须做的。如果你的数据可以通过MLP分离,那么MLP大概率只需要一层。这有理论上的理由,但是我们通常纯粹从经验上来解释:许多困难的分类和回归问题,通常使用单隐藏层的多层感知机就能够解决。尽管在一些地方确实存在多层的应用,但是能够证明其合理性的非常少。
**隐藏层中有多少节点? **
来自MLP的学术文献和个人的经验等,我们收集并经常依赖于一些经验法则(RoT:rules of thumb),也发现它们是可靠的指南(这些指导往往是准确的,即使不准确也能够告诉我们每一步应该干什么)

  • 根据输入层和输出层大小的经验法则:
  1. 隐藏层的大小介于输入层和输出层之间
  2. 计算方式:(输入数量+输出数量) × \times × 2/3
  • 基于主成分
  1. 将尽可能多的隐藏层节点数指定为能够捕获输入数据集70%-90%数据差异的主成分的维度。

然而,NN FAQ作者将这些规则称为“胡说八道”(从字面上看),因为它们:忽略训练实例的数量,目标中的噪声(响应变量值)以及特征空间的复杂性。

在他看来,根据您的MLP是否包括某种形式的正则化或早期停止,选择隐藏层中神经元的数量。

在实践中,我这样做:

  1. 输入层:我的数据量的大小(我的模型中特征的大小)
  2. 输出层:由我的模型确定:回归(一个节点)与分类(假设SoftMax,则节点数量等于分类类数)
  3. 隐藏层:开始,一个隐藏层的节点等于输入层的大小。 “理想”的大小可能更小(即,输入层中的数字与输出层中的数字之间的一些节点)而不是较大,是一个经验。如果项目需要额外的时间,那么我就从一个由少量节点组成的单一隐藏层开始,然后(就像我上面解释的那样)我在计算泛化误差、训练误差、偏差和方差的同时,一次一次地向隐藏层添加节点。当泛化误差已经下降,并在它开始再次增加之前,这时的节点数量是我的选择。见下图。
    在这里插入图片描述

排除上面的内容,只有当数据的初始特征很大的时候,我们才考虑增加MLP的隐藏层数。

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 多层感知机超参数是为了优化模型的性能。超参数包括隐藏层的数量和大小。根据经验法则,隐藏层的大小可以根据输入层和输出层的大小来确定,计算方式为(输入数量+输出数量) × 2/3。这个公式可以作为一个指导,但具体的隐藏层大小还可以根据主成分分析来确定,即将尽可能多的隐藏层节点数指定为能够捕获输入数据集70%-90%数据差异的主成分的维度。\[3\]此外,还可以通过整学习率、正则化参数、批量大小等超参数来进一步优化模型的性能。通过尝试不同的超参数组合,可以使用交叉验证等技术来选择最佳的超参数配置。\[2\] #### 引用[.reference_title] - *1* *3* [【机器学习多层感知机如何超参数](https://blog.csdn.net/adreammaker/article/details/125862934)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [《动手深度学习》4.2多层感知机的从开始实现 & 4.3简洁实现](https://blog.csdn.net/qq_43797820/article/details/127022792)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值