问题标签 [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 回答
60 浏览

python - 训练 mlp , val_accuracy 始终等于 0

我使用 doc2vec 特征向量来训练 MLP,但训练 MLP 总是等于 0 每个 epoch。MLP模型是:

训练数据为:

X_train = [25000,50]

MLP训练结果为:

其余的代码是:

如何修改 MLP 模型以准确地接受 doc2vec 输入?请帮助。

0 投票
1 回答
46 浏览

deep-learning - 如何防止我的 DNN / MLP 收敛到平均值

我想使用可用的几个功能来预测一个变量。它似乎与视觉或 NLP 无关。尽管我相信有充分的理由表明要预测的变量是这些特征的非线性函数。所以我只使用普通的 MLP,如下所示:

起初它似乎有效并且确实学到了一些东西:

但是当它继续学习时,我看到无论输入不同,结果似乎都接近彼此的平均值:

有什么技术/技巧可以阻止它?另外,如何提高准确性,我应该添加更多的隐藏层还是每层添加更多的神经元?

0 投票
1 回答
1157 浏览

python - sklearn 的 MLPClassifier 的输入和输出层中有多少个节点用于 MNIST 数字分类任务

我正在关注https://scikit-learn.org/stable/auto_examples/neural_networks/plot_mnist_filters.html#sphx-glr-auto-examples-neural-networks-plot-mnist-filters-py上的示例,我正在尝试弄清楚我对示例中输入和输出层中的节点数量的理解是否正确。所需代码如下:

根据https://dudeperf3ct.github.io/mlp/mnist/2018/10/08/Force-of-Multi-Layer-Perceptron/,该示例说明输入层中有 784 个节点(我假设shape来自数据)和输出层的 10 个节点,每个数字 1 个节点。

MLPClassifier上面代码中的情况是这样吗?

谢谢你,一些澄清会很棒!

0 投票
1 回答
51 浏览

python - Gridsearch CV 在不同数据中训练时给出不同的最佳参数

我正在寻找在 sklearn 中调整随机森林分类器和 MLP 分类器的最佳方法。问题是每次运行代码时,Grisearch CV 都会给我提供稍微不同的最佳参数。我认为发生这种情况是因为每次我的训练和测试数据都以不同的方式拆分。我有两个问题:

1)每次给我一些不同的最佳参数意味着我的数据有噪音或类似的东西?

2)有没有办法选择适合我所有训练集的最佳参数?至少是最常见的最佳参数。

奖励问题:我想对 3 个变量进行分类。我的一般分类 accuracy_score(y_test1,pred1) 给出了大约 57%,我认为这很低。我主要关心高概率分类。当我计算 predict_proba(X_test1)>0.8 并计算正确和错误的分类时,我得到了 0.90% 的分数,这是令人满意的。我应该对这个过程感到满意吗?当我在新的测试数据上运行时,我的模型的高概率预测会达到 0.90% 的分数吗?

最好的问候,尼克

0 投票
1 回答
635 浏览

python - sklearn MLPClassifier - 零隐藏层(即逻辑回归)

我们知道,一个带有 0 个隐藏层(即只有一个输入层和一个输出层)的前馈神经网络,最后带有一个 sigmoid 激活函数,应该等效于逻辑回归。

我希望证明这是真的,但我需要专门使用 sklearn MLPClassifier 模块来拟合 0 个隐藏层。

我的尝试:

但这会导致错误消息:

hidden_layer_sizes must be > 0, got [0, 0].

有没有办法使用这个特定的模块来实现这一点?

0 投票
0 回答
47 浏览

python - Keras 中的 MLP 总是返回 0.0 损失

我正在使用 Keras 实现多层感知器来预测句子中正确的单词顺序。我正在使用train_on_batch(),因为我转换了树中的每个句子,然后对每个局部子树进行排序:当每个子树都被排序时,整个树甚至都被排序。

我在训练过程中注意到一个奇怪的事情:从第一个 epoch 开始,损失值为 0.0。我的数据集形状是(453732, 300)(最初的特征数量是 838,但我使用 PCA 来减少它们),这是代码:

listnet_loss如下:

groups_id_count是形式为 的元组列表(#subtree_number,#number_of_words_in_subtree),其中#subtree_number是子树的标识符,是子树#number_of_words_in_subtree中的单词数。然后,我的批次是动态的:批次由子树中的单词数组成。这就是我过去train_on_batch()训练模型的原因。

有什么建议么?提前致谢。

0 投票
0 回答
446 浏览

mlp - 使用求解器 sgd 时出现 MLPRegressor 错误

我正在使用 sklearn.neural_network MLPRegressor 在 python 中构建 MLP。

我有一个网格搜索:

我觉得很奇怪:如果我删除了 param_grid 中的求解器,并且选择了 adam 作为求解器,那么一切都运行得很好。

但是,我想使用 sgd 作为求解器。一旦我在参数网格中使用它并且不更改任何其他内容,我就会收到错误消息:

值错误:输入包含 NAN、无穷大或对于线 grid.fit 的 dtype ('float64') 来说太大的值

我检查了我的输入:没有 Nan,没有无穷大,正常值在 0 和 1 之间缩放。

这是为什么

0 投票
2 回答
3171 浏览

python - GridSearchCV 估计我的模型很慢

我在 MLP 分类器上使用 GridSearchCV,这是我的代码...

这是我被击中的阶段,已经两个多小时了,仍然继续加载并抛出警告

警告:

/usr/local/lib/python3.6/dist-packages/joblib/externals/loky/process_executor.py:706:UserWarning:当一些工作被分配给执行程序时,工作人员停止了。这可能是由于工作人员超时时间过短或内存泄漏造成的。“超时或内存泄漏。”,用户警告

谁能帮我解决这个问题,让我知道我哪里出错了!先感谢您。

0 投票
0 回答
307 浏览

python-3.x - 使用多层感知器进行预测

我需要有关使用 MLP 神经网络进行预测的帮助。我使用 keras 实现了网络,并使用缩放的monthly_sunspots 数据集对其进行了训练:

有了这个结果:

Train Score: 0.00 MSE (0.06 RMSE) Test Score: 0.01 MSE (0.08 RMSE)

然后我绘制了train_set和test_set,结果很好:

这些是训练和测试趋势,以及损失和 val_loss 趋势

问题是当我尝试使用新数据进行预测时。我创建了一个函数,它使用窗口方法从种子中计算样本。这是功能:

给出了这个函数的一个例子:

seed=[[1, 2, 3]] ==> prediction=[4] new_seed=[[2, 3, 4]] ==> prediction=[5] 等等...

问题是预测收敛到一个唯一值:

这是转发的趋势

知道为什么吗?谢谢大家的回复。

0 投票
1 回答
114 浏览

python - Keras 图像分类:检查输入时出错:预期 input_1 有 4 个维度,但得到了形状为 (6885、7500) 的数组

我看过其他帖子说只是按预期添加额外的尺寸。首先,我不知道如何准确地做到这一点,但最重要的是,我想知道为什么我的尺寸会发生变化,以便我自己为未来的模型解决这个问题。

请注意,我仅限于 MLP 进行培训。这意味着只有全连接层。不允许使用卷积层或反馈(LSTM 或任何 RNN 架构)。不允许使用预训练模型,例如(resnet、densenet、...)。我可以在层之间使用其他操作,例如 Dropout、Batch Normalization 或其他类型的层输入/输出操作。我希望我必须提供我的整个代码才能获得我需要的帮助。请原谅我在代码中的所有评论,我有这些评论来提醒我一切都是做什么的。我知道我需要数据增强,但首先需要它。