본문 바로가기
데이터

[데이터 모델링 및 평가] 정규화 선형 모델 정리

by dwoi 2023. 4. 3.

데이터 분석 모델링과 머신러닝에 대한 기본 개념에 대해 학습하고 이를 정리한 내용

 

목차

     


    데이터 모델링

    데이터 분석은 유의미한 정보를 파악하여 의사결정에 도움을 주기 위해 데이터 수집, 가공, 모델링하는 과정을 의미함


    1. 과적합 및 정규화

    1.1. 과적합

    과적합 : 학습 데이터에 대해 과도하게 모델을 학습하여 학습 데이터에 대해서는 성능이 매우 높지만, 테스트 데이터에 대해서는 성능이 좋지 못한 상황을 의미

     

    1.1.1. 과적합의 문제

    • 모델 학습 단계에서 학습 성능을 높이기 위해 모델 복잡도를 높이면서 설명력을 높이는 과정을 거침
    • 일반적인으로 테스트 데이터는 학습 데이터와 다른 패턴을 갖는 경우가 많음
    • 학습한 모델을 실제 상황에 적용하기 위해서는 테스트 데이터에 성능이 높아야 하며, 과적합이 발생하면 테스트 단계에서 성능이 급격히 하락함.

     

    1.1.2. Bias & Variance

    - Bias : 평균적으로 우리의 가설(예측치)가 실제값(목표값)과 얼마나 떨어져 있는가


    - Variance : 각 데이터가 예측치의 평균에서 얼마나 떨어져 있는가

    1.1.3. 과적합과 Bias, Variance 관계

    모델의 복잡도가 높아질수록 학습 데이터를 잘 맞추는 것에 치중하게 되며, Bias가 낮아지는 효과를 가져옴

     

    1.2. 정규화 (Regularization)

    과적합을 해소하기 위한 대표적인 방법으로, 특정 변수에 대해 파라미터(가중치) 값을 줄여서 영향도를 줄이는 역할을 함

    모델의 파라미터의 크기에 대해 페널티를 줌으로써 파라미터 값이 너무 커지지 않게 제어

    → 핵심은 가중치 규제 : 많은 수의 매개 변수를 가진 복잡한 모델에 대해서 패널티를 붙이는 게 핵심


    2. 정규화 선형 모델

    2.0. 정규화 선형 모델의 필요성

    • 다중 선형 회귀 모델과 같이 독립변수를 계속 늘리면 학습 데이터에 대한 모델의 설명력은 높일 수 있지만, 과적합에 의한 테스트 데이터에 성능이 낮으므로 실제 모델 활용이 어려움
    • 실제 모델을 활용하기 위해서는 과적합을 피해야하며, 이를 제어하기 위해 정규화 방법을 도입한 선형 회귀 모델이 필요!

     

    2.1. Ridge 회귀 모델

    • 선형 회귀 모델의 최소 제곱법 수식에서 파라미터(가중치)들의 제곱합을 최소화 하는 것을 추가한 모델
    • L2 정규화를 이용하여 각 회귀 계수의 값을 줄이는 역할을 함

     

    2.2. Lasso 회귀 모델

    • 선형 회귀 모델의 최소 제곱법 수식에서 파라미터(가중치)들의 절대값을 최소화 하는 것을 추가한 모델
    • L1 정규화를 이용하여 각 회귀 계수의 값을 줄이거나 없애는 역할을 함

     

    2.3. Ridge와 Lasso 비교

    • Ridge의 경우, 회귀 계수를 0에 가깝게 할 수는 있지만, 0으로 만들지는 못함. 하지만 Lasso는 회귀 계수를 0으로 만들 수 있음
    • Ridge는 가중치를 낮추는 역할을 하지만, Lasso는 가중치를 낮춤과 동시에 변수 선택의 기능까지 할 수 있음

    Ridge, Lasso 비교

     

    2.4. Elastic Net

    • Ridge의 단점 : 독립변수의 수가 매우 많다면, 가중치가 0이 되지 않으므로 여전히 매우 복잡한 모델
    • Lasso의 단점 : 독립변수들이 상관성이 높으면, 대부분 제거되고 소수의 변수만 선택됨. 이는 정보 손실이 큼

     

    Ridge와 Lasso를 결합하여 두 모델의 단점을 보완하는 모델이 Elastic Net이며,

    일반적으로 큰 데이터셋에 잘 작동한다고 함


    3. 파이썬을 통한 선형 모델 적용

    3.1  과정

    1. 데이터 입력 (데이터셋을 이용해서 호출)
    2. 데이터 전처리
    3. 데이터 분할
    4. 모델 선언 및 학습
    5. 결과 확인
    6. 하이퍼 파라미터 튜닝

     


    마무리

    중요한 건 실습을 통해 체득하는 것 데이터들을 어떻게 다루는 지에 대해 익숙해지는 것이 필요하다는 게 공통점!

     


    댓글