목차
1. 규제화(Regularization)란?
2. L1 penalty term
3. L2 penalty term
지난 시간에 기계학습 종류와 지도학습 중에서도 선형회귀 문제에 대해서 알아보았다.(참고글 - 기계학습(ML): 선형회귀 모델 학습 원리, 성능 평가 방법) 그중 성능 평가 단계에서 선형회귀 문제에 대한 성능평가를 할 수 있는 지표는

그럼 이제, 위 마인드맵에서 빨간색으로 표시되어있는 규제화에 대해 알아보고, 다음 시간에는 선형 회귀 모델에서 성능평가를 할 때 사용하는
1. 규제화(Regularization)란?
규제화란, 지도학습 모델의 성능 평가 단계에서 Overfitting(과적합)이 일어나는 경우에 이를 해결하기 위해서 사용하는 방법이다. 과적합이 일어나는 이유는 크게 2가지이다.
1. 모형이 너무 복잡한 경우, 즉 모형의 파라미터의 갯수가 너무 많은 경우이다.
2. 학습을 통해서 도출된 수학적 모형이 독립변수의 값의 변화에 너무 민감하게 반응하는 경우, 즉 독립변수에 붙어있는 파라미터의 값이 너무 큰 경우이다.
이러한 경우, 우리는 규제화(Regularization)를 통해서 과적합을 해결할 수 있다. 규제화는 기존의 비용함수에 penalty term을 더해서 새로운 비용함수로 사용하는 방법이다.
예를 들어보자.
사원 | 경력(X) | 연봉(y) |
A | 1 | 2 |
B | 2 | 6 |


이렇게 계산했을 때, 아래로 비용함수 E와 파라미터
그렇다면 Penalty 항의 식은 어떻게 생겼을까? Penalty는 L1페널티 항과 L2페널티 항 이렇게 두 가지 종류가 있다. L1페널티 항과 L2페널티 항에 대해서 이해하려면, 기본적으로 벡터의 길이에 대해서 알아야한다. 이를 나타내는 개념이
벡터는 간단하게 이야기 하면, 여러 개의 숫자들로 구성이 되어있는 어떤 것이다. 예를 들어
위 식을 보면,
2. L1 Penalty term
위에서
L1 Penalty term을 사용한다면, 위식에서 penalty 항에
여기에서
여기서 람다를 1로 설정하고, 기울기가 0인 값을 구하기 위해 미분을 하면,
기존의 파라미터 절댓값이 더 많이 줄어들게 된다는 건 무슨 뜻일까? 특정 독립변수에 대한 종속변수의 변화의 민감도가 줄어들게 된다는 뜻이다. 예를 들어 종속변수(y)가 연봉이고, 독립변수가 경력(X1)과 몸무게(X2)가 있다면 모델은 다음과 같을 것이다.
ŷ = b0 + b1X1 + b2X2
이 모델에서 b2값이 지나치게 높다면, 경력보다 몸무게가 바뀌는 정도에 따라 종속변수인 연봉이 민감하게 변화하는 것이다. 현실적으로 생각해 봐도 말이 안 된다. 이럴 때, 페널티 항을 더해줌으로써 기존의 파라미터 절댓값을 줄여줄 수 있다. 파라미터가 b1 하나만 있다고 가정하고 L1 패널티 항을 그래프로 그리면 다음과 같이 그려진다.

여기서 x축은 파라미터

위 그래프와 같이 두 개의 그래프를 더하면, 보라색 그래프가 만들어진다. 기존의 비용함수인 빨간 그래프의

L1 패널티 항의 특징은 람다의 값을 일정 값 이상으로 높이면, 비용함수의 최적값이 0까지도 줄어들 수 있다는 점이다.(위 그래프 보라색 선 확인) 이 뜻은 모델의 민감도뿐만 아니라, 복잡도까지도 줄일 수 있다는 뜻이고, 복잡도를 줄인다는 것은 과적합(Overfitiing)이 일어나는 확률을 줄일 수 있다는 뜻이다. 즉, 모델의 성능을 높일 수 있다는 것이다.
3. L2 Penalty term
그럼 이번엔
L2 Penalty term을 식으로 표현하면,
파라미터가 b1 하나만 있다면, 아래와 L2 penalty term은 아래와 같이 그려진다. L1 penalty term과 마찬가지로, 람다 값이 높아지면, 그래프가 더 뾰족한 모양이 된다.

L1 penalty term에서 사용했던 식을 이용해서 똑같이 그래프를 그려보자.

보라색 선이 기존의 비용함수와 L2 penalty term을 더한 그래프이다. L1 penalty term보다 람다 값에 더 민감하게 파라미터

파라미터
즉, 모델의 민감도뿐만 아니라, 복잡도까지 줄이기 위해서는 L1 penalty term을 사용해야 한다. 또한, 람다의 값이 크면 클수록, 페널티 항을 더한 새로운 비용함수의 값이 더 크게 줄어들게 된다.(L1 penalty term은 0까지도 줄어든다.) L1과 L2 중에 어떤 걸 사용해야 하는지는 일 단 두 개 다 사용해 보고, 더 성능이 좋은 걸 선택하여 적용해야 된다.
'통계, AI' 카테고리의 다른 글
로지스틱 회귀 모형: 함수 개념 및 코딩 실습 (0) | 2023.05.29 |
---|---|
회귀모델: 라쏘(Lasso), 릿지(Ridge), 엘라스틱 넷(ElasticNet) (0) | 2023.05.29 |
피처 스케일링: 표준화, min-max 정규화(feat. 파이썬) (1) | 2023.05.28 |
2023.05.26 | |
기계학습(ML): 선형회귀 모델 학습 원리, 성능 평가 방법 (4) | 2023.05.19 |
댓글