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


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

빨간 타원형 등고선은 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 |