[인공지능 기초] Uncertainty (1) - 확률적인 추정을 위한 확률과 사건, 그리고 명제
- -
들어가기 전에
이 세상의 많은 일들은 확률적인 경우가 많다. 그 상황에서 우리는 자신의 목적에 가장 부합하면서 확률적으로 발생 가능성이 높거나 낮은 것을 고려하여 최선의 선택을 하려고 한다. 그러면 그 확률이란 것에 주목해야 할 필요가 있지 않을까? 이번 시리즈 글에서는 확률에 관한 정의와 이와 관련한 대표적인 정리들을 소개하고자 한다. 그전에 확률과 관련한 정의를 알아보고, 확률과 명제가 어떠한 관계가 있는지 알아보자.
불확실성과 결정
우리는 일상 생활에서 여러 문제점들을 맞닥뜨리고 이를 해결하고자 노력한다. 꼭 중요한 시험 문제를 풀어서 맞추는 것 뿐만이 아니라 출근해야 하는데 늦게 기상을 해서 어떠한 교통 수단을 이용해야 할지, 어떤 점심 메뉴를 선택해야 좀 더 맛있는 음식을 저렴하게 먹을 수 있는지 등 사소하면서도 다양한 문제를 마주하게 된다. 그러한 문제들 중 일부는 어떠한 행동이나 해결책을 취했을 때 반드시 그에 대응되는 결과가 나올 때도 있지만, 대체로 확률적으로 결과가 나올 때가 많을 것이다.
간단한 예를 들어보자. 우리가 출국 비행기를 타려면 공항에 가야 하는데, 이 이륙편을 놓치지 않기 위해서는 최소한 몇 분 전에 공항으로 출발하는 것이 바람직할까?
하지만 그렇다고 이륙 하루 전에 공항에 가서 밤을 새워 기다리는 게 과연 바람직한 선택일까? 공항에서 하룻밤 노숙하는 걸 원하는 사람이라면 만족스러운 방법일 수 있겠지만, 그렇지 않을 수도 있다. 그래서 우리는 어떤 문제에 관해 어떠한 행동(action)을 취할지를 결정(decision)할 때 확률적인 요소도 고려할 뿐만이 아니라 자신에게 큰 효용도 가져다 줄 수 있는 최선의 선택을 하고자 노력할 것이다. 여기서 효용이란 행동에 관한 선호도(preference)를 나타낸다고 보면 된다. 이륙편 출발까지 두 시간이 남았고, 공항에 도착하는 데 30분이 소요될 때 최소한 공항으로 세 시간 전에는 출발하는 방법이 이륙편을 놓칠 가능성도 낮은 편이고 너무 공항에서 오래 대기할 필요가 없으므로 가장 바림작하다고 생각하는 것처럼 말이다.
AI 에이전트(agent)도 여러 불확실성이 존재하는 문제를 해결하고자 확률을 고려한다. 에이전트는 자신에게 주어진 목적을 달성할 수 있는 확률이 높은 행동을 선택을 하기 위해 노력할 것이다. 게다가 앞서 말했듯이 그러한 행동이 자신에게 얼만큼의 효용을 가져다 줄지도 고려한다. 그래서 대개 결정 이론(decision theory)은 확률 이론(probability theory)과 효용 이론(utility theory)을 함께 고려한다. Utility에 관한 내용은 추후 utility와 decision network 글에서 자세히 설명할 계획이다.
어떤 불확실성을 지닌 문제에 관해 행동을 결정할 때는 확률을 고려할 뿐만이 아니라 효용도 고려한다.
Evidence
앞서 우리는 공항에 도착하기까지 30분이 걸린다고 알고 있었다. 그런데 네비게이션 앱으로 예상 소요 시간을 확인해 보니 교통 체증으로 인해 1시간 30분이 걸린다고 한다. 그러면 과연 이전에 공항으로 세 시간 전에 출발하는 행동이 과연 이전처럼 가장 바람직한 결정이 될 수 있을까? 제 시간에 이륙편에 탑승할 수 있는 확률이 달라지므로 장담할 수 없다.
이처럼 우리가 문제에 관하여 어떠한 행동을 하기 전에 새로운 정보를 알게 되면 기존에 알고 있던 정보가 달라질 수 있다. 이때 기존의 알고 있는 정보를 달라지게 할 수 있는 주어진(given) 정보를 증거(evidence)라고 한다. 우리는 앞으로 이 evidence에 주목하려고 하는데, 왜냐하면 앞서 말했듯이 이 evidence가 기존에 알고 있던 정보를 바꿀 수 있기 때문이다. 참고로 이 evidence가 주어졌을 때 어떠한 사건이 발생할 확률을 사후확률이라고 하는데, 이는 베이즈 정리에서 자세히 다룰 것이다.
앞으로 evidence와 given이라는 말을 자주 연관지어 사용하는데, '어떤 사건
Evidence가 주어지면(given) 기존에 알고 있던 정보를 달라지게 할 수 있으므로, 앞으로 evidence에 유의해서 보자.
확률과 사건
먼저 사건에 관한 수학적 정의를 소개하고, 예시를 통해 확률과 사건에 관한 정의를 이해해 보고자 한다.
어떠한 사건
즉, 사건
확률 공간(probability space) 또는 확률 모델(probability model)은 표본 공간의 일종인데, 표본 공간
다시 말해, 확률 공간을 구성하는 각각의 sample point에 관한 확률이 0 이상 1 이하여야 하고, 그 모든 확률의 합이 1을 만족하면 되는 것이다.
6개의 면에 1부터 6까지 숫자가 적힌 주사위 한 개를 굴리는 경우를 생각해 보자. 그러면 주사위를 굴렸을 때 나오는 1부터 6까지 각각의 모든 숫자가 sample space를 구성한다. 그리고 그 각각의 숫자는 표본 공간을 구성하는 원소인 sample point로 볼 수 있다. 또한 확률 공간 또는 확률 모델은 주사위를 굴렸을 때 1부터 6까지 각각의 숫자가 나올 확률이 0 이상 1 이하이고 이 모든 숫자의 확률의 합이 1과 같은 표본 공간으로 볼 수 있다.
사건(event) = sample point의 집합
표본 공간(sample space) = 사건의 집합 = sample point의 집합
확률 공간(probability space) = 각 sample point 확률이 0 이상 1 이하, 모든 sample point 확률의 합이 1인 표본 공간
사건과 Sample Point의 차이
그러면 사건과 sample point의 차이가 헷갈릴 수도 있을 텐데, 사건은 앞서 설명한 바처럼 sample point의 집합이다. 주사위를 예로 다시 들어 보자. 주사위를 던졌을 때 나온 수
확률과 명제(Proposition)
랜덤 변수(Random Variable)
앞서 말한 사건을 랜덤 변수(random variable)와 연관지을 수도 있다. 랜덤 변수는 sample point를 정의역으로 갖고 어떠한 범위(some range)를 치역으로 가지는 함수로 정의할 수 있는데, sample point를 어떠한 범위로 mapping시키는 함수인 것이다. 앞서 말한
사건과 명제
그러면 왜 지금까지 사건과 랜덤 변수에 관해 설명했는지 의아해 할 수 있다. 이는 AI를 사용할 때 '명제(proposition)'를 자주 사용해서인데, 명제와 First Order Logic에 관한 자세한 설명은 추후 인공지능 시리즈 글에서 이어갈 예정이다. 간단히 말해 명제는 논리학적으로 참 또는 거짓을 판단할 수 있는 문장을 의미하는데, 인공지능에서는 복잡한 사실을 여러 개의 간단한 명제로 만들어서 새로운 사실이 entailment 되는지를 판단하고 이를 처리하는 경우가 종종 존재한다. 더 자세한 내용은 First Order Logic과 추론 부분을 설명하는 글에서 상세히 설명할 계획이다.
''명제가 참이다'' 또는 '명제가 거짓이다'를 사건처럼 생각하면 어떨까? 앞서 설명한 예시 중에서 주사위를 던졌을 때 나온 수
이처럼 어떠한 사건을 명제와 부정 기호(
앞서 우리는 sample point 각각을 따로 고려했지만, AI에서는 일반적으로 sample point들을 랜덤 변수들의 값들의 집합으로 표현한다. 즉, 우리는 sample point 자체가 무엇인지는 크게 관심이 없고 랜덤 변수가 어떠한 값을 지니는지를 보겠다는 것이다. 위의 주사위를 던지는 예시에서 랜덤 변수를
이제 여러 사건에 관해 명제를 통해 간단히 표현할 수 있다. 사건
사건
랜덤 변수 = sample point를 어떠한 범위로 mapping 시키는 함수
Sample point는 크게 관심 없고, 랜덤 변수가 어떠한 값을 지니는지에 관한 사건을 명제로 표현할 것이다.
Sample space = 랜덤 변수가 지닐 수 있는 값들의 Cartesian product
랜덤 변수의 값(value)
앞서 우리는 랜덤 변수의 값이
이처럼 랜덤 변수 값이 불연속적이든 연속적이든 간에 값은 반드시 완전(exhaustive)해야 하고 상호 배타적(mutually exclusive)이어야 한다. 여기서 완전하다는 건 랜덤 변수의 값이 하나로 정해졌으면 그 값이어야 한다는 것이다. 그러니까 값이 한 번 정해지면 '이것일 수도 있고 저것일 수도 있다'는 것처럼 애매해서는 안 된다는 것이다. 또한 상호 배타적이라는 것은 정해진 값이 다른 것과 의미적으로 중복되어서는 안 된다는 것이다. 비가 오는 상태인
랜덤 변수는 불연속적이거나 연속적인 범위의 값을 지닐 수 있으며, 반드시 완전해야 하고 상호 배타적이어야 한다.
출처
1. 서강대학교 CSE4185 기초인공지능 양지훈 교수님 수업
2. Stuart J. Russell, Third Edition, Artificial Intelligence: A Modern Approach
소중한 공감 감사합니다.