2014-11-08 3 views
14

난 5184 개 값 (두 자리 값을 바이트로 변환 화상) (22 개) 입력을 갖는 신경망을 가지며, 내가 좋아하는, 값 0 또는 1 2 개 출력을 설정하려고 :신경 네트워크에 몇 개의 출력 뉴런이 있습니까?

<input data line with 5184 values> 
0 1 
<input data line with 5184 values> 
1 0 
<input data line with 5184 values> 
. 
. 
. 

그리고 경우 I을 나는 결과를 얻는다 :

Epochs   1. Current error: 0.3750000000. Bit fail 33. 

그래서이 비트는 무엇입니까? The documentation says :

실패 비트 수; 이 비트 오류 한계보다 다른 출력 뉴런 수를 의미합니다.

그러나 출력이 2 개인 경우 어떻게 출력 뉴런을 사용할 수 있습니까? --update

난이 (33) (44 개)의 출력 (22 개 각각의 입력 2)의 총 수 있었다 상상. 그러나 이것을 확인하는 문서에는 아무 것도 없습니다 ...

답변

9

숫자 '33'은 신경망 훈련 중 출력과 예상 목표 출력 간의 '차이'보다 큰 수치입니다. 이는 단순히 신경망이 원하는 출력에서 ​​33 비트 '너무 많이'벗어나는 것을 의미합니다. 모든 출력을 계산하고 현재 '오류율'을 제공한다는 점에 유의하십시오. 오류율은 37.5 %입니다. 표준 오류율 허용 오차는 문서 당 0.35이므로 가정하면 33 * 40 = 1320 비트 출력에서 ​​33 비트에 해당하는 2.5 %의 너무 많은 오류 비트가 있습니다. 아니면 적어도 내가이 문서 페이지에서 이해할 수있는 것입니다.

실수로 2 개 이상의 출력이있을 수 있습니다. 1320/22 = 60.

+0

답변 해 주셔서 감사합니다! 이 '33 * 40'을 이해하지 못하면'33 * 44'을 의미합니까? 아니면이 '40'이 어디에서 유래 되었습니까? 또한,'fann_num_output_train_data'를 출력하면'2'가됩니다. 그래서 출력이 올바른 것처럼 보입니다. 어쨌든, 당신은 비트 실패 물건을 명확히하는 데 도움이 됐습니다, 감사합니다! –

+0

40 %는 2.5 %입니다. 2.5 * 40 = 100 % - 모든 비트가 있어야합니다. 세 가지 사실로부터 저는 몇 가지 기본 수학을 사용하여 마지막 값을 계산할 수 있습니다. 물론 오류 메시지가 정확하다고 가정합니다. – aphid

+0

'1320'은 (33/2.5) * 100 = 1320으로 이해합니다. 그러나 나는 아직도이 '40'을 알아 내려고 노력하고 있습니다. 만약 내가 1320/33 일 경우 40 점을 얻지 만,이 40 점이 실제로 무엇을 의미합니까? –