【发布时间】:2014-04-07 04:31:04
【问题描述】:
你好,我正在学习神经网络。 神经元是否只存储 1 或 -1 之间的值?我不能给出 255 或 1024 之类的值吗? 我正在寻找 encog java 库 XOR 函数求解器示例。 我想通过更改 XOR_INPUT 和 XOR_IDEAL 将 XOR 更改为 Multiplier。
这里是源位置: http://www.heatonresearch.com/wiki/Hello_World
我变了
来自:
/**
* The input necessary for XOR.
*/
public static double XOR_INPUT[][] = { { 0.0, 0.0 }, { 1.0, 0.0 },
{ 0.0, 1.0 }, { 1.0, 1.0 } };
/**
* The ideal data necessary for XOR.
*/
public static double XOR_IDEAL[][] = { { 0.0 }, { 1.0 }, { 1.0 }, { 0.0 } };
到:
/**
* The input necessary for XOR.
*/
public static double XOR_INPUT[][] = { { 0.0, 0.0 }, { 1.0, 0.0 },
{ 1.0, 2.0 }, { 2.0, 4.0 } };
/**
* The ideal data necessary for XOR.
*/
public static double XOR_IDEAL[][] = { { 0.0 }, { 1.0 }, { 2.0 }, { 8.0 } };
将值更改为这些后。 我得到了无限循环并输出常量:
纪元 #274107 错误:12.75
纪元 #274108 错误:12.75
纪元 #274109 错误:12.75
纪元 #274110 错误:12.75
纪元 #274111 错误:12.75
纪元 #274112 错误:12.75
纪元 #274113 错误:12.75
纪元 #274114 错误:12.75
纪元 #274115 错误:12.75
纪元 #274116 错误:12.75
纪元 #274117 错误:12.75
纪元 #274118 错误:12.75
纪元 #274119 错误:12.75
这是问题;
1-)这称为局部最小值吗?
2-) 我需要在 (0 和 1) 或 (-1 和 1) 之间设置值吗?
3-) 如何解决简单的乘法求解器问题?
谢谢。
【问题讨论】:
-
您可以尝试如下操作: (a) 添加另一个隐藏层。 (b) 标准化您的数据。我最近没有搞乱神经网络,但如果记忆有用,当输入范围在 0 和 1 之间时,它们往往工作得最好。
-
添加更多的隐藏层(多于一个)几乎总是是个坏主意(在简单的神经网络中)。
标签: java neural-network encog biological-neural-network