Programmers 인공지능 데브코스 - Week 5 Day 2 - 결정이론

donchanee·2021년 1월 6일
0

😃[5주차 - Day2]😃

결정이론

새로운 값 x가 주어졌을 때 확률모델 p(x,t) - (input x, 목표값 t)에 기반해 최적의 결정을 내리는 방법론에 대한 것입니다.

두 단계가 있는데, 추론 단계에서는 결합확률분포를 구하는 것이고 결정 단계에서는 확률이 주어졌을 때 어떻게 최적의 결정을 내릴 지에 대한 단계입니다.

우도와 사전확률을 최대화 시키는 것이 이 확률을 높이는 데에 도움이 될 것입니다. 직관적으로, 조건부확률을 최대화시키는 k를 찾는 것이 가장 좋은 결정인 것으로 보입니다.

  • 결정영역

결정영역은 클래스 i에 속하는 모든 x의 집합을 말합니다.

Ri= {x : pred(x) = Ci}

  • 분류 오류의 확률


(출처 : https://www.microsoft.com/en-us/research/people/cmbishop/prml-book/)

위와 같은 그림에서, 빨간색 부분을 최소화 시키는 x0의 부분이 오류를 최소화 시킨다고 알 수 있습니다. 에러는 여전히 남아있지만 최대한 줄인 곳 입니다.

각각의 x에 대해 C1의 확률과 C2의 확률을 비교해보고, p(x,C1) > p(x,C2) 인 경우 R1에 할당을 하면 됩니다.

p(C1|x) > p(C2|x) 인 경우 분류오류의 확률을 최소화 시킬수 있습니다.

클래스가 여러개 있는 경우는 오류를 생각하는 것보다 얼마나 정확한가를 생각하는게 더 편할 수 있습니다.

K개의 클래스가 있을 경우, 각각의 결정영역마다 결정영역과 실제 클래스가 일치하는 확률이 될 것입니다. 그것을 다 더하면 얼마나 정확한가에 대해 알 수 있습니다.

어떻게 하면 최적의 결정을 내릴 수 있을지 생각해보면, Ck의 확률이 최대화되는 K를 가지고 분류를 하면 됩니다.

결정이론의 목표

최적의 결정영역들을 찾는 것이 목표인데, 이는 x가 주어졌을 때 K까지의 예측값중 하나를 돌려주는 함수가 있다고 할 때, 이 값이 j인 경우 Rj라는 결정영역이 최적의 결정영역입니다.

기대손실 최소화

잘못 분류를 한다는 것의 코스트가 다 다를 수 있습니다. 암이 아닌데 암인 것으로 진단한 것과, 암이 맞는데 암이 아닌 것으로 진단하는 것은 후자가 훨씬 더 큰 리스크 및 코스트를 가집니다.

이를 더 정형화시켜서 표현하기 위하여 손실행렬을 정의합니다.

손실행렬은 Ck에 속하는 x를 Cj로 분류할 때 발생하는 손실을 말하는데, 손실행렬 L이 주어졌을 때, 기대손실을 최소화하는 것을 목표로 할 수 있습니다. 이에 대한 모든 가능한 결정에 대해 그 손실값을 결합확률에 곱한 값을 적분한 값이 이 결과가 될 수 있습니다.

수많은 x에 대해 p(x)에 곱해 더하는 것은 각각의 x에 대해 손실행렬만을 최소화시키면 됩니다.

의료진단 예제

아픈경우에 아프지 않다는 오진단의 리스크가 크기 때문에, 조금 더 안전한 진단을 하기 위해서는 손실행렬을 모델안에 포함시켜서 계산하는 것이 더 좋을 것이라고 생각됩니다.

Euler-Lagrange Equation

https://freshrimpsushi.tistory.com/1183

결정이론의 회귀문제에서 사용할 수 있습니다.

결정문제를 위한 몇가지 방법들

분류문제의 경우

확률모델에 의존하는 경우는 생성모델, 식별모델을 사용할 수 있습니다.

생성모델은 각 클래스 Ck에 대해 분포 p(x|Ck)와 사전확률 p(Ck)를 구한다음 베이즈 정리를 사용해서 사후확률 p(Ck|x)를 구합니다.

식벽모델은 모든 분포를 다 계산하지 않고, 오직 사후확률 p(Ck|x)를 구합니다.

생성모델을 하는 경우 많은 확률들을 구해놓으면 유연하게 대처할 수 있습니다. 확률이 달라질 경우 이전에 구했던 파라미터들을 재생시켜서 더 쉽게 다시 구할 수 있습니다.

확률모델에 의존하지 않고, 판별함수에 의존하는 경우는 입력 x를 클래스로 할당하는 판별함수를 찾는 것입니다.

회귀문제의 경우

결합분포 p(x,t)를 구하는 추론 문제를 먼저 푼다음 조건부확률분포를 구합니다. 그 후 주변화(marginalize)를 통해서 Et[t|x]를 구합니다.

0개의 댓글