AI/ML 수업 정리

2-1. Linear Models for Regression

ardoh 2024. 9. 20. 23:45

1. Locally Weighted Linear Regression Model

🍊 Underfitting vs. Overfitting

 

두 그래프 중 데이터를 더 잘 fit 시킨 함수는 무엇일까? 왼쪽 그래프는 직선에서 벗어난 데이터들이 2-3개 있고, 오른쪽 그래프는 모든 점을 완벽하게 커버하지만 함수 식이 매우 복잡하다. Underfitting 과 Overfitting 의 정의에 대해서는 다음 시간에 자세히 알아보도록 하고, 이번 시간에는 둘 다 바람직하지 않다는 것만 알아두자. 

 

🍊 Locally Weighted Linear Regression

underfitting 과 overfitting 을 피할 수 있는 방법 중에 하나가 locally weighted linear regression model 이다. 

이것은 지난 시간에 학습했던 손실 함수 J(β) 식이다. 여기에 $w_i$ 를 추가하면 locally weighted linear regression 이 된다. 각각의 x 마다 고유의 w 값을 가진다. 

그렇다면, w 값은 무엇을 의미하느냐? 각 훈련 샘플에 가중치를 적용해서 해당 샘플이 예측에 얼마나 영향을 미치는지를 조정한다. $w_i$ 값이 작으면 손실함수 부분을 무시할 수 있다. 반면,  $w_i$ 값이 크면 해당 샘플이 예측에 큰 영향을 미치기 때문에, 해당 샘플과 관련된 오차를 줄이는 것이 어려워진다. 

 

 

w 값을 결정하는 요소는 2가지이다. 


(1) 에러

분자에 $(x_i -x)$ 를 보면, $x$ 는 예측하려는 타겟 포인트이고, $x_i$ 는 타겟 포인트 주변에 있는 점이다.

 

$(x_i -x)$ 이 작다 ->  타겟 주변 값과 타겟값이 가깝다 -> 이때 $w_i$ 는 1에 가까워진다.

반면, $(x_i -x)$ 이 크다 ->  타겟 주변 값과 타겟값이 멀다 -> 이때 $w_i$ 는 0에 가까워진다.

 

(2) bandwidth

 

bandwidth는 몇 개의 이웃 점들을 고려할지 결정한다.

 

가 작으면, 쿼리 포인트 $x$ 에서 멀리 떨어진 데이터 포인트들의 가중치 $w_i$가 굉장히 빠르게 줄어든다. 거의 0에 가까워진다.

tau 값이 작다 -> narrow 한 모양이다 -> 최근접한 소수의 이웃점만 고려한다

 

 

 

 

초록 직선이 하나만 있으면 linear model 이지만, 초록 직선이 여러 개 있으면 non linear model 처럼 보인다. 

반대로 말하면, 타겟 포인트를 여러 개 두고 locally weighted linear regression 을 적용하면 non linear data 도 linear regression 으로 학습할 수 있다. 이는 하나의 linear regression 을 이용하는 것보다 더 잘 fit 하게 된다. 

2. Parameteric vs. Non-parametric algorithm 

🍊 Parametric

- 파라미터 개수가 고정되어 있다. 

- 데이터가 특정 분포를 따른다. (ex. 정규 분포)

- 모델의 복잡도가 낮기 때문에 학습 시간이 비교적 짧다.

- 모델이 단순하고 직관적이기 때문에 결과를 해석하기 용이하다. 

- mapping function 의 형태가 training 시작 전에 정의된다. 

 

ex. Linear regression, Logistic regression, Neural networks 

🍊 Non-parametric

- training data 의 양에 따라 파라미터 개수가 변한다. 따라서, 데이터 분포를 예상할 수 없다. 

- 모델이 복잡하고 많은 데이터를 처리해야 하므로 학습 시간이 길어질 수 있다. 

- 같은 이유로, 결과도 복잡하다. 

- mapping function 의 형태가 training 시작 전에 정의되지 않는다. 

 

ex. Locally weighted linear regression, decision tree, random forest, k-NN

 

 

3. Likelihood function

1,4,5,6,9 점이 데이터라고 할 때, 이 데이터 set 의 분포를 잘 커버하는 그래프는 파란색 보다는 주황색이다. 가장 좋은 데이터 분포를 어떻게 찾을 수 있을까? Likelihood function 을 사용할 수 있다. 

우선, 이 likelihood 의 height 는 해당 sample 이 특정 분포에서 나올 확률을 의미한다. 높은 곳에 있는 표본일수록 해당 분포에서 나왔을 확률이 더 크고, 낮은 곳에 있는 표본은 그 확률이 작다는 의미이다. 

 

🍊 MLE (Maximum likelihood estimation) 

이제 목표는 다음 식에서 $\beta$ 를 최대화하는 것이다. 


👉 IID (Independently and identacally distributed) 

각 sample 들의 확률이 서로 영향을 안 미치는 독립 사건이라는 뜻이다. 서로 독립이니깐 product 연산이 가능하다. 

 

👉 Conditional probability 

사건 b 가 일어날 likelihood 는 선행사건인 a가 일어날 확률에 근거한다는 것이 conditional probability이다. 

 

선형 회귀에서 우리는 입력 데이터 X를 관찰해서 그 데이터를 기반으로 출력 y와의 선형 관계를 모델링한다. 선형 회귀에서 우리가 관찰한 y 값은 단순히 선형 방정식으로 정확히 설명되지 않고, 데이터에 노이즈나 오차가 섞여 있을 가능성이 있다. 따라서 확률적 해석을 하게 된다. 즉, 우리는 X로부터 선형 관계를 모델링하고, 모델 내에서 그 데이터가 나올 확률(확률 밀도)을 구하게 된다.

$P(y_i|x_i;\beta)$

 

👉 Normal (Gaussian) distribution

선형 회귀 모델에서, 주어진 입력 X에 대해 출력 y는 일정한 오차(잔차)를 포함하는데, 이 오차는 보통 정규 분포를 따른다고 가정한다.
따라서, 모델이 예측하는 y 값과 실제 y 값 사이의 차이가 정규 분포에 의해 설명된다. 이를 통해, 앞서 이야기했던 "모델 하에서 그 데이터를 볼 확률 밀도"를 구할 수 있게 된다. 이 확률 밀도 함수는 y 값이 특정 분포를 따르는 확률을 계산하는 데 사용되고, 선형 회귀에서 최소 제곱법(least squares)을 통해 이 확률을 최대화하는 방식으로 학습이 이뤄진다.


 

🍊 Gauissian - noise 

Gaussian noise는 관측치와 실제 값 사이의 오차 분포를 설명하고, 이를 바탕으로 모델이 얼마나 관측된 데이터를 잘 설명하는지를 나타내는 likelihood를 계산하는 데 사용된다. 

 

Gaussian-noise linear regression 모델을 기반으로 likelihood를 정의해보자. 주어진 데이터에의 노이즈가 정규 분포(Gaussian)를 따른다고 가정한다. 주어진 sample의 분포를 모르는 상태에서 likelihood 를 어떻게 정의할 수 있을까?

 

먼저, 우리의 상황을 다음과 같이 정의한다. 

 

a) X의 분포는 임의적이다. 

b) 가설 함수를 $f(x)=X^T\beta+\varepsilon$ 로 정의한다. 이때, $\varepsilon$는 random 노이즈를 의미한다. 

 

c) $\varepsilon$ 은 정규 분포 (Gaussian distribution) 을 따른다.

 

d)  관측지들 사이의 노이즈 $\varepsilon$ 는 서로 독립이다. (IID)

 


🍊$p(\epsilon_i)$ 와 $p(y_i|x_i;\beta)$

$\varepsilon_i$ 는 error 을 나타내며, 실제 값 $y_i$와 예측 값 $x_i^T\beta$ 사이의 차이를 뜻한다. 오차 $\varepsilon_i$ 는 정규 분포 $\mathcal{N}(0, \sigma^2)$를 따른다. 정규 분포를 따르기 때문에, 오차에 대한 확률 밀도 함수는 다음과 같이 가우시안 분포 식으로 표현된다.

🍊$p(y_i|x_i;\beta)$

 $p(y_i|x_i;\beta)$는 조건부 확률 밀도 함수로, 주어진 입력  $x_i$ 에 대해 실제 값 $y_i$ 가 나올 확률을 나타낸다. 아래 식은 $\varepsilon = y_i -x_i^T\beta$ 를 이용해 $\varepsilon$ 를 치환하여 계산한 확률 밀도 함수이다.

 

 

 

  • : 실제 관측값 (종속변수)
  • $x_i$: 입력 데이터 (독립변수)
  •  $\beta$ : 파라미터
  • 세미콜론 : 조건부 확률에서 조건을 나타내는 기호로서 주어진 입력 $x_i$ 와 모델 파라미터 $\beta$ 에 대해 $y_i$ 가 나올 확률을 나타낸다. 세미콜론을 사용하여 $\beta$는 고정된 값(주어진 조건)임을 강조한다. 
  • 정규 분포를 따른다. 

 

🍊$\mathnormal {L(\beta) = p(y_i|x_i;\beta)}$

 

드디어 나온 likelihood function 이다.

$X$ 와 파라미터 $\beta$ 가 주어졌을 때, 출력 $y_i$ 가 나올 확률을 의미한다. 

 

 

N 개의 training sample 이 있을 때는 위의 식을 사용한다. 이때 오차 $\varepsilon_i$는 IID 이다. 

 

$\mathnormal {L(\beta)}$ 는 주어진 파라미터로 실제 데이터가 얼마나 잘 설명되는지를 나타낸다. 좋은 파라미터 베타를 찾기 위해선 $\mathnormal {L(\beta)}$ 값이 최대화 되어야 한다. 이것이 MLE (maximum likelihood estimation) 이다.

 

위의 식에 로그를 씌워 likelihood function을 추가적으로 정리하여 계산하면 위의 형태가 나온다. MLE 에 따르면, likelihood function 이 최대화 되는 것이 좋기 때문에, 빨간색 부분 (cost function) 을 최소화 해야 한다고도 말할 수 있다. 

4. Bias and Variance

세 가지 그래프 중에 무엇이 가장 바람직한 결과일까? 첫 번째는 그래프가 간단한 대신에 그래프에서 멀리 떨어져 있는 데이터들이 많다. 반면, 세 번째 그래프는 그래프가 모든 점을 포함하지만, 그래프가 복잡한 모양이다.

 

🍊Bias-variance tradeoff

Bull-eye diagram 은 bias 와 variance 의 tradeoff 를 보여준다. 우선, bias 는 예측값이 실제값에서 얼마나 떨어져 있는지를 말하고, variance 는 예측값끼리의 서로 얼마나 떨어져 있는가 (예측값이 얼마나 다양한가) 를 나타낸다. 

 

1번 모델은 예측 데이터가 중심 (실제값) 에서 멀리 떨어져 있지만, 예측값들끼리는 서로 모여 있다. 이는 bias 가 높고, variance 가 낮다고 말할 수 있다. 이러한 모델은 underfitting 이라고 말한다. 반면, 마지막 모델은 중심에서 가까운 예측값들도 제법 있기에 low bias, 하지만 서로 멀리 떨어져 있기에 high variance 라고 말할 수 있다. 이는 overfitting 이라고 한다. 결론은, low bias, low variance 인 3번째 모델이 가장 이상적인 형태이다. 

 

 

🍊오류 최소화

Bias 나 variance 가 높으면 total error 가 커진다. 다만, Bull-eye diagram 을 통해 bais 를 줄이려고 하면, variance 가 커지는 문제가 있음을 유추할 수 있다. 반대의 경우도 마찬가지이다. 따라서, bias 와 variance 의 군형을 이루는 지점을 찾아 total error 를 줄여야 한다. 

 

🍊Underfitting & overfitting 해결

우선, underfitting 을 해결하려면, 파라미터를 추가한다. 파라미터를 추가하면 모델이 조금 더 복잡해져서 더 많은 점을 포괄할 수 있게 된다. 반면, overfitting 을 해결하려면, 파라미터를 줄여 모델의 복잡성을 감소시킨다. 이때 사용하는 것은 regularization (정규화) 이다. 

 

5. Ridge and Lasso regularizations

🍊 L1 & L2 norm 

초록이 L2, 나머지는 L1

L1 norm과 L2 norm은 벡터나 데이터의 크기를 측정하는 방법이다. 

 

🍊 Ridge regression

정규화는 norm을 통해 규제를 두어 모델의 복잡도를 감소시키는 방법이다. 

Ridge regression 은 Overfitting 을 해결하기 위한 기법으로, L2 정규화를 적용한다. L2 정규화는 파라미터를 줄이기 위해 $\beta_j$ 의 "제곱"만큼의 페널티를 부여한다. 

 

기존의 회귀 분석에서는 오차 제곱합(Residual Sum of Squares, RSS)을 최소화하는 것이 목표이다. 하지만 Ridge regression은 이 RSS에다가 패널티 항을 추가한다. 는 패널티의 강도를 조절하는 하이퍼파라미터이다. 한없이 커지는 것을 방지하기 위해 constrain c 도 설정한다. 

 

λ가 클수록 파라미터 값들을 더 많이 줄어들면서 overfitting 가능성이 줄어든다.

λ가 작을수록 패널티가 약해지면서 linear regression 과 비슷해진다. 

 

 

같은 식을 matrix 형식으로 정리하면 위와 같다. 

 

🍊 Lasso regression

Lasso Regression은 L1 정규화를 사용하는 회귀 기법으로, feature selection과 regularization를 동시에 수행하는 데 매우 유용하다. Lasso는 주어진 데이터에서 중요하지 않은 변수들의 계수를 0으로 만들어, 불필요한 변수를 제거함으로써 모델을 단순화하고 해석 가능성을 높인다.

🍊 Ridge vs. Lasso

좌 : Lasso / 우: Ridge

 

빨간 타원형 등고선은 cost function 이다. 타원의 중심에 있는 점 ($\hat{\beta}$ )은 cost function의 가장 최솟값이다. 파란색 부분은 constrain 을 의미한다. 

 

constrain 영역이 cost function과 처음 만나는 지점에서 상수 c를 결정한다. 교점이 최솟값 $\hat{\beta}$ 에 가까워질수록 overfitting 될 가능성이 높아 regularization의 효과가 나타나지 않는다. 따라서, constrain 영역이 $\hat{\beta}$ 와 최대한 교차되지 않도록 해야 한다. 즉, constrain 이 너무 커지지 않도록 해야 한다. 

 

Lasso는 다이아몬드 모양, Ridge는 원형 모양의 constrain 영역을 가진다. Lasso와 Ridge 는 공통적으로 파라미터를 축소하고 모델의 복잡성을 감소시킨다. 

 

다이아몬드 모양인 Ridge의 경우, cost function 과의 교점이 x나 y 축 위에서 생길 수 있다. 예를 들어, 교점이 x축 위에서 생기면, $\beta_1$=0 이기 때문에 $\beta_1$ feature 가 사라진다. 따라서 Lasso는 feature selection에 효과적이다. feature 가 많은 복잡한 데이터셋을 사용하고 있다면 Lasso 모델이 차원을 줄이기 때문에 효과적이다. 

'AI > ML 수업 정리' 카테고리의 다른 글

SVM  (0) 2024.10.27
3-1. Naive Bayes  (0) 2024.10.08
2-2 Linear Models for Classification  (0) 2024.10.04
1-2. Linear Models for Regression  (0) 2024.09.17
1-1. Introduction to Machine Learning  (0) 2024.09.14