ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Chapter1. 소개
    공부/PRML 2021. 6. 10. 21:42
    728x90

    training set(훈련집합)

    target vector(표적벡터)

     

    머신러닝 알고리즘의 결과물은 함수 y(x)로 표현

    y(x)의 정확한 형태는 훈련단계(training phase, 학습 단계(=learning phase))에서 훈련집합을 바탕으로 결정

    훈련되고 난 모델은 시험집합(test set)이라고 불리는 새로운 세트의 정체를 찾아내는데 활용

    훈련단계에서 사용되지 않았던 새로운 예시들을 올바르게 분류하는 능력 : 일반화(generalization)

     

    대다수 실용 애플리케이션에서 입력변수들을 전처리(preprocessed, 특징추출(feature extraction)이라고도 함)하여 새로운 변수로 전환하면 패턴 인식 문제를 좀 더 쉽게 해결할 수 있음

     

    • 지도학습(supervised learning) : 주어진 훈련 데이터가 입력 벡터와 그에 해당하는 표적벡터로 이루어지는 문제
      • 분류(classification) : 각각의 입력 벡터를 제한된 숫자의 분리된 카테고리 중 하나에 할당
      • 회귀(regression) : 기대되는 출력값이 하나 또는 그 이상의 연속된 값일 경우
    • 비지도학습(unsupervised learning) : 훈련 데이터가 해당 표적 벡터 없이 오직 입력 벡터로만 주어지는 경우
      • 집단화(clustering) : 데이터 내에서 비슷한 예시들의 집단을 찾음
      • 밀도 추정(density estimation) : 입력 공간에서의 데이터의 분포를 찾음
      • 시각화(visualization) : 높은 차원의 데이터를 2차원/3차원에 투영하여 이해하기 쉽게 만들어 보여줌
    • 강화학습(reinforcement learning) : 주어진 상황에서 보상을 최대화하기 위한 행동을 찾는 문제를 푸는 방법
      • 신뢰 할당 문제(credit assignment)
      • 탐사(exploration, 시스템이 새로운 종류의 행동을 시도하여 각각이 얼마나 효과적인지 확인)와 이용(exploitation, 시스템이 높은 보상을 주는 것으로 알려진 행동들을 시행) 간 트레이드 오프

    1.1 예시 : 다항식 곡선 피팅

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

    타겟 t: sin(2πx)로부터 생성된 실수값+노이즈

    관찰데이터(타겟)을 통해 최초 샘플 생성함수sin(2πx)를 정확히 얻어내야함

    • Probability Theory : 불확실성을 정량화시켜 표현할 수 있는 수학적 프레임워크 제공
    • Decision Theory : 확률적 표현을 바탕으로 적절한 기준에 따라 최적의 예측을 수행할 수 있는 방법론 제공

    위의 2가지 이론을 이용하여 진행할 것

                         데이터를 이용하여 곡선을 피팅할 때 사용할 다항식                              x에 대해서는 비선형/계수 w에 대해서는 선형

    위의 다항식을 훈련 집합 데이터에 피팅해서 계수의 값들을 정할 수 있음

    w를 해결하는 방법?

    훈련 집합의 표적값들의 값과 함숫값 y(x, w)와의 오차를 측정하는 오차 함수(error function)을 정의하고 이 함수 값을 최소화하는 방식으로 피팅

    오차함수

    정확히 데이터 포인트들을 지날 때만 값이 0이 된다는 사실 기억!

    위의 오차함수를 최소화하는 w값을 선택함으로써 곡선 피팅 문제 해결

    오차 함수가 이차 다항식의 형태를 지니고 있기 때문에 계수에 대해 미분하면 w에 대해 선형인 식이 나올 것

    ->w는 해결

    다항식의 차수 N을 결정하는 방법?

    모델 비교(model comparison)또는 모델 결정(model selection)이라 불리는 콘셉트의 예시

    피팅의 목표는 새로운 데이터에 대해 정확한 결과값을 예측할 수 있는 좋은 일반화를 달성하는 것

    새로운 데이터 포인트로 이루어진 시험집합을 만들어 성능을 확인해보면 M의 값에 따라 일반화의 성능이 어떻게 변하는 지 정량적으로 알 수 있을 것->평균 제곱근 오차(root mean square error, RMS error)를 주로 사용

    시험 집합의 오차를 통해 새로운 관찰값 x에 대해 표적값 t를 얼마나 잘 예측할 수 있을지 측정 가능

    *데이터의 개수가 증가할수록 오버피팅의 가능성 감소

    과적합 문제를 해결하기 위해 자주 사용되는 기법 : 정규화(regularization)

    오차 함수의 계수 크기가 커지는 것을 막기 위해 패널티항 추가

    패널티항의 가장 단순한 형태는 각각의 계수들을 제곱하여 합하는 것

    통계학에선 수축법(shrinkage method), 이차 형식 정규화는 리지 회귀(ridge regression), 뉴럴 네트워크에서는 가중치 감쇠(weight decay)

    훈련집합(training set)과 검증집합(validation set, hold-out set)으로 나누기

    모델 복잡도를 잘 선택하는 단순한 방법

    훈련 집합은 계수 w를 결정하는 데 활용하고 검증 집합은 모델 복잡도(M나  λ)를 최적화하는 데 활용

    하지만 소중한 훈련 집합 데이터를 낭비할수도 있음

    1.2 확률론

    패턴 인식 분야에서 중요한 콘셉트 중 하나 : 불확실성

    상자 2개가 있고 상자 안에는 그림과 같이 오렌지와 사과가 존재

    빨간 상자를 고를 확률 : 40%

    파란 상자를 고를 확률 : 60%

    상자 안에서 각각의 과일을 고를 확률은 동일

    상자->확률변수B(r, b)/공->확률변수F(o, a)

     

    어떤 사건의 확률 : 무한번 시도한다고 가정했을 때, 어떤 특정 사건이 일어나는 횟수/전체 시도의 횟수

    ->빨간 상자를 고를 확률 : 4/10(=p(B=r)), 파란 상자를 고를 확률 6/10(=p(B=b))

    정의에 따라 아래와 같은 특징을 가짐

    • 확률값은 [0,1]구간 내에 존재
    • 각각의 사건들은 상호 배타적
    • 각각의 사건들이 모든 가능한 결과값을 다 포함할 경우에는 확률들의 합이 1

    확률의 기본법칙

    확률의 법칙들을 도출해내기 위한 예시

    1. 합의 법칙(sum rule)

    합의 법칙

    2. 곱의 법칙(product rule)

    곱의 법칙

    3. 베이즈 정리(Bayes' theorem)

    과일 예제로 돌아가서,,,

    어떤 상자를 선택했을때 사과 또는 오렌지를 선택할 확률?

    빨간 상자 선택 + 사과 선택

    빨간 상자 선택 + 오렌지 선택

    파란 상자 선택 + 사과 선택

    파란 상자 선택 + 오렌지 선택

     

    합의 법칙과 곱의 법칙을 적용하여 사과를 고를 전체 확률 계산

    사과를 고를 전체 확률

     

    오렌지를 고를 전체 확률

     

    어떤 과일을 선택했을때 빨간 상자 또는 파란 상자를 선택할 확률?

    베이지안 정리를 적용하여 조건부 확률(위에서 구한 상자가 주어졌을 때 과일에 대한 조건부 확률)을 뒤집어 문제 해결

    오렌지 선택 + 빨간 상자 선택

     

     

    오렌지 선택 + 파란 상자 선택

     

    만약 어떤 과일이 선택되었는 지 알기 전에 어떤 박스를 선택했냐고 묻는다면 그 확률은 P(B)

    ->사전확률(prior probability), 어떤 과일이 선택되었는지 관찰하기 '전'의 확률이기 때문

    선택된 과일이 오렌지라는 것을 알게 된다면 베이지안 정리를 활용하여 p(B|F)를 구할 수 있음

    ->사후확률(posterior probability), 사건 F를 관측한 '후'의 확률이기 때문

     

    독립적(independent) : p(X,Y)=p(X)p(Y)인 경우=각각의 주변 확률을 곱한 것이 결합확률과 같을 경우

    1.2.1 확률 밀도

    연속적인 변수에서의 확률에 대해서도 알아보자

    확률밀도(probability density)

    누적분포함수(cumulative distribution function) : x가 (-∞, z)범위에 속할 확률

    누적 분포 함수(cumulative distribution function)

    • 여러 개의 연속적인 변수가 주어질 경우

    • 이산 변수일 경우

    p(x)를 확률 질량 함수(probability mass function)이라고 부르기도 함

    ->각 x값에 대해 몇몇 확률 질량들이 모여있는 것으로 볼 수 있기 때문

    1.2.2 기댓값과 공분산

    함숫값들의 가중 평균 구하는 것

    확률 밀도 p(x)하에서 어떤 함수의 f(x)의 평균값을 f(x)의 기댓값(expectation)이라고 함

    유한한 N개의 포인트를 확률 분포/확률 밀도에서 추출했다면,

    이산/연속 모든 경우에 각 포인트들의 유한한 합산으로 기댓값을 근사할 수 있음

    분산(variance) : f(x)가 평균값으로부터 전반적으로 얼마나 멀리 분포되어 있는지를 나타내는 값

    공분산(covariance) : x값과 y값이 얼마나 함께 같이 변동하는가에 대한 지표, x와 y가 서로 독립적일 경우 공분산의 값=0

    1.2.3 베이지안 확률

    확률을 '반복 가능한 임의의 사건의 빈도수'라는 측면으로 보는 해석을 고전적(classical)(or 빈도적(frequentist))관점

    베이지안(Bayesian)관점으로 확률을 살펴보면 '불확실성을 정량화'하는 것이 가능해짐

     

    예를 들어 '북극의 빙하가 이번 세기말까지 다 녹아 없어진다'라는 사건을 생각해보면 이런 사건은 여러 번 반복불가능

    빙하는 어떤 속도(정량화)로 녹는다는 가정+우리가 취한 행동이 빙하 녹는 속도에 미치는 영향(정량화)->불확실성 정량화를 통해 최적의 선택을 내릴 것=>확률의 베이지안 해석

     

    앞서 본 curve fitting에서 모수 w를 알려지지 않은 고정된 값으로 여겼음

    베이지안 관점으로는 모든 값이 확률 값이므로 하나의 변수로 취급하기 때문에 w에 대한 불확실성을 기술할 수 있게 됨!

    관찰되는 데이터가 존재하기 이전에 p(w)를 통해 w의 불확실성을 수식에 반영하고 있음

    실제 데이터를 통해 예측된 w의 확률을 조합하여 실제 w의 사후확률을 기술

    =>사후 확률 ∝ 가능도 * 사전 확률

     

    가능도 함수(p(D|w))

    • 빈도적 확률 관점
      • w가 알려지지 않은 고정된 매개변수, 그 값은 어떤 형태의 '추정값'을 통해 결정하는데 이는 가능한 데이터 집합들 D의 분포를 고려함으로 구할 수 있음
      • 추정값으로 널리 사용되는 최대 가능도(maximum likelihood)를 사용할 경우 w는 가능도 함수를 최대화하는 값으로 선택, 음의 로그 가능도 함숫값을 오차 함수(error function)이라고 함(음의 로그 함수는 단조 감소하기 때문에 가능도 최댓값을 찾는 것 = 오차 최소화)
      • 오차를 측정하는 방법 중 부트스트랩(bootstrap) : 데이터 집합이 N개의 데이터 포인트 X={x1, ...,xn}라고 가정하고 X에서 N개의 데이터 포인트를 임의로 추출하여 데이터 집합 Xb를 만들어 한번 추출한 값도 다시 추출 대상으로 고려될 수 있도록 하는 방식. 이 과정을 L번 반복하면 원래 데이터 집합의 표본에 해당하는 크기 N의 데이터 집합 L개를 만들 수 있음
    • 베이지안 확률 관점
      • 하나의 데이터 집합 D만 존재하고 매개변수의 불확실성은 w의 확률 분포를 통해 표현
      • 사전 지식을 추론 과정에 자연스럽게 포함시킬 수 있음 ex)동전을 3번 던졌는데 앞면만 3번나왔다고 치면 고전적 최대 가능도 추정을 통해 추론하면 앞으로 앞면이 나올 확률은 1이지만 베이지안 관점으로 접근하면 이렇게까지 극단적인 결과는 나오지 않을 것
      • 베이지안 관점에 대한 비판 중 하나는 추론 과정에 주관이 포함된다는 것
        • 사전 분포에 대해 의존도를 낮추기 위해 무정보적(noninformative) 사전 분포를 사용하는 경우도 있음, 하지만 이는 서로 다른 모델들을 비교하기 어렵게 만듦
        • 교차 검증(cross validation)을 사용하는 방법도 있음
      • 베이지안 절차를 완전히 활용하기 위해서는 전체 매개변수 공간에 대한 주변화(합산 or 적분)하는 과정이 필요(예측치를 계산하거나 모델 비교에 있어서 필요하기 때문)->마르코프 연쇄, 몬테 카를로 등의 표본 추출 방법 개발, 변분적 베이지안, 기대 전파법 등의 효율적 결정론적 근사 방법들 개발로 해결

    1.2.4 가우시안 분포

    연속 확률 분포 중 하나로 정규 분포(normal distribution)라고도 불림

    1. 단일 실수 변수 x(1차원, 단변량)

    단일 실수 변수 x에 대한 가우시안 분포
    가우시안 분포의 성질

    분포의 최댓값=최빈값(mode)2. 연속 변수 D차원 x

    다변량(multinomial) 가우시안 분포

    하나의 관찰 데이터 집합 X=(x1, ..., xn)^T가 주어지고 관측값들을 독립적으로 추출한다고 가정

    같은 분포에서 독립적으로 추출된 데이터 포인트들은 독립적이고 동일하게 분포(independent and identically distributed, i.i.d)

    앞에서 독립 사건의 결합 확률은 각 사건의 주변 확률의 곱이라는 걸 확인했었음

    데이터 집합 X가 관찰될 수 있는 확률
    위의 식을 그림으로 나타내면 이런 모양

    어떤 관찰 데이터가 하나의 가우시안 분포를 따른다고 가정

    우리가 얻는 것은 관찰 데이터 집합이고 이를 이용하여 원래의 가우시안 분포를 결정하는 문제가 다수

    ->p(x|μ,σ2)를 이용하여 관찰 결과를 만들어낼만한 가장 타당한 μ,σ를 찾으면 됨

    =>파라미터 추정이라고 함, 주어진 데이터를 이용하여 선택한 모델에 대한 파라미터(=모수)를 결정하는 문제

    계산의 편의를 위해 log를 붙임(단조 증가)
    위의 식을 통해 구한 최대 가능도 해

    가능도 함수를 가장 크게 만드는 모수 값을 추정하므로 MLE(Maximum likelihood estimation, =ML)이라고 함

    표본 평균의 기댓값, 표본 분산의 기댓값

    평균적으로 최대 가능도 추정은 평균은 올바르게 구할 수 있지만 분산은 (N-1)N만큼 과소평가하게 됨

    <-최대 가능도 방법을 이용하여 가우시안 분포의 분산을 구하고자 할 때

    어떻게 편향(bias)이 생기는 지 보여주는 그래프

    녹색 곡선 : 데이터가 만들어진 실제 가우시안 분포

    3개의 빨간색 곡선 : 3개의 데이터 집합에 대해 피팅한 가우시안 분포

    파란색 점 : 데이터 포인트

    각각의 데이터 집합은 2개의 데이터 포인트를 포함하고 있음

    3개의 데이터 집합에 대해 평균을 내면 평균값은 올바르지만 분산값은 실제 평균이 아닌 표본 평균을 기준으로 계산하기 때문에 과소평가됨

     

    1.2.5 곡선 피팅

    앞서 다항식 곡선 피팅 문제를 오차 최소화의 측면에서 살펴보았음

    이번엔 확률적 측면에서 살펴봄으로써 오차 함수와 정규화에 대한 통찰을 얻을 것

     

    곡선 피팅 문제의 목표 : N개의 입력값과 해당 표적값이 주어진 상황에서 새로운 입력 변수 x가 주어졌을 때 그 에대한 타깃 변수 t를 예측해내는 것

    확률 분포를 이용해 타깃 변수 x의 불확실성을 표현할 수 있음

    주어진 x값에 대한 t값이 y(x, w)를 평균으로 가지는 가우시안 분포를 가진다고 가정

    주어진 환경을 모델링한 수식

    =>한 점이 주어질 때 이를 나타낼 수 있는 근사식+정규 분포 형태의 노이즈 함수(β=노이즈의 정확도)

    실제 샘플 데이터를 이용하여 해당 데이터가 존재할 확률은?

    실제 얻어진 샘플의결과와 이에 영향을 미치는 모수들의 관계를 확률식으로 표현한 것
    MLE를 이용하여 얻은 β값
    얻어진 w와 β를 이용하여 새로운 데이터의 타겟값을 예측한 확률 모델(=predictive 분포)
    베이지언 관점으로 파라미터 자체에 대한 확률 분포를 고려한 것
    베이지안 규칙을 이용하여 식 분해

    주어진 데이터에 대해 가장 가능성 높은 w를 찾는 방식으로 w를 결정

    즉, 사후 분포를 최대화하는 방식으로 w결정=>최대 사후 분포(maximum posterior, MAP)

    가우시안 분포를 이용하여 전개

    사후 확률의 최댓값을 찾는 것=위의 식의 최솟값을 찾는 것=정규화된 제곱함 오차 함수를 최소화하는 것

    ->베이지언 방식을 사용하면 앞서 사용한 정규화 효과를 동일하게 가지게 되는 식이 유도

    1.2.6 베이지안 곡선 피팅

    사전분포를 포함시킨 했지만 w에 대해 점 추정을 하고있기 때문에 아직 완벽한 베이지안 방법론X

    완전한 베이지안 방법론을 위해서는 확률의 합의 법칙, 곱의 법칙을 일관적으로 적용해야 함->확률의 합과 곱의 법칙을 계속적으로 적용하는 것

    모든 w값에 대해서 적분 시행해서 주변화를 시켜야함

     

    곡선 피팅의 목표는 훈련 집합 데이터 x와 t가 주어진 상황에서 새로운 변수 x에 대한 표적값을 예측하는 것

    이 목표를 위해서 예측 분포를 구해보자(매개변수 α와 β는 고정된 값으로 알려져있다고 가정)

    특정한 w값이 고정되어있는 것이 아니라 w에 대한 모든 가능성이 확률 함수를 통해 이미 모델에 다 반영 되어있음!

    예측 분포
    예측 분포의 평균과 분산

    1.3 모델 선택

    최소 제곱법을 이용한 다항식 곡선 피팅 예시에서 가장 좋은 일반화값을 주는 최적의 다항식 차수가 있다는 것을 확인

    다항식의 차수에 따라 모델의 자유 매개 변수의 수가 결정->모델의 복잡도 결정

    정규화된 최소 제곱법의 경우 정규화 계수 λ도 모델의 복잡도에 영향

     

    최대 가능도 접근법은 과대적합이 쉽게 일어난다는 사실을 확인했음

    • 해결방법 1 : 데이터가 충분할 경우 일부의 데이터만 사용하여 훈련시키고 독립적인 데이터 집합인 검증 집합(validation set)에서 모델, 매개변수를 비교, 선택하는 것 하지만 한정된 크기의 데이터 집합을 반복적으로 시행하면 검증 집합도 과적합될 수 있기 때문에 시험 집합(test set)을 따로 분리해 이 집합을 통해 모델의 최종 성능 판단
    • 해결방법 2 : 대부분의 경우 데이터가 충분하지 않기 때문에 교차 검증법(cross validation)시행

     

    교차 검증법(cross validation)

    전체 데이터(S) 중 데이터의 (S-1)/S비율만큼 훈련에 사용하고 모든 데이터를 다 활용하여 성능 추정가능

    특히 데이터가 부족할 경우 S=N(전체 데이터 포인트의 숫자)의 교차 검증법을 고려할 수 있음->데이터 포인트 하나만 남겨두고(leave-one-out) 모델을 훈련시키는 테크닉

    • 단점1 : S의 수가 늘어남에 따라 모델 훈련의 시행 횟수가 함께 늘어나기 때문에 훈련 자체가 복잡할 경우 문제가 될 수 있음
    • 단점2 : 한 가지 모델에 여러 가지의 복잡도 매개 변수가 있을 경우 문제 발생 매개변수들의 조합들을 확인해보기 위해 기하급수적인 수의 훈련이 필요할지도 모르기 때문

    정보 기준(information criteria)들이 최대 가능도 방법의 편향 문제에 대안으로 제시되어 왔음

    복잡한 모델에서 과적합이 일어나지 않도록 페널티항을 추가하는 방식

    ex)아카이케의 정보량 기준(akaike information criterition, AIC)

    1.4 차원의 저주

    앞서 본 피팅에서는 변수가 오직 x 하나였지만 패턴 인식의 실제 사례들은 많은 종류의 입력 변수로 구성된 고차원 공간

    차원의 저주 예시1

    이번 목표!

    오일 흐름 데이터의 산포도

    입력 변수 x6와 x7을 표시

    * 빨간색점 : '균질'클래스

    * 녹색점 : '환형'클래스

    * 파란색점 : '층상'클래스

    그래프 상에서 X로 표시되어 있는 새로운 포인트의 클래스를 찾는 것이 목표

     

     

    가장 단순한 접근법

    입력공간을 같은 크기의 여러 칸들로 나누고 해당 칸에 속한 훈련 포인트들의 클래스를 살펴보고 그 중 대다수인 클래스로 지정

    이 접근법의 문제점

    입력 변수가 더 많은 경우를 고려할 때 나타남->공간의 차원이 높아짐에 따라 필요한 칸의 숫자가 기하급수적으로 늘어나게 됨

     

     

     

    차원의 저주 예시2

    위의 접근법에서 문제점인 고차원 공간에 대해 생각해보기 위해 앞서 살펴본 다항식 곡선 피팅 문제를 다변수 입력 공간에 적용

    D개의 입력 변수가 있을 경우 3차 계수까지의 다항식

    위의 다항식으로 살펴보면 D가 증가함에 따라 독립적인 계수의 숫자는 D^3에 비례하여 증가

    ->M차 다항식의 경우 계수의 숫자는 D^M에 비례하여 증가

    차원의 저주 예시3

    D차원의 반지름 r=1-ε에서 r-1사이의 부피의 비율을 계산한다고 생각해보자

    차원이 높아질수록 부피의 대부분이 표면 근처의 얇은 껍질에 가까워짐(그래프 참고)

    그렇다고 고차원 입력값에 대해 사용할 수 있는 효과적인 패턴 인식 테크닉을 찾아내는 건 불가능한 건 아님

    • 실제 세계의 고차원 데이터들의 경우에 유의미한 차원의 수는 제한적
    • 실제 세계의 데이터 대부분의 경우 입력값에서 작은 변화가 일어나면 표적값에서도 작은 변화만 일어나고 지역 보간법 등의 테크닉을 적용하여 새로운 입력 변수에 대한 타깃 변수를 예측하는 것이 가능해짐

     

    +잘 모르겠어서 추가로 찾아본 것

    https://thesciencelife.com/archives/1001

    1.5 결정 이론

    패턴 인식 문제를 풀 때 불확실성이 존재하는 상황에서 결정 이론과 확률론을 함께 사용하면 최적의 의사결정가능

     

    입력 벡터 x와 타깃 변수 벡터 t가 존재하는 상황에서 새로운 입력 벡터 x가 주어졌을 때 해당 타깃 변수 벡터 t를 예측하는 문제 생각해보자

    • 회귀문제일 경우 t는 연속 변수일 것
    • 분류문제일 경우 t는 클래스 라벨일 것

    결합 확률 분포는 이 변수들의 전체 불확실성을 요약해서 나타내줄 것

    주어진 훈련 집합 데이터에서 결합확률분포를 찾아내는 것은 추론(inference)문제의 대표적 예시

     

    예시 : 환자의 엑스레이 이미지를 바탕으로 환자가 암에 걸렸는지 아닌지 판단하는 문제 고려

    입력 벡터 x는 이미지의 픽셀 강도 집합에 해당할 것

    타깃 변수 t는 환자가 암에 걸렸는지 아닌지를 나타내는 출려 ㄱ변수

    암이 있다고 판단할 경우 클래스 C1, t=0/그렇지 않을 경우 클래스 C2, t=1

    이미지가 주어졌을 때 각각의 클래스의 조건부 확률을 알아내는 것이 목표

    p(C1) : 엑스레이 이미지를 확인하기 전에 알 수 있는 환자가 암에 걸렸을 확률

    p(C1|x) : 엑스레이에 포함된 정보를 베이지안 정리를 이용하여 포함시킨 후에 알 수 있는 환자가 암에 걸렸을 확률

    1.5.1 오분류 비율의 최소화

    단순히 잘못된 분류 결과의 숫자를 가능한 줄이는 것이 목표라고 가정해보자

    이를 위해서는 각각의 x를 가능한 클래스들 중 하나에 포함시키는 규칙이 필요

    입력 공간을 결정 구역(decision region)이라고 불리는 구역 Rk들로 나눌 것

    결정 구역들 사이의 경계를 결정 경계(decision boundary)/결정 표면(decision surface)라고 함

    앞의 예시를 생각했을 때 잘못된 분류는 1. C1에 속한 변수 x가 C2에 포함되는 경우 2. C2에 속한 변수 x가 C1에 포함되는 경우로 2가지

    잘못된 분류(=실수)를 할 확률

    p(실수)를 최소화하기 위해서는 각각의 x를 사후확률,p(Ck|x)가 최대가 되는 클래스에 포함시키면 됨

    요로코롬!

    1.5.2 기대 손실의 최소화

    앞의 예시를 생각했을때 암에 걸리지 않은 환자를 걸렸다고 판단하였을 경우는 별로 심각하지 않지만 반대로 암에 걸린 환자를 건강하다고 판단했을 경우는 심각함

    이처럼 첫번째 종류의 실수를 많이 하게 되더라도 두번째 종류의 실수를 줄이는 것이 더 중요하다는 것을 알 수 있음

    비용 함수(cost function)=손실 함수(loss function)을 도임합으로써 공식화가능

    손실 함수는 어떤 결정이나 행동이 일어났을 때의 손실을 전체적으로 측정하는 함수, 활용하면 목표가 전체 손실을 최소화하는 것으로 변경가능

    효용 함수(utility function)을 사용하는 경우에는 값을 최대화하는 것이 목표가 됨

     

    실제 클래스가 Ck인 새 입력값 x를 클래스 Cj로 분류했다고 가정(j는 k와 같을수도 아닐수도 있음)

    Lkj로 표현할 수 있는 손실 발생->손실 행렬의 k,j번째 원소

    손실 행렬(loss matrix)

    손실 행렬(loss matrix)

    올바른 결정을 내렸을 경우 손실 : 0

    건강한 환자 암에 걸렸다고 진단했을 경우 손실 : 1

    암에 걸린 환자를 건강한 것으로 진단했을 경우 손실 : 1000

    손실 함수를 최소화하는 해가 최적의 해!

    손실 함숫값은 알려져 있지 않는 실제 클래스 값을 알아야만 계산 가능

    입력 벡터 x에 대해서 실제 클래스 값에 대한 불확실성은 결합 확률 분포 p(x,Ck)로 표현

    ->이 분포에 대한 평균 손실을 최소화하는 것을 목표로

    1.5.3 거부 옵션

    입력 공간 중 어떤 구역에서는 사후 확률 중 가장 큰 것이 1보다 매우 작음->결합 확률들이 비슷한 값을 가지고 있음 즉, 분류 오차가 생길수도 있다는 것 이런 구역들에 대해서는 어떤 클래스에 속할지에 대한 확신 정도가 적은 편

    오류 비율을 최소화하기 위해 결정을 내리기 힘든 지역에 대해서는 결정을 피하는 것이 나을 수도->거부 옵션(reject option)

    거부 옵션 방법

    1. 불확실한 것들은 사람이 직접 확인하도록
    2. 임계값을 설정해서 가장 큰 값이 임계값보다 작거나 같을 경우 해당 입력값은 거부
    3. 손실 행렬이 주어진 경우 기대 손실값을 최소화하도록

    1.5.4 추론과 결정

    지금까지 분류 문제를 훈련 집단을 활용하여 확률에 대한 모델을 학습시키는 추론 단계(inference stage)와 학습된 사후 확률들을 이용하여 최적의 클래스 할당을 시행하는 결정 단계(decision stage), 두 개의 단계로 나누었었음

    x가 주어졌을 때 결정값을 돌려주는 함수를 직접 학습시키는 방식으로 두 개의 단계를 하나의 단계로 줄이는 방식도 생각할 수 있음->판별 함수(discriminant function)

     

    결정 단계를 푸는 데는 3가지 접근법이 있음

    1. 각각의 클래스 Ck에 대해서 조건부 확률 밀도 p(x|Ck)를 알아내는 추론 문제를 풀고 클래스별 사전 확률 p(Ck)도 구함, 이후 베이지안 정리를 적용해서 각 클래스별 사후 확률 p(Ck|x)를 구함
      • 이와 동일하게 결합 분포 p(x, Ck)를 직접적으로 모델링한 후 정규화해서 사후 확률들을 구할 수도 있음. 사후 확률을 구한 후, 결정 이론을 적용하여 새 입력 변수 x에 대한 클래스를 구함. 직간접적으로 입력값과 출력값의 분포를 모델링하는 이런 방식을 생성 모델(generative model)이라고 함. 이렇게 만들어진 분포로부터 표본을 추출함으로써 입력 공간에 합성 데이터 포인트들을 생성해 넣는 것이 가능하기 때문
    2. 사후 확률 p(Ck|x)를 계산하는 추론 문제를 풀어낸 후 결정 이론을 적용하여 입력 변수 x에 대한 클래스를 구함. 사후 확률을 직접 모델링하는 이런 방식을 판별 모델(discriminative model)이라고 함
    3. 각각의 입력값 x를 클래스에 매칭하는 판별 함수 f(x)를 구함. 이 방식에서는 확률론이 사용되지 않음

    1번 방식은 손이 가장 많이 가는 방식->x와 Ck에 대해 결합 분포를 찾아야하기 때문

    하지만 p(x)의 주변 밀도도 구할 수 있음. 이를 통해 발생 확률이 낮은 새 데이터 포인트들을 미리 발견해낼 수 있음 이런 데이터 포인트들은 예측 모델이 낮은 정확도를 보일 것->이상점 검출(outlier detection) or 새것 검출(novelty detection)이라고 함

    그래도 1번 방식은 계산할 게 넘 많고 낭비임 이런 경우 사후 확률 p(Ck|x)를 직접 계산하는 2번 방식이 훨씬 효율적

    3번 방식은 더 간단!하지만 사후 확률 p(Ck|x)들을 알지 못하게 된다는 단점 존재

     

    사후 확률을 구하는 게 유의미한 이유

    1. 위험의 최소화 : 손실 행렬의 값이 때때로 변하는 문제를 생각해봤을때 사후 확률을 알고 있다면 식을 수정함으로써 최소 위험 결정 기준을 구할 수 있지만 판별 함수만 알고 있을 경우 손실 행렬의 값이 바뀔 때마다 훈련 집합을 활용해 분류 문제를 새로 풀어야 함
    2. 거부 옵션 : 사후 확률을 알고 있으면 주어진 거부 데이터 포인트 비율에 대해 오분류 비율(기대 손실값)을 최소화하는 거부 기준을 쉽게 구할 수 있음
    3. 클래스 사전 확률에 대한 보상 : 앞서 들었던 암환자 예시를 생각해보자. 일반인 집단으로부터 많은 엑스레이 이미지를 모아 훈련 집합으로 활용하여 자동 판별 시스템을 만들었다고 가정해보면 일반인 가운데 암이 있을 확률은 상당히 낮음 이러한 데이터 집합을 이용하면 당연히 일반화되기 어려운 모델을 만들어낼 것 각각의 클래스에서 같은 숫자의 예시를 선택한 균형 잡힌 데이터 집합을 활용하면 더 정확한 모델을 찾아낼 수 있지만 훈련 집합을 변경한 것에 대해 보상을 적용해야함 수정된 데이터 집합을 사용하여 사후 확률에 대한 모델을 찾아냈다고 가정하면 베이지안 정리에 따라 이 사후 확률이 사전 확률에 비례한다는 것을 알 수 있음
    4. 모델들의 결합 : 현실에선 하나의 큰 문제를 여러 개의 작은 문제로 나누어 분리된 모듈로써 해결하는 것이 바람직할 때도 있음 각 모델이 각 클래스에 대한 사후 확률을 제공하기만 한다면 확률의 법칙을 적용하여 시스템적으로 서로 다른 출력값을 합하는 것이 가능->각 클래스에 대해서 독립적이라고 가정=조건부 독립(conditional independence)

    1.5.5 회귀에서의 손실 함수

    회귀 문제의 결정 단계에서는 각각의 x에 대해서 t의 추정값 y(x)를 선택해야함, 이 과정에서 손실 L(t, y(x))가 발생한다고 가정

    평균 손실

    평균 손실을 최소화하는 y(x)를 선택해야함

    유연하게 y(x)를 결정할 수 있다고 가정하면 변분법을 적용해서 다음과 같이 작성가능

    더보기

    변분법??

    범함수의 최소, 최대를 찾는 방법 등을 가리키는 용어

    범함수??

    함수를 입력받는 함수

    y(x)에 대해 해를 구하고 확률의 합과 곱의 법칙을 적용하면 아래와 같은 식 도출

    x가 주어졌을 때 t의 조건부 평균, 회귀 함수(regression function)

    최적의 최소 제곱 예측은 조건부 평균으로 주어짐

    y(x)가 E(t|x)와 동일하다면 굉장히 잘 추정한 것

    샘플 데이터로부터 추정된 y(x)가 E(t|x)와 동일한 결과를 가진다면 첫번째 요소의 첫번째항은 사라지게 되고 두번째 항만 남게 됨

    • 첫번째 요소 : 모델 y(x)와 관련된 요소
    • 두번째 요소 : 분산, 샘플이 포함하고 있는 노이즈

    회귀 문제를 풀기 위한 3가지 방식

    1. 결합 밀도 p(x,t)를 구하는 추론 문제를 풀어내고 이를 정규화하여 조건부 밀도 p(t|x)를 구하고 최종적으로 조건부 평균을 구함
    2. 조건부 밀도 p(t|x)를 구하는 추론 문제를 풀고 조건부 평균을 구함
    3. 훈련 데이터로부터 회귀 함수 y(x)를 직접 구함

    각 방식의 장단점은 위에서 살펴본 분류 문제에서의 장단점과 일맥상통

     

    회귀 문제의 손실 함수로 제곱 손실 외의 다른 함수를 사용하는 것도 가능

    제곱손실을 일반화한 예시 : 민코프스키 손실(Minkowski loss)

    q=2일 경우 제곱 손실

     

     

    댓글

Designed by Tistory.