问题标签 [mlp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
274 浏览

python - 有没有办法在 Pytorch 中使用 2d 张量作为 MLP 的输入?

我是 Pytorch 的新手,我正在尝试在 Pytorch 中训练一个 MLP,以对来自多组时间序列数据的变量进行分类。<

现在,我将这些 2d 张量中的每一个重塑为 1d(即 [0, 10, 15, 20, 1, 11, 17, 10, 2, 12, 12, 6]),然后将它们放入 Data Loader,但我想知道是否可以将它们保持为 2d,或者是否有不同的方法可以做到这一点?

另外,这可能是我糟糕的准确性(培训和测试)的原因吗?

0 投票
1 回答
33 浏览

scikit-learn - 我不明白在训练测试拆分和 MLP 回归器中更改随机状态之间的区别

我试图找出训练测试拆分和 MLP 回归器中的随机状态之间的区别。如果我在 MLP 回归器中更改它,我运行的所有试验都非常好。但是,如果我在火车测试拆分中更改它,我会得到广泛的结果。我读到两者都是随机种子,但我不明白它们对我的 MLP 的影响有何不同,具体取决于我更改它的位置。

感谢您的帮助!

0 投票
0 回答
462 浏览

machine-learning - 为什么具有一个时间步长的 LSTM 会比 MLP 表现更好?

出于好奇,我比较了具有单个时间步长的堆叠 LSTM 神经网络与具有 tanh 激活函数的 MLP,认为它们具有相同的性能。用于比较的架构如下,它们是在相同的回归问题数据集上训练的(损失函数为 MSE):

令人惊讶的是,LSTM 模型的损失比 MLP 下降得快得多:

在 100 个 epoch 之后,MLP 的验证损失降低到大约 1e-4,但 LSTM 的损失降低到大约 1e-5。对我来说,这两种架构有何不同并没有多大意义,因为 LSTM 单元没有使用之前时间步长的任何内存。此外,MLP 的训练速度大约是 LSTM 的 3 倍。有人能解释一下它背后的数学原理吗?

0 投票
0 回答
224 浏览

tensorflow - 如何通过 GridsearchCV 对 Keras 中的 MLP 模型进行超参数调优?

我已经使用该函数创建了一个模型,并将两个嵌入作为输入以一维数组的形式传递给模型。在尝试对输入进行网格搜索时,它会引发错误,指出“找到具有不一致样本数的输入变量”。我什至试图重塑输入但徒劳无功,因为输入是一维的。

那么问题是如何对具有多个输入和单个输出的 keras MLP 模型进行超参数调整?

另一个问题是如何获得模型摘要?我尝试使用 model.summary(),但它不适用于通过函数创建的模型。

0 投票
0 回答
2843 浏览

keras - 如何使用 scikit learn 的 MLP 分类器可视化模型训练历史?

我使用了 pima-indians-diabetes.csv 数据集。我已经使用 Keras 构建了一个包含架构 12-8-1 的神经网络,并且能够完美地可视化训练历史。接下来,我尝试使用来自 scikit learn 的 MLPCLassifier 实现相同的模型。在这种情况下是否可以像我对 Keras 所做的那样实现训练历史曲线?我只需要可视化我的训练历史,即训练准确率、验证准确率、训练损失和验证损失,就像我对 Keras 所做的那样。我使用 Keras 的代码和曲线:

在此处输入图像描述 在此处输入图像描述

我的代码使用 sklearn 的 MLP 分类器:

我能够生成分类报告,但没有图形可视化。如何像使用 Keras 一样使用 sklearn 的 MLPClassifier 生成曲线?

0 投票
1 回答
765 浏览

scikit-learn - 需要帮助了解 MLPClassifier

我使用 MLPClassifier 已经有一段时间了,我认为我一直对函数的作用有错误的解释,我想我现在明白了,但我不确定。因此,我将总结我的理解,如果您能在正确的理解上添加您的想法,那就太好了。

因此,使用 MLPClassifier,我们正在构建一个基于训练数据集的神经网络。设置early_stopping = True可以在训练过程中使用验证数据集,以检查网络是否也在处理新数据集。如果early_stopping = False,则不进行过程中的验证。完成构建后,如果我们愿意,我们可以使用拟合模型来预测第三个数据集。我之前的想法是,在整个训练过程中,一个验证数据集被搁置一边,在每个 epoch 之后进行验证。

我不确定我的问题是否可以理解,但如果您能帮助我理清思路,那就太好了。

0 投票
1 回答
530 浏览

python - sklearn.neural_networks.MLPRegressor - 无法计算准确度分数

这是我在 StackOverflow 上的第一篇文章!我正在使用MLPRegressor为我的问题生成二进制类多输出预测。一旦我得到我的预测,我使用 对所有值进行四舍五入numpy.round(),以便我可以使用accuracy_score(因为准确度分数仅适用于分类问题)。sklearn.metrics.accuracy_score在此之后,当我收到以下错误时,我尝试使用:

仅当我max_iterMLPRegressor. 当我不手动设置时,回归器不会收敛但不会发生错误。

这是数据集的链接:http: //www.connellybarnes.com/work/class/2016/deep_learning_graphics/proj1/tictac_multi.txt

堆栈跟踪:

0 投票
1 回答
434 浏览

python - 多层感知器 (MLP) Keras 张量流模型

在适合我的模型进行训练后,我遇到了一个问题。下面是我的代码

#我在为 x_train 和 y_train运行model.fit时收到此错误 ValueError 。我不明白如何解决它。任何帮助都会得到帮助

#ValueError:层顺序的输入 0 与层不兼容:输入形状的预期轴 -1 具有值 128,但接收到形状为 [None, 10] 的输入

0 投票
0 回答
101 浏览

python - Stochastic Gradient Descet 模式下梯度和总误差增加的原因是什么?

我试图理解神经网络学习背后的直觉。我了解它背后的数学原理,并且已经尝试分析解决它。Multilayer Perceptron在我从头开始编码时,Python我面临着增加总错误的问题。我已经评论了我的代码,解释了操作,并发布了结果输出和三种不同训练场景的图表。此外,我NumPy尽可能使用向量运算来减少我的代码。

概括:

  • 主要方法包含生成用于二进制分类的数据的代码,使用随机梯度下降方法,以及 Dense 类对象及其训练模型的方法
  • 网络分为三层;输入(4 个节点)、隐藏层(6 个节点)和输出(2 个节点)
  • Dense 类是网络中层的实现

密集类表示 中的一个层MLP Network

包含以下内容:

  • 构造函数:随机初始化权重和偏差
  • Sigmoid 方法:激活层的线性组合,也就是激活电位
  • d_sigmoid 方法:找到sigmoid的第一个微分值
  • forward_pass 方法:执行层的前向传播
  • backward_pass 方法:执行层的反向传播

包含训练循环和训练数据的主要代码:

最后,我得到这些输出和图表,具体取决于时期和训练数据大小:

  • 对于 1 个 epoch 和 10 个训练样本

对于 1 个 epoch 和 10 个训练样本

  • 对于 10 个 epoch 和 10 个训练样本

对于 10 个 epoch 和 10 个训练样本

  • 对于 50 个 epoch 和 1000 个样本

对于 50 个 epoch 和 1000 个样本

我不明白是什么导致错误增加,因为目标是减少它。我错过了什么?

0 投票
1 回答
130 浏览

tensorflow - 使用tensorflow和keras在python中用CNN替换MLP代码

我用 MLP 尝试了下面的代码,现在我需要用具有以下结构的 CNN 8 层替换这个 MLP 代码:3×3×32 Convolutional → 3×3×64 Convolutional → 2×2 MaxPool → Dropout → Flatten → 1 × 128全连接→Dropout→128×10 全连接→Softmax。

我试过以下

这是对的吗?