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

12. 연속 잠재 변수

  • 이미 9장에서 가우시안 혼합 분포와 같은 이산 잠재 변수를 가지는 확률 모델을 살펴보았다.

    • 이제 몇몇 잠재 변수들 또는 모든 잠재 변수들이 연속적인 모델에 대해 살펴본다.
  • 이러한 모델은 원래 데이터 집합 공간의 차원보다 훨씬 더 낮은 차원의 manifold에 모든 데이터 포인트들이 가깝게 놓이는 성질을 가진다.

    • manifold란 데이터가 있는 공간이라고 생각하면 된다.
  • 예시를 살펴 보도록 한다.

    • 64 x 64 픽셀로 표현되는 숫자 이미지를 100 x 100 크기의 이미지에 삽입하도록 한다.

    • 빈 공간은 0 값을 가지게 되고, 숫자를 넣는 위치는 random이며 다음과 같이 표현된다.

    • 각 이미지는 10,000개의 픽셀을 가지게 되며, 세 개의 변동 가능한 자유도만이 존재한다.

      • 수직 이동, 수평 이동, 회전 이동
    • 각각의 데이터 포인트들은 실 데이터 공간의 부분 공간상에 존재, 이 부분 공간을 intrinsic dimensionality라고 한다.

  • 위의 예시의 경우 manifold는 비선형이다. 하나의 숫자를 이동시켰을 때 특정 픽셀은 0에서 1로, 다시 0으로 바뀌는 비선형 이기 때문이다.

  • 또한 이동과 회전 매개변수는 잠재 변수들이다.

    • 우리가 관측하게 되는 것은 이미지 벡터인데 생성될 때 이동 변수나 회전 변수들이 사용되었는지 알 수 없다.
  • 가장 단순한 연속 잠재 변수 모델에서는 잠재 변수와 관측 변수가 둘 다 가우시안 분포를 이룬다고 가정하고 잠재 변수들의 상태에 대한 관측 변수들의 선형 가우시안 종속성을 사용한다.

    • 이를 통해 PCA를 도출한다.

12.1 PCA

PCA는 차원수 감소, 손실 허용 데이터 압축, 특징 추출, 데이터 시각화 등의 여러 분야에서 사용되고 있다.

  • PCA에는 두 가지 정의가 있지만 결과적으로는 같은 알고리즘을 도출하게 된다.
    • 데이터를 주 부분 공간(prinipal subspace)이라고 하는 더 낮은 선형 공간에 직교 투영하는 과정이며 위 그림과 같이 진행된다.
      • 이때 투영 과정은 투영된 데이터의 분산이 최대화되는 방향으로 이루어져야 한다.
    • 평균 투영 비용을 최소화하는 선형 투영으로 PCA를 정의
      • 이 경우 평균 투영 비용은 데이터 포인트와 그 투영체 간의 평균 제곱 거리로 정의

12.1.1 최대 분산 공식화

  • 관측 데이터 집합 xn이 있다고 하자. 이는 차원수 D를 가지는 유클리드 변수다. 우리의 목표는 데이터를 M < D의 차원수를 가지는 공간상에 투영하는 것이다.
    • 이때 투영된 데이터의 분산이 최대가 되도록 한다.
    • M값이 주어졌다고 가정하고, 나중에 적절한 M 값을 찾아내는 것을 알아본다.
  • M = 1이라고 하자.
  • 이 공간의 방향을 D차원 벡터 u1로 정의할 수 있다. 편의를 위해서 단위 벡터를 사용한다.
    • 즉 u1Tu1 = 1 이다.
      • u1에 의해 정의되는 방향이므로 임의의 크기를 자기는 벡터를 사용해도 일반성을 잃지 않는다.
  • 각각의 데이터 포인트는 u1Txn에 투영된다.

  • 그리고 투영된 데이터 분산은 다음처럼 주어진다.

  • S는 데이터 공분산 행렬로서 다음처럼 주어진다.

  • 이제 투영된 분산을 u1에 대해서 극대화하도록 한다. 이 때 이 값이 무한대로 발산하는 것을 막기 위해 제약 조건을 걸어야 하며 정규화 조건으로부터 제약 조건을 얻고 라그랑주 승수법을 도입해 최대화를 실시하도록 한다.

  • u1에 대한 미분을 0으로 설정하면 다음과 같다.

    • 즉 u1이 S의 고유 벡터가 된다. 왼쪽에 u1T를 곱하면 분산은 다음과 같이 주어진다.

    • u1를 가장 큰 고윳값 λ1을 가지는 고유 벡터로 설정하면 최대의 분산을 가지게 되고, 이 고유 벡터를 제1주성분이라고 한다.

  • 요약하면, PCA는 데이터 집합의 평균과 공분산 행렬 S를 계산하고 S의 가장 큰 M개의 고윳값들에 해당하는 M개의 고유 벡터들을 찾는 과정

12.1.2 최소 오류 공식화

  • 투영 오류를 최소화하는 방식을 살펴본다.

  • 완전히 정규 직교하는 D차원의 기저 벡터들 ui을 도입해 보자.

    • uiTuj = δij를 만족한다.
  • 이 기저들은 완전하므로, 데이터 포인트들을 기저 벡터들의 선형 결합으로 정확하게 표현할 수 있다.

    • 계수 ani는 각 데이터 포인트마다 다른 값이며, 새 시스템으로 좌표계를 회전 변환하는 것에 해당한다.

    • uj와 내적을 진행한 후 정규 직교 성질을 이용하면 anj=xnTuj를 얻는다.

  • 목표는 이 데이터 포인트들을 제한된 수 M < D개의 변수들을 이용해서 근사하는 것

    • 저차원 부분 공간으로의 투영에 해당
  • M개의 기저 벡터들을 이용해 M차원 선형 부분 공간 표현할 수 있고, xn을 다음과 같이 근사한다.

  • zni는 특정 데이터 포인트에 대해 종속적이지만 bi는 모든 데이터 포인트들에 대해 동일한 상수다.

    • 이러한 값들은 차원을 줄임으로 인해 발생하는 왜곡도를 감소시키는 방향으로 자유롭게 선택할 수 있다.
  • 왜곡도를 측정하고 이를 최소화하도록 한다. 왜곡도는 다음과 같다.

    • 우선 각각의 zni 값에 대한 최소화를 고려해 보자. x_tilda 값을 치환하고, znj에 대한 미분값을 0으로 설정한 후 정규직교 조건을 사용하면 다음을 구할 수 있다.

      • 여기서 j = 1, ... ,M이다.
      • 12.10 식에서 앞 부분에 해당하는 것을 의미한다.
    • bi에 대한 미분값을 0으로 놓고 정규직교 조건을 이용하면 다음을 얻을 수 있다.

      • 여기서 j = M+1, ... , D다.
      • 12.10 식에서 뒷 부분에 해당하는 것을 의미한다.
  • 여기서 zni와 식 12.10의 bi를 대입해 넣고 식 12.9의 일반 전개식을 사용하면 다음과 같다.

  • 이로부터 xn에서 x_tilda로의 이동 벡터는 주 부분 공간에 직교하는 공간상에 존재함을 알 수 있다.

    • 이동 벡터들은 i = M+1 , ... , D에 대한 {ui}의 선형 결합이기 때문
    • 투영된 포인트는 x_tilda 부분 공간상에 놓여 있어야 하지만, 공간 내에서는 자유롭게 이동시킬 수 있으므로 최소 오류를 달성 할 수 있다.
  • 따라서 J를 {ui}의 함수로 표현한다.

  • 이제 {ui}에 대해 최소화한다.

    • 이는 제약 조건이 있는 최소화이다. 따라서 라그랑주 승수법을 사용한다.
    • 제약 조건은 정규직교 조건으로부터 기인한다.
  • 이차원 데이터 공간 D = 2, 주 부분 공간 M = 1의 예시로 살펴본다.

    • J=u2TSu2를 최소화하는 방향 u2를 선택해야 하고, 제약 조건u2Tu2=1을 만족해야 한다.

    • u2에 대한 미분값을 0으로 설정하면 Su2 = λ2u2를 얻는다. u2는 S의 고유 벡터가 된다.

    • u2에 대한 해를 왜곡도 식에 역으로 대입해 넣으면 J=λ2가 된다.

      • 두 개의 고윳값들 중 작은 고윳값에 해당하는 고유 벡터로 u2를 선택해 J를 최소로 만들 수 있다.
  • 이 내용은 제곱 투영 거리의 평균값을 최소화하기 위해 주성분 부분 공간이 데이터 포인트들의 평균을 통과하도록 해 최대 분산의 방향과 정렬되도록 한다.

  • 따라서 이를 일반화하면 다음과 같다.

  • 지금까지는 M < D인 경우만 고려하였는데, M=D인 경우에도 유효하다.

    • 이 경우엔 차원 감소는 없으며, 좌표축들을 회전시켜 주성분들에 정렬되도록 한다.

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

Mixture models and EM

  • 관측 변수와 잠재 변수들에 대한 결합 분포를 정의한다
    • 그러면 이에 해당하는 관측변수들만의 분포는 주변화를 통해서 구할 수 있다.
  • 복잡한 관측 변수들에 대한 주변 분포를 상대적으로 더 다루기 쉬운 관측 변수와 잠재 변수 확장 공간상의 결합 분포를 통해서 표현할 수 있도록 한다.
    • 잠재 변수를 도입하면 단순한 원소를 복잡하게 만들 수 있다.
  • 혼합 모델은 clustering에서도 사용가능하다.
    • 대표적으로 K-means 알고리즘이 있다.
  • 일반적인 혼합 모델에서 가장 많이 사용하는 알고리즘인 EM알고리즘에 대해서 알아본다.

K-means clustering

  • 다차원 공간 데이터 포인트들에서 해당 데이터들이 어떤 군집에 해당하는지 알아내는 작업을 수행한다.
  • 데이터 집합 (x1,...,xN)를 고려하자.

    • 이는 D차원을 가지며 K개의 집단으로 나눈다.

    • μk는 k번째 클러스터의 중심을 나타내는 값이라고 하자.

      • 각각의 데이터 포인트로부터 가장 가까운 μk까지 거리의 제곱합들이 최소가 되도록 하는 것이 목표다.
  • 데이터 포인트들을 집단에 할당하는 것을 설명하는 표현법을 정의한다.

    • 변수 rnk ∈ 0,1을 정의한다.
    • 만약 xn이 집단 k에 할당된다면 rnk=1이며 아닌 경우는 0이라 한다.
      • 이를 one hot encoding이라 한다.
  • 목적 함수를 정의한다. 이를 distortion measure(뒤틀림 척도)라고도 부른다.

  • 이는 같은 클러스터에 속하는 각각의 점들로부터 그 클러스터의 평균과의 거리의 합을 제곱한 함수를 뜻한다.

  • 이제 여기서 rnk, μk를 구해야 한다.

    • 물론 J의 값이 최소가 되어야 한다.
    • 반복적인 절차를 통해서 이를 해결하는 방법을 알아본다.
  • rnk 와 μk 를 구하기 위해 크게 2개의 단계로 나누게 된다.

    • 먼저 μk의 임의의 초기값을 설정한다.
    • 첫 번째 단계에서는 이 μk 값을 고정한 채로 J를 최소화하는 rnk 값을 구한다.
    • 두 번째 단계에서는 rnk를 고정하고 μk를 구한다.
    • 값이 수렴할 때까지 이 두 단계의 최적화 과정을 반복하게 된다.
    • 각각의 두 단계를 E(expectation, 기댓값) 단계와 M(maximization, 최대화) 단계로 이를 합쳐 EM 알고리즘이라고 부른다.

  • 이제 E,M을 이용한 K-means 알고리즘을 알아본다.
  • rnk를 구하는 과정을 알아본다.

    • J가 rnk에 대한 선형 함수이므로 쉽게 최적화 할 수 있고, 닫힌 형태의 해를 얻을 수 있다.

    • 서로 다른 n에 해당하는 항들은 각자가 독립적이므로 각각의 n에 대해서 따로 최적화가 가능하다.

    • 각 클러스터 중심과 데이터 포인트들의 거리를 측정해서 가장 가까운 클러스터를 선택한다.

  • 이제 μk를 구해보도록 한다. 물론 rnk는 고정한다.

    • 목적 함수 J는 μk에 대해서 제곱 함수이므로 미분을 통해 최솟값이 되는 지점을 얻을 수 있다.
  • 이 식을 μk에 대해 풀면 다음과 같다.

    • 이 식의 분모는 집단 k에 할당된 포인트들의 숫자에 해당한다. 결국 집단 k에 할당된 모든 데이터 포인트들의 평균이라는 것이다. 따라서 이러한 이유로 이 과정을 K -means 알고리즘이라 한다.

  • 그림을 통해서 K-means가 수렴하는 과정을 살펴보도록 한다.

  • 그림으로 보면 쉽게 이해 할 수 있다.

    • 우선 K=2로 설정을 하였고, (a)에서 임의의 μk 두 개를 설정한 것을 알 수 있다.
    • (b)과정에서 두 개의 평균 값을 이용해서 E 과정을 거쳤고, (c)에서 M 과정을 거친다.
    • 계속해서 EM 과정을 반복하고, 수렴 조건이 만족할 때까지 반복한다.
  • 위 그림은 EM 과정을 반복할 때마다 목적 함수 J의 값이 줄어드는 것을 나타내는 단계이다.

  • 각 단계에서 J의 값이 감소하기 때문에 수렴은 보장되어 있지만 전역 최솟값으로 간다는 보장은 존재하지 않는다.

  • 평균 μk의 초기 값이 어디에 위치하는지에 따라 성능의 차이가 발생한다.

    • 실제 반복 횟수의 차이가 발생하게 된다.

  • K-means 알고리즘은 유클리드 거리를 사용하고 있기 때문에 매우 느릴 수 있다.
  • 따라서 이를 빠르게 하는 방법들이 있다.
    • 서로 근접한 포인트들이 같은 서브트리에 속하게 하는 방식의 트리와 같은 데이터 구조를 미리 계산한다.
    • 삼각 부등식을 사용해서 불필요한 거리 계산을 줄인다.

  • K-means 알고리즘은 모든 데이터 포인트들과 평균 간의 유클리드 거리를 계산해야 하기 때문에 느릴 수 있다.
    • 따라서 유클리드 거리를 사용할 수 있어야 하고, outlier에 영향을 많이 받는 알고리즘이다.
  • 따라서 이러한 문제를 해결할 수 있도록 k-medoids 알고리즘, 중간값을 활용하도록 한다.

k-medoids 알고리즘

  • 유클리디안 거리 측정 대신 v(x,x')를 정의해서 사용한다.

  • 목적 함수는 다음과 같다.

  • E 단계은 앞서 살펴본 방식과 동일한 방법으로 O(NK)가 된다.

  • M 단계는 이전보다 더 복잡할 수 있다.

    • v 의 비용이 이전보다 커지게 되고, 연산량을 줄이기 위해서 중심점을 클러스터에 속하는 데이터 중 하나로만 선정하기도 한다.
    • 이 경우 O(Nk2)의 비용이 필요하게 된다.

  • K-means 알고리즘은 모든 데이터 포인트들이 정확하게 단 하나의 집단에만 할당된다.
    • 하지만 가끔 모두 비슷한 거리에 위치에 어디에 속하게 해야 할지 애매할 수 있다.
    • 이러한 경우 확률적인 접근 방식을 이용하여 특정 클러스터에 대한 할당을 클러스터에 포함될 확률값으로 결정할 수 있다.

혼합 가우시안

  • 앞서 가우시안 성분들을 선형으로 중첩시킨 가우시안 혼합 모델을 사용하면 단일 가우시안을 사용할 때보다 더 다양한 종류의 밀도 모델들을 표현할 수 있다.

  • 이번 절에서는 이산 잠재(latent) 변수들을 이용해서 혼합 가우시안 모델을 만든다.

  • 가우시안 혼합 분포를 다음과 같이 선형 중첩 형태로 적을 수 있다.

  • 이제 K차원을 가지는 이산 확률 변수 z를 도입한다. 이 변수는 특정 원소 zk는 1이고 나머지는 0인 one-hot encoding 방법을 사용한다.

  • 결합 분포는 다음과 같이 정의 한다.

    • p(x,z)=p(z)p(x|z)

    • 이제 zk의 주변 분포를 혼합 계수 πk를 사용하여 정의한다.

    • 매개변수 πk는 다음의 두 제약 조건을 만족해야 한다.

    • 또한 z가 one-hot-encoding을 사용하므로 이 분포를 다음의 형태로 적을 수 있다.

  • 이와 비슷하게 특정 z 값이 주어졌을 때의 x에 대한 조건부 분포는 다음 형태의 가우시안 분포다.

  • 이는 다음의 형태로 적을 수 있다.

  • 결합 분포는 p(z)p(x|z)의 형태로 주어진다. 이때 모든 가능한 z의 상태에 대한 결합 분포를 합산함으로써 x의 주변 분포를 구할 수 있다.

  • x의 주변 분포는 식 9.7 형태의 가우시안 혼합 분포가 된다. 여러 개의 값 x1, ... xN을 관측했을 경우, 주변 분포를 p(x)의 형태로 표현했기 때문에 모든 관측된 데이터 포인트 xn에 대해서 해당 잠재 변수 zn이 존재한다.

  • 명시적으로 잠재 변수를 사용하는 가우시안 혼합 분포를 보았다.
    • 이 결과로 주변 분포 대신에 결합 분포를 직접 활용할 수 있다.
    • 이것이 계산 과정을 매우 단순하게 만들어 준다.
  • x가 주어졌을 때의 z의 조건부 확률을 구하는 것도 중요하다. 그 확률은 다음과 같이 정의하도록 한다.

  • 우리는 πk가 zk=1일 때의 사전 확률 값이라는 것을 안다.
    • 이제 γ(zk)는 관찰 데이터 x가 주어졌을 때의 사후 확률 값이 된다.
    • 이를 성분 k에 대한 responsibility라고 한다.

  • ancestral sampling를 통해서 가우시안 혼합 모델에 부합하는 random 표본을 추출해 내는 것이 가능하다.

    • 이를 위해서 z 값 하나를 주변 분포 p(z)에서 추출하여 z_hat이라고 한다.
    • 조건부 분포 p(x|z_hat)로부터 x 값을 추출한다. 정확한 내용은 11장에서 소개한다.
  • 결합 분포로부터의 표본들은 (a)에 해당한다. 여기서 x 값에 해당하는 포인트들을 그리고 이에 대한 해당 z 값에 따라 그 포인트를 색칠(빨강, 초록, 파랑)하는 방식을 사용했다.

    • 어떤 가우시안 성분이 x 값을 만들어 낸 책임이 있는지 표현할 수 있다.
  • 주변 분포 p(x)로부터 표본들은 z 값을 무시하고 결합 분포에서 표본들을 추출해서 생성할 수 있고 이는 (b)에서 표시되어 있다.

  • 데이터 포인트 각각에 대해서 데이터 집합이 생성된 혼합 분포의 각 성분에 대한 사후 분포를 구하는 방식을 이용하면 합성 데이터를 이용해 책임 정도를 표현할 수 있다.

    • 즉 각 색의 비율로 표현할 수 있고, (c)에 표현되어 있다.
  • (a)와 같은 결과를 complete하다고 표현하고, (b)와 같은 경우엔 imcomplete 하다고 표현한다.

9.2.1 최대 가능도 방법

  • 관찰 데이터가 x1,...,xN으로 주어져 있다.

    • 이 데이터 집합은 N x D 행렬 X로 표현한다. (N은 sample 수,D는 한 sample의 차원)

    • 이와 비슷하게 해당 잠재 변수들은 N x K 행렬 Z로 표현할 수 있다.

    • 모든 데이터가 독립이라고 가정하면 그래프를 이용해서 표현할 수 있다.

    • 이제 로그 가능도 함수는 다음과 같이 주어진다.

  • MLE를 통해 이 함수를 최대화하기 위해 발생하는 문제들에 대해 알아본다.


특이점(singularity) 문제

  • 공분산 행렬이 Σk2kI 인 가우시한 혼합 모델을 고려한다.

  • j번째 성분이 평균으로 μj를 가지며, 이것이 데이터 포인트들 중 하나의 값과 정확히 일치한다고 하자.

    • μj=xn이다.
  • 이 데이터 포인트는 가능도 함수 식의 항에 다음과 같이 기여한다.

  • 만약 σj가 0으로 간다면 무한대의 값을 가지게 될 것이고, 로그 가능도 함수를 최대화하는 것은 적절하지 않다.

    • 이러한 특이점들은 항상 존재하고, 하나가 문제가 발생해도 이러한 문제는 발생할 수 있다.
  • 하지만 단일 가우시안 분포의 경우에는 문제가 없었다.

    • 하나의 위치로 거의 수렴하는 단일 가우시안 모델은 평균 값 외에는 밀도 값이 0이 된다.
    • 곱 인자에 기여하게 되므로 전체 가능도 함수값이 0 값을 가지게 될 것이다.
      • 따라서 모든 데이터 포인트들에 유한한 확률을 부여할 수 있게 된다.
  • 사실 MLE 방식은 오버 피팅 문제가 존재하는데 베이지안 접근법을 활용하면 이러한 문제가 발생하지 않는다.

  • 평균값을 임의로 선택한 값으로 설정하고, 공분산값을 임의의 큰 값으로 설정한 후 계산을 진행하는 방식을 사용한다.


식별 문제(identifiability)

  • 최대 가능도 해에 대해서 K!개의 동일한 해가 존재할 것이다.
    • K개의 매개변수들을 K개의 성분들에 할당하는 K!개의 서로 다른 방법들이 있다.

이 문제는 12장에서 더 자세히 다루도록 한다.

9.2.2 가우시안 혼합 분포에 대한 EM

  • 잠재 변수를 포함한 모델의 최대 가능도 해를 찾기 위한 좋은 방법 중 하나는 EM 알고리즘이다.

  • 우선 가우시안 혼합 모델의 맥락에서 약식으로 EM 알고리즘을 살펴보도록 한다.

  • 가능도 함수의 최댓값에서 만족되어야 하는 조건들을 적는 것으로 논의를 해본다.

    • 식 9.14를 가우시안 성분의 평균 μk에 대해 미분한 값을 0으로 설정하면 다음을 얻게 된다.

  • 양변에 Σk를 곱하고 전개하면 다음을 얻게 된다. (이 때 행렬이 정칙이라고 가정한다.==역행렬이 존재한다.)

  • Nk는 집단 k에 할당되는 유효 데이터 포인트의 숫자로 해석한다.

  • 수식을 자세히 살펴보면 사실 k번째 가우시안 성분의 평균은 데이터 집합의 모든 포인트들의 가중 평균으로 구할 수 있다.

    • 이때 데이터 포인트 xn에 대한 가중치는 xn을 생성하는 데 있어서 성분 k의 책임 정도에 해당하는 사후 확률로 주어진다.
  • 위와 동일하게 Σk에 대한 미분값을 0으로 놓고 단일 가우시안 공분산 행렬에 대한 해를 바탕으로 비슷한 추론 과정을 거치면 다음과 같다.

  • 이는 데이터 집합에 근사한 단일 가우시안 분포의 경우와 비슷하다.

    • 다른점은 각각의 데이터 포인트들이 해당 사후 확률로 가중되며, 해당 성분에 연관된 유효 데이터 포인트의 숫자가 분모에 추가된다는 점이다.
  • 마지막으로 πk에 대해 최대화를 해보도록 한다. 이 때에는 이 값들의 합이 1이어야 한다는 제약 조건식을 생각해야 한다. 따라서 라그랑주 승수법을 사용하도록 한다.

  • 양변에 πk를 곱하면 γ(znk)가 나오게 된다. 이를 다시 정리하면 다음과 같다.

  • 결국 k번째 성분의 혼합 계수는 데이터 포인트들을 설명하기 위해 취한 responsibility를 평균한 값이 된다.

  • 이렇게 얻은 평균, 분산, 혼합 계수는 닫힌 형태의 해를 제공하지 못하는데, γ(znk)들이 복잡한 방식으로 종속되어 있기 때문이다.

EM 알고리즘 적용

  • EM 알고리즘은 반복적인 방법을 이용하여 값을 추정하는데, GMM에서는 다음과 같이 처리한다.
    • (a)와 같이 random한 값으로 평균, 분산을 초기화 한다.
    • E 단계
      • 현재 값을 사용하여 사후 확률 z를 추정한다. -> (b)
    • M 단계
      • E 단계에서 계산한 값을 이용하여 MLE를 통해 평균, 분산, 혼합 계수의 값을 다시 추정한다. -> (c)
    • 반복
      • 수렴 조건이 만족할 때까지 E, M을 반복 (d) , (e) , (f)에 해당한다.
  • EM 알고리즘이 수렴을 달성하기 위해 필요로 하는 반복 횟수가 K-means 알고리즘에 비해 훨씬 많다.
    • 따라서 K-means 알고리즘을 먼저 수행해서 적합한 초기값을 찾아내고, EM 알고리즘을 적용하는 것이 일반적이다.
  • K-means와 동일하게 특이점 문제가 발생하지 않도록 조심해야 한다.
  • 여러 개의 지역적 최댓값이 있으므로 EM 알고리즘은 이들 중 가장 큰 값을 찾는 것을 보장하지 못한다.

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

4.2 확률적 생성 모델

  • 앞서 설명했던 용어들을 다시 한 번 정리하고 넘어간다.

    • 사후 확률 (posterior) : p(Ck|x)

      • 임의의 데이터 x가 주어졌을 때 이 데이터가 특정 클래스에 속할 확률
    • 클래스-조건부 밀도(class-conditional density) : p(x|Ck)

      • 특정 클래스에서 입력된 하나의 데이터 x가 발현될 확률
    • 가능도 함수 p(X|Ck)

      • 주어진 샘플 데이터가 실제 발현될 확률값을 주로 사용하며, 로그를 불이는게 일반적이다.
  • 생성적 접근법을 사용해서 클래스가 2 개인 경우를 고려해본다. 그러면 C1에 대한 사후 확률을 다음과 같이 적을 수 있다.

  • σ(a)는 로지스틱 시그모이드 함수로서 다음과 같이 정의된다.

  • 시그모이드 함수는 다음과 같이 그려진다.

  • 시그모이드 함수는 다음과 같은 대칭성을 만족한다.

  • 시그모이드는 0과 1 사이의 값으로 수렴을 하므로, 확률 값으로 고려를 해도 되고, 모든 점에서 연속이기 때문에 미분 가능해 수학적 전개에도 매우 편리하다.

  • 로지스틱 시그모이드의 역(inverse)은 다음과 같다.

  • 이를 로짓이라고 부른다.


  • K > 2인 경우에도 식을 확장할 수 있다.

    • 이를 일반 선형 모델이라고 부른다.

    • ak는 다음과 같다

    • 이를 정규화된 지수 함수라 하며, 다중 클래스 분류에 사용되는 식이 된다. 이를 softmax function이라고도 한다.

      • 평활화된 버전의 최댓값 함수에 해당한다.

4.2.1 연속적인 입력값(Continuous inputs)

  • 클래스별 조건부 밀도가 가우시안이라고 가정하자.

    • 모든 클래스들이 같은 공분산 행렬을 공유한다고 가정하자.

  • 이를 class가 2 개인 경우에 대해 고려해보자.

  • 위 식은 σ(a)에 정의되어 있었다.

  • 위와 같은 내용을 얻을 수 있다.

  • x에 대한 2차 term이 모두 사라지면서 직선 식을 얻게 되었다.

    • 공분산 행렬을 공유한다는 가정으로 인해
  • 같은 분산을 가지는 두 개의 가우시안 분포가 만나는 지점은 당연히 직선의 형태일 것이다.

  • 왼쪽 그림은 2-class에서의 확률 밀도를 표현한 것이다.

    • 공분산이 동일하므로 모양이 같고, 따라서 경계면은 직선일 것이다.
  • 이제 이를 K 클래스 문제로 확장하면 어떻게 될까?

  • 계산을 간단히 하기 위해 공분산이 동일하다고 가정했지만 다르면 어떻게 될까?

    • 경계면을 구하는 식에서 이차항이 남게 되어 경계면이 곡선이 될 수 있다.

4.2.2 최대 가능도 해

  • 클래스 조건부 밀도의 매개변수적 함수 형태를 명시하고 나면 최대 가능도 방법을 이용해서 매개변수들의 값과 사전 클래스 확률을 구할 수 있다.

    • 이를 위해 관측값 x와 그에 대한 데이터 집합이 필요하다.
  • 두 개의 클래스가 있는 경우를 고려해보자.

    • 각각의 클래스들은 가우시안 클래스 조건부 밀도를 가지며, 공분산 행렬은 공유한다.
  • tn=1인 경우 C1로, tn=0인 경우 C2로 분류한다.

  • 따라서 가능도 함수는 다음과 같다.

  • π 구하기

    • 로그 가능도 함수를 π에 대해 미분하여 관련된 항목만 모으면 된다.

  • 여기서 N1은 C1에 속하는 샘플의 수이고, N2은 C2에 속하는 샘플의 수이다.

  • π는 정확히 C1에 속하는 샘플의 비율을 의미하게 된다.

  • μ 구하기

    • 마찬가지로 로그 가능도 함수를 각각의 μ 값으로 미분하여 값을 구한다.

  • 이 식을 0으로 놓고 μ1, μ2에 대해 풀면 다음을 얻을 수 있다.

  • Σ 구하기

    • 역시 로그 가능도 함수를 미분하여 값을 구한다.

  • 여기서 S는 다음과 같다.

4.2.3 이산 특징

  • 입력 값이 연속적이지 않고 Discrete이라고 가정한다.

  • 입력 데이터가 D차원이라면 각 class별로 얻을 수 있는 확률 분포의 실제 x의 Discrete 범위는 2D개이다.

    • 이 중 독립 변수는 2D-1이다. (합산 제약 조건 때문)
  • 나이브 베이즈 가정을 사용했고 각 class Ck에 대해 조건부일 때 독립적으로 취급한다. 따라서 다음과 같다.

  • 이 식을 4.63에 대입한다.

  • 이는 다시 입력 변수 xi에 대해 선형 함수다.

  • 2-class에서는 시그모이드를 도입하면 동일할 것이다.

4.2.4 지수족

  • 지금까지 사후확률의 경우 항상 sigmoid, softmax를 이용해서 모델링을 할 수 있었다.

    • 이를 더 일반화 시켜보자.
  • 클래스 조건부 밀도가 지수족 분포를 따른다면 가능하다.

    • 지수족 분포를 따를 경우의 확률 분포는 다음의 형태로 적을 수 있다.

  • 이 중 u(x) =x인 부분 집합들만 고려한다. 여기에 척도 매개변수 s를 도입해서 제한된 형태의 지수족 분포 클래스 조건부 밀도를 구할 수 있다.

  • 각각의 클래스들의 각자의 매개변수 벡터를 가지지만, 척도 매개변수 s는 공유한다고 가정한다.

  • 2-class에서 사용한 ak에 대입하여 전개해본다.

  • K-class에도 비슷하게 나오며 모두 선형 식임을 알 수 있다.

4.3 확률적 판별 모델

  • 2-class 문제에 대해서는 사후 확률을 시그모이드 함수로 표현하고, k-class 문제에 대해서는 softmax 함수로 제동되는 것을 확인하였다.

  • 다른 방식을 생각해본다

    • 선형 모델의 함수 형태를 명시적으로 사용하고, 최대 가능도 방법을 적용해 직접 구한다.

    • 이를 위해 iterative reweighted least squares, IRLS라고 한다.

  • 앞에서 설명했던 간접적으로 매개변수를 찾는 방식은 생성적 모델의 예시이다.

  • 이번 절에서는 판별적 훈련의 예시를 살펴볼 것이며, 적응 매개변수의 숫자가 더 적으며, 더 나은 예측 성능을 보일 수도 있다.

4.3.1 고정된 기저 함수

  • 지금까지는 원 입력 벡터 x에 대해 직접적으로 적용되는 분류 모델에 대해 고려했다.

  • 이제는 비선형 기저 함수를 이용하여 입력 값을 변환하는 형태를 사용한다.

  • 위의 그림은 비선형 기저 함수를 이용하여 변환된 데이터를 선형 판별하는 것을 묘사하고 있다.

    • 왼쪽 그림은 최초 입력에 대한 공간을 나타내며 2개의 클래스로 구성되어 있음을 알 수 있다.

    • 오른쪽은 입력 데이터가 변환된 뒤, 선형 판별식에 의해 클래스가 구별되고 있음을 보여준다.

    • 왼쪽에서의 검은 원은 오른쪽에서는 선형으로 바뀐 것을 알 수 있다.

  • ϕ0(x)=1를 추가해서 w0가 bias 역할을 수행하도록 한다.

  • 실제의 여러 문제들에서는 클래스 조건 밀도들 사이에 상당한 중첩이 있다.

    • 각각의 값이 0과 1이 아닌 경우가 발생한다.

    • 하지만 ϕ(x)는 이러한 중첩 현상을 제거해주진 못한다.

      • 그렇지만 적절한 비선형성을 선택한다면 사후 확률을 모델링하는 과정이 쉬워지게 된다.

4.3.2 로지스틱 회귀

  • 2-class에서 일반화된 선형 모델에 대해 알아보도록 하자. 분류에 대한 사후 확률 값은 로지스틱 회귀로 기술되는 것을 확인했다. 식은 다음과 같다.

  • 여기서 σ 는 로지스틱 시그모이드라고 부른다.

  • 기저 함수 ϕ 가 M차원이면 M개의 조절 가능한 매개변수를 가게 된다.

    • 최대 가능도 방법을 이용하여 가우시안 클래스 조건부 밀도를 근사했다면 평균값에 대해서는 2M개, 공분산 행렬에 대해서는 M(M+1)/2개의 매개변수를 가지게 되었을 것이다.

    • 사전 분포까지 고려한다면 M(M+5)/2+1 개의 파라미터가 필요하게 된다.

    • 따라서 M이 클 경우 로지스틱 회귀 모델을 직접 다루는 것이 더 유리할 수 있다.

  • 최대 가능도 방법을 통해서 로지스틱 회귀 모델의 매개변수를 구할 수 있다.

    • 이를 위해서는 로지스틱 시그모이드의 미분값을 구해야 하고, 자세한 증명은 생략하도록 한다.

  • 가능도 함수를 다음과 같이 적어보자.

    • n=1,2,...,N에 대해 tn={0,1}이고, ϕn=ϕ(xn)이다.

    • 가능도 함수의 음의 로그값을 취하여 오류 함수를 정의한다.

    • 이러한 형태를 cross entropy error function이라고 한다.

  • 이를 w에 대하여 오류 함수의 기울기를 계산하면 다음과 같다.

    • 로그 가능도 함수의 기울기를 위한 간단한 형태의 식이 된다.
  • 원한다면 한 번에 하나씩 데이터를 추가하여 순차적인 알고리즘을 만들 수 있다.

  • 선형적으로 분리 가능한 데이터 집합에 대해 최대 가능도 방법을 사용하면 심각한 과적합 문제를 겪을 수 있다.

4.3.3. IRLS(Iterative reweighted least squares)

  • 가우시안 노이즈 모델을 선정하여 식을 모델링했고, 이 식은 닫힌 형태이므로 최적의 해를 구할 수 있다.

    • w에 대해 이차 종속성을 가지고 있었기 때문
  • 하지만 로지스틱 회귀 모델의 경우에는 sigmoid 함수의 비선형성으로 인해 해가 닫힌 형태가 아니다.

    • convex 형태이므로 유일한 최솟값을 가지고 있다.

    • Newton-Raphson 방식으로 쉽게 최소화가 가능하다.

  • 선형 회귀 모델과 제곱합 오류 함수에 대해 Newton-Raphson 방법을 적용해본다.

  • 여기에 그래디언트와 헤시안을 적용하도록 한다.

  • Newton-Raphson 업데이트 식은 다음과 같다.

  • 이 결과값은 표준 최소 제곱 해에 해당하고, 오류 함수는 이차식이며, 한 단계만에 정확한 해를 구할 수 있다.


  • 이제 이 업데이트를 cross-entropy 오차함수에 적용해 본다.

  • 여기서 R은 N x N인 대각 행렬이다.

  • 헤시안이 더 이상 상수가 아니며, 가중 행렬 R을 통해서 w에 종속성을 가지고 있음을 알 수 있다.

  • yn이 0과 1 사이의 수 라는 사실로 부터 H의 속성을 이해할 수 있다.

    • 임의의 벡터 u에 대해 uTHu > 0 을 만족한다.

    • 헤시안 행렬은 양의 정부호 행렬이고, w에 대한 볼록 함수이다.

  • 로지스틱 회귀 모델에 대한 Newton-Raphson 업데이트는 다음과 같다.

    • 여기서 z는 다음을 원소로 가지는 N차원 벡터다.

  • R이 상수가 아니고, 파라미터 w에 영향을 받는 요소이므로 이를 반복 업데이트 방식으로 풀어야 한다.

    • 따라서 IRLS라고 부른다.
  • 이렇게 가중치가 부여된 최소 제곱 문제는 가중치 대각 행렬 R을 분산으로 생각할 수 있다. 로지스틱 회귀 모델에서 t의 평균과 분산은 다음과 같기 때문이다.

  • IRLS는 변수 a = wT ϕ에 대해 선형 문제를 가진다.

4.3.4 다중 클래스 로지스틱 회귀

  • 다중 클래스 분류 문제를 다루는 생성적 모델에서는 선형 함수인 softmax가 사용한다고 이야기했다.

  • 클래스 조건부 분포와 사전 분포를 따로 구하기 위해 MLE나 베이지안 정리를 사용해서 사후 확률을 찾았다.

    • 이를 바탕으로 간접적으로 매개변수 wk를 구했던 것이다.

    • wk를 직접 구하기 위해 yk에 대한 미분값이 필요하다.

    • 여기서 Ikj는 단위 행렬이다.

  • 가능도 함수에 대해 알아 본다. one hot encoding을 사용해서 표현하도록 한다.

    • 여기서 ynk=yk( ϕn)이고, T는 N x K인 행렬이다.

    • 음의 로그값을 취하면 다음과 같이 된다.

    • 이를 cross-entropy라고 부른다.

  • 매개변수 벡터 wj에 대해서 오류 함수의 기울기를 취해 본다.

  • 선형 모델에 제곱합 오류 함수를 사용하였을 경우와 로지스틱 회귀 모델에 교차 엔트로피 오류 함수를 사용하였을 경우에 기울기 함수의 형태가 같다는 것을 확인할 수 있다.

4.3.5 프로빗 회귀

  • 지금까지 클래스 조건 분포가 지수족으로 표현 가능하며 사후 분포를 로지스틱 함수로서 표현할 수 있다는 것을 보았다.

  • 그러나 단순한 형태의 사후 확률이 모든 종류의 클래스 조건부 밀도 분포에 대해 결과로 나오는 것은 아니다.

    • 가우시안 혼합 분포를 이용하면 불가능하다.
  • 다른 종류의 판별적 확률 모델을 살펴보도록 한다.

    • 2개의 분류 문제를 가진 일반화된 선형 모델의 틀을 유지한다.

    • 여기서 a=wT ϕ 이고, 함수 f는 활성 함수(activation function)가 된다.

  • 노이즈 임계값 모델을 고려해서 연결 함수를 선택할 수 있다.

    • ϕn을 an=wTϕn으로 계산한 후, 다음에 따라 표적값을 설정한다.

    • 여기서 θ 는 확률 밀도 p( θ )에서 추출된다면 활성 함수는 다음과 같이 기술할 수 있다.

  • 여기서 파란색 곡선은 p( θ )로 두 개의 가우시안 함수의 혼합으로 이루어진다.

  • 이에 해당하는 누적 분포 함수 f(a)는 붉은색 곡선으로 그려져 있다.

  • 파란색 곡선 상의 녹색 수직선에서의 값은 같은 지점에서의 붉은색 곡선의 기울기와 같다.

  • 이제 p( θ )를 표준 정규 분포로 생각한다면 식을 다음과 같이 기술할 수 있다.

  • 이 함수를 역프로빗 함수라고 부른다.

    • 시그모이드 함수의 모양과 비슷하게 생겼으므로 일반적인 가우시안 분포를 사용해도 이 모델은 그대로 유지된다.

    • 오차 함수는 다음과 같이 정의된다.

    • 이 함수는 보통 erf 함수 또는 에러 함수라고 부른다.

      • 머신 러닝 모델에서 사용중인 오류 함수와는 다른 것이다.
  • 이 오차 함수는 역프로빗 함수와 다음과 같은 관계를 가진다.

  • 역프로빗 활성화 함수를 바탕으로 한 일반화된 선형 모델을 프로빗 회귀라 한다.


  • MLE 방법을 이용하여 프로빗 회귀의 매개변수를 구할 수 있다.

    • 로지스틱 회귀와 비슷한 경우가 많다.
  • 실제 응용 사례에서 문제가 될 수 있는 것은 outlier이다.

    • 입력 벡터 x를 측정할 때, 오류가 발생하거나 표적 벡터 t를 잘못 라벨링했을 때, 이상값 문제가 발생한다.

    • 이러한 데이터는 분류기를 심각하게 왜곡할 수 있다.

    • 로지스틱 회귀 모델과 프로빗 회귀 모델은 서로 다른 반응을 보인다.

      • 로지스틱 모델은 x가 문한대로 감에 따라서 exp(-x)와 같이 감쇠되는 반면, 프로빗은 exp(-x2)와 같이 감쇠되므로 더 예민하게 반응한다.
  • 하지만 두 모델 모두 데이터는 모두 정확하게 라벨링되어 있다고 가정한다.

4.3.6 정준 연결 함수

  • 가우시안 노이즈 분포를 사용한 선형 회귀 모델에서 에러 함수는 음의 로그 가능도 함수를 사용한다.

  • 여기서 매개변수 벡터 w에 대해 미분하면 오륫값에 특징 벡터를 곱한 형태를 띠게 된다.

  • 이 결과가 타깃 변수의 조건부 분포가 지수족에 포함되는 경우에 일반적으로 얻을 수 있는 결과이다.

    • 이 경우의 활성화 함수를 정준 연결 함수(canonical link function)라 한다.
  • 입력 벡터 x에 대해 지수족 함수 분포를 가정했지만 여기서는 타겟 값 t에 대해 가정한다.

  • 일반화된 선형 모델은 y가 입력의 선형 결합을 비선형 함수에 넣은 결과로 표현되는 모델이라 정의된다.

    • 여기서 f()가 활성 함수이며, f-1()가 연결 함수다.
  • η 의 함수로 표현되는 이 모델의 로그 가능도 함수를 고려해보자.

  • 모든 관측값들이 동일한 척도 매개변수를 공유한다고 가정한다.

    • s는 n에 대해 독립적이다.
  • 모델 매개변수 w에 대해 미분하면 다음과 같다.

  • 여기서 an=wT ϕ n이고, yn=f(an)이다.

  • f( ψ (y))=y 이고, 따라서 f'( ψ ) ψ '(y)=1이다.

  • 또한 a=f-1(y) 이므로 a = ϕ 이고, 결국 f'(a) ψ '(y)=1이 된다.

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

4. 선형 분류 모델

  • 지금까지는 회귀 문제에 대해서만 다루어 보았지만 이번엔 분류 문제에 대해서 다루어 보도록 한다.
  • 분류는 입력 벡터 x를 받았을 때 대응되는 클래스에 속하도록 하는 작업이다.
    • 이 때 클래스는 K개로 Ck 로 표기한다.
    • 하나의 데이터는 하나의 클래스에만 속하며, 하나의 클래스는 다른 클래스를 포함하지 않는다.
    • 이렇게 나누어진 영역을 decision region이라고 부르며 나누는 경계면을 decision boundaries라고 부른다.

4.1 판별 함수

4.1.1 두 개의 클래스

  • 선형 판별식의 가장 간단한 형태를 다음과 같다.

  • 여기서 w는 가중치 벡터라 부르고, w0bias라고 부른다. 회귀랑 동일하다.
  • 보통 2개의 클래스를 분류하는 문제에서 y(x)>=0인 경우를 C1으로 분류하고, 아닌 경우를 C2로 분류한다.

    • 이 때 decision boundaries는 y(x)=0임을 알 수 있다.
  • 이제 임의의 두 점 xA, xB가 이 경계면 위에 있다고 하자.

    • 이 때 y(xA)=y(xB)=0를 만족하고, wT(xA−xB)=0다. 여기서 w는 결정 경계에 대해 수직임을 알 수 있다.

    • 결정 경계에서 식을 전개하면 다음의 식을 얻을 수 있다.

  • 이제 D=2라고 할 때 그림을 살펴본다.

  • 임의의 한 점 x에 대해 결정 경계면에 수직으로 내린 지점을 x라고 하자.
  • 이 경우 다음과 같은 식이 성립한다.

  • 3장에서와 비슷하게 x0=1를 이용하자.

  • 위와 같이 간단하게 적을 수 있다.

4.1.2 다중 클래스

  • K > 2인 상황을 다중 클래스라고 부른다.

    • 이 문제를 2-class 문제를 여러 개 조합해서 해결할 수 있다.
    • K-1개의 2-class 분류기가 있으면 K개의 클래스를 분류 가능하다.
  • 왼쪽 그림을 보면 3개의 클래스를 분류하기 위해 2개의 2-class 문제를 사용하였다. 하지만 녹색 영역과 같이 판정을 할 수 없는 부분이 생기게 된다.
  • 또한 만약 K(K-1)/2 개의 분류기를 사용해서 분류를 한다면 오른쪽과 같다.

    • 이 경우에도 녹색 영역과 같은 애매한 부분이 생긴다.
  • 이 문제를 해결하기 위해 다른 방법을 사용한다.

  • j != k일 때, yk(x)>yj(x)를 만족하면 x를 클래스 Ck로 판별하자.

    • 그러면 두 클래스 간의 decision boundaries는 yk(x)=yj(x)에서 형성된다.

    • 이 때 식을 전개하면,

    • 2-class 문제에서 사용하던 것과 같다.

  • 이러한 판별 함수의 결정 경계는 언제나 단일하게 연결되어 있으며 볼록 성질을 가진다.

    • 모두 하나의 선으로 연결되어 있고, 내부의 어느 각도 180도를 넘지 않는다는 것과 같다.

    • 이를 확인할 수 있다.

      • xA,xB는 같은 지역의 임의의 두 점이다. x는 두 점 사이에 위치한 임의의 한 점을 나타내고, λ 는 0과 1 사이의 값이다.

      • yk(xA)>yj(xA) 이고 yk(xB)>yj(xB)이므로 yk(xˆ)>yj(xˆ)가 된다. 즉 아래 그림과 같다.

4.1.3 분류를 위한 최소 제곱법

  • 최소제곱법을 사용해서 분류 문제를 해결해보자.

    • 사실 그리 정확하진 않다.
  • 판별식은 다음과 같이 정의하고 간단히 정리하는 것이 가능하다.

  • n번째 행이 tnT인 행렬 T와 n번째 행이 x

    nT라 하면, 전체 샘플 데이터를 X

    로 정의할 수 있다.

  • 최소제곱법을 다음과 같이 적는다.

    • Tr은 행렬의 trace를 의미하며, trace는 행렬의 대각성분 합을 의미한다.

    • W에 대해 미분하고 정리하면 다음과 같다.

    • X 는 pseudo-inverse 행렬이다.

  • 모든 훈련 집합의 표적 벡터들이 식 4.18의 선형 제약 조건을 어떠한 a와 b 값에 대해서 만족한다면 x 값에 대한 모델 예측값이나 제약 조건 4.19를 만족한다.

  • 원 핫 인코딩을 통해 얻은 예측값들은 어떤 x의 경우에든 y(x)의 원소들을 전부 합하면 1이 된다.

    • 하지만 (0,1) 범위 내 안이라는 조건은 없으므로 확률값이라고 할 수 없다.
  • 문제는 최소 제곱법은 outlier에 대해 너무 민감한 성질을 보인다. 따라서 더 강건한 모델을 고를 필요가 있다.

    • 녹색선은 로지스틱 회귀 분석으로 얻은 경계선, 보라색 선은 최소 제곱법을 사용한 것이다.
    • 보라색선은 우측의 그림처럼 outlier가 존재할 때 잘 분류하지 못하는 것을 알 수 있다.

4.1.4 피셔의 선형 판별

  • 2-class 문제로 접근을 한다.
  • D차원의 입력 벡터 x를 일차원에 투영한다고 해보자. 식은 다음과 같다.

  • 이 식은 임의의 한 벡터를 한 차원의 벡터 위의 한 점(스칼라 값)으로 변환해준다.

  • y에 임계값을 추가해 클래스를 분류하도록 한다.
  • 높은 차원을 낮은 차원으로 줄였기 때문에 정보 손실은 당연하다.

    • 그렇기 때문에 정보 손실을 적게 하도록 해야 한다.
  • w에 투영되었을 경우에 클래스 간의 분리 정도를 측정할 수 있는 가장 쉬운 방법은 투영된 클래스의 평균들이 얼마나 분리되어 있는가를 보는 것이다.

  • 각 클래스의 평균을 나타내는 벡터를 표기할 수 있다.
  • 이 값을 가지고 두 클래스간의 거리가 최대화되도록 하는 식을 전개한다.
  • 1차원의 벡터로 투영된 후의 값은 다음과 같다.

  • w를 찾아야 하는데, w 값만 무한정 커지면 값이 커지므로 단위 벡터로 고정을 한다.
  • 이 식에 라그랑주 승수법을 적용해서 최소값을 구하면 w는 (m2-m1)에 비례한다.

  • 왼쪽이 지금까지 한 방법인데 상당히 중복되는 것을 볼 수 있다. 이는 클래스 분포가 심한 비대각 공분산을 가지고 있기에 생긴다.
  • 피셔의 제안은 투영된 클래스 평균 사이의 분리 정도를 크게 하는 동시에 각 클래스 내의 분산을 작게 하는 함수를 최대화함으로써 클래스 간의 중복을 최소화하는 것이다.
  • 따라서 분산도를 정의한다.

  • 여기서 yn=wTxn이다. 이 식은 투영 후 점들의 분산도를 의미한다.

  • 최종 피셔 판별식은 위와 같으며, 정리하면 다음과 같은 식을 얻게 된다.

    • SB는 클래스 간 공분산 행렬을 의미하고, SW는 클래스 내 공분산 행렬을 의미한다.

    • J(w)를 w에 미분하면 최종적으로 위와 같은 식을 얻게 된다.

4.1.5 최소 제곱법과의 관계

  • 에러 함수를 정의해본다.

  • E는 w0와 w에 대해 각각 미분하고 그 값을 0으로 설정하면 다음의 식을 얻게 된다.

  • tn은 다음과 같다.

    • N1,N2은 각 클래스에 속한 샘플 수를 의미하고 N은 전체 샘플 수를 의미한다.
    • C1 = N/N1, C2=N2
  • m은 전체 데이터 집합의 평균이다.

  • 4.32식에 xn을 곱하고 전개하면 다음과 같다.

  • 최종적으로 다음과 같으면 피셔 판별식과 동일하다.

4.1.6 다중 클래스에 대한 피셔 판별식

  • 이제 K의 값이 2보다 큰 경우 피셔 판별식을 적용해보자.

    • 단 K<D임을 가정하자.
  • D차원을 더 낮은 차원으로 변환하는 식을 아래와 같이 기술한다.

  • W의 컬럼 개수는 D'로 정의한다. 당연히 D'의 값은 D보다 작다.
  • 클래스 내 공분산 행렬

    • 앞서 살펴본 SW를 K개의 클래스 버젼으로 확장한다.

    • Nk는 클래스 Ck에 속한 샘플의 수 이다.

  • 클래스 간 공분산 행렬

    • 클래스 사이의 분산이 아닌 전체 데이터에 대한 공분산 행렬을 정의한다.

    • N은 전체 샘플 합계 : N=sum to k Nk

    • m은 전체 평균

    • 이 때 클래스 간 분산과 클래스 내 분산으로 나눌 수 있다.

    • 즉, ST로 부터 SW를 제외한 나머지를 S B라고 정의한다.

    • 이 공분산 행렬들은 x 공간상에서 정의되었다. 행렬들을 투영된 D'차원의 y 공간상에서 정의해보자.

    • 에러 함수 만들 때, 여러 가지 선택지가 있지만 Fukunaga의 방법을 선택한다.

    • 투영 행렬 W에 대한 명시적인 함수로 다음과 같이 다시 적는다.

      • 이 기준을 최대화 하는 것은 어렵지 않지만 노력이 필요해서 Fukunaga에 설명되어 있다고 한다.

4.1.7 퍼셉트론 알고리즘

  • 2-class에 대해 간단하게 알아보자.

  • 활성 함수로 가장 간단한 형태인 계단형 함수를 쓴다.

  • 여기서 ϕ 0(x) = 1 이다. 표적값은 0,1 이 아닌 +1, -1로 정의해서 사용한다.

  • 퍼셉트론에서 매개변수 w를 구하기 위한 알고리즘도 오류 함수를 최소화하는 방식이다.

    • 오분류된 패턴의 총 숫자를 오류 함수로 고를 수 있지만 사용하지 않는다.

      • 학습 알고리즘이 복잡해진다.
      • 오류 함수가 w에 대해 조각별 상수 함수다. w에 대한 변화가 결정 경계를 데이터 포인트들 중 하나를 건너 이동하게 하는 곳에서 불연속성이 발생한다.
        • 따라서 이 경우에 함수의 기울기를 통해서 w를 변경시키는 방법을 사용할 수 없다.
    • 따라서 퍼셉트론 기준이라는 오류 함수를 사용한다.

  • 클래스 C1에 대해서는 wT ϕ (xn) > 0이 되고, C2는 wT ϕ (xn) < 0 을 만족하는 w를 찾고자 한다.

  • 에러를 최소화 하는 방향으로 식을 전개해야 하므로 기울기 방법으로 w를 만들 수 있다.

    • η : 파라미터 학습 비율
    • τ : 알고리즘 스텝 인덱스
  • 퍼셉트론의 동작 방식을 잘 설명하고 있는 그림이다.

    • 녹색 점이 오분류된 점인데 그에 따라 빨간색 방향만큼 보정이 된다.
    • 보정을 하고 난 뒤 다시 오분류된 점을 찾아 보정을 하는 작업을 계속해서 거치면 결정 경계가 완성된다.
  • 아래 식을 통해 업데이트를 진행하면 에러가 점점 줄어든다는 것을 알 수 있다.

  • 퍼셉트론 수렴 법칙(Perceptron convergence theorem)

    • 정확한 해를 가지고 있기만 한다면 퍼셉트론 학습 알고리즘은 정확한 해를 유한한 단계 안에 확실히 구할 수 있다.
      • 훈련 집합이 선형적으로 분리가 가능해야 한다.
    • 하지만 수렴을 위해 필요한 단계의 수가 매우 많을 수 있다.
      • 분리가 불가능한 문제인지, 단순히 수렴하는 데 오랜 시간이 걸리는 문제인지 구별이 불가능
  • 퍼셉트론은 출력 값이 확률 값이 아니다.

  • 중요한 제약 중 하나는 고정된 기저 함수의 선형 결합을 기반으로 한다.

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

3.1 선형 기저 함수 모델

  • 가장 단순한 형태의 선형 회귀 모델은 입력 변수들의 선형 결합을 바탕으로 한 모델

  • 여기서 x=(x1,..,xD)T이고, 이 때의 식을 선형 회귀라고 부른다.
  • 한계점을 극복하기 위해서 다음처럼 입력 변수에 대한 고정 비선형 함수들의 선형 결합을 사용할 수 있다.

    • 여기서 함수 파이가 추가된 형태가 되었는데, 이 함수를 기저함수라고 부른다.

    • w0는 bias라고 부른다. 표기의 편리성을 위해 ϕ0(x)=1 로 정의하면 더 간략한 식으로 기술하기도 한다.

  • 비선형 기저 함수들을 사용했기 때문에 y(x,w)가 입력 벡터 x에 대한 비선형 함수가 되도록 할 수 있다.

    • 그럼에도 선형 모델이라고 불리는 이유는 이 함수들이 w에 대해서 선형 함수이기 때문

  • 1장에서 살펴 보았던 다항 회귀 문제에 대해서 다시 알아 보자.

    • 입력 변수는 단일 변수 x고, 출력 값인 t도 1차원 실수 값이다.
    • 기저 함수를 사용하며 거듭제곱 형태를 가진다.
      • 하지만 이 함수는 약간 문제가 있다.
        • 입력 변수에 대한 전역적인 함수이기 때문에 입력 공간의 한 영역에서 발생한 변화가 다른 영역들에까지 영향을 미친다는 것이다.
      • 이러한 경우 함수 근사를 할 때 문제가 발생하도록 한다.
      • 이를 해결하기 위해 입력 공간을 여러 영역들로 나누고 각 영역에 대해서 서로 다른 다항식을 피팅한다. 그리고 이를 스플라인 함수라고 부른다.
  • 다양한 다른 함수들이 기저 함수로 사용될 수 있다.

    • 가우시안 기저 함수라고 부르며 정규화 계수가 없는데 이는 wj가 존재하기 때문에 생략한 것이다.

  • 시그모이드 형태의 기저 함수다.

    • tanh 함수의 선형 결합으로 표현 가능하다.
  • 이번 장에서는 어떤 기저 함수를 사용하는지와는 무관하다. 따라서 간략히 소개만 하고 넘어간다.

3.1.1 최대 가능도와 최소 제곱

  • 이미 1장에서 최소 제곱법을 사용해서 커브 피팅을 시도했으며 가우시안 노이즈 모델을 가정했을 때 오류 함수를 최소화하는 것이 최대 가능도를 구하는 것에 해당한다는 것도 증명했다.
  • 이를 조금 더 자세히 알아본다. 가우시안 노이즈가 포함된 타겟 t에 대한 함수를 표현해 보자.

  • 여기서 입실론은 0을 평균으로 B를 정밀도로 가지는 가우시안 확률 변수다. 따라서 다음과 같이 적을 수 있다.

  • 위의 식은 주어진 입력 데이터 x에 따른 t에 대한 확률 분포라고 생각하면 된다.

    • 확률 분포는 가우시안 분포일 것이다.
  • 가우시안 조건부 분포의 조건부 평균은 다음과 같다.

  • 입력 데이터 집합 X={x1,...,xN}과 그에 해당하는 t=t1,...,tN을 고려해 보자.
  • 각각의 데이터가 발현될 가능성은 모두 독립적이라고 가정한다.(i.i.d)

    • 따라서 샘플 데이터를 얻는 확률은 다음과 같이 기술할 수 있다.

    • x는 언제나 조건부 변수의 집합에 포함되어 있을 것이므로 x를 뺄 수 있다.

    • 로그 함수를 도입하여 수식을 더 간단히 만든다.

    • 이제 여기에 최대 가능도 방법을 적용하여 w와 B를 구할 수 있다.

      • w를 구하기 위해 ED(w)를 최소화 하자.

      • w에 대해 미분하면 위와 같고 좌변을 0으로 두고 전개하면 다음과 같은 식을 얻을 수 있다

      • 이러한 방법을 normal equation이라고 부른다.

        • 파라미터의 추정 방식이 업데이트 방식이 아닌 일반 방정식으로 풀이되는 방식이다.
      • 여기서 파이는 design matrix라고 부르며 다음과 같이 생겼다.

      • 이를 Moor - Penrose pseudo inverse라고도 한다.


  • w0에 대해 더 알아보도록 하자.
  • 편향 매개변수를 명시화하면 다음과 같이 적을 수 있다.

    • w0에 대한 미분값을 0으로 놓고 w0에 대해 풀면 다음을 구할 수 있다.

    • w0 값의 의미를 알아 보자.

      • 훈련 집합의 타깃 변수들의 평균과 기저 함숫값 평균들의 가중 합 사이의 차이를 보상한다는 것을 알 수 있다.
  • 로그 가능도 함수를 노이즈 정밀도 매개변수 B에 대해 최대화 하게 되면 다음을 얻게 된다.

3.1.3. 순차적 학습

  • 지금까지 살펴본 MLE 기법은 전체 데이터를 한번에 사용해서 처리하는 배치 방식이다.
  • 하지만 큰 데이터 집합에 대해서는 이러한 방식이 계산적으로 실행하기에는 복잡하다.
  • 따라서 큰 데이터 집합에 대해서는 순차적 알고리즘을 사용하는 것이 유용할 수 있다.

    • 이를 online 방식이라고도 부른다.
    • 한 번에 하나의 데이터 포인트를 고려하며 모델의 매개변수들은 그때마다 업데이트된다.
  • 여기서는 확률적 경사 하강법/슨치작 경사 하강법을 적용하여 구현하도록 한다.
  • 여러 데이터 포인트들에 대한 오류 함수의 값이 데이터 포인트 각각의 오류 함수의 값을 합한 것과 같다면 매개변수 벡터 w를 다음과 같이 업데이트할 수 있다.

    • 여기서 타우는 반복수를 의미하며, η는 학습률 파라미터이다.
    • 위와 같은 알고리즘을 최소 제곱 평균 (LMS)라고 부른다.

3.1.4 정규화된 최소 제곱법

  • 정규화는 오버피팅을 방지하기 위해 사용되는 방법이다.
  • 에러 함수는 다음의 형태를 띠게 된다.

  • 여기서 람다는 정칙화 계수로서 ED(w) 와 EW(w) 사이의 가중치를 조절하게 된다.

    • 식을 정리하면 다음과 같다.

    • 해당 형태의 정규화항은 가중치 감쇠(weight decay)라고 불린다.

      • 순차 학습에서 데이터에 의해 지지되지 않는 한 가중치의 값이 0을 향해 감소하기 때문에 이렇게 부르는 것이다.
      • 매개변수 축소 방법의 한 예시다.
    • 에러 함수가 w의 이차 함수의 형태로 유지되므로 최소화하는 값을 닫힌 형태로 찾아낼 수가 있다.

  • 최종적으로 식을 정리하면 다음과 같다.

  • 일반적인 형태의 정규화항을 사용하기도 하는데 이 경우 정규화 오류 함수는 다음 형태를 띤다.

  • q=2인 경우 이차 정규화항에 해당하게 된다.
  • q=1인 경우를 일컬어 라쏘라 한다. 라쏘 정규화를 시행할 경우 람다의 값을 충분히 크게 설정하면

    몇몇 개수가 wj가 0이 된다. 이런 모델을 sparse(희박한) 모델이라고 한다.

  • 아래 그림에 대해 유심히 살펴보도록 하자.

    • 왼쪽은 q=2인 경우이고, 오른쪽은 q=1인 경우를 의미한다.
    • 사용하는 파라미터는 w0, w1 뿐인 아주 간단한 모델이다.
    • 파란 원의 중심이 E(w)를 최소로 만드는 w 벡터 값을 표현한 것이다.
    • 정칙화 요소가 없는 경우 이 값을 모델의 파라미터로 사용한다.
      • 정칙화 요소가 추가되면 노란색 영역에서만 w 값을 취할 수 있다.

3.1.5 다중 출력값

  • 지금까지 출력값 t가 단일 차원의 실수값이었지만 이를 벡터로 확장하여 기술한다.
  • t 벡터의 크기가 K라고 할 때 각 값은 서로 영향을 주지 않는다.

  • Likelihood 함수를 정의해보자.

  • W에 대해 최대화를 할 수 있다.

  • 식 자체로의 변화는 없고, 스칼라 변수가 벡터로 확장되었다는 정도이다.

3.2 Bias-Variance 분해

  • 지금까지는 회귀 선형 모델을 논의할 때 기저 함수들의 형태와 종류가 둘 다 고정되어 있다고 가정하였다.
    • 최소 제곱법을 사용해서 문제를 풀었지만 과적합 문제가 발생할 수 있다.
    • 과적합을 해결하기 위해 기저 함수의 수를 제한하면 모델의 유연성에 제약을 가하게 된다.
  • 정규항을 사용하면 과적합 문제를 조절하는 것이 가능하다.
    • 정규화 계수 λ 값을 적절히 정해야 한다.
  • 과적합 문제는 최대 가능도 방법을 사용할 경우에 발생하며 베이지안 방법론을 사용하면 해결가능하다.
    • 따라서 베이지안 관점에서 모델 복잡도를 살펴보도록 한다.
  • 우선 빈도주의적 관점의 모델 복잡도에 대해 알아보고 이를 편향-분산 트레이드 오프(bias-variance trade-off)라 한다.

  • 1.5.5절에서 회귀 문제의 결정 이론에 대해 논의할 때 오류 함수를 보았다. 따라서 다음과 같은 식을 얻을 수 있다.

    • 결정 이론에서 사용했던 제곱 오류 함수와 모델 매개변수의 최대 가능도 추정치에 해당하는 제곱합 오류 함수는 다르다.

    • 두번째 항은 y(x)와는 직접적인 관련이 없으므로 이 영역은 데이터 노이즈를 의미하게 된다.

    • 첫번째 항은 y(x)로 어떤 것을 선택하느냐에 따라 결정된다.

      • 제곱항이기 때문에 항상 0보다 크거나 같다. 그러므로 h(x)와 동일한 y(x)를 찾아야 한다.
      • 데이터가 충분히 많다면 충분히 근사된 y(x)를 쉽게 찾을 수 있다.
      • 하지만 우리에게는 유한한 숫자 N개의 데이터 포인트들만을 가지고 있다.
  • 이제 몇 가지 가정을 해보자.

    • 분포 p(t,x)를 통해 생성된 N개의 샘플로 구성된 데이터 집합 D를 얻을 수 있다.
    • 또한 여러 개의 데이터 집합을 얻을 수 있으며 모든 샘플은 서로 독립적으로 생성된다고 가정할 수 있다. (i.i.d)
    • 우리는 각 데이터 집합을 사용해 예측함수 y(x;D)를 만들 수 있다.
    • 이를 통해 손실 함수와 결과를 얻을 수 있다.

  • 3.37의 첫 번째 항의 피적분 함수는 위와 같은 형태를 띠게 된다. 데이터 집합 D에 대해 종속적이므로 구한 값을 평균을 내어 사용할 수 있다. 괄호 안에 ED[y(x;D)]를 이용해 식을 전개 할 수 있다.

  • D에 대해 이 식의 기댓값을 구하고 마지막 항을 정리하면 다음과 같이 된다.

  • 첫 번째 term을 bias라고 하고, 두 번째 term은 variance라고 한다.
  • 최종적으로 3.37에 식을 대입하면 기대 오류를 다음과 같이 정의할 수 있다.

  • 각각의 값들은 다음과 같다.

  • 우리의 목표는 Expected loss E[L] 값을 최소화하는 것이다. 그리고 이 값은 위의 3가지 요소로 나누어 고려할 수 있다.
  • 편향과 분산 사이에는 trade-off 관계가 있으며 적절히 조절하여 Expected loss가 작도록 해야 한다.

    • 아주 유연한 모델은 낮은 bias와 높은 variance
    • 엄격한 모델은 높은 bias와 낮은 variance를 가지게 된다.

  • 위의 그림은 bias와 variance의 trade-off 관계를 나타낸다.
    • L=100개의 데이터 집합들이 있으며, 각각의 집합은 N=25인 데이터 포인트로 구성되어 있다.
    • 각각의 학습 결과는 왼쪽 그림의 붉은 색 선이 된다.
    • 오른쪽 그림의 붉은 색 그래프는 왼쪽 샘플 집합 결과의 평균 값이며, 녹샌선은 우리가 예측 해야 할 sin2π 곡선이다.
    • λ 값을 변화시켜 가면서 결과를 확인한다.
  • lnλ값이 큰 경우 높은 bias와 낮은 variance 값을 가진다.
    • 따라서 각각의 샘플 집합들 사이의 분산이 작다.
    • 실제 예측 범위가 제한적이라 결과가 옳지 않을 수 있다.
  • lnλ 값이 작은 경우 낮은 bias와 높은 variance 값을 가진다.
    • 예측 값과는 매우 유사한 것을 알 수 있다.
    • 하지만 분산도가 매우 크다.
    • 샘플 수가 충분하지 못하면 이러한 현상이 발생하기 때문에 샘플 수를 충분히 확보한다.

  • 위와 같은 bias-variance의 trade-off 관계를 수량적으로 확인해 볼 수 있다.

  • 적분된 제곱 bias와 variance에 대한 값은 다음처럼 주어진다.

  • 이 그래프를 보면 결국 분홍색 선을 골라야 하는 것을 알 수 있고 이 때 테스트 에러도 최소가 되는 것을 확인할 수 있다.

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

2.3.0 가우시안 분포

  • 가우시안 분포는 보통 정규분포로 알려져 있으며 단일 변수 x에 대해 가우시안 분포는 다음과 같이 기술된다.

    • 여기서 u는 평균 시그마^2은 분산을 의미하며, 입력 변수가 다차원인 경우에도 기술할 수 있다.
  • 가우시안 분포는 단일 실변수에 대해서 엔트로피를 극대화하기 위해 사용된다.

  • 또한 여러 확률 변수의 합에 대해 고려하는 경우에 사용되며, 이 때 중심 극한 정리라는 개념을 사용한다.

  • 중심 극한 정리

    • 표본 평균들이 이루는 분포는 샘플 크기가 큰 경우 모집단의 원래 분포와 상관없이 가우시안 분포를 따르게 된다.

    • 즉 동일한 확률 분포를 가지는 N개의 독립 확률 변수들의 평균 값은 N의 크기가 충분히 크다면 가우시안 분포를 따른다는 것이다.

    • 표본이 가우시안 분포를 따른다는 것이 아니라 표본의 평균이 가우시안 분포를 따르는 것이다.

    • N이 커질수록 정규 분포의 모양을 만드는 것을 알 수 있다.


  • 가우시안 분포의 기하학적인 형태를 살펴보자

    • x에 대한 가우시안 분포의 함수적 종속성은 지수상에서 나타난다.

    • 이는 이차식의 형태를 띤다.

    • 여기서의 △ 값은 u로부터 x까지의 마할노비스 거리라고 한다. 이 마할노비스 거리에서 공분산이 항등 행렬이 된다면 유클리디안 거리가 된다.

  • 지수 연산으로부터 비대칭적인 요소들이 사라질 것이기 때문에 공분산 행렬이 대칭행렬이 된다.

  • 따라서 다음과 같은 식을 적용할 수 있다.

  • 공분산 행렬에 대한 모든 고유 벡터는 단위 직교한다. (공분산 행렬이 대칭 행렬이므로)

    • 따라서 위에 언급한 ui는 단위 직교 벡터를 의미한다.

  • 이제 고유 벡터를 이용해서 공분산 행렬을 전개할 수 있으며 다음의 형태를 띠게 된다.

  • 역행렬도 쉽게 구할 수 있다.

  • 이제 이 식을 (2.44)에 대입할 수 있다.

  • 여기서 y는 정규직교 벡터 ui들로 정의되는 새로운 좌표계라고 해석할 수 있다.

    • 즉 가우시안 함수의 원점을 u로 옮기고 고유 벡터를 축으로 회전 변환되는 식을 의미한다
  • 이러한 변환을 주축 변환이라고 한다.

    • 모든 고윳값들이 양의 값을 가진다면 이 표면은 타원형을 띤다.
    • 타원형의 중심은 u에 위치하며, 이 타원형의 축은 ui상에 자리하게 된다.
    • 각각의 축 방향에 대한 척도 인자는 람다^1/2로 주어진다.

  • y로 정의되는 새로운 좌표 체계상에서의 가우시안 분포의 형태에 대해서 살펴보도록 한다.

  • x 좌표계에서 y 좌표계로 변환되는 과정에서 야코비안 행렬 J를 가지게 된다.

    • 여기서 Uji는 행렬 U^T의 원소에 해당한다. U의 정규직교성을 바탕으로 야코비안 행렬의 행렬식 제곱이 다음과 같음을 알 수 있다.

    • 공분산 행렬의 행렬식은 고유값의 곱으로 표현할 수 있다.

  • 따라서 yj 좌표계에서 가우시안 분포는 다음의 형태를 가지게 된다

    • 이는 D개의 독집적인 단병량 가우시안 분포들의 곱에 해당한다.
    • 즉 고유 벡터를 이용해서 축을 변환시켜 얻은 식은 결국 차원간 서로 독립적인 정규 분포를 만들어낸다.
    • 역시나 적분 값이 1을 가지는 것을 알 수 있다.
  • 가우시안 분포의 모멘트값을 살펴봄으로써 평균과 공분산 행렬을 어떻게 해석할 수 있는지 알아보자.

  • x 축에 대해 평균값을 살펴보는데 z=x-u로 놓고 식을 전개한다.

    • 이 식은 z에 의해 좌우 대칭인 함수가 만들어진다.

    • z+u가 포함되어 있어서 z 항이 대칭성에 의해 사리게 된다.

    • 다음과 같이 평균이 구해진다.

  • 이제 2차 모멘트 값을 살펴보도록 한다.

    • 여기서 (z+u)(z+u)T를 전개할 수 있으며, 이 수식에서 uzT, zuT는 서로 대칭 관계이므로 제거된다.
    • uuT는 수식에서 상수의 역할이므로 적분 바깥 쪽으로 나오게 된다. 정규화 되어 있으므로 1의 값을 가진다.
    • zzT 항을 집중해서 보면 된다.
    • 여기서 yj= ujTz이다.

    • 따라서 식을 다음과 같이 전개 가능하다.

    • 원 식에 대입하며 다음과 같은 결과를 얻는다.

  • 공분산 값도 구할 수 있다.

    • E[x]=u이므로 동일한 결과를 얻는다.


  • 가우시안 모델은 널리 사용되는 모델이지만 몇 가지 제약들을 가지고 있다.

  • 자유 매개변수의 개수

    • D개의 차원을 가진 데이터에서 총 D(D+3)/2 개의 독립적인 파라미터를 가지게 된다.

      • u는 D개, 공분산은 D(D+1)/2 개를 가지게 된다.
    • 따라서 D가 증가하게 되면 매개변수의 총 개수가 이차로 증가하게 된다.

      • 이러한 경우에는 역행렬을 계산하는 것이 매우 느려질 수 있다.

      • 이를 해결하는 방법 중 하나는 대각 행렬의 형태를 지닌 공분산 행렬만을 사용한다.

        • 이러면 총 2D개의 독립 매개변수만을 고려하면 된다.
        • 이에 대응하는 상수 밀도의 경로는 좌표축상에 따라 정렬된 타원의 형태를 띤다.
      • 다른 방법은 공분산을 단위행렬에 비례하도록 제한한다.

        • 이를 등방성 공분산이라고 부른다.
        • D+1개의 독립적인 매개변수가 있다.
        • 상수 밀도의 경로가 구의 형태를 띤다.
      • (a)는 일반적인 2차원 가우시안 분포, (b)는 공분산이 대각 행렬인 2차원 가우시안 분포, (c)는 공분산이 등방성 공분산인 2차원 가우시안 분포

      • 이러한 방법을 통해 자유도를 제한하고 역행렬 계산을 더 빠르게 한다.

      • 하지만 확률 밀도의 형태를 상당히 제약시키며, 그에 따라 모델에 데이터상의 흥미로운 상관관계를 표현하는 것을 방해할 수 있다.

  • 분포가 본질적으로 단봉(unimodal) 분포

    • 따라서 다봉 분포에 대해 적절한 근사치를 제공할 수 없음.
    • 가우시안 분포는 너무 많은 매개변수를 가질 수 있다는 측면에서는 지나치게 유연할 수 있고, 적절하게 표현할 수 있는 분포들의 종류가 제한되어 있다는 측면이 있다.
    • 이를 해결하기 위한 방법들
      • 잠재변수(latent, hidden, unobserved)를 통해 해결할 수 있다.
      • 가우시안 혼합 모델을 통해 해결할 수 있다.
    • 계층 모델을 이용하여 이를 해결할 수 도 있다.
      • MRF(Markov Random Field)
        • 이미지 처리를 위한 확률 모델로 사용
        • 픽셀의 공간적 구성을 반영한 구조를 도입해 쉽게 렌더링할 수 있음.
      • Linear Dynamaic System
        • 시계열 데이터 모델링
        • 매우 큰 관측 모델과 잠재 변수의 사용
      • 8장에서 이를 다루도록 한다.

'Book > Machine Learning' 카테고리의 다른 글

[ML]ch 4. Linear Models for Classification - part 1  (0) 2020.02.10
[ML]ch 3. Linear Models for Regression  (0) 2020.02.03
[ML]ch 1. Introduction-part 2  (0) 2020.01.20
[ML]ch 1. Introduction-part 1  (0) 2020.01.13
[ML]chapter 0. Beginning  (0) 2020.01.13

아래 모든 내용들은 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