강화 : 왜 학습률이 정규화 매개 변수라고 불리는가?


19

그라디언트 부스팅 의 학습 속도 매개 변수 ( )는 시리즈에 추가 된 각각의 새 기본 모델 (일반적으로 얕은 나무)의 기여도를 줄입니다. 테스트 세트 정확도를 크게 향상시키는 것으로 나타 났으며, 이는 작은 단계에서와 같이 이해할 수있는 최소 손실 기능을보다 정확하게 얻을 수 있습니다. ν[0,1]

왜 학습 속도가 정규화 매개 변수 로 간주 됩니까? 통계 학습요소 인용, 10.12.1, p.364 :

트리 수를 제어하는 ​​것이 유일한 정규화 전략은 아닙니다. 능선 회귀 및 신경망과 마찬가지로 수축 기술도 사용할 수 있습니다. 값이 작을수록 (수축률 이 높음 ) 동일한 반복 횟수 M에 대해 훈련 위험이 커집니다 . 따라서, νM 은 훈련 데이터에 대한 예측 위험을 제어한다.ν미디엄ν미디엄

정규화 는 "과적 합을 피하는 방법"을 의미하므로 반복 횟수 이 그 점에서 결정적 이라는 것은 분명합니다 ( 너무 높은 M 은 과적 합으로 이어짐). 그러나:미디엄미디엄

값이 작을수록 (수축률 이 높음 ) 동일한 반복 횟수 M에 대해 훈련 위험이 커집니다 .ν미디엄

학습 속도가 낮 으면 훈련 세트에서 동일한 정확도를 달성하기 위해 더 많은 반복이 필요하다는 것을 의미합니다. 그렇다면 그것이 과적 합과 어떤 관련이 있습니까?

답변:


23

반복 횟수를 통해 목적 함수를 최소화하려고한다고 가정하십시오. 그리고 현재 값은 입니다. 주어진 데이터 세트에는 "돌이킬 수없는 오류"가 없으며 훈련 데이터 의 손실을 0.0으로 최소화 할 수 있습니다 . 이제 두 가지 방법이 있습니다.100.00.0

  • 첫 번째 방법은 "큰 학습 속도"와 적은 반복입니다. 각 반복에서 손실을 씩 줄이고 10 회 반복에서 손실을 0.0으로 줄일 수 있다고 가정하십시오 .10.0100.0

  • 두 번째 방법은 "느린 학습 속도"이지만 더 많은 반복입니다. 각 반복에서 손실을 씩 줄일 수 있고 100 이 필요하다고 가정하십시오.1.0100 있고 훈련 데이터에서 0.0 손실을 갖기 위해 반복 하십시오.

이제 이것에 대해 생각해보십시오. 두 접근법이 동등합니까? 그렇지 않은 경우 최적화 컨텍스트 에서 더 낫습니다.머신 러닝 컨텍스트 습니까?

최적화 문학 , 두 가지 방법은 동일합니다. 둘 다 최적의 솔루션으로 수렴합니다 . 반면에 머신 러닝 에서는 동일하지 않습니다. 대부분의 경우 훈련 손실을 설정하지 않기 때문에 과적 합 이 발생할 수 있습니다.0

첫 번째 접근법은 "거친 레벨 그리드 검색"으로, 두 번째 접근법은 "미세 레벨 그리드 검색"으로 생각할 수 있습니다. 두 번째 접근법은 일반적으로 더 잘 작동하지만 더 많은 반복을 위해서는 더 많은 계산 능력이 필요합니다.

과적 합을 막기 위해 우리는 다른 일을 할 수 있습니다. 첫 번째 방법은 반복 횟수를 제한하는 것입니다. 첫 번째 접근 방식을 사용한다고 가정하고 반복 횟수를 5로 제한합니다. 결국 훈련 데이터의 손실은 . (BTW, 이것은 매우 이상한 것입니다50 최적화 관점에서 볼 . 이는 미래에 솔루션을 개선 할 수 있음을 의미합니다 / 수렴되지 않았지만 그렇지 않은 것으로 선택했습니다. 최적화에서는 일반적으로 목적 함수에 제약 조건 또는 처벌 조건을 명시 적으로 추가합니다. 일반적으로 반복 횟수를 제한하지는 않습니다.)

반면에, 우리는 또한 두 번째 접근 방식을 사용할 수 있습니다. 학습 속도를 작게 설정하면 반복마다 손실을 줄 이십시오. 반복 횟수가 500 회라는 많은 반복 횟수가 있지만 손실을 0.0으로 최소화하지 못했습니다 .0.15000.0

이것이 작은 학습률이 "더 많은 정규화"와 같은 이유입니다.

를 사용하여 실험 데이터에 대해 다른 학습 속도를 사용하는 예는 다음과 같습니다 xgboost. 무엇을 의미 하는지 eta또는 n_iterations의미 를 알아 보려면 다음 두 링크를 확인하십시오 .

트리 부스터 파라미터

XGBoost Control 오버 피팅

동일한 반복 횟수에 대해 이라고 말합니다 . 작은 학습률은 "부적합"(또는 모델에 "높은 편향"이 있음)이고 큰 학습률은 "과적 합"(또는 모델에 "고 분산")입니다.50

XGBoost 모델에서 학습 속도 ETA 변경 예

추신. 부족한 피팅의 증거는 훈련과 테스트 세트 모두 오류가 크며 훈련과 테스트의 오차 곡선은 서로 가깝습니다. 과적 합의 징후는 훈련 세트의 오차가 매우 낮고 시험 세트가 매우 높으며 두 곡선이 서로 멀리 떨어져 있다는 것입니다.


학습률이 낮 으면 동일한 손실에 대해 학습률이 높은 것보다 더 많은 반복 검색이 가능하다는 의미입니까? 나는 당신이 전달하려는 직감을 얻었지만 더 엄격한 설명 및 / 또는 예시가 아프지 않을 것이라고 생각합니다.
Antoine

감사합니다. 링크를 업데이트 할 수 있습니까? 그들은 나를 위해 작동하지 않습니다
Antoine

후속 반복에서 학습 오류를 증가시키지 않는 한 더 큰 학습 속도를 사용하는 것이 항상 좋습니다. 당신이 말하는 정규화 (바이어스 대 분산)는 학습률이 아닌 훈련 / 검증 오류와 관련이 있습니다. 크거나 작은 학습 속도를 사용하든 0.0 교육 오류에 도달하면 과도하게 과적 합합니다. 더 큰 학습 속도를 사용하는 경우 오버 피팅을 방지하기 위해 최적화를 더 일찍 중지해야합니다. 유효성 검사 세트를 사용하여 훈련을 중단 한 시점에서 유효성 검사 오류가 증가하는지 확인할 수 있습니다.
Curious

또는 뭔가 빠졌을 수도 있습니다 :)
Curious

This is why small learning rate is sort of equal to "more regularizations". 본 논문, 더 큰 학습 속도, 더 정규화에 따르면 슈퍼 컨버전스 : 신경 회로망의 매우 빠른 교육 큰 학습 요금 사용
앙투안

2

Newton의 방법을 사용하면 손실의 구배를 손실의 곡률로 나눈 값을 빼서 매개 변수를 업데이트합니다. 그라디언트 디센트 최적화에서는 학습 시간 손실 시간의 그라디언트를 빼서 매개 변수를 업데이트합니다. 즉, 실제 손실 곡률 대신 학습 속도의 역수가 사용됩니다.

문제의 손실 을 좋은 모델과 나쁜 모델을 정의하는 손실 로 정의 해 봅시다 . 진정한 손실입니다. 최적화 된 손실을 정의합시다업데이트 규칙에 의해 실제로 최소화되는 것으로 을 .

정의에 따르면 정규화 매개 변수는 최적화 된 손실에 있지만 문제 손실에는없는 용어입니다. 학습률은 최적화 된 손실에서 추가 2 차 항처럼 작용하지만 문제 손실과는 관련이 없으므로 정규화 매개 변수입니다.

이 관점을 정당화하는 정규화의 다른 예는 다음과 같습니다.

  • 무게 감소는 큰 무게를 가중시키는 최적화 된 손실의 추가 용어와 같습니다.
  • 복잡한 모형에 불이익을주는 용어
  • 피처 간의 상관 관계에 불이익을주는 용어.

-모르겠어요 In other words, the reciprocal of the learning rate is used in place of the real loss curvature. -도메인 전문가가 아니며 다음과 같은 정의가 처음 a regularization parameter is any term that is in the optimized loss, but not the problem loss입니다. 나도 그것을 이해하지 못한다. 관련 참조를 제공해 주시겠습니까? 미리 감사드립니다
Antoine

@Antoine 참조를 제공 할 수 없습니다. 세 가지 다른 예를 사용하여 정당화하려고 시도한 것은 단지 내 경험입니다. 역 손실 곡률 대신 학습 속도에 대해 Newton의 방법과 경사 하강 업데이트 규칙을 나란히 작성하면 알 수 있습니다.
Neil G
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.