我一直在对神经网络进行一些研究,整个概念和理论对我来说很有意义。尽管我一直无法找到答案的一个问题是神经网络中应该使用多少个神经元。以获得正确/有效的结果。包括隐藏层、每个隐藏层的神经元等。更多的神经元一定会得到更准确的结果(同时对系统造成更大的负担)还是更少的神经元仍然足够?是否有某种管理规则来帮助确定这些数字?它是否取决于神经网络中实施的训练/学习算法的类型。它是否取决于呈现给网络的数据/输入的类型?
如果它能让回答问题变得更容易,我很可能会使用前馈和反向传播作为训练和预测的主要方法。
顺便说一句,是否存在通常被重新评为“最佳/最实用”的预测算法/触发规则或学习算法,或者这也取决于呈现给网络的数据类型?
感谢任何提供任何意见的人,我们始终不胜感激!
编辑:关于 C# 标签,这是我用来组合我的神经网络的语言。如果这些信息有帮助的话。
我在大学里专门研究人工智能/神经网络,并且在游戏中拥有一些工作经验,以下是我发现的入门指南。但请注意,每个神经网络都需要进行一些调整才能在您选择的环境中发挥最佳作用。 (一个潜在的解决方案是将你的程序暴露给 1000 个不同的神经网络,设置一个可测试的性能标准,然后使用遗传算法来传播更有用的神经网络并剔除不太有用的神经网络 - 但这是另一篇非常大的文章...... )
我发现——一般来说
- 输入层 - 每个输入向量一个 AN + 1 个偏差(始终为 1)
- 内层 - 输入层加倍
- 输出层 - 每个操作或结果一个 AN
示例:字符识别
- 如果您正在检查 10x10 网格以进行字符识别;
- 从 101 个输入 AN 开始(每个像素一个,加上一个偏置)
- 202 内AN
- 和 26 个输出 AN(每个字母对应一个)
示例:二十一点
- 如果您正在构建一个神经网络来“赢得二十一点”;
- 从 16 个输入 AN 开始(13 个用于计算牌的每次出现,1 个用于玩家手牌值,1 个用于庄家“明牌”,1 个偏差)
- 32 内AN
- 和6个输出IN(“击”“停”“分”“双”“投降”“保险”各1个)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)