将期望矩阵的间隔变成1

pull/10/head
Administrator 6 years ago
parent ec7dc5fd5c
commit 1cece25bfe

@ -53,6 +53,11 @@ public class TempleConfig {
private boolean isShowLog = false;
private ActiveFunction activeFunction = new Tanh();
private double studyPoint = 0;
private double matrixWidth = 1;//期望矩阵间隔
public void setMatrixWidth(double matrixWidth) {
this.matrixWidth = matrixWidth;
}
public boolean isAccurate() {
return isAccurate;
@ -257,7 +262,7 @@ public class TempleConfig {
row = 5;
column = (int) (d * row);
}
initNerveManager(initPower, row * column, deep,studyPoint);
initNerveManager(initPower, row * column, deep, studyPoint);
}
private void initNerveManager(boolean initPower, int sensoryNerveNub
@ -281,7 +286,7 @@ public class TempleConfig {
if (isThreeChannel) {
nub = nub * 3;
}
initNerveManager(true, nub, this.deep,studyPoint);
initNerveManager(true, nub, this.deep, studyPoint);
break;
case Classifier.LVQ:
lvq = new LVQ(classificationNub, lvqNub);
@ -293,10 +298,9 @@ public class TempleConfig {
}
//加载各识别分类的期望矩阵
matrixMap.put(0, new Matrix(height, width));
double nub = 5;//每个分类期望参数的跨度
for (int k = 1; k <= classificationNub; k++) {
Matrix matrix = new Matrix(height, width);//初始化期望矩阵
double t = k * nub;//期望矩阵的分类参数数值
double t = k * matrixWidth;//期望矩阵的分类参数数值
for (int i = 0; i < height; i++) {//给期望矩阵注入期望参数
for (int j = 0; j < width; j++) {
matrix.setNub(i, j, t);
@ -316,7 +320,7 @@ public class TempleConfig {
private NerveManager initNerveManager(Map<Integer, Matrix> matrixMap, boolean initPower, int deep) throws Exception {
//初始化卷积神经网络
NerveManager convolutionNerveManager = new NerveManager(1, 1,
1, deep - 1, new ReLu(), true, isAccurate,studyPoint);
1, deep - 1, new ReLu(), true, isAccurate, studyPoint);
convolutionNerveManager.setMatrixMap(matrixMap);//给卷积网络管理器注入期望矩阵
convolutionNerveManager.init(initPower, true, isShowLog);
return convolutionNerveManager;

Loading…
Cancel
Save