라이브러리: MLP 신경망 클래스 - 페이지 2

 
elibrarius:

곱셈 테이블 훈련의 결과를 비교하면 네트워크의 손실이 눈에 띄게 줄어듭니다. ALGLIB에서 100개의 에포크를 훈련한 2,5,1 네트워크(https://www.mql5.com/ru/forum/8265/page2)는 1000000개의 에포크를 사용한 네트워크보다 더 나은 답을 제공합니다. 10000000000 에포크의 계산 속도도 만족스럽지 않습니다.

분명히 학습 방법은 그다지 효율적이지 않습니다. 그러나 여전히-작업에 감사드립니다. ALGLIB보다 작은 코드로 이해하기가 더 쉽습니다. 그러나 우리는 여전히 그곳으로 이동해야합니다.

잘못된 비교, 학습을 위해 100 개의 예제가 모두 ALGLIB 변형에 표시되므로 답변이 더 정확합니다. ALGLIB에서 답변이있는 예제를 줄이면 결과가 더 나아지지 않을 것이라고 생각합니다.

 

안녕하세요, 이 네이티브 라이브러리를 만드는 데 시간을 내주셔서 감사합니다!

핫 인코딩을 한 번 시도하고 숨김에 relu를 추가하고 출력 레이어 호출에 Softmax 함수를 추가했습니다. 그것은 작동하고 100 % 총 결과를 생성합니다 .

하지만 훈련이 엉망이 되었는데, Sigmoud로 다시 전환해도 iRprop이 분류에 적합하지 않나요? 입력이 무엇이든 거의 동일한 출력을 제공합니다. 가끔 바뀌긴 하지만 큰 변화는 없습니다.


두 번째 질문, 탄과 시그모드가 Lern 메서드에서 다르게 처리되는 것을 봤는데, 아직 코드의 해당 부분을 이해하지 못했는데 어느 것이 Relu에 적합한가요?

 
이 놀라운 기여에 감사드립니다... 허용 오류를 어떻게 확인할 수 있는지 설명해 주시겠어요?
 
northedan:
이 놀라운 기여에 감사드립니다... 허용 오류를 어떻게 확인할 수 있는지 설명해 주시겠어요?
//+------------------------------------------------------------------+
//| 학습|
//+------------------------------------------------------------------+
void CNetMLP::Learn(int c_npat,       // 교육 패턴 수
                    double &c_inp[],  // 입력 데이터
                    double &c_res[],  // 출력 데이터
                    int c_nep,        // 학습 에포크 수
                    double c_err)     // 허용 오류