본문 바로가기
DataScience/MachineLearning

선형함수 정리 (Linear Regression, Ridge, Lasso, Elastic Net)

by mkk4726 2023. 7. 28.

선형함수를 한번 쭉 정리해보려고 합니다.

 

선형함수를 이해하기 위해서 "선형"이라는 말에 대해 생각해볼 필요가 있습니다.

선형이라는 말은 선형결합과 비선형성을 이해하면 그 의미를 알 수 있습니다.

 

그림1. 선형함수, 활성화함수

 

먼저 선형결합은 $y = x_1*\beta_1 + x_2*\beta_2 + x_3*\beta_3$ 와 같이  $x$와 $\beta$의 곱을 뜻하고,

비선형성은 딥러닝의 활성화함수처럼 값이 일정하게 증가하지 않고 특정 부분에서 값의 변화가 있는 것을 뜻합니다.

 

여기서 선형은 $beta$에 대한 것이며,

따라서 $y = x_1^2*\beta_1 + x_2*\beta_2 + x_3*\beta_3$ 도 선형적입니다.

하지만 $y = x_1*\beta_1^2 + x_2*\beta_2 + x_3*\beta_3$ 은 선형적이지 않습니다.

 


1. Simple Linear Regression

$y = x_1*\beta_1 + x_2*\beta_2 + x_3*\beta_3$

$\epsilon \sim N(0, \sigma^2) , y \sim N(\mu, \sigma^2)$

그림2. Simple Linear Regression

앞에서 언급한 것과 같이 $x$와 $\beta$의 선형결합으로 $y$를 설명하고, 예측하려는 컨셉을 가지고 있습니다.

 

"Regression(회귀)"이라는 말이 왜 붙었냐면, 모든 값들은 평균으로 회귀, 즉 돌아간다는 가정을 하고 있기 때문입니다.

그림2와 같이 y이 값은 정규분포를 따르며, 그 평균으로 값을 예측하게 됩니다.

https://mkk4726.tistory.com/47

 

[Linear Regression] 1. Linear와 Regression의 의미는 무엇일까?

Linear Regression, 선형모형, 선형회귀모형, 회귀분석 등등의 이름으로 불리고 있다. 선형회귀를 처음 배울 때 도대체 선형은 뭐고 회귀는 뭔지 이해가 안됐었는데, 공부하다 보니 그 의미를 이제야

mkk4726.tistory.com


2. Lasso, Ridge, Elastic Net

 

위 3가지 모델은 모두 똑같은 컨셉을 가지고 있으며, 정규화 방식에만 차이가 있습니다.

 

먼저 선형회귀에서 과적합될수록 $\beta$의 값이 커집니다.

이는 데이터포인트가 위아래로 움직일 때 이를 맞추기 위한 식을 생각해보면 직관적으로 이해할 수 있습니다.

단순히 일자선으로 설명하는 것보다 위아래로 굴곡이 큰 선이 생성될 것이며, 이는 큰 $beta$값을 가져옵니다.

따라서 이를 방지하기 위해 penalty를 부여하겠다는 것이 큰 컨셉입니다.

 

그림3. 모델 식

그 penalty term을 2정규형으로 주면 Ridge가 되고 1정규형으로 주면 Lasso가 됩니다. 

그리고 이를 모두 준게 Elastic net이 됩니다.

이를 기하학적으로 표현한게 그림4입니다.

그림4. 기하학적 표현

MSE가 최소가 되기 위해서는 beta가 있는 영역에 포함되면서 폭이 가장 작아야합니다.

따라서 beta가 있는 영역과 접하는 부분이 최소가 됩니다.

 

그림4를 통해 직관적으로 알 수 있 듯,

Lasso는 beta가 0이 되는 지점이 최소가 될 수 있지만 Ridge는 0에 수렴하지만 0이 되지는 않습니다.

이 부분이 두 모델을 구분하는 가장 큰 차이입니다.


3. 모델의 의미

 

사실 이 부분을 정리하려고 이 글을 썼습니다. 제가 놓쳤던 부분들이기도 하고요.

 

1. 정규화(regularization)를 진행할 때는 반드시 데이터를 정규화(nomalization)해줘야 한다.

Lasso나 Ridge모델은 $beta$에 penalty를 부여하는 모델이라고 말씀드렸습니다.

이 모델들을 사용할 때는 반드시 데이터의 scale를 똑같이 해줘야합니다.

왜냐하면 데이터의 크기가 다를 경우 $beta$에 대해 가중치를 부여한 것과 동일하게 작용하기 때문입니다.

 

똑같이 $beta$ 크기를 제한하는데 x의 크기가 다르면 y에 미치는 영향이 달라지기 때문입니다.

x값이 크면 y에 더 큰 영향을 미칠 것입니다.

 

2. feature selection을 해주고 있는 것이다. 

정규화항을 통해 필요없는 부분의  $beta$값은 0이 되거나 0에 수렴하고, 이는 필요없는 부분은 없애주는 feature selection의 역할을 합니다.

그렇기에 따로 feature selection을 해줄 필요가 없습니다.

물론 일반화할 수는 없겠지만, 대부분의 경우에서 그렇습니다.

 

위 2가지는 모델의 의미를 이해하지 못하고 있을 때 놓치기 쉬운 부분이라고 생각합니다.

 


복잡한 문제엔 복잡한 알고리즘이, 쉬운 문제에는 쉬운 알고리즘이 필요합니다.

 

따라서 기초 중에 기본인 선형 모델들을 잘 이해할 필요가 있다고 생각합니다.


- 출처

그림1 : https://www.google.com/url?sa=i&url=https%3A%2F%2Fmachine-learning.paperspace.com%2Fwiki%2Factivation-function&psig=AOvVaw1j_sudAue4JTn3ex0xqCWV&ust=1690586374088000&source=images&cd=vfe&opi=89978449&ved=0CBEQjRxqFwoTCPjhiZSDsIADFQAAAAAdAAAAABAE 

그림2: https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.analyticsvidhya.com%2Fblog%2F2021%2F10%2Feverything-you-need-to-know-about-linear-regression%2F&psig=AOvVaw3afHHbEILYXwqYH8-Efdz3&ust=1690586947772000&source=images&cd=vfe&opi=89978449&ved=0CBEQjRxqFwoTCODFzaWFsIADFQAAAAAdAAAAABAp

그림3: https://www.google.com/url?sa=i&url=http%3A%2F%2Fdatabaser.net%2Fmoniwiki%2Fwiki.php%2FPython-LinearRegression%3Faction%3Dbody&psig=AOvVaw22SUEIeIlUGEiwZq4zy_lf&ust=1690587497665000&source=images&cd=vfe&opi=89978449&ved=0CBEQjRxqFwoTCLit7auHsIADFQAAAAAdAAAAABAF

그림4: https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.datasklr.com%2Fextensions-of-ols-regression%2Fregularization-and-shrinkage-ridge-lasso-and-elastic-net-regression&psig=AOvVaw22SUEIeIlUGEiwZq4zy_lf&ust=1690587497665000&source=images&cd=vfe&opi=89978449&ved=0CBEQjRxqFwoTCLit7auHsIADFQAAAAAdAAAAABAQ

 

 

 

 

 

 

 

 

 

 

 

댓글