AI바라기의 인공지능

개념 정리 : NW kernel regression with Gaussian 본문

인공지능

개념 정리 : NW kernel regression with Gaussian

AI바라기 2026. 3. 27. 16:03

1. 먼저 출발점 다시 잡기

NW kernel regression의 기본 생각은 같았습니다.

$x$에서의 예측값은, $x$ 근처에 있는 데이터들의 $y$를 가중평균해서 만든다.

일반형 공식은 이거였죠.

$$\hat m(x) = \frac{\sum_{i=1}^n K_h(x-x_i) y_i}{\sum_{i=1}^n K_h(x-x_i)}$$

여기서 아직 kernel $K_h$는 "아무 거리 기반 가중치 함수" 상태입니다.

이번에는 여기에 Gaussian kernel을 넣어보겠습니다.


2. Gaussian kernel은 어떻게 생겼나

Gaussian kernel은 보통 이렇게 씁니다.

$$K(u) = \frac{1}{\sqrt{2\pi}} \exp\left(-\frac{u^2}{2}\right)$$

처음 보면 좀 무섭게 생겼는데, 의미는 단순합니다.

이 함수는:

  • $u=0$일 때 가장 큽니다
  • $|u|$가 커질수록 작아집니다
  • 왼쪽/오른쪽 대칭입니다

즉,

"거리 0이면 가장 중요하고, 멀어질수록 중요도가 부드럽게 줄어드는 종(bell) 모양 함수"

입니다.


3. 그런데 NW에서는 $u$ 자리에 뭐가 들어가나

NW에서는 단순히 $u$를 넣지 않고, 보통 거리 / bandwidth가 들어갑니다.

즉,

$$K_h(x-x_i) = \frac{1}{h}K\left(\frac{x-x_i}{h}\right)$$

입니다.

Gaussian kernel을 넣으면:

$$K_h(x-x_i) = \frac{1}{h\sqrt{2\pi}} \exp\left( -\frac{(x-x_i)^2}{2h^2} \right)$$

가 됩니다.

이제 이걸 보면, 갑자기 수식이 좀 살아납니다.


4. 이 식을 한 조각씩 읽어보면

$$K_h(x-x_i) = \frac{1}{h\sqrt{2\pi}} \exp\left( -\frac{(x-x_i)^2}{2h^2} \right)$$

이걸 한 번에 보지 말고, 의미별로 보면 좋습니다.

4-1. $(x-x_i)^2$

이건 거리의 제곱입니다.

  • $x$$x_i$가 가까우면 작음
  • 멀면 큼
  • 제곱했기 때문에 부호는 사라짐

즉, $x_i=4$$x=5$의 차이($-1$), $x_i=6$$x=5$의 차이($+1$)는 둘 다 똑같이 거리 1로 취급됩니다.

그래서 Gaussian kernel은 방향이 아니라 거리 크기만 본다고 이해하시면 됩니다.


4-2. $2h^2$

이건 "얼마나 넓게 근처로 볼지"를 정하는 부분입니다.

  • $h$가 작으면: 조금만 떨어져도 제곱거리가 크게 느껴짐
  • $h$가 크면: 같은 거리도 덜 멀게 느껴짐

즉, $h$는 여전히

근처를 얼마나 넓게 볼 것인가

를 정하는 값입니다.


4-3. 앞에 마이너스가 붙어 있는 이유

$$\exp\left(-\frac{(x-x_i)^2}{2h^2}\right)$$

여기서 핵심은 마이너스입니다.

거리 제곱은 멀수록 커지니까, 앞에 마이너스가 붙으면:

  • 가까운 점: 지수값이 덜 작아짐 → 큰 가중치
  • 먼 점: 지수값이 매우 작아짐 → 작은 가중치

즉, 이 마이너스 덕분에 거리가 멀수록 영향력이 빠르게 줄어듭니다.


4-4. $\exp(\cdot)$ 는 왜 쓰나

$\exp$는 지수함수라서, 입력이 조금만 작아져도 값이 빠르게 줄어듭니다.

그래서 Gaussian kernel은:

  • 아주 가까운 점은 꽤 반영하고
  • 조금 먼 점은 금방 영향력이 작아지고
  • 아주 먼 점은 거의 무시하게 됩니다

즉, 딱 자르지는 않지만 아주 자연스럽게 멀리 있는 점을 희미하게 만든다는 장점이 있습니다.


4-5. 앞의 $\frac{1}{h\sqrt{2\pi}}$ 는 왜 있나

이건 Gaussian 함수 자체를 "정상적인 분포 모양"으로 맞추기 위한 정규화 상수입니다.

그런데 NW에서는 재미있는 일이 생깁니다. 이 상수가 분자와 분모에 똑같이 들어갑니다.

즉,

$$\hat m(x) = \frac{\sum_i \frac{1}{h\sqrt{2\pi}} \exp\left(-\frac{(x-x_i)^2}{2h^2}\right)y_i}{\sum_i \frac{1}{h\sqrt{2\pi}} \exp\left(-\frac{(x-x_i)^2}{2h^2}\right)}$$

인데, 분자와 분모에 공통으로 있는

$$\frac{1}{h\sqrt{2\pi}}$$

는 약분됩니다. 그래서 실제로 NW 계산할 때는 보통 더 간단하게

$$\hat m(x) = \frac{\sum_{i=1}^n \exp\left(-\frac{(x-x_i)^2}{2h^2}\right)y_i}{\sum_{i=1}^n \exp\left(-\frac{(x-x_i)^2}{2h^2}\right)}$$

이렇게 생각해도 됩니다. 이게 Gaussian kernel을 넣은 NW의 가장 많이 쓰는 직관형입니다.


5. 이제 이 식 전체를 읽어보면

$$\hat m(x) = \frac{\sum_{i=1}^n \exp\left(-\frac{(x-x_i)^2}{2h^2}\right)y_i}{\sum_{i=1}^n \exp\left(-\frac{(x-x_i)^2}{2h^2}\right)}$$

이 식은 말 그대로:

"$x$와 가까운 데이터일수록 $\exp\left(-\frac{(x-x_i)^2}{2h^2}\right)$ 라는 큰 가중치를 받고, 먼 데이터일수록 작은 가중치를 받아서, 그 $y_i$들을 가중평균한다"

는 뜻입니다.

즉, Gaussian kernel을 넣어도 본질은 그대로입니다. 단지 '가까움을 계산하는 방식'이 Gaussian 모양이 되었을 뿐입니다.


6. Gaussian kernel이 직관적으로 좋은 이유

Gaussian을 넣으면 "가까움"이 꽤 자연스럽게 표현됩니다.

예를 들어 $h=1$이라고 해보겠습니다. 거리 $|x-x_i|$에 따라 raw weight는 대충 이렇게 됩니다.

  • 거리 0:
  • $$\exp(0)=1$$
  • 거리 1:
  • $$\exp(-1/2) \approx 0.607$$
  • 거리 2:
  • $$\exp(-2) \approx 0.135$$
  • 거리 3:
  • $$\exp(-4.5) \approx 0.011$$

이 숫자들이 주는 느낌이 중요합니다. 즉:

  • 같은 점은 1
  • 한 칸 떨어지면 아직 꽤 반영
  • 두 칸 떨어지면 많이 약해짐
  • 세 칸 떨어지면 거의 영향 없음

그래서 Gaussian kernel은 자연스럽고 부드럽게 "근처를 중시하는 정도"를 표현합니다.


7. 숫자 예시로 실제 계산해보기

데이터가 이렇게 있다고 해보겠습니다.

$$(4,10),\quad (5,20),\quad (7,30)$$

이제 $x=5$에서 예측하고 싶습니다. 그리고 bandwidth는 $h=1$로 두겠습니다.

Gaussian NW 공식은

$$\hat m(5) = \frac{\sum_i \exp\left(-\frac{(5-x_i)^2}{2}\right)y_i}{\sum_i \exp\left(-\frac{(5-x_i)^2}{2}\right)}$$

입니다.


7-1. 각 점의 raw weight부터 구하기

$x_1=4$

거리 차이는 $5-4=1$

$$\exp\left(-\frac{1^2}{2}\right) = \exp(-1/2) \approx 0.607$$

$x_2=5$

거리 차이는 $5-5=0$

$$\exp(0) = 1$$

$x_3=7$

거리 차이는 $5-7=-2$, 제곱하면 $4$

$$\exp\left(-\frac{4}{2}\right) = \exp(-2) \approx 0.135$$

즉 raw weight는 대충

$$0.607,\quad 1,\quad 0.135$$

입니다.

이 숫자만 봐도 이미 직관이 보입니다.

  • $x=5$와 같은 점은 가장 중요
  • $x=4$도 꽤 중요
  • $x=7$은 좀 멀어서 덜 중요

7-2. 분자 계산

$$0.607 \cdot 10 + 1 \cdot 20 + 0.135 \cdot 30$$

즉,

$$6.07 + 20 + 4.05 = 30.12$$

7-3. 분모 계산

$$0.607 + 1 + 0.135 = 1.742$$

7-4. 최종 예측값

$$\hat m(5) = \frac{30.12}{1.742} \approx 17.29$$

입니다.

즉, 5에서의 예측은 약 17.3 정도가 됩니다. 이 값이 왜 그렇게 나오는지도 자연스럽습니다.

  • 20이 가장 강하게 반영되고
  • 10도 꽤 반영되고
  • 30은 멀어서 조금만 반영되니까

20보다는 낮아지고, 10과 30의 영향이 살짝 섞인 값이 나옵니다.


8. 아예 normalized weight로 보면 더 직관적입니다

아까 raw weight는

$$0.607,\quad 1,\quad 0.135$$

였고, 합은 1.742였습니다.

따라서 정규화된 비중은

$$w_1 = \frac{0.607}{1.742} \approx 0.349$$
$$w_2 = \frac{1}{1.742} \approx 0.574$$
$$w_3 = \frac{0.135}{1.742} \approx 0.077$$

입니다.

즉, 예측은 사실상

$$\hat m(5) \approx 0.349 \cdot 10 + 0.574 \cdot 20 + 0.077 \cdot 30$$

로 보는 것과 같습니다. 이제 완전히 해석이 됩니다.

  • 첫 번째 점: 약 35%
  • 두 번째 점: 약 57%
  • 세 번째 점: 약 8%

정도로 반영한 평균이라는 뜻입니다.


9. 여기서 bandwidth ($h$)가 진짜 어떻게 작동하는지 보겠습니다

이제 Gaussian kernel의 진짜 묘미는 $h$에서 드러납니다. 같은 데이터라도 $h$가 바뀌면 "어디까지를 근처로 볼지"가 달라집니다.

이번에는 데이터는 조금 더 극적으로 잡아보겠습니다.

$$(4,10),\quad (5,20),\quad (7,80)$$

그리고 여전히 $x=5$를 예측한다고 하겠습니다. 이제 $h$를 바꿔볼게요.


9-1. $h=0.5$: 아주 local하게 봄

raw weight는

  • $x=4$: $\exp(-1^2/(2 \cdot 0.5^2)) = \exp(-2) \approx 0.135$
  • $x=5$: $\exp(0) = 1$
  • $x=7$: $\exp(-2^2/(2 \cdot 0.5^2)) = \exp(-8) \approx 0.000335$

입니다. 즉,

$$0.135,\quad 1,\quad 0.000335$$

거의 $x=5$만 보고 있는 수준입니다. 예측값은 대략

$$\frac{0.135 \cdot 10 + 1 \cdot 20 + 0.000335 \cdot 80}{0.135 + 1 + 0.000335} \approx 18.8$$

정도입니다. 즉, 거의 20에 가깝습니다.


9-2. $h=1$: 적당히 local

raw weight는

$$0.607,\quad 1,\quad 0.135$$

예측값은

$$\frac{0.607 \cdot 10 + 1 \cdot 20 + 0.135 \cdot 80}{0.607 + 1 + 0.135} \approx 21.2$$

정도입니다. 아까보다 7에 있는 큰 값 80이 조금 더 반영되기 시작합니다.


9-3. $h=2$: 넓게 봄

raw weight는

  • $x=4$: $\exp(-1^2/8) \approx 0.882$
  • $x=5$: $1$
  • $x=7$: $\exp(-4/8) = \exp(-0.5) \approx 0.607$

즉,

$$0.882,\quad 1,\quad 0.607$$

입니다. 이제 7도 꽤 중요한 점이 됩니다. 예측값은

$$\frac{0.882 \cdot 10 + 1 \cdot 20 + 0.607 \cdot 80}{0.882 + 1 + 0.607} \approx 31.1$$

정도입니다.


10. 이 비교가 말해주는 것

같은 Gaussian kernel이라도 $h$가 바뀌면 완전히 다른 모델처럼 행동합니다.

  • $h=0.5$: 거의 바로 옆 점만 본다
  • $h=1$: 적당히 주변도 본다
  • $h=2$: 꽤 멀리 있는 점도 의미 있게 본다

즉 Gaussian kernel regression의 핵심은 결국:

"가중치는 Gaussian 모양으로 주되, 그 폭은 $h$가 결정한다."

입니다.


11. Gaussian kernel을 그림 없이 머릿속으로 그리면

현재 예측하려는 위치가 $x$라고 해보겠습니다. 그 위치를 중심으로 종 모양의 언덕을 하나 올려놓는다고 생각하시면 됩니다.

  • $x$ 바로 근처는 언덕이 높음
  • 멀어질수록 언덕이 낮아짐

그 언덕 높이가 바로 가중치입니다. 즉 각 $x_i$는 그 언덕 위 어디쯤에 놓이느냐에 따라

  • 높으면 많이 반영
  • 낮으면 적게 반영
  • 됩니다.

그래서 Gaussian NW는 사실상

"현재 위치 $x$를 중심으로 부드러운 spotlight를 비추고, 그 안에 있는 $y_i$들을 평균내는 방식"

이라고 생각하셔도 좋습니다.


12. 왜 Gaussian이 특히 자주 쓰이나

Gaussian kernel이 많이 쓰이는 이유는 직관적으로 이렇습니다.

12-1. 딱 끊기지 않음

"반경 2 안만 보고 그 밖은 0" 같은 하드한 cutoff가 없습니다. 그래서 예측 함수가 더 부드럽습니다.

12-2. 가까운 점을 자연스럽게 더 중시

거리 0에서 최고, 멀수록 점점 약해지는 모양이 아주 자연스럽습니다.

12-3. 미분 가능하고 매끈함

이론적으로 다루기 편하고, 곡선도 부드럽게 나옵니다.

다만 다시 말씀드리면, 실전에서는 종종 Gaussian이냐 다른 kernel이냐보다 bandwidth $h$ 가 더 중요합니다.


13. 지금 단계에서 꼭 잡으셔야 하는 핵심

Gaussian kernel을 넣은 NW 공식은

$$\hat m(x) = \frac{\sum_{i=1}^n \exp\left(-\frac{(x-x_i)^2}{2h^2}\right)y_i}{\sum_{i=1}^n \exp\left(-\frac{(x-x_i)^2}{2h^2}\right)}$$

로 생각하면 거의 충분합니다. 이 식의 의미는 딱 이겁니다.

  1. $x$와 각 $x_i$의 거리 제곱을 본다
  2. 그 거리에 따라 Gaussian 방식의 가중치를 준다
  3. 가까운 점은 크게, 먼 점은 작게 반영한다
  4. $y_i$들을 가중평균한다

즉,

Gaussian kernel NW는 "거리 기반 가중평균"인데, 그 거리 가중치가 종 모양으로 부드럽게 줄어드는 버전입니다.


14. 한 문장으로 마무리하면

일반 NW가 "근처를 많이 보는 가중평균" 이라면,

Gaussian NW는 "근처를 Gaussian 종 모양의 비중으로 보는 가중평균" 입니다.