2014-10-17 3 views

답변

0

pybrain의 L2 정규화 인 가중 감소 변수가 있습니다. 그것과는 별도로, 나는 체중 감소 기간의 조합으로 일찍 멈추도록 구현할 것이다.

다음은 무게 감쇠를 지정하는 방법입니다.

trainer = RPropMinusTrainer(net, dataset=trndata, verbose=True, weightdecay=0.01) 
0

이하는 이 아니고 L1/L2 정규화입니다. 그러나 조기에 멈추게하여 과핑을 방지하는 데 사용할 수 있습니다. trainer 문서에서

,

trainUntilConvergence (집합 = 없음, maxEpochs는 = 없음, 상세 = 없음, continueEpochs = 10 validationProportion = 0.25) 할 때까지 데이터 집합에

기차 모듈 수렴.

최소한의 유효성 검사를 수행 한 매개 변수를 사용하여 모듈을 반환하십시오. 오류.

데이터 집합이 제공되지 않으면 트레이너 초기화 중에 전달 된 데이터 집합이 사용됩니다. validationProportion은 유효성 검사 데이터 집합에 사용되는 데이터 집합의 비율입니다.

maxEpochs가 주어지면, 대부분의 에포크가 훈련됩니다. 유효성 검사 오류가 최소 횟수에 도달 할 때마다 continueEpochs 에포크가 을 더 잘 찾습니다.

기본 매개 변수를 사용하는 경우 이미 학습 및 검증 데이터 세트로 75:25의 분할을 사용할 수 있습니다. 검증 데이터 세트는 초기 중지에 사용됩니다.

0

정규화는 비용 기능을 변경하는 것을 의미합니다. PyBrain의 사용자 선택은 비용 함수에 영향을 미칩니다. 예를 들어, 레이어가 선형인지 또는 시그 모이 드인지 선택합니다. 그러나 비용 함수 자체가 직접 노출되지는 않습니다.

그러나 elsewhere on StackOverflow 누군가는 weightdecay 매개 변수를 통해 L2 정규화가 가능하다고 주장합니다. (L2 norm은 각 좌표에서 차이의 제곱을 합계하는 반면 L1 norm은 양의 절대 차이를 합산합니다.)