정규화 : 왜 1 / 2m를 곱합니까?


10

에서 3 주 강의 노트앤드류 응의 코 세라 기계 학습 클래스 , 용어는 정규화를 구현하는 비용 함수에 추가됩니다

J+(θ)=J(θ)+λ2mj=1nθj2

강의 노트는 다음과 같이 말합니다.

모든 세타 매개 변수를 하나의 요약으로 정규화 할 수도 있습니다.

minθ 12m [i=1m(hθ(x(i))y(i))2+λ j=1nθj2]

12m 은 나중에 신경망정규화 기간에 적용됩니다 .

정규화 된 로지스틱 회귀에 대한 비용 함수는 다음과 같습니다.

J(θ)=1mi=1m[y(i) log(hθ(x(i)))+(1y(i)) log(1hθ(x(i)))]+λ2mj=1nθj2

신경망의 경우 약간 더 복잡해집니다.

J(Θ)=1mi=1mk=1K[yk(i)log((hΘ(x(i)))k)+(1yk(i))log(1(hΘ(x(i)))k)]+λ2ml=1L1i=1slj=1sl+1(Θj,i(l))2
  • 왜 상수 반이 여기에 사용됩니까? 미분 에서 취소되도록 ?J
  • 왜 훈련 예제로 구분합니까? 훈련 사례의 양은 사물에 어떤 영향을 미칩니 까?m

1 / m이 정규화되어 있고 J (theta)가 아니라고 확신하십니까? AFAIK @DikranMarsupial의 대답은 그 가정을하고 있습니다.
seanv507

이 가정은 틀리다 은 비 규제 비용 함수와 정규화 기간에 모두 적용된다. 전체 수식을 제공하기 위해 질문을 업데이트했습니다. 12m
Tom Hale

답변:


5

의 당신이 10 예를 가지고 예 당신이 수에 의해 L2의 정규화 비용을 분할하지 않는 가정하자 해요 . 그러면 교차 엔트로피 비용과 비교 한 L2 정규화 비용의 "우세"는 10 : 1과 같을 것입니다. 각 훈련 예제는 전체 비용에 비례하여 1 / m = 1/10에 기여할 수 있기 때문 입니다.

더 많은 예를 들어 100이라고 가정하면 L2 정규화 비용의 "우세"는 100 : 1과 같으므로 그에 따라 λ 를 줄여야하므로 불편합니다. 배치 크기에 관계없이 λ를 일정하게 유지하는 것이 좋습니다 .

업데이트 : 이 주장을보다 강력하게하기 위해 jupyter notebook을 만들었습니다 .


1
흠, 그러나 각 훈련 예제가 비용에 균등하게 기여하는 비용 함수 이전의 1 / m 요소의 목적이 아닙니까? 따라서 우리는 이미 개별 비용을 평균화하고 있기 때문에 이것이 L2 기간의 지배적 인 원인이되어서는 안됩니다. 그러나 나는 당신의 위대한 시뮬레이션에서 L2 항 이전의 1 / m 요소가 도움이된다는 것을 알았습니다. 나는 그 뒤에 직관을 얻지 못합니다 (아직).
Milania

왜 불편한가요? L2 비용을 샘플 수로 나누는 것은 간단합니다. 어쩌면 당신이 잘못 표현했다고 생각합니다. 매번 L2 비용 을 수동으로 스케일링 하는 것이 불편하다고 말하고 자동으로 스케일링하기 위해 공식의 일부로 샘플 수로 나누는 것이 좋습니다.
스페이스 몽키

6

훈련 세트 의 손실 함수 는 일반적으로 훈련 세트를 구성하는 패턴에 대한 합이며, 훈련 세트가 커질수록 첫 번째 항은 본질적으로 과 선형으로 스케일 됩니다. 우리의 좋은 값으로 seraching의 범위를 좁힐 수 우리가 처음으로 정규화 항을 나누면 공정한 비트 의 의존성 오프셋 에서 . 물론 2는 실제로 최적의 를 결정하는 데 사용되는 최적화 알고리즘에 필요한 파생물을 단순화하기 위해 분모에 있습니다.J(θ)mλmJ(θ)mθ


비정규 비용 스케일링을 설명해 주셔서 감사합니다 . 나는 여전히 나누는 것이 광범위하게 다른 값으로 단일 값이 더 잘 작동 하는 데 도움이 되는 방법을 얻지 못합니다 . 비정규 화 된 비용은 이미 크게 의존하고 있으므로 왜 예가 아닌 매개 변수에 의존하는 정규화 항에주의 해야합니까? 더 많은 훈련 예제를 사용하면 동일한 수의 매개 변수가 주어지면 분산이 감소하기 때문입니까? mmλmmnm
Tom Hale

질문의 손실 함수는 합계가 아닌 모든 예제 (즉, m으로 나눈 값)의 평균 이므로이 답변의 작동 방식을 실제로 보지 못합니다.
Denziloe

@Denziloe 정규화 용어에도 적용됩니다.
Dikran Marsupial

2

이 과정을 수강 할 때 똑같은 것이 궁금 해졌고, 이것에 대해 조금 연구했습니다. 여기에 짧은 대답을 드리겠습니다. 그러나 내가 작성한 블로그 게시물 에서 더 자세한 개요를 읽을 수 있습니다 .

스케일링 계수의 이유 중 적어도 일부는 L² 정규화가 아마도 동일하지는 않지만 체중 감량이라는 관련 개념을 도입함으로써 딥 러닝 분야에 들어갔 기 때문이라고 생각합니다.

0.5 팩터는 그래디언트에서 무게 감퇴에 대한 멋진 λ 전용 계수를 얻고 m으로 스케일링합니다 ... 음, 내가 찾거나 찾은 적어도 5 가지 동기가 있습니다.

  1. 배치 그라디언트 디센트의 부작용 : 그라디언트 디센트 의 단일 반복이 전체 훈련 세트에 대해 대신 공식화 될 때 알고리즘이 배치 그라디언트 디센트 (1 / m의 스케일링 계수)라고 불리는 알고리즘을 가져 와서 비용 함수를 비교할 수 있도록합니다. 서로 다른 크기의 데이터 세트에서 가중치 감소 조건에 자동으로 적용됩니다.
  2. 단일 예제의 가중치로 재조정 : grez의 흥미로운 직관을 참조하십시오.
  3. 훈련 세트 대표성 : 통계적으로 전체 분포의 대표성이 증가함에 따라 훈련 세트의 규모가 커짐에 따라 정규화를 축소하는 것이 합리적입니다. 기본적으로 데이터가 많을수록 정규화가 덜 필요합니다.
  4. λ를 비교 가능하게 만들기 : m이 변경 될 때 λ를 변경해야 할 필요성을 완화함으로써이 스케일링은 λ 자체를 다른 크기의 데이터 세트에서 비교할 수있게 만듭니다. 이를 통해 λ는 특정 학습 문제에 대한 특정 모델에 필요한 실제 정규화 정도를 더 잘 평가할 수 있습니다.
  5. 경험적 가치 : 훌륭한 노트북 grez은 이것이 실제로 성능을 향상 시킨다는 것을 보여줍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.