[머신러닝 2강] Supervised Learning

Json·2024년 3월 24일

대학원

목록 보기
14/18

1. 개요

지도학습, 교사학습이라고 한다.

  • 학습할 때 목표 출력 값 (target ouput)이 함께 제공된다.
    • 학습을 안내하고 지도해주는 supervisor(교사)가 존재
    • D={(xi,yi)}i=1,....ND = \{(x_i, y_i)\}_{i=1,....N}
  • 분류문제와 회귀문제에 적합하다.
    • Bayes 분류기, K-NN 분류기, Linear Regression, Logistic Regression, Decision Tree, Random Forest, SVM, CNN, RNN 등...

2. Bayes Classifier

베이즈 정리로부터 유도된 결정 경계를 이용한 분류기

xnewx_{new} -> P(Ck∣xnew)P(C_k | x_{new}) -> xnew∈Cix_{new} \in C_i

  • xnewx_{new} 데이터가 주어졌을 때, 해당 데이터가 클래스 CkC_k에 속할 확률
    • 하지만 이 값은 P(xnew∣Ck)P(x_{new}|C_k)를 통해서 구할 수 있다.

이분류 문제

x∈C1x \in C_1 or x∈C2x \in C_2 ?

  • x가 각 클래스에 속할 확률 P(C1∣x)P(C_1|x), P(C2∣x)P(C_2|x) 중
    확률 값이 가장 큰 클래스로 할당

판별 함수

  • g(x)=P(C1∣x)−P(C2∣x)g(x) = P(C_1|x) - P(C_2|x)

이 때, P(C1∣x),P(C2∣x)P(C_1|x), P(C_2|x)를 어떻게 구하느냐가 관건인데,
Bayes 정리를 사용하면 된다.

  • P(Ck∣x)=p(x∣Ck)p(Ck)P(x)P(C_k|x) = \frac{p(x|C_k)p(C_k)}{P(x)}
    • P(Ck∣x)P(C_k|x) : 후험확률 (사후 확률)
    • P(Ck)P(C_k) : 선험확률 (사전 확률)
  • g(x)=p(x∣C1)p(C1)P(x)−p(x∣C2)p(C2)P(x)g(x) = \frac{p(x|C_1)p(C_1)}{P(x)} - \frac{p(x|C_2)p(C_2)}{P(x)}
    • p(x∣C1)p(x|C_1) : 클래스1에 대한 확률 밀도 함수
    • p(x∣C2)p(x|C_2) : 클래스2에 대한 확률 밀도 함수

결정 경계

g(x)=p(x∣C1)p(C1)P(x)−p(x∣C2)p(C2)P(x)=0g(x) = \frac{p(x|C_1)p(C_1)}{P(x)} - \frac{p(x|C_2)p(C_2)}{P(x)} = 0

  • p(x∣C1)p(C1)P(x)\frac{p(x|C_1)p(C_1)}{P(x)}
    • 각 클래스에서 x가 관찰될 확률밀도의 비율
  • gLRT(x)=p(x∣C1)p(C1)−p(x∣C2)p(C2)>0g_{LRT}(x) = p(x|C_1)p(C_1) - p(x|C_2)p(C_2) > 0

    • x∈C1x \in C_1
  • gLRT(x)=p(x∣C1)p(C1)−p(x∣C2)p(C2)<0g_{LRT}(x) = p(x|C_1)p(C_1) - p(x|C_2)p(C_2) < 0

    • x∈C2x \in C_2

결정 규칙

y(x)={1,      if  gLRT(x)>0−1,  otherwise  y(x) = \begin{cases} 1,\;\;\;if \; g_{LRT}(x) > 0 \\ -1,\; otherwise \;\end{cases}

분류 과정

  • 학습 데이터 수집

  • 학습 데이터로부터 클래스별 분포 함수 추정

    • p(x∣Ck)p(x|C_k)
  • 테스트 데이터입력

    • xnewx_{new}
  • 클래스별 판별함수 값 계산

    • gk(xnew)=p(xnew∣Ck)p(Ck)g_k(x_{new}) = p(x_{new}|C_k)p(C_k)
  • gk(xnew)g_k(x_{new}) 가 가장 큰 클래스 CkC_k로 할당


3. Decision Boundary and Error of Bayes Classifier

오류 확률 ( Probability of Error )

  • 결정경계로부터 얻어진 결정규칙이 오류를 발생시킬 확률
  • 두 개의 클래스 분류 문제에서 발생하는 오류
    • 클래스 C1C_1에 속하는 데이터 xx를 C2C_2에 속한다고 판단하는 오류
    • 클래스 C2C_2에 속하는 데이터 xx를 C1C_1에 속한다고 판단하는 오류

오류확률

  • Perr=Prob{x∈R2,x∈C1}+Prob{x∈R1,x∈C2}P_{err} = Prob \{x \in R_2, x \in C_1\} + Prob\{x \in R_1, x \in C_2\}

    • 결합확률밀도함수 p(x,C1)p(x, C_1)를 영역 R2R_2 상에서 적분한 값

      • p(C1)∫R2p(x∣C1)dxp(C_1) \int_{R_2}p(x|C_1)dx
  • Perr=p(C1)∫R2p(x∣C1)dx+p(C2)∫R1p(x∣C2)dxP_{err} = p(C_1) \int_{R_2}p(x|C_1)dx + p(C_2) \int_{R_1}p(x|C_2)dx
    = p(C1)ε1+p(C2)ε2p(C_1) \varepsilon_1 + p(C_2) \varepsilon_2

클래스 CiC_i에 속하는 데이터를 바르게 판단할 확률

  • Prob{x∈Ri,x∈Ci}=∫Rip(x∣Ci)p(Ci)dxProb \{x \in R_i, x \in C_i\} = \int_{R_i}p(x|C_i)p(C_i)dx
    = p(Ci)∫Rip(x∣Ci)dxp(C_i) \int_{R_i}p(x|C_i)dx

M개의 클래스에 대한 정분류 확률

  • Pcorrect=∑i=1Mp(Ci)∫Rip(x∣Ci)dxP_{correct} = \displaystyle\sum_{i=1}^{M}{p(C_i)} \int_{R_i}p(x|C_i)dx
    = ∑i=1M∫Rip(Ci∣x)p(x)dx\displaystyle\sum_{i=1}^{M} \int_{R_i}p(C_i|x)p(x)dx

p(Ci∣x)p(C_i|x)를 최대로 해야 다중 클래스 분류에서
바르게 분류할 최대 확률을 구할 수 있다.


4. Gausian Distribution and Bayes Classifier

가우시안 확률분포를 가정한 베이즈 분류기

  • 평균과 공분산에 의해서 결정된다.
  • gi(x)=p(x∣Ci)p(Ci)g_i(x) = p(x|C_i)p(C_i)
    = lngi(x)=lnp(x∣Ci)lng_i(x) = lnp(x|C_i)

공분산 행렬의 형태에 따른 판별 함수

클래스 공통 단위 공분산 행렬 (실제 문제에서는 한계가 있음)

  • ∑i=σ2I\displaystyle\sum_{i}= {\sigma^2I}

판별함수

  • li(x)=−12σ2(x−μi)T(x−μi)−lnσ+constl_i(x) = - \frac{1}{2\sigma^2}(x-\mu_i)^T(x-\mu_i) - ln \sigma + const

결정 규칙

  • y(x)=argmini{(x−μi)T(x−μi)}y(x) = argmin_{i} \{(x-\mu_i)^T(x-\mu_i)\}
    • 입력 데이터와 평균과의 거리를 계산해서
      가장 작은 값을 가지는 클래스로 분류

클래스 공통 공분산 행렬 (타원형 형태의 데이터 분포)

  • ∑i=∑\displaystyle\sum_{i} = \displaystyle\sum

판별 함수

  • li(x)=−12(x−μi)T(∑)−1(x−μi)l_i(x) = - \frac{1}{2}(x-\mu_i)^T\displaystyle(\sum)^-1(x-\mu_i)

결정 규칙

  • y(x)=armini{(x−μi)T(∑)−1(x−μi)}y(x) = armin_{i}\{(x-\mu_i)^T\displaystyle(\sum)^-1(x-\mu_i)\}
    • (∑)−1\displaystyle(\sum)^-1: 공분산
  • 입력데이터과 평균과의 거리를 계산할 때, 공분산도 고려해서 거리를 계산한다.

    • 마할라노비스 거리
    • 각 요소들 사이의 상관관계를 고려한다는 의미이다.
  • 공분산이 대각행렬일 경우

    • 정규화된 유클리디안 거리라고 한다.
    • 각 요소들 별로 퍼진 정도가 다 다를 때, 유용하다.
      각 요소별로 표준편차 값으로 나누어 준 후 유클리디안 거리를 계산

일반적인 공분산 행렬 (서로 다른 타원형 분포)

  • ∑i≠∑j\displaystyle\sum_{i} \neq \displaystyle\sum_{j}

결정 규칙

  • y(x)=argmini{(x−μi)T(∑)i−1(x−μi)+ln∣(∑)i∣}y(x) = argmin_{i}\{(x-\mu_i)^T\displaystyle(\sum)_{i}^-1(x-\mu_i) + ln\vert\displaystyle(\sum)_{i}\vert\}

0개의 댓글