0

저는 다중 레이어, 피드 포워드, 역 전파 구조를 위해 파이썬에서 신경망을 코딩했습니다. 이 네트워크 구조에서 입력 레이어에는 24 개의 노드가 있고, 숨겨진 레이어에는 18 개의 노드가 있고 출력 레이어에는 1 개의 노드가 있습니다. 작은 데이터 세트에 대한 좋은 교육 결과를 얻고 있지만 큰 데이터 입력의 경우 학습 속도, 운동량 속도 등과 같은 상수 매개 변수의 값을 설정할 수 없습니다. 입력 값에 대한 입력 샘플이 다음과 같습니다.큰 데이터 샘플을 갖는 신경망의 매개 변수 값은 무엇이되어야합니까?

[[1,0,1,0,1,0,1,0,1,1,1,1,0,0,0,0,0,1,1,1,0,1,0,1] 
[1,0,1,0,1,0,1,0,1,1,1,1,0,0,0,0,0,1,1,1,0,1,0,1] 
[1,0,1,0,1,0,1,0,1,1,1,1,0,0,0,0,0,1,1,1,0,1,0,1] 
. 
. .........................      ] 

하고 목표 값에 대한 입력 샘플 :

[[-20.0] 
[-10.0] 
[30.0] 
    . 
    .....] 

샘플의 총 수는 약 5000 제가

learning_rate = 0.01 
momentum_rate = 0.07 
01를 사용하여이 네트워크를 훈련 한 인

좋은 결과를 얻지 만 500000 정도의 시간과 반복이 필요합니다. 학습 속도와 운동량 비율 설정에 대한 좋은 제안이 있으므로 빠른 결과를 얻을 수 있습니다. 아니면 내가 학습 속도를 도입한다면 무엇을 가치로해야 하는가?

+0

결과가 얼마나 좋은지 어떻게 결정합니까? 검증 세트가 있습니까? 테스트 세트? 그렇다면 작은 데이터 세트로 많은 양의 데이터보다 더 나은 결과를 얻을 수 있습니다. 데이터에 문제가있을 수 있습니다. – cruvadom

답변

0

신경망을보다 빠르게 학습하려면 시행 착오의 과정이 될 수 있습니다.

결과를 더 빨리 얻으려면 학습 속도를 높이거나 (더 큰 가중치 조정) 숨겨진 레이어 뉴런이나 입력을 낮추거나 (계산이 적음) 반복 횟수를 줄일 수 있지만 테스트 및 유효성 검증 세트 성능을 저하시킬 수도 있습니다.

시간이 있으면 이러한 옵션을 테스트하고 비교하여 문제에 대해 더 빨리 학습 할 수 있는지 판단 할 수 있습니다.