이미지의 한 문자를 인식하려고합니다. 이미지 데이터가 지워지고 명확한 별개 문자가 표시됩니다.Encog Hopfield 네트워크 교육
그래서 hopfield 네트워크에 trainigset을 추가하면 로그가 2로만 추가되므로 좋을 것입니다. 일단 내가 추가하면 훈련 된 패턴이 버무리고 흐리게 표시됩니다.
어떻게 예방할 수 있습니까? 이 개 문자를 훈련 할 때
public void trainNetwork() {
network.reset();
System.out.println("Training hopfield network");
long startTimeLong = System.nanoTime();
for (double[] ds : trainingInput) {
network.addPattern(doubleArrayToBiPolarNeuralData(ds));
}
long endTimeLong = System.nanoTime();
double durationInSec = (double) ((endTimeLong - startTimeLong)/Math.pow(10, 9));
System.out.println("Finished training network in: " + durationInSec);
}
private BiPolarNeuralData doubleArrayToBiPolarNeuralData(double[] data) {
BiPolarNeuralData patternData = new BiPolarNeuralData(neuroncount);
if (data.length != neuroncount) {
IndexOutOfBoundsException e = new IndexOutOfBoundsException("the size of the traingsinputs is different from the amount of input neurons");
logger.error(e.getMessage(), e);
throw e;
}
patternData.setData(data);
return patternData;
}
결과 :
네트워크를 훈련
Cycles until stable(max 100): 1, result=
->
->
->
->
->
->
->
->
->
->
->
->
->
->
->
->
OOOOOOOOOOO -> OOOOOOOOOOO
OOOOOOOOOOOOOOO -> OOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOO -> OOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOO -> OOOOOOOOOOOOOOOOOO
OOOOOOO OOOOOOOOO -> OOOOOOO OOOOOOOOO
OOOOO OOOOOOO -> OOOOO OOOOOOO
OOOOO OOOOOOO -> OOOOO OOOOOOO
OOOOOO -> OOOOOO
OOOOOOOOOO -> OOOOOOOOOO
OOOOOOOOOOOOOOO -> OOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOO -> OOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOO -> OOOOOOOOOOOOOOOOOO
OOOOOOOOO OOOOOO -> OOOOOOOOO OOOOOO
OOOOOOO OOOOOOO -> OOOOOOO OOOOOOO
OOOOOO OOOOOOO -> OOOOOO OOOOOOO
OOOOOOO OOOOOOOO -> OOOOOOO OOOOOOOO
OOOOOOOOOOOOOOOOOOOO -> OOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOO -> OOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOO -> OOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOO -> OOOOOOOOOOOOOOOOOOO
OOOOOOOOO OOOOOOO -> OOOOOOOOO OOOOOOO
->
->
->
->
->
->
->
->
->
->
->
->
->
결과 모든 문자를 훈련 할 때 : 그것은 항상이 같은 복합 덩어리로 확인
Cycles until stable(max 100): 3, result=
->
->
->
->
->
->
->
->
->
->
->
->
->
->
->
->
OOOOOOOOOOO -> OOOOOOOOOOOOOOO
OOOOOOOOOOOOOOO -> OOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOO -> OOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOO -> OOOOOOOOOOOOOOOOOO
OOOOOOOOO OOOOOOOOO -> OOOOOOOOOOOOOOOO
OOOOOOOO OOOOOOO -> OOOOOO OOOOOO
OOOOOOO OOOOOOO -> OOOOOO OOOOO
OOOOOOO -> OOOOOO OOOOO
OOOOOOO -> OOOOOO OOOOO
OOOOOO -> OOOOOO OOOOOOO
OOOOOO -> OOOOOO OOOOO
OOOOOOO -> OOOOOO OOOOOO
OOOOOOO -> OOOOOOO OOOOOO
OOOOOOO OOOOOOO -> OOOOOOO OOOOOO
OOOOOOO OOOOOOO -> OOOOOOO OOOOOO
OOOOOOOO OOOOOOOO -> OOOOOOO OOOOOOO
OOOOOOOOO OOOOOOOOO -> OOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOO -> OOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOO -> OOOOOOOOOOOOOOOO
OOOOOOOOOOOOOO -> OOOOOOOOOOOOO
OOOOOOOOOOO -> OOOOOOOOO O
->
->
->
->
->
->
->
->
->
->
->
->
->
합니다. 내가 도대체 뭘 잘못하고있는 겁니까?