|
|
@ -1,8 +1,5 @@
|
|
|
|
package org.wlld.nerveEntity;
|
|
|
|
package org.wlld.nerveEntity;
|
|
|
|
|
|
|
|
|
|
|
|
import org.apache.logging.log4j.LogManager;
|
|
|
|
|
|
|
|
import org.apache.logging.log4j.Logger;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* @author lidapeng
|
|
|
|
* @author lidapeng
|
|
|
|
* 隐层神经元
|
|
|
|
* 隐层神经元
|
|
|
@ -10,7 +7,7 @@ import org.apache.logging.log4j.Logger;
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
public class HiddenNerve extends Nerve {
|
|
|
|
public class HiddenNerve extends Nerve {
|
|
|
|
private int depth;//所处深度
|
|
|
|
private int depth;//所处深度
|
|
|
|
static final Logger logger = LogManager.getLogger(HiddenNerve.class);
|
|
|
|
//static final Logger logger = LogManager.getLogger(HiddenNerve.class);
|
|
|
|
|
|
|
|
|
|
|
|
public HiddenNerve(int id, int depth, int upNub, int downNub, double studyPoint, boolean init) {//隐层神经元
|
|
|
|
public HiddenNerve(int id, int depth, int upNub, int downNub, double studyPoint, boolean init) {//隐层神经元
|
|
|
|
super(id, upNub, "HiddenNerve", downNub, studyPoint, init);
|
|
|
|
super(id, upNub, "HiddenNerve", downNub, studyPoint, init);
|
|
|
@ -19,10 +16,10 @@ public class HiddenNerve extends Nerve {
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void input(long eventId, double parameter, boolean isStudy, double E) throws Exception {//接收上一层的输入
|
|
|
|
public void input(long eventId, double parameter, boolean isStudy, double E) throws Exception {//接收上一层的输入
|
|
|
|
logger.debug("name:{},myId:{},depth:{},eventId:{},parameter:{}--getInput", name, getId(), depth, eventId, parameter);
|
|
|
|
// logger.debug("name:{},myId:{},depth:{},eventId:{},parameter:{}--getInput", name, getId(), depth, eventId, parameter);
|
|
|
|
boolean allReady = insertParameter(eventId, parameter);
|
|
|
|
boolean allReady = insertParameter(eventId, parameter);
|
|
|
|
if (allReady) {//参数齐了,开始计算 sigma - threshold
|
|
|
|
if (allReady) {//参数齐了,开始计算 sigma - threshold
|
|
|
|
logger.debug("depth:{},myID:{}--startCalculation", depth, getId());
|
|
|
|
// logger.debug("depth:{},myID:{}--startCalculation", depth, getId());
|
|
|
|
double sigma = calculation(eventId);
|
|
|
|
double sigma = calculation(eventId);
|
|
|
|
double out = activeFunction.sigmoid(sigma);//激活函数输出数值
|
|
|
|
double out = activeFunction.sigmoid(sigma);//激活函数输出数值
|
|
|
|
if (isStudy) {
|
|
|
|
if (isStudy) {
|
|
|
@ -31,7 +28,7 @@ public class HiddenNerve extends Nerve {
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
destoryParameter(eventId);
|
|
|
|
destoryParameter(eventId);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
logger.debug("depth:{},myID:{},outPut:{}", depth, getId(), out);
|
|
|
|
// logger.debug("depth:{},myID:{},outPut:{}", depth, getId(), out);
|
|
|
|
sendMessage(eventId, out, isStudy, E);
|
|
|
|
sendMessage(eventId, out, isStudy, E);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// sendMessage();
|
|
|
|
// sendMessage();
|
|
|
|