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

+ Recent posts