아래 모든 내용들은 Christopher Bishop의 pattern recognition and machine learning에서 더 자세히 볼 수 있습니다.

1.4 차원의 저주

  • 지금까지는 입력변수의 범위가 1차원 데이터였지만 현실에는 이러한 경우는 거의 없다.

  • 이 데이터는 오일, 물, 가스가 혼합되어 운반되는 송유관에서 측정된 데이터다.

    • 이 데이터는 총 12 차원의 입력 벡터로 구성되어 있다.

    • 위 그림은 x6, x7의 차원을 표현한 산포도이다.

    • 점의 색깔은 데이터의 클래스를 의미한다.

    • x에 대해서 이 데이터가 어떤 클래스에 속할지를 판단해야 하는 문제이다.

  • 가장 단순한 접근법은 입력 공간을 같은 크기의 여러 칸들로 나누는 것이다. x가 속한 셀 내에서 가장 많은 클래스를 확인한 뒤 그 클래스로 분류를 하는 방법이다.

    • 이 방법은 입력 변수가 더 많은 경우를 고려할 때 셀의 개수가 지수승만큼 증가하게 된다.

    • 판별 함수를 생각해보면 앞서 사용한 방식을 사용하면 구해야 할 차원 D^M까지 증가하게 된다.


  • 고차원에서 발생할 수 있는 심각한 문제를 차원의 저주(curse of dimensionality)라고 부른다.

    • 저차원 공간에서 얻은 아이디어가 고차원 공간에서 반드시 적용되는지는 않다.

    • 고차원 입력값에 대해 사용할 수 있는 효과적인 패턴 인식 테크닉이 존재하긴 함.

      • 실제 세계의 고차원 데이터들의 경우에 유의미한 차원의 수는 제한적이다.

      • 실제 세계의 데이터는 보통 매끈한 특성을 가지고 있다.

1.5 결정 이론

  • 결정 이론 : 불확실성이 존재하는 상황에서 의사 결정을 내려야 할 때 최적의 의사 결정을 내릴 수 있도록 하는 것

  • 입력 벡터 x와 타깃 변수 벡터 t가 존재하는 상황에서 새로운 입력 벡터 x가 주어지면 타깃 변수 벡터 t를 예측하는 문제가 있다고 하자.

    • p(x,t)는 불확실성을 요약해서 나타내 줄 것이며 이 것을 찾아내는 것은 추론(inference) 문제의 대표적인 예시이다.
  • 이런 확률 정보를 바탕으로 최적의 결정을 하려고 하는데 이를 결정 단계라고 한다.

1.5.1. 오분류 비율의 최소화

  • 잘못된 분류 결과의 숫자를 가능한 줄이는 것이 목표이다. 이를 위해 x를 가능한 클래스들 중 하나에 포함시키는 규칙이 필요하다.

    • 이 규칙은 입력 공간을 결정 구역이라는 Rk들로 나누게 될 것이며 Rk에 존재하는 포인트들은 클래스 Ck에 포함될 것이다.

    • 이때 각 구역의 경계면을 결정 경계, 결정 표면이라고 부른다.

  • 잘못 분류할 결과를 확률 식으로 표현할 수 있다.

    • 따라서 이를 최소화하는 방향으로 모델을 설계해야 한다.

1.5.2. 기대 손실 최소화

  • 현실적으로 오분류의 수를 줄이는 것으로는 부족하다.

    • 따라서 암의 진단 예제의 경우에서 오분류를 하는 경우를 생각해보자.

      • case1 : 실제로 암이 아닌데 암이라고 진단할 경우

        • 환자의 기분은 나쁠 수 있지만 추가 검사를 통해서 아니라는 것을 밝혀낼 수 있다.
      • case2 : 실제로 암인데 암이 아니라고 진단할 경우

        • 이 경우에는 제 때에 치료를 받지 못하게 되어 죽음이라는 결과를 얻을 수 있다.
    • 즉 case1보다 case2가 심각한 경우이므로 case2에 더 강한 페널티를 부여하는 것이 필요하다.

  • 이를 위해 cost function, loss function이라는 개념을 도입해서 이러한 문제들을 공식화할 수 있다.

    • 하나의 샘플 x가 실제로는 특정 클래스 Ck에 속하지만 이 샘플의 클래스를 Ci로 선택할 때 들어가는 비용이라고 정의한다.

    • 모든 경우에 대한 Loss를 정의한 것을 loss matrix라고 한다.

  • Loss 함수를 최소화하는 해가 최적의 해인데 Loss 함수에 대한 평균값을 최소화하는 방법을 사용한다.

    • 각각의 x 값은 결정 구역 Rj들 중 하나에 독립적으로 포함된다. 그렇기 때문에 에러 값이 최소가 되는 Rj를 선택해야 한다.

    • 결국 x에 대해서

      를 최소화하는 클래스를 찾으면 된다.

    • 로 치환 가능하고, p(x)는 클래스마다 동일하다고 생각하고 생략한다.

    • 새로운 xnew가 들어왔을 때, 이 식을 사용한다.

1.5.3 거부 옵션

  • 사후 확률 또는 결합 확률이 1에 가까운 것이 아니라 클래스 별로 비슷할 경우 분류에 대한 에러가 커지게 된다.
  • 이러한 범위에 존재하는 x에 대해 특정한 클래스로 할당을 하는 것이 힘들기 때문에 결정을 회피하게 되는데 이를 reject option이라고 한다.

  • 즉 그림을 보면 특정 수준(threshold)를 넘지 못하면 클래스 분류를 하지 않는 것이다.

    • 1/K<theta<1로 고려를 하며 theta를 조절해 거부되는 예시의 수를 조절할 수 있다.

1.5.4. 추론과 결정

  • 지금까지 분류 문제를 두 개의 단계로 나누어서 알아보았다.

    • 추론 단계 : 훈련 집단을 활용하여 p(Ck|x)에 대한 모델을 학습시키는 단계

    • 결정 단계 : 학습된 사후 확률들을 이용해서 최적의 클래스 할당을 시행

  • 결정 문제를 푸는 데에는 세 가지 다른 접근법이 있으며, 복잡도가 높은 순으로 설명한다.

  • 생성 모델(generative model)

    • 각 클래스에 대해서 조건부 확률 밀도와 사전 확률을 따로 구해 사후 확률을 추론함.

    • 결합 분포를 모델링한 후 정규화를 통해 사후 확률을 구할 수 있음.

    • 이렇게 입력값과 출력값의 분포를 모델링하는 방식을 생성 모델이라고 하며, 이 분포로부터 새로운 샘플을 생성할 수 있는 능력이 있다.

  • 판별 모델(discriminative model)

    • 사후 확률을 계산하는 추론 문제를 풀어낸 후에 결정 이론을 적용하여 각각의 입력 변수 x에 대한 클래스를 구한다. 사후 확률을 직접 모델링하는 이러한 방식을 판별 모델이라고 한다.
  • 판별 함수(discriminative function)

    • 각각의 입력값을 클래스에 사상하는 판별 함수를 찾는다. 베이즈 확률 모델에 의존하지 않고 판별식을 찾아내는 방식이다.

  • 세 가지 방식의 장단점에 대해서 논의해보자.

    • 생성 모델

      • 가장 복잡한 방식으로 x, Ck에 대해서 결합 분포를 찾아야 하는데 대부분의 사례에서 고차원이며 많은 훈련 집합을 필요로 한다.

      • 이 모델의 장점은 이 식을 이용해서 데이터의 주변 밀도도 구할 수 있다. 이를 바탕으로 발생 확률이 낮은 새 데이터(outlier)를 발견할 수 있다.

    • 판별 모델

      • 사후 확률을 계산하는 방식이 생성 모델보다 간편하다.

      • 클래스별 조건부 분포는 사후 확률에 많은 영향을 주지 않는다.

    • 판별 함수

      • 입력 공간을 결정 공간에 바로 매핑시키는 방식이다. 추론 단계와 결정 단계를 하나의 학습 문제로 합친 것이다.

      • 확률론을 다루지 않으므로 사후 확률을 알지 못하게 된다.


  • 사후 확률을 구하는 것의 유의미한 이유는 다음과 같은 이유들 때문이다.
  • 위험의 최소화

    • Loss matrix가 시간에 따라 바뀔 수도 있다.

    • 이는 사후 확률을 알고 있다면 쉽게 최소 위험 결정 기준을 구할 수 있다.

  • 거부 옵션

    • 사후 확률을 알고 있으면 거부 기준을 쉽게 구할 수 있다.
  • 클래스 사전 확률에 대한 보상

    • 클래스의 발현 비율이 다른 경우 이를 해결하기 위해 모델을 수정하게 된다.

    • 수정된 데이터 집합을 사용하여 사후 확률에 대한 모델을 찾아내고 이를 통해 사전 집합을 구할 수 있다.

  • 모델들의 결합

    • 복잡한 문제를 좀 더 작은 문제로 나누어 해결하고 조합해서 사용된다.

    • 간단한 모델로 나누고 이를 독립적으로 가정하고 식을 나열한다.

    • 이를 조건부 독립이라고 하며 사후 분포에 대해서도 식을 전개할 수 있다.

    • 하나의 어려운 결합 확률을 구하는 대신에 모델링이 쉬운 두 개의 사후 확률을 구해 이를 결합하는 것이다.

1.5.5 회귀에서의 손실 함수

  • 지금까지 분류에 대해서 알아보았으니 회귀에 대해서도 손실 함수를 알아본다.

  • 회귀 함수의 손실 함수는 위와 같은 식이며 분류와 같이 기대 손실 함수로 사용한다. 보통 L(t, y(x))를 {y(x)-t}^2으로 사용한다.

  • 그래서 위와 같은 식을 얻게 되고 우리의 목표는 E [L]을 최소화하는 y(x)를 찾는 것이다. 이는 미분을 통해서 구할 수 있다.

  • 이는 x가 주어졌을 때의 t의 조건부 평균으로써 회귀 함수라고 한다. 다음 그림을 참고하면 이해가 더 쉬울 것이다.

  • 다른 방식으로도 도출할 수 있는데 최적의 해가 조건부 기댓값이라는 지식을 바탕으로 식을 전개할 수 있다.

    • E [t|x]를 빼고 더한 것으로 아무런 영향을 주진 않는다. 수학적으로 정답인 평균값이다.

    • y(x) 샘플 데이터로부터 만들어진 모델 함수로 우리가 예측한 근사 식이다.

    • 전개식을 정리하면 위와 같아지게 된다. 크게 두 부분으로 나누어진다.

      • 첫 번째 term은 모델 y(x)와 관련된 요소로 조건부 평균을 통해 최소화하는 항이다.

      • 두 번째 term은 분산으로 샘플이 포함하고 있는 노이즈를 의미한다.


  • 분류에서도 최적의 결정을 내리기 위한 방법들이 있었는데, 회귀에서도 다음과 같은 접근법들이 있다.

    • 결합 밀도를 구하는 추론하는 방법, 이 식을 정규화하여 조건부 밀도를 구하고 최종적으로 조건부 평균을 구한다.

    • 조건부 밀도를 구하는 추론 문제를 풀고 조건부 평균을 구한다.

    • 훈련 데이터로부터 회귀 함수 y(x)를 구한다.

1.6 정보이론

  • 이산 확률 변수 x를 고려해 보자. 이 변수가 특정 값을 가지고 있는 것을 확인했을 때 전해지는 정보량은 얼마만큼일까?

    • 정보의 양은 '학습에 있어 필요한 놀람의 정도'로 해석하면 된다.

      • 따라서 항상 일어나는 일은 0이 될 것이다.

      • 그렇기 때문에 확률 분포 p(x)에 종속적이게 된다.

  • 정보의 양을 h(x)라고 정의하면 정보는 결국 확률 함수의 조합으로 표현이 되게 될 것이다.

  • 정보의 양을 나타내는 함수 h(x)는 확률 함수 p(x)의 음의 로그 값이다.

    • 음의 부호는 정보량이 음의 값을 가지지 않도록 하기 위해 붙여졌다.

    • 로그의 밑은 임의로 정하는데 보통 2를 선택하고 h(x)의 단위는 비트가 될 것이다.

  • 이때 전송에 필요한 정보량의 평균치는 다음과 같이 구할 수 있다.

  • 이 식은 매우 중요한데 이를 엔트로피(entropy)라고 정의한다.

    • 엔트로피는 평균 정보량을 의미하며, p(x)인 분포에서 h(x) 함수의 기댓값을 의미하게 된다.
  • noiseless coding theorem

    • 엔트로피는 랜덤 변수의 상태를 전송하는데 필요한 비트 수의 하한선
  • N개의 동일한 물체가 몇 개의 통 안에 담겨 있다고 가정해 보자.

    • i번째 통 안에 ni개의 물체가 담기도록 한다.

    • 전체 영역에 N개의 물체가 무작위로 놓여있다고 하고, 총 나타날 수 있는 가지 수는 N! 이 된다.

    • 하지만 물체들이 어떤 순서로 놓여 있는지는 중요하지 않다. 개수만이 중요할 뿐이다. 따라서 총 가지 수는 다음과 같다.

    • 이 것을 다중도(multiplicity)라고 부른다.

    • 로그를 붙이고 적당한 상수를 넣어 식을 정리하자.

    • 비율을 그대로 유진 상태에서 N->무한대를 취하고 **Stirling’s approximation** 을 적용하도록 한다.

    • 이 것을 적용하면

    • 통 안의 물체들의 순서를 미시 상태라 하며, ni/N으로 표현되는 통 각각이 가지고 있는 물체의 숫자 비율을 일컬어 거시 상태라 한다. 다중도 W를 거시 상태의 가중치라 일컫기도 한다.

    • N -> 무한대이고, ni/N이 고정된 상수라고 하면,

  • 연속 변수일 때에는 식이 복잡하므로 생략하도록 한다.

1.6.1. 연관 엔트로피와 상호 정보

형태를 모르는 확률 분포 p(x)가 있다고 해보자. 그리고 이 확률 분포를 근사한 q(x)가 있다고 하자. 그러면 q(x)는 근사한 것이므로 정보량이 차이가 있다.

  • p(x)가 아닌 q(x)를 사용했기 때문에 추가적으로 필요한 정보량의 기댓값을 정의한다.

  • 위 정의를 Kullback-Leibler divergence, KL divergence

    • 근사 분포인 q(x)를 사용했기 때문에 정보량은 - ln q(x)을 사용한다.

    • 하지만 데이터는 p(x)이므로 기댓값은 실 분포를 대상으로 구하게 된다.

  • 을 만족한다. (non-symmetric) 그리고 항상 0보다 큰 값을 가진다.

    • 만약 p(x),q(x) 이면 KL = 0이다.
  • KL divergence는 다음과 같이 유도할 수 있다.

  • 정보 이론은 중요하지만 복잡한 내용이 많으므로 위와 같이 간략히 소개하고 추후 더 자세히 소개하는 시간을 가지도록 한다.

아래 모든 내용들은 Christopher Bishop의 pattern recognition and machine learning에서 더 자세히 볼 수 있습니다.

1. 소개(Introduction)

  • 패턴인식이란 컴퓨터 알고리즘을 활용하여 데이터의 규칙성을 자동적으로 찾아내고, 이 규칙성을 이용하여 데이터를 각각의 카테고리로 분류하는 등의 일을 하는 분야

  • 휴리스틱 알고리즘을 통해 생성된 규칙으로 문제를 해결할 수 있다.

    • 각각의 규칙에 대해 예외 사항을 적용해야 하며 이로 인해 수많은 rule을 만들어야 함.
  • 머신러닝을 사용하면 더 나은 결과를 얻을 수 있다. 위와 같이 손으로 쓴 숫자를 분류하는 예제가 있다고 하자. 그러면 N개의 숫자들을 training set으로 활용하고, 각 숫자의 카테고리를 표적 벡터로 표현해 매개변수를 조절해 학습한다.

일반화(Generalization)

  • 훈련 데이터가 실제 모든 데이터를 대변하지 많는다.
  • 따라서 가지고 있는 데이터를 통해 새로운 예시들을 올바르게 분류하는 능력을 일반화(Generalization)이라고 한다. 이는 패턴 인식의 가장 중요한 목표다.
  • 입력 데이터를 사전에 정제하는 작업을 진행하는데 이 과정을 통해 문제를 더 쉽게 해결할 수 있다.
    • 이 과정을 전처리(preprocessing) 또는 특징 추출(feature extraction) 과정이라고 부른다.

기계 학습의 종류

  • 지도 학습(Supervised Learning)

    • 주어진 훈련 데이터가 입력 벡터와 그에 해당하는 표적 벡터로 이루어지는 문제
    • 분류(classification), 회귀(regression)
  • 비지도 학습(Unsupervised Learning)

    • 훈련 데이터가 해당 표적 없이 오직 입력 벡터 x로만 주어지는 경우
    • 군집화(clustering), 밀도 추정(density estimation)
  • 강화 학습(Reinforcement Learning)

    • 주어진 상황에서 보상을 최대화하기 위한 행동

    • 지도학습과는 다르게 입력값과 최적의 출력 값을 예시로 주지 않음

    • 탐험(Exploration)과 탐사(Exploitation) 간의 트레이드오프 문제

1.1 Example

 실숫값의 입력 변수인 x를 관찰한 후 이 값을 바탕으로 실숫값의 타깃 변수인 t를 예측하려 한다.

  • 예제에 사용될 변수를 가정하자.
    • N개의 관찰값 x로 이루어진 훈련 집합 x=(x1, x2,... xN)^T, 타깃 변수 t=(t1,..., tN)^T
    • tn은 sin(2 pi x)의 출력값에 가우시안 분포만큼의 노이즈를 더해서 만들었음

  • 그림에서 녹색 선이 sin(2 pix) 함수이며, 파란색 원이 가우시안 랜덤 분포에 의해 발생한 샘플

    • 관측된 값들은 노이즈로 인해 변질되어 있어서 각각의 주어진 x에 대해서 어떤 값이 적합한 t인지가 불확실하다.
    • 1.2절에서 진행할 확률론에서 더 자세히 이야기할 것이다.
  • 해당 곡선을 fitting 하기 위해서 다음과 같은 형태의 다항식을 활용한다.

    • 다항식을 사용한 이유는 추후에 설명하도록 한다.
  • 훈련 집합의 표적 값들의 값과 함숫값 y(x, w)와의 오차를 측정하는 오차 함수(error function)를 정의하고 이 함수의 값을 최소화하는 방식으로 피팅할 수 있다.

    • 위와 같이 오차 함수를 사용하며 각각의 데이터 포인트에 대한 예측치와 해당 표적값 사이의 오차를 제곱하여 합산하는 방식이다. 그리고 1/2는 나중의 편의를 위해서 추가되었다.
  • 우리는 E(w)를 최소화하는 w 값을 선택함으로써 이 곡선 피팅 문제를 해결할 수 있다.

    • 오차 함수가 이차 다항식의 형태를 지니고 있기 때문에 이 함수를 계수에 대해 미분하면 w에 대해 선형인 식이 나올 것이고, 오차 함수를 최소화하는 유일한 해를 찾아낼 수 있을 것이다.
    • 유일한 해 w를 앞으로 w*라고 표현한다.

  • 다항식의 차수 M을 결정해야 한다.

    • 이 문제를 Model comparison(모델 비교), Model Selection(모델 결정)이라 부른다.
    • 차수 M에 따라서 표현되는 곡선이 달라지므로 어떠한 차수를 선택할지는 중요하다.
  • M = 0,1,3,9 인 경우에 대해 다항식으로 피팅하는 예시다.

    • M=0 ,1 인 경우에는 함수를 잘 표현하지 못하는 것으로 보인다.
    • M=3 인 경우에는 가장 잘 표현하는 것으로 보인다.
    • M=9 일 경우에 완벽하게 피팅이 되는 경우로 오차 함수의 값이 0일 것이다.
    • 하지만 M=3 인 경우를 선택하는 것이 가장 좋은 선택이다.
      • 최종 목적은 새로운 데이터 x가 입력되는 경우에 가장 적합한 결과를 제공하는 일반화 모델을 얻는 것이다.
      • M= 9인 경우에는 새로운 데이터에 대해 매우 좋지 못한 성능을 보일 것이다.
  • 이처럼 주어진 데이터에 비해 M이 너무 클 경우를 과적합(over-fitting)이라고 하고, 너무 작을 경우를 과소 적합(under-fitting)이라고 한다.

    • 과적합은 bias가 작고, variance가 크다고 하며, 과소 적합은 bias가 크지만 variance가 작다고 한다.
    • bias와 variance는 트레이드 오프 관계이다.

  • 일반화의 성능을 측정할 수 있는 수치가 있으면 편리하다. 따라서 RMS 에러(Root Mean Square error)를 사용한다.

    • N으로 나눔으로써 데이터 사이즈가 다른 경우에도 비교할 수 있도록 했고, 제곱근을 취함으로 표적 값과 같은 크기를 가지도록 했다.
    • RMS가 작을수록 더 좋은 모델임을 의미한다.
  • 각각의 M에 대해서 RMS의 값을 확인해보면 과적합 되는 지점을 알 수 있다.

    • RMS의 값이 M이 커질수록 작아지는 것은 당연하다.
    • 대신 M=9처럼 test의 RMS가 급격하게 커지는 구간을 과적합 되는 지점이라고 할 수 있다.
  • 데이터의 크기에 따라 모델의 결과가 달라진다.

    • 위 그림에서 사용한 M의 값은 9로 동일하며 왼쪽은 N=15, 오른쪽은 N=100의 샘플 크기가 존재한다.
    • M=9를 사용했지만 N=100일 경우 과적합의 흔적이 보이지 않는다.
      • 즉 과적합 문제는 더 많은 샘플을 확보함으로써 해결할 수 있다.
    • 앞으로 최대 가능도(Maximum likelihood), 베이지안(Bayesian) 방법을 사용해 과적합 문제를 해결할 수 있다.
  • 정규화(regularization)를 통해 제한적인 양의 데이터 집합을 통해 복잡하고 유연한 모델을 생성할 수 있다.

    • 과적합이 발생한다면 w의 값이 매우 커지거나 매우 작아지는 현상이 발생한다. 따라서 이를 막기 위해 패널티 항을 추가하는 방식이다.
    • 여기서 ||w||^2 = W^TW 이며, 계수 람다가 정규화항의 제곱합 오류항에 대한 상대적인 중요도를 결정짓는다.

  • 람다에 대해서 더 알아보도록 한다.

    • 그림을 통해 M=9이고 동일한 크기의 샘플 데이터가 적용된 결과에 람다를 추가하면 위와 같은 현상이 발생한다.
    • ln 람다 = -18인 경우 과적합이 없어지고 원래 근사하려던 식과 매우 유사해진다.
    • 하지만 ln 람다 = 0을 보면 지나치게 큰 람다는 과소적합 현상을 만들어낸다.

1.2 확률론

패턴 인식 분야에서 중요한 것 중 하나는 ''불확실성''이다. 불확실성은 노이즈를 통해서도 발생하고 데이터 집합의 수가 제한되어 있어서 발생하게 된다.

  • 확률론(Probability Theory)

    • 불확실성을 계량화하고 조작하기 위한 이론적인 토대를 마련해 주며, 패턴 인식 분야의 중요한 기반
  • 위 그림의 예시를 통해서 확률론에 대해서 알아보도록 하자.

    • 두 개의 상자가 주어지고, 하나는 빨간색 상자, 다른 하나는 파란색 상자라고 하자.
    • 빨간색 상자에는 6개의 오렌지, 2개의 사과가 있다.
    • 파란색 상자에는 1개의 오렌지, 3개의 사과가 있다.
    • 랜덤하게 상자 하나를 골라 임의로 과일 하나를 꺼내고 넣는 작업을 수행하며, 상자 안에서 각각의 과일을 고를 확률을 동일하다.
    • 빨간색 상자를 고를 확률은 0.4, 파란색 상자를 고를 확률은 0.6이라고 하자.
      • p(B=r) = 4/10, p(B=b) = 6/10
    • 이제 '사과를 고를 전반적인 확률은?', '오렌지를 선택했을 때 파란 상자였을 확률은?'과 같은 질문에 답할 수 있어야 한다.
  • 이를 위해 확률의 두 가지 기본 법칙은 합의 법칙(sum rule), 곱의 법칙(product rule)에 대해서 알아본다.

    • 합의 법칙

    • 곱의 법칙

    • 위 수식들은 다음과 같은 과정을 통해 얻을 수 있다.

      • X가 xi, Y가 yj 일 확률을 위와 같이 적는다. 이때 Y 값과 무관하게 X가 xi 값을 가질 확률을 구해보자.

      • 이 때 ci = 시그마 nij이다. 이로부터 합의 법칙을 유도할 수 있다.

      • 곱의 법칙도 비슷하다.

      • 1.8의 식을 X=xi일 때, Y=yj일 경우를 의미하며 이를 조건부 확률이라고 한다. 따라서 1.5,1.6,1.8을 통해서 다음 1.9와 같은 관계를 도출할 수 있으며 이것이 바로 곱의 법칙이다.


  • 합의 법칙과 곱의 법칙을 이용하여 베이즈 정리를 기술할 수 있다.(유명한 정리이므로 자세한 설명은 생략한다.)

    • 이것을 토대로 사과와 오렌지 예제에 적용하면 다음과 같다.

1.2.1 확률 밀도(probability density)

  • 지금까지는 이산적인 사건을 바탕으로 확률에 대해 알아보았다면 이번에는 연속적인 변수에서의 확률에 대해 알아보도록 한다.

    • 위와 같이 표현되는 것을 확률 밀도(probability density)라고 부른다.

    • 확률은 양의 값을 가지고 x의 값은 실수에 존재해야 한다. 따라서 확률 밀도 함수는 아래 두 조건을 만족시켜야 한다.

    • x에 대해 확률 함수 p(x)가 주어졌을 때 구간 (-무한, z)에 대한 확률 값을 누적 분포 함수(cumulative distribution function)라고 한다.

    • 위 그림을 보면 이해하기 쉬우며, P(x)를 미분하면 p(x)를 얻을 수 있다.

1.2.2 기댓값과 공분산(Expectation and covariance)

  • 확률식에서 주어진 데이터에 대한 무게 중심을 구하는 것은 매우 중요한데, 주로 평균(기댓값)이 사용된다.

    • 이산 분포, 연속 분포에 일 때의 기댓값을 구하는 방법이다.

    • 간혹 여러 개의 변수를 사용하는 함수에 대해 평균값을 표기할 경우가 있다,

      • 이 때는 평균에 사용하는 주변수에 대해 기술한다.

      • f(x, y)의 평균값을 x의 분호에 대해 구하라는 의미이다.

  • f(x)의 분산은 다음과 같이 정의된다.

    • 분산은 f(x)가 평균값 E [f(x)]로부터 전반적으로 얼마나 멀리 분포되어 있는지를 나타내는 값이다. 위 식을 전개하면 f(x)와 f(x)^2의 기댓값으로 표현할 수도 있다.

    • 2개의 랜덤 변수 x와 y에 대해 공분산은 다음과 같이 정의된다.

    • x와 y가 서로 독립이라면 공분산 값은 0이 된다.

1.2.3 베이지안 확률

  • 지금까지 확률을 ''반복 가능한 임의의 사건의 빈도수''라는 측면에서 봄. 이러한 해석을 고전적 혹은 빈도적이라고 한다.
  • 베이지안 관점을 사용하면 확률을 이용해서 불확실성을 정량화하는 것이 가능하다.

    • 베이지안 관점은 확률의 개념을 빈도가 아닌 믿음의 정도로 고려하는 것
  • 앞에서 말했던 예제인 곡선 피팅 문제를 다시 생각해보자. 이 문제에서 w가 알려지지 않은 고정된 값으로 여겨졌는데 베이지안 관점을 적용하면 w에 대한 불확실성을 기술할 수 있다.

    • 이 식은 관측하기 전의 w에 대한 가정을 p(w)로 표현을 하고 w의 불확실한 정도를 수식에 반영하고 있다.

      • p(w)는 모수에 대한 사전 확률 분포를 의미

      • p(w|D)는 D를 관측한 후의 w에 대한 불확실성을 사후 확률로 표현

      • p(D|w)는 가능도 함수(likelihood function)이라고 불리며, 각각의 다른 매개변수 벡터 w에 대해 관측된 데이터 집합이 얼마나 '그렇게 나타날 가능성이 있었는지'를 표현

      • 최종적으로 다음과 같은 식을 만들 수 있다.

      • 식 1.43의 양쪽 변을 w에 대해 적분하면 베이지안 정리의 분모를 사전 확률과 가능도 함수로 표현할 수 있다.

  • 더 자세한 내용은 2장에서 살펴보도록 한다.

1.2.4 가우시안 분포

2장에서 다양한 확률 분포와 각각의 성질에 대해 살펴볼 것인데, 가우시안 분포에 대해 간단히 개념을 살펴보고 간다.

  • 가우시안 분포는 두 개의 매개변수 u와 시그마^2에 의해 통제된다. u는 평균, 시그마^2은 분산이며, 분산의 제곱근 값은 표준 편차라 불린다. 또한 분산의 역에 해당하는 값은 정밀도라고 한다.

  • 가우시안 분포를 정규 분포라고도 부르며 다음과 같은 성질들이 있다.

  • 모든 값에서 0보다 큰 값을 가지고 전체 합은 1이라는 특징은 정규화의 특징으로써 가우시안 분포가 정규화되어 있음을 알 수 있다.

    • 가우시안 분포의 기댓값과 분산은 위와 같다.

  • 하나의 관찰 데이터 집합 x=(x1, x2, x3,..., xN) T이 주어졌다고 하자. 그러면 데이터 집합 하나가 관찰될 수 있는 확률은 얼마일까?
  • 같은 분포에서 독립적으로 추출된 데이터 포인트들을 독립적이고 동일하게 분포(i.i.d) 되었다고 한다.

    • 따라서 각 사건의 주변 확률의 곱으로 표현이 된다. 따라서 조건부 확률로 다음과 같이 적을 수 있다.

    • 이것을 그림으로 나타내면 다음과 같다.


  • 실제로 얻는 것은 관찰 데이터 집합이고 이를 이용하여 원래의 가우시안 분포를 결정하는 문제를 풀어야 한다.

    • 즉 주어진 샘플이 어떠한 특징을 가지고 있는 가우시안 분포에서 나왔는지를 찾으라는 이야기이며, 평균과 분산의 값을 구하면 된다.

    • 따라서 식 (1.53)의 가능도 함수를 최대화하는 방식으로 평균과 분산을 찾으면 된다.

    • 로그 함수는 변수에 대해 단조 증가하는 함수이므로 로그를 취한 후 최댓값을 찾을 수 있다. 이 점이 분석이 간단해지고 수치적인 측면에서도 도움이 되기 때문이다.

  • 이 함수의 해는 다음과 같다. 각각의 표본 평균, 표본 분산이라고 부른다.

1.2.5 곡선 피팅

  • 이전에는 다항식 곡선 피팅 문제를 오차 최소화 측면에서 살펴보았는데, 이번에는 확률적 측면에서 살펴본다.

    • 이를 통해 오차 함수와 정규화에 대한 통찰을 얻을 수 있다.
    • 베이지안 해결법을 도출하는데 도움이 될 것이다.
  • 곡선 피팅 문제의 목표는 가지고 있는 샘플 데이터들로 새로운 입력 변수가 주어졌을 때 그에 대한 타깃 변수를 예측해 내는 것이다.

    • 따라서 확률 분포를 이용해 타깃 변수의 값에 대한 불확실성을 표현할 수 있다. 노이즈를 가우시안 분포로 고려하면 다음과 같이 표현할 수 있다.

    • B는 정밀도 매개변수를 의미한다. 이를 그림으로 표현하면 아래와 같다.

    • 즉 한 점이 주어지고 그 점을 중심으로 가우시안 노이즈가 존재하는 것과 같다.

  • 훈련 집합을 바탕으로 최대 가능도 방법을 이용하여 파라미터들을 결정할 수 있다. 가능도 함수는 다음과 같다.

  • 로그를 취하고 이 가능도 함수를 최대로 만드는 파라미터 값을 추정한다.

  • MLE를 이용해 얻어진 해 w를 wML로 표기를 하며 마지막 두 term은 w에 관계없으니, 제거, 계수의 B/2도 1/2로 바꿀 수 있다. 마지막으로 로그 가능도를 최대화하는 대신에 로그 가능도의 음의 값을 취한 후, 이를 최소화하면 제곱항 오차 함수를 유도할 수 있게 된다.

  • 위와 같은 방식으로 새로운 데이터의 타겟 값을 예측할 수 있으며 이를 예측 분포라고 한다.

    • 베이지안 방식을 위해 다항 계수 w에 대한 사전 분포를 도입한다.

    • 여기서 a는 분포의 정밀도이며, M+1은 M차수 다항식 벡터 w의 원소의 개수다. a와 같이 모델 매개변수의 분포를 제어하는 변수들을 하이퍼 파라미터(hyperparameter)라고 한다.

    • 베이즈 정리를 이용하면 다음과 같이 식을 쓸 수 있다.

    • 이제 주어진 데이터에 대해 가장 가능성 높은 w를 찾는 방식으로 w를 결정할 수 있다. 즉, 사후 분포를 최대화하는 방식으로 w를 결정할 수 있다. 이 방식을 최대 사후 분포(MAP maximum posterior)라 한다.

1.2.6 베이지안 커브 피팅

  • 아직 w에 대해 점 추정을 하고 있기 때문에 아직은 완벽한 베이지안 방법론을 구사한다고 말할 수 없다. 완전한 베이지안적 접근을 위해 모든 w에 대한 값을 반영해야 한다. 따라서 모든 w에 대해 적분을 시행하게 된다.

  • 적분을 시행하면 다음과 같이 가우시안 분포로 주어진다.

  • 여기서 평균은 다음과 같다.

1.3 모델 선택

  • 지금까지 최소 제곱법을 이용하여 곡선 피팅의 예시에서 최적의 다항식 차수가 있음을 알 수 있었다.

    • 다항식의 차수에 따라 자유 매개변수의 수가 결정되며, 모델의 복잡도가 결정되었다.
    • 정규화 계수도 복잡도에 영향을 주었다.
    • 실제 응용 사례에서는 이러한 매개변수의 값을 결정해야 하며, 가장 적합한 모델을 선택해야 한다.
  • 대부분의 경우에는 train과 test에 대한 데이터의 공급이 제한적이다. 이런 상황에서 해결할 수 있는 한 가지 방법이 교차 검증법 (cross-validation)이다.

    • 임의로 고른 (S-1)/S를 학습 집합으로 나머지를 테스트 집합으로 사용한다. S를 번갈아가면서 N번 테스트한다.

    • S의 수가 늘어나면 모델 훈련의 시행 횟수가 증가하게 된다. 이는 훈련이 계산적으로 복잡할 때 문제가 된다.

    • 여러 가지 복잡도 매개변수가 있을 경우 기하급수적인 수의 훈련 실행이 필요할지도 모른다.

    • 이상적인 방식에서는 훈련 집합만을 활용해서 여러 종류의 하이퍼파라미터와 모델의 비교를 한 번의 훈련 과정 동안 시행할 수 있다.

    • 이를 위해 훈련 집합만을 사용하는 성능 척도가 필요하며, 과적합으로 인한 bias로부터 자유로워야 한다.

+ Recent posts