기계 학습의 정규화: 과적합을 피하는 방법?

게시 됨: 2020-02-17

머신 러닝은 컴퓨터가 명시적인 지시 없이 특정 작업을 수행하도록 하는 것을 포함합니다. 따라서 시스템은 경험을 통해 자동으로 배우고 개선하도록 프로그래밍됩니다. 데이터 과학자는 일반적으로 머신 러닝에서 정규화를 사용 하여 교육 과정에서 모델을 조정합니다. 이 개념을 자세히 이해합시다.

목차

정규화 닷지 과적합

기계 학습의 정규화를 통해 훈련 모델의 과적합을 피할 수 있습니다. 과적합은 모델이 훈련 데이터 세트의 임의 데이터를 캡처할 때 발생합니다. 데이터 속성이 없는 이러한 데이터 포인트는 모델을 '시끄럽게' 만듭니다. 이 노이즈는 모델을 더 유연하게 만들 수 있지만 정확도가 낮은 문제를 일으킬 수 있습니다.

같은 수의 여학생과 남학생이 있는 10명의 학생이 있는 교실을 생각해 보십시오. 연간 시험의 전체 수업 성적은 70점입니다. 여학생의 평균 점수는 60점, 남학생의 평균 점수는 80점입니다. 이러한 과거 점수를 바탕으로 학생들의 미래 점수를 예측하고자 합니다. 다음과 같은 방법으로 예측할 수 있습니다.

  • Under Fit: 전체 수업이 70점을 받습니다.
  • Optimum Fit: 이것은 여아의 점수를 60점으로, 남학생의 점수를 80점으로 예측하는 단순한 모델일 수 있습니다(지난번과 동일).
  • Over Fit: 이 모델은 학생이 작년과 정확히 같은 점수를 받을 것이라고 예측하기 위해 롤 번호와 같은 관련 없는 속성을 사용할 수 있습니다.

정규화는 다른 페널티 항을 추가하여 오차 함수를 조정하는 회귀의 한 형태입니다. 이 추가 항은 계수가 극단적인 값을 취하지 않도록 하여 과도하게 변동하는 함수의 균형을 유지합니다.

모든 기계 학습 전문가는 모델을 정확하고 오류가 없도록 만들기 위해 노력할 것입니다. 그리고 이 목표를 달성하는 열쇠는 편향과 분산 사이의 균형을 마스터하는 데 있습니다. 이것이 의미하는 바를 명확하게 이해하려면 계속 읽으십시오.

편향과 분산 균형 맞추기

올바른 '편향-분산' 균형을 달성하는 방법을 찾아 예상 테스트 오류를 ​​최소화할 수 있습니다. 즉, 선택한 통계 학습 방법은 낮은 분산과 낮은 편향을 동시에 구현하여 모델을 최적화해야 합니다. 분산이 높은 모델은 과적합되고 편향이 높으면 과소적합된 모델이 됩니다.

교차 검증은 과적합을 피하는 또 다른 수단을 제공합니다. 모델이 데이터 세트에서 올바른 패턴을 선택하는지 확인하고 테스트 세트에 대한 오류를 추정합니다. 따라서 이 방법은 기본적으로 모델의 안정성을 검증합니다. 또한 특정 모델에 가장 적합한 매개변수를 결정합니다.

모델의 해석 가능성 높이기

목표는 훈련 세트에 대해 0 오류를 얻는 것뿐만 아니라 테스트 데이터 세트에서 올바른 목표 값을 예측하는 것입니다. 따라서 이 프로세스의 복잡성을 줄이는 '조정된' 기능이 필요합니다.

기계 학습의 정규화 설명

정규화는 계수 추정치를 0으로 축소하여 작동하는 제한된 회귀의 한 형태입니다. 이러한 방식으로 노이즈로부터 학습할 수 있는 모델의 용량이 제한됩니다.

이 선형 회귀 방정식을 살펴보겠습니다.

Y= β0+β1X1+β2X2+…..+βpXp

여기서 β는 (X)로 표시되는 다양한 예측 변수에 대한 계수 추정치를 나타냅니다. 그리고 Y는 학습된 관계입니다.

이 함수 자체에 오류가 발생할 수 있으므로 학습된 추정치를 정규화하기 위해 오류 함수를 추가합니다. 이 경우 오류를 최소화하여 손실 함수라고도 부를 수 있습니다. 이 손실 함수 또는 RSS(Residual Sum of Squares)는 다음과 같습니다.

따라서 데이터 과학자는 정규화를 사용하여 예측 기능을 조정합니다. 정규화 기술은 수축 방법 또는 중량 감소라고도 합니다. 그들 중 일부를 자세히 이해합시다.

릿지 정규화

릿지 회귀에서 손실 함수는 β의 제곱 값의 합에 해당하는 수축량으로 수정됩니다. 그리고 λ의 값은 모델이 얼마나 패널티를 받을지 결정합니다.

릿지 회귀 분석의 계수 추정값을 L2 노름이라고 합니다. 이 정규화 기술은 데이터의 독립 변수가 높은 상관 관계가 있을 때 도움이 됩니다.

올가미 정규화

올가미 기법에서 β의 절대값(β의 계수)의 합과 같은 페널티가 오차 함수에 추가됩니다. 페널티의 강도를 제어하는 ​​매개변수 λ를 추가로 곱합니다. 이 방법에서는 높은 계수만 벌점을 받습니다.

Lasso에 의해 생성된 계수 추정값을 L1 노름이라고 합니다. 이 방법은 많은 수의 특징을 가진 적은 수의 관측치가 있을 때 특히 유용합니다.

위의 접근 방식을 단순화하기 위해 λ의 각 값에 대해 존재하는 상수 s를 고려하십시오. 이제 L2 정규화에서 계수의 제곱합이 s보다 작거나 같은 방정식을 풉니다. 반면 L1 정규화에서는 계수 계수의 합이 s보다 작거나 같아야 합니다.

읽기: 머신 러닝과 신경망

위에서 언급한 두 가지 방법 모두 회귀 모델이 불필요한 속성을 사용하지 않도록 합니다. 이러한 이유로 Ridge Regression 및 Lasso는 제약 조건 함수라고도 합니다.

제약 조건 함수의 RSS 및 예측자

이전 설명의 도움으로 능선 회귀 및 올가미에 대한 손실 함수(RSS)는 β1² + β2² ≤ s 및 |β1| + |β2| ≤ s, 각각. β1² + β2² ≤ s 는 원을 형성하고 RSS는 그 안에 있는 모든 점에 대해 가장 작습니다. 올가미 함수의 경우 RSS는 |β1| + |β2| ≤ s.

능선 회귀 분석은 가장 덜 필수적인 예측 변수에 대한 계수 추정치를 축소하지만 제거하지는 않습니다. 따라서 최종 모델에는 0이 아닌 추정값으로 인해 모든 예측 변수가 포함될 수 있습니다. 반면에 Lasso는 특히 λ가 클 때 일부 계수가 정확히 0이 되도록 강제할 수 있습니다.

읽기: 기계 학습을 위한 Python 라이브러리

정규화가 균형을 이루는 방법

표준 최소 제곱 모델과 관련된 약간의 분산이 있습니다. 정규화 기술은 제곱 편향을 크게 증가시키지 않으면서 모델의 분산을 줄입니다. 그리고 튜닝 매개변수 λ의 값은 데이터의 중요한 속성을 제거하지 않고 이 균형을 조정합니다. 일반적인 최소 자승 회귀의 경우인 λ 값이 0일 때 패널티는 효과가 없습니다.

분산은 λ의 값이 증가할 때만 감소합니다. 그러나 이것은 특정 지점까지만 발생하며 그 이후에는 편향이 증가하기 시작할 수 있습니다. 따라서 이 수축 계수의 값을 선택하는 것은 정규화에서 가장 중요한 단계 중 하나입니다.

결론

이 기사에서 우리는 기계 학습의 정규화 와 그 장점에 대해 배웠고 능선 회귀 및 올가미와 같은 방법을 탐구했습니다. 마지막으로 정규화 기술이 회귀 모델의 정확도를 개선하는 데 어떻게 도움이 되는지 이해했습니다. 정규화를 막 시작하는 경우 이 리소스에서 기본 사항을 명확히 하고 첫 번째 단계를 수행하도록 권장합니다!

기계 학습에 대해 자세히 알아보려면 IIIT-B 및 upGrad의 기계 학습 및 AI PG 디플로마를 확인하세요. 이 PG 디플로마는 일하는 전문가를 위해 설계되었으며 450시간 이상의 엄격한 교육, 30개 이상의 사례 연구 및 과제, IIIT- B 동문 자격, 5개 이상의 실용적인 실습 캡스톤 프로젝트 및 최고의 기업과의 취업 지원.

머신 러닝을 배운 후 직업 옵션은 무엇입니까?

기계 학습은 기술 분야에서 가장 최근에 진행되고 가장 유망한 직업 중 하나입니다. 기계 학습이 계속 발전하고 확장됨에 따라 이 기술 분야에서 경력을 쌓고자 하는 개인에게 새로운 직업 기회가 열립니다. 기계 학습 엔지니어로 일하고자 하는 학생과 전문가는 보람 있고 스릴 넘치는 학습 경험을 기대할 수 있으며 물론 급여가 좋은 최고의 조직에 취업할 수 있기를 기대할 수 있습니다. 데이터 과학자 및 기계 학습 엔지니어부터 컴퓨터 언어학자 및 인간 중심 기계 학습 설계자에 이르기까지 기술과 경험에 따라 맡을 수 있는 흥미로운 직무가 많이 있습니다.

머신 러닝 엔지니어의 연봉은 얼마입니까?

인도에서 중학교 기계 학습 엔지니어가 받는 평균 급여는 연간 약 INR 6~8.2 lakhs입니다. 그러나 중간 수준의 업무 경험이 있는 전문가의 경우 보상 범위는 평균 INR 13~15 lakhs 또는 그 이상일 수 있습니다. 이제 머신 러닝 엔지니어의 평균 연간 수입은 관련 업무 경험, 기술, 전반적인 업무 경험, 인증 및 위치와 같은 다양한 요인에 따라 달라집니다. 고급 기계 학습 전문가는 연간 약 INR 1백만을 벌 수 있습니다.

머신 러닝에 필요한 기술은 무엇입니까?

머신 러닝 분야에서 성공적인 경력을 쌓고 싶다면 특정 주제에 대한 기본적인 이해와 어느 정도의 편안함이 도움이 됩니다. 먼저 확률과 통계에 대한 이해가 필요합니다. 기계 학습 모델을 만들고 결과를 예측하려면 통계와 확률에 대한 지식이 필요합니다. 다음으로 기계 학습에서 광범위하게 사용되는 Python 및 R과 같은 프로그래밍 언어에 익숙해야 합니다. 머신 러닝을 배우려면 데이터 분석을 위한 데이터 모델링에 대한 약간의 지식과 강력한 소프트웨어 설계 기술도 필요합니다.