用于猜谜游戏的神经网络

我想实现一个神经网络,用于猜测用户会选择“真”还是“假”。

最合适的设计是什么?我在这方面是新手,但我想到了以下设计:

设有128个输入,用于存储之前的128次猜测(可以理解为记忆)。

第一个输入是最新的猜测,第二个是前一次,第三个是两轮之前,以此类推。

我考虑设置一个包含256个节点的全连接隐藏层,以及一个用于输出的单一最终层。

我会这样表示我的输入:0 – 尚未猜测,0.5 – 猜测为假,1 – 猜测为真

输出值如下:0表示假,1表示真(当输出变为输入时,我会将其转换为输入格式)

现在,我对这个设计的主要担忧是输入是移动的。也就是说,第一次猜测时的第一个输入,在下一次猜测时会变成第二个输入,再下一次会变成第三个输入,我担心这会导致没有可重用性,逻辑会重复,猜测结果会变得非常固化。

我的担忧是否毫无根据?我是否应该让神经网络替我思考,仅此而已?

我记得我在YouTube上看到过关于神经网络记忆的视频,提到可以逐一输入数据。这是否意味着我的方法是错误的,神经网络的记忆有特殊的方式?

如果我的设计是错误的,你会建议什么样的设计?


回答:

首先,你应该问问自己为什么想要使用神经网络。你是否尝试过更简单的模型(参数更少),例如隐马尔可夫模型?你是否有足够的数据来训练一个多层的网络?

假设你确定要使用神经网络,那么我们应该从输入开始。你的输入是一个分类特征,因此应该以一种合适的方式进行编码。一种常见的编码方法是独热编码。所以在你的案例中,输入会看起来像这样:

NYG = [1, 0, 0]T   = [0, 1, 0]F   = [0, 0, 1]

一旦你格式化了输入数据,你就可以考虑网络架构。虽然解决每个问题的方法有很多,但听起来你可能想使用循环神经网络,它可以根据一系列输入输出分类。我建议从几个较小的LSTM单元层(64个节点)开始,看看效果如何,然后再考虑如何扩展(如果你有足够的数据)。

我真的不能强调太多,你不应该轻易跳入神经网络。它们可能非常有用,也可能在不需要的地方增加巨大的混乱。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注