关于机器学习的一点入门问题

为什么在网上看到的第一个隐藏层要加输入维度什么的,但是实际使用lstm神经网络时没有这个参数也能运行。神经网络的输入输出层数目是要自己设定吗

A神经网络的输入输出层数目通常需要根据具体的问题和数据集来自己设定。
而隐藏层的大小和数量则是根据问题的复杂度和数据集的大小来确定的。
对于一些特定的神经网络结构,可能需要设置输入维度等参数,但对于大多数常见的神经网络结构,这些参数可以根据输入数据的形状自动推导出来,因此不需要手动设置。
如果你在使用Istm神经网络时没有设置输入维度等参数也能正常运行,可能是因为该框架已经自动推导出了合适的参数,或者是因为你的输入数据形状已经满足该神经网络结构的要求。

该回答引用GPTᴼᴾᴱᴺᴬᴵ
在实际使用LSTM神经网络时,通常情况下是不需要显式地指定输入维度的。这是因为在Keras中,LSTM层的输入形状可以自动推断出来,因此不需要手动指定输入维度。
·
对于神经网络的输入输出层数目,也是需要自己设定的。在使用Keras构建神经网络时,需要先定义模型的架构,包括层的类型、每层的输入输出维度、激活函数等。然后再编译模型,指定损失函数、优化器和评估指标等。最后,使用训练数据对模型进行训练,并根据验证数据的表现对模型进行调优。

不同的模型都可以进行学习,但是效果不同
层数太少,需要的参数就很多
层数太多,那么权重优化就会比较困难

1,对于输入特征矩阵X,假设大小是mxn即10000x1024,即特征维度是1024维。
2,那么模型的第一层隐藏层权重W的矩阵大小必然是1024 x K,这样才能与特征矩阵进行计算10000x1024与1024x K就得到10000xK进而往后传播;
3,有的模型是让你将这个值1024传进来,它才能进行计算。
4,而有的模型是直接根据特征矩阵X,内部计算了X的shape自然就得到了1024,而不用你手动传了。