diff --git a/pom.xml b/pom.xml
index a47db54..d7b87e5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
org.wlld
myBrain
- 1.0-SNAPSHOT
+ 1.0.2
myBrain
diff --git a/src/main/java/org/wlld/App.java b/src/main/java/org/wlld/App.java
index 7afe629..0ec8d31 100644
--- a/src/main/java/org/wlld/App.java
+++ b/src/main/java/org/wlld/App.java
@@ -21,15 +21,14 @@ public class App {
NerveManager nerveManager =
new NerveManager(2, 2, 1, 2);
//开始构建神经网络,参数为是否初始化权重及阈值,若
- nerveManager.setStudyPoint(0.1);//设置学习率(取值范围是0-1开区间),若不设置默认为0.1
+ nerveManager.setStudyPoint(0.2);//设置学习率(取值范围是0-1开区间),若不设置默认为0.1
nerveManager.init(true);
nerveManager.setOutBack(new Test());//添加判断回调输出类
List sensoryNerves = nerveManager.getSensoryNerves();
Map E1 = new HashMap<>();
- E1.put(1, 0.0);
+ E1.put(1, 1.0);
Map E2 = new HashMap<>();
- E2.put(1, 1.0);
- Random random = new Random();
+ E2.put(1, 0.0);
List> testList = new ArrayList<>();
for (int i = 0; i < 1000; i++) {
double nub = ArithUtil.mul(ArithUtil.div(1, 1000), i);
@@ -51,8 +50,8 @@ public class App {
Nerve outNerver = nerveManager.getOutNevers().get(0);
double outTh = outNerver.getThreshold();//输出阈值
System.out.println("outTh==" + outTh);
- for (int i = 2; i < 22; i++) {
- double nub = ArithUtil.mul(ArithUtil.div(1, 1000), i);
+ for (int i = 1; i < 21; i++) {
+ double nub = ArithUtil.mul(ArithUtil.div(1, 100), i);
sensoryNerves.get(0).postMessage(1, ArithUtil.add(0.5, nub), false, E1);
sensoryNerves.get(1).postMessage(1, ArithUtil.add(0.5, nub), false, E1);
sensoryNerves.get(0).postMessage(1, ArithUtil.add(-0.5, -nub), false, E2);
diff --git a/src/main/java/org/wlld/nerveEntity/Nerve.java b/src/main/java/org/wlld/nerveEntity/Nerve.java
index 01af71c..c3a5925 100644
--- a/src/main/java/org/wlld/nerveEntity/Nerve.java
+++ b/src/main/java/org/wlld/nerveEntity/Nerve.java
@@ -146,14 +146,14 @@ public abstract class Nerve {
}
//System.out.println("结束===========" + sigma);
//logger.debug("当前神经元线性变化已经完成,name:{},id:{}", name, getId());
- return ArithUtil.add(sigma, threshold);
+ return ArithUtil.sub(sigma, threshold);
}
private void initPower() {//初始化权重及阈值
if (upNub > 0) {
Random random = new Random();
for (int i = 1; i < upNub + 1; i++) {
- dendrites.put(i, random.nextDouble());
+ dendrites.put(i, random.nextDouble());//random.nextDouble()
}
//生成随机阈值
threshold = random.nextDouble();