머신 러닝 맥락에서 정규화는 모델의 일반화 성능을 향상시키는 데 사용되는 중요한 기술로, 특히 고차원 데이터나 과적합되기 쉬운 복잡한 모델을 다룰 때 그렇습니다. 과적합은 모델이 학습 데이터의 기본 패턴뿐만 아니라 노이즈도 학습하여 보이지 않는 데이터에 대한 성능이 저하될 때 발생합니다. 정규화는 지나치게 복잡한 모델에 페널티를 주어 과적합을 방지하기 위해 모델에 추가 정보나 제약을 도입합니다.
정규화의 기본 아이디어는 모델이 최소화하려는 손실 함수에 페널티 항을 통합하는 것입니다. 이 페널티 항은 복잡성에 비용을 부과하여 모델이 훈련 데이터의 노이즈에 맞추지 못하도록 막습니다. 일반적으로 이는 모델 매개변수의 크기로 측정됩니다. 이를 통해 정규화는 훈련 데이터를 잘 맞추는 것과 모델의 새로운 데이터로 일반화하는 능력을 유지하는 것 사이의 균형을 이루는 데 도움이 됩니다.
머신 러닝에서 일반적으로 사용되는 여러 유형의 정규화 기술이 있으며, 가장 널리 사용되는 것은 L1 정규화, L2 정규화, 드롭아웃입니다. 이러한 기술 각각에는 고유한 특성과 응용 프로그램이 있습니다.
1. L1 정규화(라소 회귀): L1 정규화는 손실 함수에 계수 크기의 절대값과 같은 페널티를 추가합니다. 수학적으로는 다음과 같이 표현할 수 있습니다.
어디에 원래의 손실 함수입니다.
는 정규화 매개변수이고
모델 매개변수입니다. L1 정규화의 효과는 희소 모델을 생성하는 경향이 있다는 것입니다. 즉, 일부 계수를 XNUMX으로 만들어 효과적으로 피처 선택을 수행합니다. 이는 많은 피처가 관련이 없을 수 있는 고차원 데이터를 처리할 때 특히 유용할 수 있습니다.
2. L2 정규화(릿지 회귀): L2 정규화는 손실 함수에 계수의 크기의 제곱에 해당하는 페널티를 추가합니다. 수학적으로는 다음과 같이 표현됩니다.
L2 정규화는 제곱 값에 페널티를 주어 큰 계수를 억제하고, 더 고르게 분포된 가중치 집합을 만듭니다. L1과 달리 L2 정규화는 계수를 정확히 XNUMX으로 강제하지 않고 오히려 작게 유지하므로 희소 모델을 생성하지 않습니다. 이는 모든 특징에 어느 정도 관련성이 있을 때 과적합을 피하는 데 특히 유용합니다.
3. 탄력적 네트워크 정규화: Elastic Net은 L1과 L2 정규화를 모두 결합합니다. 특히 여러 개의 상관 관계가 있는 특징이 있는 상황에서 유용합니다. Elastic Net 페널티는 L1과 L2 페널티의 선형 조합입니다.
매개변수를 조정하여 and
Elastic Net은 L1과 L2 정규화의 이점을 모두 균형 있게 조절할 수 있습니다.
4. 탈락: 드롭아웃은 신경망을 위해 특별히 설계된 정규화 기술입니다. 훈련하는 동안 드롭아웃은 각 반복에서 계층의 노드(뉴런)의 일부를 무작위로 0으로 설정합니다. 이를 통해 네트워크가 단일 노드에 지나치게 의존하는 것을 방지하고 네트워크가 더욱 견고한 기능을 학습하도록 장려합니다. 드롭아웃은 매개변수 수가 많아 과적합이 일반적인 문제인 딥 러닝 모델에서 특히 효과적입니다.
5. 조기 중단: 전통적인 의미의 정규화 기술은 아니지만, 조기 중단은 검증 세트의 성능이 저하되기 시작하면 학습 프로세스를 중단하여 과적합을 방지하는 전략입니다. 이는 모델이 지속적으로 업데이트되는 경사 하강법과 같은 반복적 방법에서 특히 유용합니다.
정규화는 머신 러닝에 필수적입니다. 왜냐하면 모델이 복잡성을 제어하여 보이지 않는 데이터에서 좋은 성능을 낼 수 있기 때문입니다. 정규화 기법의 선택과 매개변수의 조정( L1 및 L2의 경우, 중도 탈락률(중도 탈락에 대한 중도 탈락률)이 중요하며 최적의 결과를 얻으려면 종종 실험과 교차 검증이 필요합니다.
예를 들어, 많은 특징이 있는 데이터 세트에서 학습된 선형 회귀 모델을 생각해 보세요. 정규화가 없다면 모델은 일부 특징에 큰 가중치를 할당하여 학습 데이터에 매우 가깝게 맞지만 과적합으로 인해 테스트 데이터에서는 성능이 떨어질 수 있습니다. L2 정규화를 적용하면 모델은 가중치를 더 균등하게 분배하도록 권장되어 잠재적으로 새 데이터에 대한 더 나은 일반화를 이룰 수 있습니다.
다른 시나리오에서, 이미지 데이터로 훈련된 신경망은 훈련 이미지의 특정 패턴을 기억함으로써 과적합될 수 있습니다. 드롭아웃을 적용함으로써, 네트워크는 다양한 이미지에서 유용한 보다 일반적인 특징을 학습하도록 강제되어 보이지 않는 데이터에서 성능이 향상됩니다.
정규화는 모델의 손실 함수에 복잡성에 대한 페널티를 추가하여 과적합을 방지하는 데 도움이 되는 머신 러닝의 기본 개념입니다. 모델의 복잡성을 제어함으로써 L1, L2, Elastic Net, 드롭아웃, 조기 중단과 같은 정규화 기술은 새로운 데이터에 대한 더 나은 일반화를 가능하게 하여 머신 러닝 실무자의 툴킷에서 없어서는 안 될 도구가 되었습니다.
기타 최근 질문 및 답변 EITC/AI/GCML Google Cloud 머신 러닝:
- 머신 러닝에 사용되는 하이퍼파라미터는 무엇입니까?
- Whawt는 머신 러닝을 위한 프로그래밍 언어입니다. 바로 Python입니다.
- 머신 러닝은 과학계에 어떻게 적용되나요?
- 어떤 머신 러닝 알고리즘을 사용할지 어떻게 결정하고, 어떻게 찾을 수 있나요?
- 연합 학습, 엣지 컴퓨팅, 온디바이스 머신 러닝의 차이점은 무엇입니까?
- 훈련 전에 데이터를 준비하고 정리하는 방법은 무엇인가요?
- 머신 러닝 프로젝트의 구체적인 초기 작업과 활동은 무엇입니까?
- 특정 머신 러닝 전략과 모델을 채택하기 위한 기본 규칙은 무엇입니까?
- 어떤 매개변수가 선형 모델에서 딥 러닝으로 전환해야 할 때임을 나타냅니까?
- TF 배포판을 사용할 수 없는 문제를 피하기 위해 TensorFlow를 설치하는 데 가장 적합한 Python 버전은 무엇입니까?
EITC/AI/GCML Google Cloud Machine Learning에서 더 많은 질문과 답변 보기
더 많은 질문과 답변:
- 들: 인공 지능
- 프로그램 : EITC/AI/GCML Google Cloud 머신 러닝 (인증 프로그램으로 이동)
- 교훈: 기계 학습의 첫 번째 단계 (관련 강의 바로가기)
- 주제 : 기계 학습의 7 단계 (관련 항목으로 이동)