Outline
- 베이지안 네트워크
- 문법
- 의미론
- 정확한 추론
- 변수 제거
- 요소와 연산
- 근사 추론
- 사전 샘플링
- 거부 샘플링
- 가능도 가중치
- 깁스 샘플링
베이지안 네트워크
- 문법(Syntax): 베이지안 네트워크의 문법은 주로 노드와 화살표로 구성된 그래픽 모델을 말합니다. 여기서 각 노드는 확률 변수를 나타내며, 화살표는 변수 간의 조건부 의존성을 나타냅니다.
- 의미론(Semantics): 베이지안 네트워크의 의미론은 이러한 네트워크가 어떻게 확률적 관계를 모델링하는지 설명합니다. 이는 각 노드의 조건부 확률 분포를 통해 정의됩니다.
정확한 추론(Exact Inference)
- 변수 제거(Variable Elimination): 이 방법은 확률 질문에 답하기 위해 필요하지 않은 변수를 순차적으로 제거하는 과정입니다. 이를 통해 계산을 단순화할 수 있습니다.
- 요소와 연산(Factors and Operations): 요소는 확률 변수의 집합에 대한 확률 값을 표현하는 테이블입니다. 여러 요소를 결합하고, 필요한 변수를 마진화하는 등의 연산을 통해 복잡한 확률 문제를 해결할 수 있습니다.
근사 추론(Approximate Inference)
- 사전 샘플링(Prior Sampling): 이 방법은 네트워크의 조건부 확률 분포에 따라 샘플을 생성하여 근사적인 추론을 수행합니다.
- 거부 샘플링(Rejection Sampling): 특정 조건을 충족하는 샘플만을 선택하는 방법으로, 비효율적일 수 있지만 간단한 문제에 유용합니다.
- 가능도 가중치(Likelihood Weighting): 각 샘플에 가중치를 부여하여 보다 정확한 근사 추론을 가능하게 하는 방법입니다.
- 깁스 샘플링(Gibbs Sampling): 한 번에 하나의 변수를 업데이트하며 샘플을 생성하는 방식으로, 상호 의존적인 변수들을 다룰 때 유용합니다.
Bayes Nets: Big Picture
- 베이즈 네트워크: 복잡한 결합 분포(모델)를 간단한 조건부 분포를 사용하여 설명하는 기술
- 일반적인 그래픽 모델 클래스의 하위 집합
- 지역 인과성/조건부 독립성 사용:
- 세계는 많은 변수로 구성되어 있으며, 각각은 몇몇 다른 변수들과 지역적으로 상호 작용한다
베이즈 네트워크의 정의
베이즈 네트워크는 복잡한 결합 확률 분포를 간단하게 표현하기 위한 방법입니다. 여기서 결합 확률 분포는 여러 변수들이 어떻게 함께 확률적으로 관련되어 있는지를 나타냅니다. 베이즈 네트워크는 이러한 복잡한 관계를 간단한 조건부 분포들로 분해하여, 전체 모델의 구조를 더 쉽게 이해하고 계산할 수 있게 합니다. 이러한 접근 방식은 일반적인 그래픽 모델의 범주에 속합니다.
지역 인과성과 조건부 독립성
베이즈 네트워크에서는 세계를 많은 상호 연결된 변수들의 집합으로 보고, 각 변수는 다른 몇몇 변수들과만 직접적으로 상호 작용한다고 가정합니다. 이러한 가정은 '지역 인과성(local causality)' 또는 '조건부 독립성(conditional independence)'이라고 불리며, 복잡한 시스템을 이해하고 모델링하는 데 중요한 역할을 합니다. 각 변수는 주변의 변수들에 의해서만 영향을 받으며, 이를 통해 전체 시스템의 동작을 더 쉽게 분석하고 예측할 수 있습니다.
Graphical Model Notation
- 노드: 변수들(도메인 포함)
- 할당될 수 있음(관찰됨) 또는 할당되지 않음(관찰되지 않음)
- 호(arc): 상호작용
- 변수들 간의 "직접적인 영향"을 나타냄
- 공식적으로: 호가 없는 것은 조건부 독립을 나타냄 (나중에 더 설명)
그래픽 모델 표기법
노드: 변수
그래픽 모델에서의 노드는 시스템 내의 각각의 변수를 나타냅니다. 이 변수들은 각각의 도메인(가능한 값의 범위)을 가집니다. 변수들은 두 가지 상태를 가질 수 있습니다:
- 할당된(관찰된) 변수: 이러한 변수들은 관찰되거나 이미 알려진 값으로 설정됩니다. 예를 들어, 환자의 특정 증상이나 실험 데이터 등이 이에 해당할 수 있습니다.
- 할당되지 않은(관찰되지 않은) 변수: 이러한 변수들은 아직 알려지지 않았거나 관찰되지 않은 상태입니다. 추론 과정에서 이러한 변수들의 값을 추정하거나 예측하는 것이 일반적입니다.
호: 상호작용
그래픽 모델에서의 호는 변수들 사이의 상호작용이나 직접적인 영향을 나타냅니다. 이러한 호는 다음과 같은 의미를 가집니다:
- 직접적인 영향: 한 변수가 다른 변수에 미치는 직접적인 영향을 나타냅니다. 예를 들어, 질병이 증상에 미치는 영향이 이에 해당할 수 있습니다.
- 조건부 독립의 표현: 호의 부재는 두 변수가 조건부 독립적임을 나타냅니다. 즉, 한 변수가 다른 변수에 대한 정보를 제공하지 않을 때, 이들 사이에는 호가 그려지지 않습니다.
이러한 표기법은 복잡한 시스템 내의 변수들 간의 관계를 명확하게 이해하고 시각화하는 데 도움을 줍니다.
Example: Coin Flips
- n번의 독립적인 동전 던지기
- 변수들 간의 상호작용 없음: 절대적 독립
동전 던지기 예시의 설명
위의 이미지는 동전 던지기의 예를 나타내는 베이지안 네트워크를 간단하게 도식화한 것입니다. 여기서 각 노드 은 동전 던지기의 각각의 결과를 나타내는 확률 변수입니다. 각 동전 던지기는 독립적인 사건으로, 한 번의 던지기 결과가 다른 던지기 결과에 영향을 미치지 않습니다.
이 모델에서 변수들 간에는 호(arc)가 표시되어 있지 않습니다. 이는 각각의 동전 던지기가 서로에게 직접적인 영향을 주지 않으며, 따라서 변수들 사이에 절대적인 독립성이 존재한다는 것을 의미합니다. 각 던지기는 서로 영향을 주지 않기 때문에, 어떤 던지기의 결과가 다른 던지기의 결과에 대해 정보를 제공하지 않습니다.
이러한 종류의 베이지안 네트워크는 계산을 간단하게 만들며, 각 사건의 결합 확률을 계산할 때 각 사건의 개별 확률을 단순히 곱함으로써 쉽게 계산할 수 있습니다. 예를 들어, 모든 동전 던지기가 공평하다고 가정할 때, 모든 동전이 앞면이 나올 확률은 각각의 동전 던지기 앞면이 나올 확률을 모두 곱한 값과 같습니다.
Example: Traffic
- 변수:
- T: 교통 체증이 있다
- U: 나는 우산을 들고 있다
- R: 비가 온다
이미지는 간단한 베이지안 네트워크를 나타내며, 세 가지 변수 에 대한 관계를 모델링하고 있습니다. 각 변수는 다음과 같은 현실 세계의 사건을 나타냅니다:
- : 비가 오는 사건을 나타냅니다. 이 변수는 비가 오는 날의 확률을 모델링할 수 있습니다.
- : 교통 체증이 있는지 없는지를 나타냅니다. 이 변수는 어떤 날 교통 체증이 발생할 확률을 나타낼 수 있습니다.
- : 우산을 들고 있는 사건을 나타냅니다. 이는 개인이 비가 올 것으로 예상하고 우산을 준비하는 상황을 모델링할 수 있습니다.
이미지에서 호(arc)가 표시되지 않았기 때문에, 이 세 변수는 서로 독립적임을 가정하고 있습니다. 즉, 비가 오는 것과 교통 체증이 있는 것, 그리고 개인이 우산을 들고 있는 것 사이에는 직접적인 영향이 없다는 것을 의미합니다. 실제 세계에서 이러한 변수들은 서로 관련이 있을 수 있지만, 이 모델은 그러한 상호 작용을 고려하지 않고 각 사건을 독립적으로 취급합니다.
예를 들어, 이 모델에서는 비가 와서 우산을 들고 있는 사건(U)과 교통 체증(T)이 발생하는 사건이 서로 영향을 미치지 않는다고 가정합니다. 그러나 실제로는 비가 오면 교통 체증이 더 자주 발생할 수 있고, 사람들이 우산을 들고 있는 것을 더 자주 볼 수 있습니다. 이러한 상호 작용을 모델에 포함시키려면, 추가적인 호를 이용하여 변수들 간의 관계를 나타내야 합니다.
Example: Smoke Alarm
- 변수:
- F: 불이 난다
- S: 연기가 난다
- A: 경보기가 울린다
이미지는 연기 감지기와 관련된 상황을 나타내는 베이지안 네트워크의 일부를 보여줍니다. 여기서 각 변수는 다음과 같은 현실 세계의 사건을 나타냅니다:
- : '불이 난다'는 사건으로, 어떤 장소에서 실제로 화재가 발생했는지를 나타냅니다.
- : '연기가 난다'는 사건으로, 화재가 있을 때 연기가 발생하는 것을 나타냅니다.
- : '경보기가 울린다'는 사건으로, 연기 감지기가 연기를 감지하고 경보를 발하는 상황을 나타냅니다.
이 세 변수는 서로 관련이 있을 것으로 보입니다. 그러나 이미지에는 이들 사이의 상호작용이나 직접적인 영향을 나타내는 호(arc)가 표시되어 있지 않습니다. 이는 각 사건이 독립적으로 발생한다는 것을 가정하고 있음을 의미합니다. 실제 모델에서는 '불이 남(F)'과 '연기가 남(S)' 사이에 확실히 직접적인 영향이 있을 것이고, 이는 '경보기가 울림(A)'과도 관련이 있을 것입니다. 하지만 이 이미지에서는 그러한 상호작용을 나타내지 않고 있으므로, 각 변수가 독립적인 사건으로 간주되고 있는 것으로 보입니다.
실제 베이지안 네트워크 모델에서는 이런 사건들 사이의 인과 관계를 명확히 나타내기 위해 호를 그려서 표현합니다. 예를 들어, '불이 남(F)'이 '연기가 남(S)'의 원인이 되고, '연기가 남(S)'이 '경보기가 울림(A)'의 원인이 되는 호를 그려서 이 사건들 사이의 직접적인 인과 관계를 나타낼 수 있습니다.
Example Bayes’ Net: Car Insurance
이 이미지는 자동차 보험과 관련된 베이지안 네트워크의 예를 보여줍니다. 네트워크는 다양한 변수들로 구성되며, 이 변수들은 자동차 사고, 차량 특성, 운전자 특성, 사회경제적 상태 등과 관련이 있습니다. 이 변수들 간의 호(arc)는 인과 관계나 조건부 의존성을 나타냅니다.
예를 들어, "운전자 기술(DrivingSkill)"과 "운전 기록(DrivingRecord)"은 "운전 행동(DrivingBehavior)"에 영향을 미칠 수 있고, 이것은 다시 "사고(Accident)" 발생에 영향을 줄 수 있습니다. 마찬가지로, "안전 기능(SafetyFeatures)"과 "에어백(Airbag)"과 같은 차량의 특성은 "차량 손상(OwnCarDamage)"의 정도에 영향을 미칠 수 있으며, 이는 "차량 비용(OwnCarCost)"에도 영향을 줍니다.
이 네트워크는 보험 회사가 고객의 프로필을 분석하고 리스크를 평가하며, 보험료를 산정할 때 중요한 변수들과 그 상호작용을 이해하는 데 도움을 줍니다. 예를 들어, "사회경제적(SocioEcon)" 상태가 좋은 사람이나 "좋은 학생(GoodStudent)"으로 분류되는 운전자는 리스크 회피 성향(RiskAversion)이 더 높을 수 있고, 이는 낮은 사고 발생률과 연결될 수 있습니다. 이러한 정보는 보험료 산정에 중요한 요소로 작용할 수 있습니다.
이 네트워크는 또한 다양한 변수가 사고 발생 후의 경제적 결과에 어떻게 영향을 미치는지를 보여줍니다. "사고(Accident)"가 발생하면 "의료 비용(MedicalCost)", "타인 손해 배상 비용(LiabilityCost)", "재산 손실(PropertyCost)" 등 다양한 비용이 발생할 수 있으며, 이러한 비용은 전반적인 "차량 관련 비용(OwnCarCost)"에 영향을 미칩니다.
이런 식으로 베이지안 네트워크는 복잡한 현실 세계의 상황을 모델링하고, 각 변수가 전체 시스템에 미치는 영향을 정량적으로 분석할 수 있는 강력한 도구입니다. 보험 회사는 이러한 모델을 사용하여 각 개인의 리스크를 더 잘 이해하고, 보험 상품을 맞춤형으로 설계할 수 있습니다.
Example Bayes’ Net: Car Won’t Start
이 이미지는 '자동차가 시동이 걸리지 않는 상황'을 설명하기 위한 베이지안 네트워크를 보여줍니다. 각 노드는 자동차가 시동이 걸리지 않을 수 있는 다양한 원인을 나타내며, 호는 원인과 결과 사이의 인과 관계를 나타냅니다.
- 배터리 관련 변수: "배터리 나이(battery age)", "배터리 죽음(battery dead)", "배터리 미터(battery meter)", 그리고 "배터리 방전(battery flat)"과 같은 변수들은 배터리 상태와 관련이 있습니다. 배터리가 오래되었거나 문제가 있다면, 배터리 미터가 이를 나타낼 수 있으며, 이는 "배터리 방전(battery flat)"과 "차가 시동이 걸리지 않음(car won’t start)"으로 이어질 수 있습니다.
- 발전기 및 팬 벨트: "발전기 고장(alternator broken)"과 "팬 벨트 고장(fanbelt broken)"은 "충전 안 됨(no charging)"으로 이어지는 원인이 될 수 있고, 이는 배터리 방전으로 이어질 수 있습니다.
- 유류 및 오일: "오일 없음(no oil)"과 "가스 없음(no gas)"은 모두 차량이 시동이 걸리지 않는 직접적인 원인이 될 수 있습니다. "연료 라인 막힘(fuel line blocked)"과 "스타터 고장(starter broken)"도 차량의 시동 문제에 영향을 미칠 수 있는 다른 원인들입니다.
- 다양한 지표: "라이트(lights)", "오일 라이트(oil light)", "가스 게이지(gas gauge)", 그리고 "딥스틱(dipstick)"은 차량의 다양한 상태를 모니터링하는 지표들입니다. 이 지표들은 차량의 문제를 식별하는 데 도움을 줄 수 있습니다.
이 네트워크는 차량의 시동 문제를 진단할 때 발생 가능한 여러 원인들을 평가하는 데 도움을 줄 수 있습니다. 각 원인(노드)은 서로 다른 결과에 영향을 미치며, 이러한 인과 관계는 문제 해결 과정에서 중요한 단서를 제공합니다. 예를 들어, 만약 배터리 미터가 낮은 전압을 나타낸다면, 이는 배터리 관련 문제나 충전 시스템의 이상을 시사할 수 있습니다. 반면에, 오일 라이트가 켜져 있다면, 이는 오일 레벨이 낮거나 누유가 있을 수 있음을 나타냅니다.
따라서 이 네트워크는 어떤 지표가 비정상인지, 그리고 어떤 조건들이 차량의 시동 문제로 이어질 수 있는지를 파악하는 데 유용한 도구로 활용될 수 있습니다.
Bayes Net Syntax and Semantics
베이즈 네트워크는 확률적 모델링에 사용되는 그래픽 모델 중 하나로, 확률 변수들 간의 관계를 그래프로 표현하는 방법입니다. 베이즈 네트워크는 확률적인 의존성과 조건부 독립성을 나타내기 위해 사용됩니다. 이러한 네트워크는 각 노드가 확률 변수를 나타내고, 간선은 이 변수들 간의 종속성을 나타냅니다.
베이즈 네트워크의 문법과 의미를 설명해 보겠습니다.
- 문법 (Syntax) - 베이즈 네트워크의 구성요소:
- 노드 (Node): 각 노드는 확률 변수를 나타냅니다. 예를 들어, "비가 오늘 내릴 확률"이라는 확률 변수를 나타내는 노드가 있을 수 있습니다.
- 간선 (Edge): 노드 간의 방향 있는 간선은 변수들 간의 조건부 의존성을 나타냅니다. 즉, 한 노드의 값이 다른 노드의 값을 예측하는데 도움을 줄 수 있습니다.
- 확률 테이블 (Probability Table): 각 노드는 그 노드의 부모 노드들에 대한 조건부 확률 분포를 정의하는 확률 테이블을 가집니다. 이 테이블은 조건부 독립성을 나타내는데 사용됩니다.
- 의미 (Semantics) - 베이즈 네트워크의 작동 원리:
- 베이즈 네트워크는 조건부 독립성을 활용하여 확률 변수들 간의 관계를 모델링합니다. 즉, 어떤 변수가 주어졌을 때 다른 변수들 간의 의존성을 설명합니다.
- 베이즈 네트워크는 베이즈 정리를 활용하여 사후 확률을 업데이트합니다. 이를 통해 관측된 데이터를 기반으로 모델을 향상시키고 예측을 수행할 수 있습니다.
- 베이즈 네트워크는 확률적 추론을 통해 다양한 확률 관련 질문에 답할 수 있습니다. 예를 들어, 주어진 증거(observations)에 기반하여 다른 변수의 확률을 예측할 수 있습니다.
베이즈 네트워크는 의사 결정 지원, 패턴 분석, 예측 등 다양한 응용 분야에서 사용됩니다. 이러한 모델을 구축하려면 문법과 의미를 잘 이해하고, 확률 테이블을 적절하게 정의하여 네트워크를 구성해야 합니다.
Bayes Net Syntax
- 변수당 하나의 노드 세트, 각각은 𝑋_𝑖 변수에 해당합니다.
- 방향성이 있는 비순환 그래프
- 그래프에서 각 노드에 대한 조건부 분포
- CPT(조건부 확률 테이블); 각 행은 부모 변수의 값에 따른 자식 변수의 분포를 나타냅니다.
베이즈 네트워크 = 위상 (그래프) + 지역 조건부 확률
- "A set of nodes, one per variable 𝑋_𝑖": 각 변수 𝑋_𝑖 에 대해 하나의 노드 집합이 존재합니다. 이것은 각 변수가 네트워크에서 노드로 표현된다는 의미입니다.
- "A directed, acyclic graph": 방향성이 있는 비순환 그래프, 즉, 노드 간에 방향이 있고 순환하지 않는 구조입니다. 간선은 변수들 간의 관계를 나타냅니다.
- "A conditional distribution for each node given its parent variables in the graph": 각 노드는 그래프에서 부모 변수들을 기준으로 조건부 분포를 가집니다. 이것은 조건부 확률 테이블(CPT)을 의미하며, 각 노드의 확률 분포를 부모 변수의 값에 따라 정의합니다.
- "Bayes net = Topology (graph) + Local Conditional Probabilities": 베이즈 네트워크는 그래프의 구조(위상)와 각 노드의 지역 조건부 확률들로 구성됩니다. 즉, 네트워크의 구조와 각 변수의 조건부 확률 분포가 함께 이 네트워크를 정의합니다.
이것들을 모두 합치면, 베이즈 네트워크는 확률 변수들 간의 관계를 표현하는 그래프 구조이며, 각 변수의 조건부 확률 분포를 통해 확률적인 의존성을 모델링합니다. 이러한 모델은 확률적 추론과 예측 등 다양한 응용 분야에서 사용됩니다.
Example: Alarm Network
- 각 CPT(조건부 확률 테이블) 내의 무료 매개변수 수
- 부모 범위 크기 (Parent range sizes) 𝑑_1,…,𝑑_𝑘:
- 자식 범위 크기 (Child range size) 𝑑:
- 각 테이블 행은 합이 1이어야 함:
이 이미지는 '알람 네트워크'의 예를 보여주는 베이지안 네트워크입니다. 네트워크는 각각 '강도(Burglary)', '지진(Earthquake)', '알람(Alarm)', '존이 전화함(John calls)', 그리고 '메리가 전화함(Mary calls)'을 나타내는 노드들로 구성되어 있습니다. 각 노드는 특정 사건의 발생 확률을 나타내고, 노드 간의 화살표는 한 사건이 다른 사건의 발생에 미치는 영향을 나타냅니다.
네트워크는 다음과 같은 확률 정보를 포함하고 있습니다:
- 는 '강도가 발생할 확률'을 나타내고, 는 '지진이 발생할 확률'을 나타냅니다.
- 는 '강도나 지진이 발생했을 때 알람이 울릴 조건부 확률'을 나타냅니다.
- 는 '알람이 울렸을 때 존이 전화할 조건부 확률'을, 는 '알람이 울렸을 때 메리가 전화할 조건부 확률'을 나타냅니다.
이미지에 제시된 "CPT의 자유 매개변수 수"에 대한 부분은 각 조건부 확률 표(Conditional Probability Table, CPT)에서 독립적으로 설정할 수 있는 매개변수의 수를 계산하는 방법을 설명합니다. 이 계산은 확률 모델을 구축할 때 중요한데, 각 행의 확률 합이 1이 되어야 하기 때문에, 모든 가능한 부모 노드의 조합에 대해 하나의 확률값을 줄여야 합니다. 따라서, 자식 노드의 가능한 상태 수 에서 1을 뺀 값과, 모든 부모 노드의 가능한 상태 수 의 곱으로 자유 매개변수의 수를 계산합니다.
이 공식은 이론적으로 CPT에서 설정해야 하는 독립 매개변수의 총 개수를 의미합니다. 예를 들어, '알람' 노드의 경우, '강도'와 '지진' 노드의 상태에 따라 '알람'이 울릴 확률이 달라지므로, 이 확률들을 정의하는 데 필요한 독립 매개변수의 수를 계산할 때 이 공식을 사용합니다.
- 각 CPT(조건부 확률 테이블) 내의 무료 매개변수 수:
- 각 노드 (변수)의 CPT에는 몇 개의 무료 매개변수가 있는지를 나타내는 것입니다. 이것은 확률 분포를 설명하는 데 필요한 파라미터 수를 의미합니다.
- 부모 범위 크기 (Parent range sizes) 𝑑_1,…,𝑑_𝑘:
- 이것은 각 노드의 CPT에서 해당 노드의 부모 노드(들)의 값 범위 크기를 나타냅니다. 다시 말해, 각 부모 변수의 가능한 값의 수입니다. 𝑑_1, 𝑑_2, ..., 𝑑_𝑘는 각 부모 노드의 값 범위 크기를 나타냅니다.
- 자식 범위 크기 (Child range size) 𝑑:
- 이것은 해당 노드의 CPT에서 자식 노드의 값 범위 크기를 나타냅니다. 다시 말해, 자식 변수의 가능한 값의 수입니다.
- 각 테이블 행은 합이 1이어야 함:
- CPT의 각 행은 조건부 확률 분포를 나타내며, 각 행의 확률 값들의 합은 항상 1이어야 합니다. 이는 조건부 확률의 정의를 따릅니다.
- 수식 (𝑑−1)∏2_𝑖▒𝑑_𝑖:
- 이 수식은 CPT 내에서 필요한 무료 매개변수의 수를 계산하기 위한 공식을 나타냅니다. 여기서 𝑑는 자식 변수의 값 범위 크기이며, 𝑑_𝑖는 각 부모 변수의 값 범위 크기입니다. 이 공식은 조건부 확률 분포의 파라미터 수를 계산하는 데 사용됩니다.
General Formula for Sparse BNs
- 가정:
- 𝑛 개의 변수가 있다.
- 최대 범위 크기는 𝑑이다.
- 최대 부모 수는 𝑘이다.
- 전체 합동 분포(Full joint distribution)의 크기는 𝑂(𝑑^𝑛)이다.
- 베이즈 네트워크의 크기는 𝑂(𝑛𝑑^𝑘)이다.
- 𝑛이 작으면 인과 구조가 지역적인 한계 내에서 일어나는 한, 선형적으로 스케일링됩니다.
전체 합동 분포는 가능한 모든 변수 조합에 대한 확률 분포를 나타냅니다. 이 크기는 변수의 수와 범위 크기에 따라 지수적으로 증가합니다.𝑛 (변수의 수)이 작은 경우 베이즈 네트워크의 크기가 선형적으로 증가하며, 인과 관계가 지역적인 경우에는 효율적으로 모델을 구축할 수 있습니다.베이즈 네트워크는 확률 변수들 간의 조건부 의존성을 표현하는 그래프입니다. 이 네트워크의 크기는 변수 수 (𝑛), 최대 범위 크기 (𝑑), 최대 부모 수 (𝑘)에 선형적으로 스케일됩니다.이것은 전체 합동 분포 크기에 비해 훨씬 효율적입니다.𝑛 (변수의 수)이 작은 경우 베이즈 네트워크의 크기가 선형적으로 증가하며, 인과 관계가 지역적인 경우에는 효율적으로 모델을 구축할 수 있습니다.
Bayes Net Global Semantics
- 베이즈 네트워크는 각 변수에 대한 조건부 분포의 곱으로서 결합 분포를 인코딩합니다. 이것은 다음과 같은 수식으로 표현됩니다.
- 𝑋₁, 𝑋₂, ..., 𝑋ₙ은 확률 변수입니다.
- P(𝑋₁, 𝑋₂, ..., 𝑋ₙ)은 이 변수들의 결합 확률 분포를 나타냅니다.
- 각 확률 변수 𝑋ᵢ는 그 변수의 부모 노드(들)가 주어진 조건에서의 조건부 확률 분포인 P(𝑋ᵢ | Parents(𝑋ᵢ))로 표현됩니다.
이것은 베이즈 네트워크의 전체 구조와 조건부 확률 분포를 통해 모든 변수들 간의 결합 분포를 설명하는 원리입니다. 즉, 네트워크 내의 각 노드는 그 부모 노드들과의 관계에 따라 조건부 확률 분포를 가지며, 전체 네트워크는 이러한 조건부 확률 분포들의 곱으로 결합 분포를 나타냅니다.
이것은 베이즈 네트워크가 확률적인 의존성과 독립성을 모델링하고, 이를 통해 다양한 확률 관련 질문에 답할 수 있는 강력한 확률적 모델임을 나타냅니다.
Conditional Independence in BNs
베이즈 네트워크(Bayes net)에서 조건부 독립성을 비교하려면 다음과 같은 글로벌 의미의 베이즈 네트워크를 체인 룰 항등식과 비교해볼 수 있습니다.
- 베이즈 네트워크 글로벌 의미:
- 𝑃(𝑋_1,..,𝑋_𝑛)=∏2_𝑖▒〖𝑃(𝑋_𝑖 | Parents(𝑋_𝑖))〗
- 체인 룰 항등식:
- 𝑃(𝑋_1,..,𝑋_𝑛)=∏2_𝑖▒〖𝑃(𝑋_𝑖 ┤| 𝑋_1,…,𝑋_(𝑖−1))〗
- 𝑋_1,..,𝑋_𝑛은 그래프에 따라 위상 순서(topological order)로 정렬되어 있다고 가정하겠습니다. 즉, Parents(𝑋_𝑖 )⊆{𝑋_1,…,𝑋_(𝑖−1)}입니다. 이것은 각 노드의 부모가 다른 선행자로부터 해당 노드를 "보호"한다는 것을 의미합니다.
- 따라서 베이즈 네트워크는 조건부 독립성을 다음과 같이 주장합니다: 𝑃(𝑋_𝑖 ┤| 𝑋_1,…,𝑋_(𝑖−1))=𝑃(𝑋_𝑖 |Parents(𝑋_𝑖))
- 이러한 독립성이 유효한지 확인하기 위해서는 각 노드 𝑋_𝑖의 부모가 다른 선행자로부터 해당 노드를 "보호"하도록 선택해야 합니다.
먼저, 베이즈 네트워크(Bayes net)는 확률 모델을 나타내는 그래프입니다. 이 그래프에서 각 노드는 확률 변수를 나타내고, 화살표는 변수 간의 조건부 의존성을 나타냅니다. 화살표의 방향은 원인(부모)과 결과(자식) 관계를 나타냅니다.
베이즈 네트워크에서 조건부 독립성은 중요한 개념입니다. 이것은 주어진 조건 아래에서 어떤 노드들이 서로 독립적으로 발생할 수 있는지를 나타냅니다.
주어진 조건 아래에서 베이즈 네트워크의 확률 분포를 표현하는 두 가지 방법이 있습니다. 하나는 베이즈 네트워크의 글로벌 의미를 사용하는 것이고, 다른 하나는 체인 룰 항등식을 사용하는 것입니다.
- 베이즈 네트워크의 글로벌 의미: 확률 변수 X_1, X_2, ..., X_n의 결합 확률 분포를 계산할 때, 각 노드 X_i는 그 부모 노드들 (Parents(X_i))에 대한 조건부 확률 분포로 표현됩니다. 이때, 결합 분포는 각 노드의 조건부 확률 분포의 곱으로 표현됩니다. 즉, P(X_1, X_2, ..., X_n) = ∏i P(X_i | Parents(X_i))
- 체인 룰 항등식: 확률 변수 X_1, X_2, ..., X_n의 결합 확률 분포를 계산할 때, 각 노드 X_i는 그 이전 노드들 (X_1, X_2, ..., X_(i-1))에 대한 조건부 확률 분포로 표현됩니다. 이때, 결합 분포는 각 노드의 조건부 확률 분포의 곱으로 표현됩니다. 즉, P(X_1, X_2, ..., X_n) = ∏i P(X_i | X_1, X_2, ..., X_(i-1))
주어진 조건에서 두 가지 방법은 동일한 확률 분포를 나타내며, 따라서 조건부 독립성을 나타내는 데 동일한 정보를 제공합니다. 두 번째 방법(체인 룰 항등식)은 이전 노드들에 대한 조건부 확률 분포를 사용하여 노드의 조건부 확률을 계산하며, 이로 인해 이전 노드들이 현재 노드에 영향을 미치는 것을 나타냅니다. 이렇게 선택된 부모 노드들이 조건부 독립성을 유지하기 위해 노드를 "보호"합니다.
Example
이 이미지들은 베이지안 네트워크의 구조와 조건부 확률을 사용하여 특정 사건의 확률을 계산하는 예를 보여줍니다. 네트워크는 강도(Burglary), 지진(Earthquake), 알람(Alarm), 존이 전화함(John calls), 메리가 전화함(Mary calls)을 나타내는 노드들로 구성되어 있습니다.
첫 번째 이미지는 각 사건의 발생 확률 및 사건들 간의 조건부 확률을 나타냅니다. 예를 들어, 강도(B)가 발생할 사전 확률 는 0.001이며, 지진(E)이 발생할 사전 확률 는 0.002입니다. 또한, 알람(A)이 울리는 조건부 확률 은 강도와 지진이 모두 발생하지 않았을 때 0.001, 강도는 발생하지 않았지만 지진은 발생했을 때 0.71, 강도가 발생했으나 지진은 발생하지 않았을 때 0.94, 그리고 둘 다 발생했을 때는 0.95입니다.
두 번째 이미지는 특정 시나리오에 대한 확률을 계산하는 과정을 보여줍니다. 계산된 시나리오는 다음과 같습니다:
- 강도가 발생했지만 지진은 발생하지 않았고(alarm is true),
- 알람은 울리지만(alarm is true),
- 존은 전화하지 않고(john does not call),
- 메리도 전화하지 않는 상황(mary does not call).
이 시나리오의 확률을 계산하기 위해, 다음과 같은 확률 곱셈 규칙을 사용합니다:
그리고 주어진 값들을 대입하여 계산하면,
=0.001⋅0.998⋅0.94⋅0.1⋅0.3=0.000028
이 결과는 위의 조건들이 동시에 만족할 확률이 매우 낮다는 것을 나타냅니다. 이러한 계산은 특정 조건들이 주어졌을 때 발생할 수 있는 시나리오의 확률을 평가하는 데 사용됩니다. 이는 베이지안 네트워크를 사용하여 복잡한 확률 문제를 해결하는 강력한 방법입니다.
Conditional Independence Semantics
- 모든 변수는 부모 변수들이 주어진 상황에서 자신의 비자손(non-descendants) 변수들에 대해 조건부 독립합니다.
- 조건부 독립성 의미 <=> 전역 의미
조건부 독립성 의미는 베이즈 네트워크(Bayes net)에서 사용되는 중요한 개념 중 하나입니다. 이 개념은 다음과 같이 요약될 수 있습니다:
- 모든 변수는 그 변수의 부모 변수들이 주어진 상황에서, 자신의 비자손 변수들에 대해 조건부 독립합니다.
- 즉, 어떤 변수가 주어진 조건에서 그 변수의 부모 변수들을 고려하면, 그 변수와 그 부모 변수들을 제외한 나머지 변수들은 서로 독립적으로 발생한다는 것을 의미합니다.
예를 들어, A, B, C 세 개의 변수가 있는 베이즈 네트워크에서 A가 B의 부모이고 B가 C의 부모라고 가정하면, A가 주어진 상황에서 B와 C는 서로 독립적으로 발생한다는 것을 의미합니다.
또한, 조건부 독립성 의미는 베이즈 네트워크의 전역 의미와 관련이 있습니다. 이것은 다음과 같이 표현할 수 있습니다:
- 조건부 독립성 의미는 베이즈 네트워크의 전역 의미와 동등하다.
- 즉, 조건부 독립성 의미를 충족하는 베이즈 네트워크는 전역 의미를 충족하며, 그 반대도 마찬가지입니다.
이 두 가지 의미는 베이즈 네트워크에서 확률 분포와 변수 간의 관계를 나타내는 데 사용되며, 조건부 독립성 의미가 만족되면 모든 확률 분포를 더 간단하게 표현할 수 있습니다.
Example: Burglary
- 강도(Burglary)
- 지진(Earthquake)
- 알람(Alarm)
이미지는 '강도(Burglary)', '지진(Earthquake)', 그리고 '알람(Alarm)'의 관계를 나타내는 베이지안 네트워크의 한 부분을 보여줍니다. 네트워크에 표시된 확률 값들은 다음과 같은 정보를 제공합니다:
- 는 강도가 발생할 사전 확률을 나타내며, 이 값은 0.001입니다. 즉, 강도 발생 확률은 매우 낮습니다.
- 는 지진이 발생할 사전 확률을 나타내며, 이 값은 0.002입니다. 지진 발생 확률도 낮습니다.
- 는 강도나 지진이 발생했을 때 알람이 울릴 조건부 확률을 나타냅니다. 예를 들어, 강도만 발생했을 때 알람이 울릴 확률은 0.95, 지진만 발생했을 때는 0.71입니다.
이미지에서 물음표(?)는 아마도 다른 변수들로부터의 화살표를 나타내는 것 같은데, 각 화살표는 다른 사건이 '알람' 상태에 미치는 영향을 나타냅니다. 예를 들어, 강도(B)가 발생하면 이는 알람(A)이 울리는 것에 영향을 미칠 수 있고, 지진(E)도 마찬가지로 알람(A)에 영향을 미칠 수 있습니다. 화살표와 물음표는 아마도 네트워크에서 누락된 정보를 나타내며, 이는 추가적인 정보나 데이터가 필요함을 의미할 수 있습니다.
이 네트워크는 보안 시스템의 성능을 분석하거나, 특정 상황에서 알람이 울릴 확률을 계산하는 데 사용될 수 있습니다. 예를 들어, 이 네트워크를 사용하여 보안 회사가 알람 시스템이 강도나 지진 같은 사건에 얼마나 잘 반응하는지를 평가할 수 있습니다.
이 이미지는 베이지안 네트워크의 구조를 나타내며, 각 노드와 노드 간의 화살표는 변수들 간의 인과 관계를 나타냅니다. 그러나, 화살표의 방향과 연결된 변수의 조건부 확률이 표시되지 않아 네트워크의 전체적인 의미를 해석하기 어렵습니다. 물음표(?)는 누락된 정보 또는 미지의 확률을 나타내며, 해당 노드의 정확한 확률 분포나 부모 노드로부터의 인과 관계가 명시되어 있지 않음을 의미합니다.
이 네트워크에서는 '알람(Alarm)'이 중심 노드로 표시되어 있으며, '강도(Burglary)'와 '지진(Earthquake)'이라는 두 가지 원인 노드에 연결되어 있습니다. '알람'의 확률은 주어지지 않았으며, '강도'와 '지진'의 조건부 확률도 물음표로 표시되어 있습니다.
이러한 네트워크는 일반적으로 강도나 지진과 같은 사건이 알람 상태에 미치는 영향을 모델링하는 데 사용됩니다. 조건부 확률은 각 사건이 발생했을 때 다른 사건의 확률을 조정합니다. 예를 들어, '강도'가 발생하면 '알람'이 울릴 확률이 높아질 것이고, '지진'이 발생하면 '알람'이 울릴 확률이 달라질 수 있습니다. 그러나 이 이미지에서는 그러한 상세한 확률이나 인과 관계가 제공되지 않고 있습니다.
이 네트워크를 완성하고 사용하기 위해서는 '강도'나 '지진'이 '알람'에 미치는 영향을 나타내는 조건부 확률 와 를 포함하여 각 변수의 사전 확률 , , 를 알아야 합니다. 누락된 정보를 기반으로 추론을 수행하거나 결정을 내리려면 추가적인 데이터나 전문가의 지식이 필요합니다.
Exact Inference
"Exact Inference"는 확률적 그래피컬 모델(Probabilistic Graphical Models)에서 중요한 개념 중 하나입니다. 이것은 주어진 확률 모델에 대한 정확한(즉, 근사가 아닌) 추론(추정)을 수행하는 과정을 나타냅니다.
확률적 그래피컬 모델은 베이즈 네트워크나 마르코프 랜덤 필드와 같은 그래프 기반 모델로서, 변수 간의 의존성을 그래프 구조로 표현합니다. 이러한 모델을 사용하면 복잡한 확률 분포를 간단하게 나타낼 수 있습니다. 그러나 주어진 모델과 관측 데이터를 기반으로 확률 변수에 대한 추론을 수행해야 할 때 "Exact Inference"가 필요합니다.
"Exact Inference"는 다음과 같은 몇 가지 주요 목표를 포함합니다:
- 확률 분포 추정: 주어진 관측 데이터와 모델을 사용하여 확률 변수의 확률 분포를 추정합니다. 이를 통해 우리는 모델에서 다양한 질문에 대한 확률적 답변을 얻을 수 있습니다.
- 조건부 확률 계산: 주어진 관측 데이터와 일부 변수에 대한 값을 알고 있을 때, 다른 변수에 대한 조건부 확률을 계산합니다. 예를 들어, 베이즈 네트워크에서 특정 증상을 관측했을 때 질병의 발병 확률을 계산하는 것이 이에 해당합니다.
- 최대 우도 추정: 관측 데이터를 기반으로 모델의 파라미터를 조정하여 가장 가능성 있는 모델을 찾는 과정을 수행합니다.
Exact Inference를 수행하는 데 사용되는 알고리즘 중 일부는 다소 복잡하고 계산량이 크기 때문에, 작은 모델에서는 빠르게 수행할 수 있지만, 큰 모델에서는 계산적으로 비싸거나 불가능할 수 있습니다. 따라서 모델의 크기와 복잡성, 사용 사례에 따라서 적절한 추론 알고리즘을 선택해야 합니다. Exact Inference의 대표적인 알고리즘에는 변수 제거, 전방 및 역방향 메시지 전달, 제한된 베이스 팩터(Belief Propagation) 알고리즘 등이 있습니다.
Inference by Enumeration in Bayes Net ( 베이즈 네트워크에서의 열거에 의한 추론)
- 열거에 의한 추론의 개념 강조:
- 관심 있는 확률은 조인 분포의 항목을 합산함으로써 계산할 수 있습니다: 𝑃(𝑄 | 𝑒)=𝛼∑2_ℎ▒〖𝑃(𝑄 , ℎ, 𝑒)〗
- 조인 분포의 항목은 해당하는 조건부 확률을 곱하여 얻을 수 있습니다.
- 예시
- 𝑃(𝐵| 𝑗, 𝑚)=𝛼∑2_(𝑒,𝑎)▒〖𝑃(𝐵, 𝑒, 𝑎, 𝑗, 𝑚)〗=𝛼∑2_(𝑒,𝑎)▒〖𝑃(𝐵) 𝑃(𝑒) 𝑃(𝑎|𝐵,𝑒) 𝑃(𝑗|𝑎) 𝑃(𝑚|𝑎)〗
- 따라서 베이즈 네트워크에서의 추론은 숫자의 곱을 합산하는 것을 의미합니다. 쉽게 보일 수 있어요!
- 문제: 지수적으로 많은 곱셈 결과를 합산해야 함!
베이즈 네트워크(Bayes Net)에서의 추론(inference)은 주어진 확률 모델과 관측 데이터를 기반으로 원하는 확률을 계산하는 과정을 의미합니다. 추론을 수행하는 방법 중 하나는 "열거에 의한 추론"입니다.
열거에 의한 추론은 다음과 같이 요약될 수 있습니다:
- 관심 있는 확률 변수(Q)에 대한 조건부 확률을 계산하려면, 조인 분포(joint distribution)의 항목을 합산합니다.
- 예를 들어, P(Q | e)를 계산하려면 다음과 같이 합산합니다: P(Q | e) = αΣᵢ P(Q, ℎᵢ, e)
- 조인 분포의 항목은 베이즈 네트워크에서 해당하는 조건부 확률을 곱하여 얻을 수 있습니다.
예를 들어, P(𝐵| 𝑗, 𝑚)를 계산하려면 다음과 같이 합산합니다: P(𝐵| 𝑗, 𝑚) = αΣᵢ,ᵃ P(𝐵, 𝑒, 𝑎, 𝑗, 𝑚) = αΣᵢ,ᵃ [P(𝐵) * P(𝑒) * P(𝑎|𝐵,𝑒) * P(𝑗|𝑎) * P(𝑚|𝑎)]
즉, 베이즈 네트워크에서 추론은 숫자들을 곱하고 더하는 것처럼 보입니다. 그러나 문제는 이러한 곱셈과 합산을 수행할 때 발생하는 계산 비용입니다.
문제는 베이즈 네트워크의 크기가 커질수록 곱셈과 합산을 수행해야 할 항목의 수가 급격하게 증가한다는 것입니다. 이로 인해 지수적으로 많은 계산이 필요할 수 있으며, 큰 베이즈 네트워크에서 정확한 추론을 수행하는 것이 어려울 수 있습니다. 따라서 효율적인 추론 알고리즘을 개발하는 것이 중요합니다.
Can We Do Better?
- 다음 식을 고려해보세요: 𝑢𝑤𝑦+𝑢𝑤𝑧+𝑢𝑥𝑦+𝑢𝑥𝑧+𝑣𝑤𝑦+𝑣𝑤𝑧+𝑣𝑥𝑦+𝑣𝑥𝑧
- 16 번의 곱셈, 7 번의 덧셈이 필요합니다.
- 많은 반복된 부분 표현이 존재합니다!
- 이것을 다음과 같이 다시 쓸 수 있습니다: (𝑢+𝑣)(𝑤+𝑥)(𝑦+𝑧)
- 2 번의 곱셈, 3 번의 덧셈만 필요합니다.
- 베이즈 네트워크에서의 추론도 이와 유사한 아이디어를 활용할 수 있습니다.
- ∑2_(𝑒,𝑎)▒〖𝑃(𝐵) 𝑃(𝑒) 𝑃(𝑎|𝐵,𝑒) 𝑃(𝑗|𝑎) 𝑃(𝑚|𝑎)〗 =𝑃(𝐵)𝑃(𝑒)𝑃(𝑎│𝐵,𝑒)𝑃(𝑗│𝑎)𝑃(𝑚│𝑎)+ 𝑃(𝐵)𝑃(𝑒)𝑃(¬𝑎│𝐵,𝑒)𝑃(𝑗│¬𝑎)𝑃(𝑚│¬𝑎)+ 𝑃(𝐵)𝑃(¬𝑒)𝑃(𝑎│𝐴,¬𝑒)𝑃(𝑗│𝑎)𝑃(𝑚│𝑎)+ 𝑃(𝐵)𝑃(¬𝑒)𝑃(¬𝑎|𝐵,¬𝑒)𝑃(𝑗│¬𝑎)𝑃(𝑚│¬𝑎)
- 많은 반복된 부분 표현이 존재합니다!
- ∑2_(𝑒,𝑎)▒〖𝑃(𝐵) 𝑃(𝑒) 𝑃(𝑎|𝐵,𝑒) 𝑃(𝑗|𝑎) 𝑃(𝑚|𝑎)〗 =𝑃(𝐵)𝑃(𝑒)𝑃(𝑎│𝐵,𝑒)𝑃(𝑗│𝑎)𝑃(𝑚│𝑎)+ 𝑃(𝐵)𝑃(𝑒)𝑃(¬𝑎│𝐵,𝑒)𝑃(𝑗│¬𝑎)𝑃(𝑚│¬𝑎)+ 𝑃(𝐵)𝑃(¬𝑒)𝑃(𝑎│𝐴,¬𝑒)𝑃(𝑗│𝑎)𝑃(𝑚│𝑎)+ 𝑃(𝐵)𝑃(¬𝑒)𝑃(¬𝑎|𝐵,¬𝑒)𝑃(𝑗│¬𝑎)𝑃(𝑚│¬𝑎)
이 문장은 수학적인 표현을 통해 어떻게 계산을 효율적으로 수행할 수 있는지 설명하고 있습니다.
먼저, "𝑢𝑤𝑦+𝑢𝑤𝑧+𝑢𝑥𝑦+𝑢𝑥𝑧+𝑣𝑤𝑦+𝑣𝑤𝑧+𝑣𝑥𝑦+𝑣𝑥𝑧"라는 식은 다양한 변수와 연산이 포함된 복잡한 식입니다. 이 식을 계산할 때 16번의 곱셈과 7번의 덧셈이 필요합니다.
그러나 이 식을 "(𝑢+𝑣)(𝑤+𝑥)(𝑦+𝑧)"로 다시 작성하면 곱셈 2번과 덧셈 3번만 필요하게 됩니다. 이렇게 하면 계산량이 크게 감소하고 계산을 더 효율적으로 수행할 수 있습니다.
이 개념은 베이즈 네트워크에서 추론을 수행할 때도 적용됩니다. 베이즈 네트워크에서는 확률 변수와 그 사이의 조건부 확률을 다루는데, 이러한 확률 계산을 효율적으로 수행하려면 중복된 계산을 최소화해야 합니다. 이를 통해 계산 비용을 절약하고 더 빠르게 정확한 추론을 수행할 수 있습니다.