[핸즈온 머신러닝] Ch.4 모델 훈련 (2/2) | 릿지 회귀, 라쏘 회귀, 엘라스틱넷 회귀, 로지스틱 회귀, 소프트맥스 회귀

2025. 8. 24. 21:11·Book/핸즈온 머신러닝
 

GitHub - tenaan/AI-study: 💻 AI study 정리

💻 AI study 정리. Contribute to tenaan/AI-study development by creating an account on GitHub.

github.com

4장 핵심 내용 정리
Keywords | 릿지 회귀, 라쏘 회귀, 엘라스틱넷 회귀, 로지스틱 회귀, 소프트맥스 회귀

이번 글에서는 4.5 규제가 있는 선형모델부터 4장 끝까지 정리한다.

 

선형 회귀 모델에서는 보통 모델의 가중치를 제한함으로써 규제를 가하여 과대적합을 방지한다.

가중치가 크다는건 해당 특징이 모델의 예측에 큰 영향을 끼친다는 것이고, 이는 데이터의 잡음까지 포착해서 구불구불한 곡선을 그리게된다. 하지만 가중치가 작으면 모델은 보다 부드러운 곡선을 그리게 되고 이는 일반화 성능이 향상됨을 의미한다.

이는 지난 글에서 오차를 일반화한 식에서 분산을 줄이는 것과 같다.

 

릿지 회귀, 라쏘 회귀, 엘라스틱넷 회귀를 소개한다.

 

 

릿지 회귀 Ridge Regression

릿지 회귀는 MSE에 정규화 항을 추가하여 새로운 비용 함수를 정의한다.

 

훈련하는 동안에만 비용함수에 추가되며 하이퍼파라미터 알파 α 를 통해 규제를 조절한다.

알파가 0이면 선형회귀와 같고, 커지면 가중치가 거의 0에 가까워져 데이터의 평균을 지나는 수평선이 된다.

 

편향은 세타0 , 규제되지 않는다. 규제항 식을 보면 i=1에서부터 시작하는 것을 볼 수 있다.

세타1~n은 w 가중치라고 할 수 있으며 w를 이용해 식을 보면 규제항은 가중치 벡터의 L2-norm이다.

 

 

오른쪽 다항회귀 그래프에 α의 값이 커질수록 직선에 가까워지는 것을 볼 수 있다.

 

 

라쏘 회귀 Lasso Regression

라쏘 회귀는 릿지 회귀와 다르게 L1 norm 벡터를 사용한다.

덜 중요한 특성의 가중치를 제거해서, 가중치를 0으로 만들 수 있다.

즉, 자동으로 특성을 선택을 수행한다.

 

라쏘회귀의 L1 norm은 절댓값 함수이므로 원점(theta=0)일 때, 미분이 불가능하지만 서브그래디언트를 사용해서 경사하강법을 적용한다.

서브그레이디언트 벡터는 미분이 불가능한 지점 근방 그레이디언트들의 중간값으로 생각할 수 있다.

 

 

 

릿지 회귀와 라쏘 회귀 비교

 

위 그래프의 두 축은 두 개의 파라미터를 나타낸다. 

경사 하강법은 손실 함수의 가장 낮은 지점을 향해 내려가는 알고리즘이다.

지금의 경우에는 원점(θ1​=0,θ2​=0)을 향해 내려가는 것을 시각화한 것이다.

 

왼쪽 위 그래프의 등고선은 L1 손실 (∣θ1​∣+∣θ2​∣)을 나타낸다. 축에 뾰족한 모서리를 가지고 있다.

 

θ1​=2.0, θ2​=0.5인 지점에서 시작한다고 가정한 뒤, 경로를 그려보면 노란색 선과 같이 나타낼 수 있다.

따라서 파라미터가 θ1​=2.0, θ2​=0.5와 같은 지점에서 시작하면, 노란 점선처럼 원점까지 직선으로 내려가는 대신, 가장 가파른 방향인 가까운 축을 향해 끌려가게 된다. 즉 축에 가까워지며 선형적으로 줄어든다. (따라서 시작점이 0에 더 가까운 θ2가 먼저 0에 도달)

마름모의 가파른 경사를 따라 먼저 θ2​=0인 축으로 이동하고 파라미터 값은 정확히 0이 된다. 그 상태를 유지한 채 θ1​ 축을 따라 원점으로 이동한다.

 

L1 손실 + MSE 손실을 시각화한 것은 오른쪽 위 그래프이다. 

θ1 = 0.25, θ2 = - 1로 초기화된 모델 파라미터를 최적화하는 과정을 보자. θ2가 빠르게 0으로 빠르게 줄어든 다음 축을 따라 진동하면서 전역 최적점인 빨간 사각형에 도달한다. (L1은 그래디언트는 0에서 정의되지 않기때문에 진동)

 

라쏘를 사용할 때 경사 하강법이 최적점 근처에서 진동하는 것을 막으려면 훈련하는 동안 점진적으로 학습률을 감소시켜야 한다. 여전히 최적점 근처에서 진동하겠지만 스텝이 점점 작아지므로 수렴하게 될 것이다.

 

아래의 그래프는 L2 규제로 바뀌었고 같은 조건에서 실험이 이루어진다.

L2​ 페널티(θ1^2​+θ2^2​)의 등고선은 원형이다. 원점을 향해 가장 효율적인 직선 경로로 따라가게 된다.

릿지의 경사는 매우 부드럽고 이 때문에 최적점에 도달할 때 진동 없이 안정적으로 수렴할 수 있다.

L1과 달리 L2는 손실함수의 미분값(그래디언트)이 파라미터 값에 비례한다. 즉, 파라미터(θ)가 0에 가까워질수록, 그래디언트(2θ)도 0에 가까워진다. (L1에서는 그래디언트의 크기가 α에 의해 일정하게 유지됨)

하지만 파라미터가 0에 가까워지면 그래디언트가 거의 0이 되기 때문에, 이동 스텝의 크기도 거의 0이 되며 0에 무한히 가까워지지만 0은 되지 않는다.

 

 

α가 증가하면: 페널티가 강해지므로, 모델은 파라미터 값을 최소화하는 데 더 집중한다. 이 때문에 최적점(빨간색 사각형)이 원점(0,0)에 가까워진다. (노란색 선을 따라)

α가 감소하면: 페널티가 약해지므로, 최적점은 규제가 없는 일반적인 선형 회귀의 해에 가까워진다.

 

 

 

엘라스틱넷 회귀 Elastic Net Regression

 엘라스틱넷 회귀는 릿지와 라쏘를 절충한 모델로 릿지 회귀와 라쏘 회귀의 규제항을 더한 것을 규제항으로 사용한다. 혼합 정도를 혼합비율 r을 사용해 조절한다. r = 1에 가까워질수록 라쏘 회귀와 같아진다.

 


  • 릿지 회귀는 L1-norm, 라쏘 회귀는 L2-norm 패널티를 가진다.
  • 라쏘는 가중치들이 0이 되지만, 릿지의 가중치들은 0에 가까워질 뿐 0이 되지는 않는다. 
  • 특성이 많은데 그중 일부분만 중요하다면 라쏘가, 특성의 중요도가 전체적으로 비슷하다면 릿지를 사용하는 것이 좋다.
  • 규제가 있는 것이 대부분의 경우에 일반 선형 회귀보다 좋고, 릿지가 기본이 되지만 일부 특징만 유용하다고 생각된다면 라쏘나 엘라스틱넷을 사용하는 것이 낫다.
  • 특성 수가 훈련 샘플 수보다 많거나 특성 몇 개가 강하게 연관되어 있을 때는 라쏘보다는 엘라스틱넷이 좋다.

조기종료 Early Stopping

모델을 학습시키며 에포크가 진행됨에 따라 loss의 변화를 그래프로 그려보자. 그러면 두 세트에 대한 loss가 점차 감소하다가 어느 순간 검증 loss가 증가하는 모습을 관찰할 수 있는데, 이는 모델이 훈련 세트에 과대적합되기 시작했다는 것을 의미한다. 

조기 종료는 이를 방지하기 위해 검증 오차가 최소에 도달했다고 판단할 경우 훈련을 중지하는 것이다.

 

위의 경우는 배치 경사 하강법의 경우이고, 확률적 경사 하강법이나 미니배치 경사 하강법에서는 곡선이 그리 매끄럽지 않아 최솟값에 도달했는지 확인하기 어려울 수 있다.

이 경우에는 검증 오차가 일정 시간 동안 최솟값보다 클 때(모델이 더 나아지 지 않는다고 확신이 들 때) 학습을 멈추고 검증 오차가 최소였을 때의 모델 파라미터로 되돌리는 방법을 사용한다.

 


로지스틱 회귀 Logistic Regressoin

일부 회귀는 분류 작업에서도 사용할 수 있다.

로지스틱 회귀는 샘플이 특정 클래스에 속할 확률을 추정하는데 널리 사용되며 이진 분류에 사용할 수 있다.

 

로지스틱 회귀 모델 또한 입력 특징의 가중치 합을 계산하는데, 선형 회귀처럼 바로 결과를 출력하지 않고 결괏값의 로지스틱을 출력한다.

 

로지스틱은 0과 1 사이의 값을 출력하는 sigmoid 함수이다.

 

p가 0.5보다 크거나 같다면 양성 클래스 1 이라고 예측하고 0.5보다 작다면 음성 클래스 0 이라고 예측한다.

로지스틱 회귀 모델은 시그모이드 함수에 들어가는 t값 theta^Tx 가 양수일 때 1 (양성 클래스)이라고 예측하고, 음수일 때 0(음성 클래스)이라고 예측한다. 

 

따라서 이 로지스틱 회귀를 훈련시킬 때의 목적은 양성 샘플(y = 1)에 대해서는 높은 확률을 추정하고 음성 샘플(y = 0)에 대해서는 낮은 확률을 추정하는 모델의 파라미터 벡터 theta를 찾는 것이다.

 

따라서 비용함수는 아래와 같이 정의할 수 있다.

 

 

이진 교차 엔트로피(Binary Cross-Entropy) 손실 함수라고도 한다.

  • 잘못 예측한 경우
    • 양성 샘플을 p=0에 가깝게 예측하면 -log(p)는 매우 커질 것이고, 음성 샘플을 p=1에 가깝게 예측하면 -log(1-p)는 매우 커진다. (log(p)에서 p가 0에 가까워질수록 log(p)는 음의 무한대에 가까워짐)
  • 올바르게 예측한 경우
    • 양성 샘플을 p=1에 가깝게 예측하면, log(p)는 0에 가까워지고, 음성 샘플을 p=0에 가깝게 예측하면 log(1-p)는 0에 가까워진다.

정답과 멀어질수록 비용을 크게 증가시켜 로지스틱 회귀 모델의 예측이 얼마나 틀렸는지 측정한다.

 

 

소프트맥스 회귀 Softmax Regression

소프트맥스 회귀는 로지스틱 회귀를 확장하여 다중 클래스를 직접 지원하는 분류 모델이다.

주어진 샘플 x에 대해 각 클래스에 소프트맥스 점수를 계산한 뒤, 소프트맥스 함수를 적용하여 각 클래스의 확률을 추정한다. 가장 확률이 높은 클래스를 최종 예측으로 선택한다.

소프트맥스 점수는 위와 같이 계산하며 각 클래스에 대한 독립적인 점수를 계산하기 위해 특징별 파라미터 theta 벡터(묵음)가 각 클래스마다 따로 존재한다. 

 

softmax 함수

위의 점수를 소프트맥스 함수에 통과시켜 클래스 k에 속할 확률을 추정한다. 이 함수는 각 점수에 지수함수를 적용한 뒤, 정규화한 것이다.

 

이 식에서는 추정 획률 sigmoid(s(x))_k를 최대로 만드는 k를 반환하게 되며, 즉 소프트맥스 모델은 추정 확률이 가장 높은 클래스의 번호를 최종 예측값으로 내보낸다.

 

학습을 위한 비용 함수는 아래와 같이 크로스 엔트로피 함수(Cross-Entropy)를 사용한다.

 

 

크로스 엔트로피 Cross Entropy

모델이 예측한 확률 분포가 실제 정답의 분포와 얼마나 가까운지를 측정한다. 크로스 엔트로피를 최소화하는 것은 곧 모델의 예측을 정답에 가깝게 만드는 과정이다.

두 확률 분포 p (실제 정답)와 q (모델 예측)에 대한 크로스 엔트로피(H(p, q))는 다음과 같이 정의된다.

 

 

로지스틱 회귀와 소프트맥스 회귀

두 회귀는 함수는 본질적으로 동일한 개념을 다룬다. 로지스틱 함수는 소프트맥스 함수가 이진 문제에 적용된 특수한 형태라고 볼 수 있다.

 

소프트맥스 함수를 적용한 경우

class1의 확률

class2의 확률

 

 

위 소프트맥스 식의 분자와 분모를 모두 e^{s_1}으로 나누면 다음과 같이 변형된다.

​

여기서 s1-s2를 새로운 로짓 t라고 정의하면, 이 식은 로지스틱 함수의 형태와 정확히 일치한다.

 

즉, 로지스틱 회귀에서 사용하는 로지스틱 함수는 두 클래스의 점수 차이를 입력으로 받는 소프트맥스 함수와 수학적으로 동일하다. 따라서 로지스틱 회귀는 소프트맥스 회귀의 특수한 경우이며, 이 때문에 소프트맥스 회귀를 다항 로지스틱 회귀라고 부르기도 한다.

'Book > 핸즈온 머신러닝' 카테고리의 다른 글

[핸즈온 머신러닝] Ch.5 SVM (2/2) | 슬랙 변수, 쌍대 문제, 커널 트릭, 라그랑주 승수법  (0) 2025.09.15
[핸즈온 머신러닝] Ch.5 SVM (1/2) | 선형 SVM, 비선형 SVM, 커널 트릭, 가우스 RBF 함수, SVM 회귀  (0) 2025.09.14
[핸즈온 머신러닝] Ch.6 결정 트리 | 지니 불순도 Gini Impurity, 엔트로피 Entropy, CART  (1) 2025.09.01
[핸즈온 머신러닝] Ch.4 모델 훈련 (1/2) | 손실 함수, 경사하강법, BGD, SGD, MGD, Bias-Variance Tradeoff  (8) 2025.08.06
[핸즈온 머신러닝] Ch.3 분류 | Confusion Matrix, Recall, Precision, F1-Score, AUC-ROC  (2) 2025.07.28
'Book/핸즈온 머신러닝' 카테고리의 다른 글
  • [핸즈온 머신러닝] Ch.5 SVM (1/2) | 선형 SVM, 비선형 SVM, 커널 트릭, 가우스 RBF 함수, SVM 회귀
  • [핸즈온 머신러닝] Ch.6 결정 트리 | 지니 불순도 Gini Impurity, 엔트로피 Entropy, CART
  • [핸즈온 머신러닝] Ch.4 모델 훈련 (1/2) | 손실 함수, 경사하강법, BGD, SGD, MGD, Bias-Variance Tradeoff
  • [핸즈온 머신러닝] Ch.3 분류 | Confusion Matrix, Recall, Precision, F1-Score, AUC-ROC
티티현
티티현
긍정적으로 살아가기
  • 티티현
    안 되면 되는거 해라
    티티현
  • 전체
    오늘
    어제
    • = (43)
      • Study (23)
        • 자료구조 (7)
        • 선형대수학 (2)
        • 통계학 (0)
        • 백준 (11)
        • 웹 (2)
      • Book (19)
        • 핸즈온 머신러닝 (9)
        • AI 엔지니어링 (10)
      • Paper & Model (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    다중 트리
    백준
    트리 구현
    rag
    파이썬
    추론 성능 지표
    c++
    관찰가능성
    python
    Mixed Precision
    일반 트리
    트리
    메모리
    명령어정리
    boj
    모델 라우터
    커널 트릭
    KV 캐시
    컨텍스트 보강
    자료구조
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
티티현
[핸즈온 머신러닝] Ch.4 모델 훈련 (2/2) | 릿지 회귀, 라쏘 회귀, 엘라스틱넷 회귀, 로지스틱 회귀, 소프트맥스 회귀
상단으로

티스토리툴바