问题标签 [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 投票
0 回答
33 浏览

machine-learning - Dlib 的 MLP 实现有什么限制吗?

我正在使用C++ DLib训练一个简单的 MLP(输入层中有 8 个单元,隐藏层中有 50 个单元),并使用以下 89 个样本作为训练数据:

其中第一行标记为 1 (template_user[0]),其他行标记为 0 (template_user[1] 到 template_user[88])。

当我尝试预测一个标签时,我总是得到 1(或非常接近 1)到基本上任何正输入特征向量。如果我传递带有负值的向量,我看到训练模型预测标签 0 的唯一方法。知道为什么会这样吗?也许 MLP 实现不喜欢标准化十进制值作为输入?

以下是我的完整代码:

这是输出的最后一部分:

0 投票
1 回答
781 浏览

machine-learning - MLPRegressor 给出非常负的分数

我是机器学习的新手,我正在使用 MLPRegressor。我用

然后我制作并拟合模型,对测试集使用 10 倍验证。

问题是我收到的测试分数非常负(-4256)。有什么可能是错的?

0 投票
2 回答
46 浏览

python - 机器学习中的测试和训练数据

我有 2000 多个 ANN 数据集。我已经在其中应用了 MLPRegressor。我的代码工作正常。但是对于测试,我想修复我的测试值,例如我有 50 个数据集。从那我想测试前 20 个值。如何在代码中解决这个问题?我使用了以下代码。

0 投票
1 回答
76 浏览

numpy - MLP 输出任何输入的所有训练输出的平均值

我试图用 sigmoid 激活实现多层感知器。下面是代码:

然而问题是网络饱和输出任何输入的所有训练输出的平均值。例如,在上述情况下,y_train 平均值约为 0.5,无论我向网络提供什么“test_x”值,输出始终在 0.5 左右。

代码中的问题可能出在哪里。我在算法中遗漏了什么吗?帮助表示赞赏

0 投票
1 回答
31 浏览

python - 我对 MLP 模型做错了什么?

我正在使用 python MLP 模型开发时间序列预测模型。我的训练样本有 550 个事件和 9 个变量。我有一个单独的文件用于测试。我想在 t+1 预测 9 个变量之一。由于它是一个时间序列,我为 X (547, 3, 9) 做了 3 个事件的 547 个部分,每次步行一次。并且 y (547,) 是 t+1 时的一个变量。

ValueError:检查模型输入时出错:您传递给模型的 Numpy 数组列表不是模型预期的大小。预计会看到 1 个数组,但得到了以下 547 个数组的列表:

0 投票
0 回答
899 浏览

python - MLP 中的 K 折叠交叉验证

我想在我的数据集中的 MLP Regressor 中实现交叉验证。我想知道我的代码是否正确?这是交叉验证的方式吗?这是我的示例数据:

这是我的代码:

0 投票
1 回答
341 浏览

deep-learning - 大小不匹配,m1:[1 x 5],m2:[7 x 100] 在 /pytorch/aten/src/TH/generic/THTensorMath.cpp:752

我是 pytorch 的新手并试图创建一个模型,但我收到了这个错误,

这是我的代码:

我们有 5 个训练样本和 2 个测试样本。

MLP的绑定方法Module.named_modules((fc1):线性(in_features = 7,out_features = 100,bias = True)(fc2):Linear(in_features = 100,out_features = 7,bias = True))

0 投票
1 回答
33 浏览

twitter - 机器学习算法的结果有何不同?

我正在从事一个文本挖掘项目,我使用标记的推文数据集(是或否与地震相关的推文包括 8000 个样本)来训练 Naive、MLP(深度学习)LibSVM 分类器来分类(是或否)未标记的推文(28000 个样本) 在 RapidMiner 上。以下是三种机器学习算法的结果:

幼稚的

准确度= 80%

标记为“是”的推文数量= 6056

MLP

准确度= 86%

标记为“是”的推文数量= 2300

支持向量机

准确度= 92%

标记为“是”的推文数= 53

我的问题是为什么标记的推文的数量有很大的不同?

0 投票
1 回答
112 浏览

machine-learning - 我使用 MLP 制作国际象棋引擎的方法有什么问题?

我正在使用机器学习制作国际象棋引擎,但在调试它时遇到了问题。我需要帮助找出我的程序出了什么问题,如果有任何帮助,我将不胜感激。

我进行了研究,并从多个成功的项目中借鉴了想法。这个想法是使用强化学习来教 NN 区分强弱位置。

我收集了 300 万个 Elo 超过 2000 的游戏,并使用我自己的方法来标记它们。在研究了数百场比赛后,我发现,可以肯定的是,在任何一场比赛的最后 10 个回合中,平衡都不会改变,获胜的一方具有很强的优势。因此,我从最后 10 个回合中选择了位置并制作了两个标签:一个代表白色获胜,一个代表黑色获胜。我没有包括任何平局位置。为了避免偏见,我为双方选择了偶数个标有胜利的位置,并为下一轮选择了偶数个双方的位置。

我用一个长度为 773 个元素的向量表示的每个位置。棋盘上的每一格,连同易位权和下一回合,我都用 1 和 0 编码。我的顺序模型有一个包含 773 个神经元的输入层和一个包含一个神经元的输出层。我在第 1、2 和 3 层分别使用了具有 1546、500 和 50 个隐藏单元的三层隐藏层深度 MLP,每层的 dropout 正则化值为 20%。隐藏层与非线性激活函数 ReLU 连接,而最终输出层具有 sigmoid 输出。我使用二元交叉熵损失函数和所有默认参数的 Adam 算法,学习率除外,我设置为 0.0001。

我使用了 3% 的职位进行验证。在前 10 个 epoch 中,验证准确率逐渐从 90% 上升到 92%,仅落后于训练准确率 1%。进一步的训练导致过度拟合,训练准确率上升,验证准确率下降。

我在多个位置上手动测试了训练好的模型,结果很糟糕。总体而言,该模型可以预测哪一方获胜,如果那一方有更多的棋子或棋子靠近转换方格。它也给下一个回合的一方带来了小优势(0.1)。但总体来说意义不大。在大多数情况下,它非常偏爱黑色(约 0.3)并且没有正确考虑设置。例如,它将起始位置标记为 ~0.0001,就好像黑方几乎有 100% 的机会获胜。有时,不相关的职位转换会导致评估的不可预测的变化。每边的一个国王和一个后通常被视为白棋的失势(0.32),除非黑王在某个方格上,即使它并没有真正改变棋盘上的平衡。

我为调试程序所做的工作:

  1. 为了确保我没有犯任何错误,我逐步分析了每个位置是如何记录的。然后我在训练之前从最终的 numpy 数组中挑选了十几个位置,并将其转换回来以在常规棋盘上分析它们。

  2. 我在同一个游戏中使用了不同数量的位置(1 和 6)来确保使用太多相似的位置不是快速过拟合的原因。顺便说一句,在我的数据库中,即使每个游戏的一个位置也会产生 300 万个数据集,根据一些研究论文,这应该足够了。

  3. 为了确保我使用的位置不会太简单,我对它们进行了分析。其中 130 万有 36 分(骑士、主教、车和后;棋子不包括在计数中),140 万 - 19 分,只有 30 万 - 少。

0 投票
2 回答
1227 浏览

r - 使用 MLP 神经网络进行预测

我正在尝试在 R 中编写代码来使用 MLP 神经网络预测美元/欧元的汇率我遇到了函数神经网络的问题,它显示错误:

神经元[[i]] %*% 权重[[i]] 中的错误:
需要数字/复数矩阵/向量参数

这是我到目前为止写的代码

数据集包含 500 行和 3 列,第一列是日期,它包含从 2011 年 10 月到 2013 年 10 月的日期(500 个数据)。第二列是 Wdy,它包含疲软的日子,最后一列是 USD,包含货币汇率。这是我的数据集的示例:

数据集的一部分