[머신러닝 2강] Supervised Learning

GisangLee·2024년 3월 24일
0

대학원

목록 보기
14/18
post-custom-banner

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(Ckxnew)P(C_k | x_{new}) -> xnewCix_{new} \in C_i

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

이분류 문제

xC1x \in C_1 or xC2x \in C_2 ?

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

판별 함수

  • g(x)=P(C1x)P(C2x)g(x) = P(C_1|x) - P(C_2|x)

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

  • P(Ckx)=p(xCk)p(Ck)P(x)P(C_k|x) = \frac{p(x|C_k)p(C_k)}{P(x)}
    • P(Ckx)P(C_k|x) : 후험확률 (사후 확률)
    • P(Ck)P(C_k) : 선험확률 (사전 확률)
  • g(x)=p(xC1)p(C1)P(x)p(xC2)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(xC1)p(x|C_1) : 클래스1에 대한 확률 밀도 함수
    • p(xC2)p(x|C_2) : 클래스2에 대한 확률 밀도 함수

결정 경계

g(x)=p(xC1)p(C1)P(x)p(xC2)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(xC1)p(C1)P(x)\frac{p(x|C_1)p(C_1)}{P(x)}
    • 각 클래스에서 x가 관찰될 확률밀도의 비율
  • gLRT(x)=p(xC1)p(C1)p(xC2)p(C2)>0g_{LRT}(x) = p(x|C_1)p(C_1) - p(x|C_2)p(C_2) > 0

    • xC1x \in C_1
  • gLRT(x)=p(xC1)p(C1)p(xC2)p(C2)<0g_{LRT}(x) = p(x|C_1)p(C_1) - p(x|C_2)p(C_2) < 0

    • xC2x \in C_2

결정 규칙

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

분류 과정

  • 학습 데이터 수집

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

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

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

    • gk(xnew)=p(xnewCk)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에 속하는 데이터 xxC2C_2에 속한다고 판단하는 오류
    • 클래스 C2C_2에 속하는 데이터 xxC1C_1에 속한다고 판단하는 오류

오류확률

  • Perr=Prob{xR2,xC1}+Prob{xR1,xC2}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(xC1)dxp(C_1) \int_{R_2}p(x|C_1)dx
  • Perr=p(C1)R2p(xC1)dx+p(C2)R1p(xC2)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{xRi,xCi}=Rip(xCi)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(xCi)dxp(C_i) \int_{R_i}p(x|C_i)dx

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

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

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


4. Gausian Distribution and Bayes Classifier

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

  • 평균과 공분산에 의해서 결정된다.
  • gi(x)=p(xCi)p(Ci)g_i(x) = p(x|C_i)p(C_i)
    = lngi(x)=lnp(xCi)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: 공분산
  • 입력데이터과 평균과의 거리를 계산할 때, 공분산도 고려해서 거리를 계산한다.

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

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

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

  • ij\displaystyle\sum_{i} \neq \displaystyle\sum_{j}

결정 규칙

  • y(x)=argmini{(xμi)T()i1(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\}

profile
포폴 및 이력서 : https://gisanglee.github.io/web-porfolio/
post-custom-banner

0개의 댓글