본문 바로가기
선형대수학

[적분] 몬테 카를로 적분

by 자몽먹은토끼 2024. 12. 9.
728x90
반응형
Monte Carlo Integration (MCMC)

 

 

먼저 몬테카를로 방법을 사용하기 위해서는 몇가지 중요한 이론을 알아야 한다.
  1. 난수와 난수생성
  2. 큰수의 법칙
  3. 중심극한정리 (CLT)

 

몬테카를로 적분법의 기본 원리를 잘 설명하는 대표적인 방법이 "적중법" 이다.

 

적중법 이란?

특정 범위 안에 들어오는 것을 적중으로 판단 후, 그 갯수를 근사화하는 방법.

범위를 벗어난다면 적중에 실패한 것으로 판단한다.

 

 

 

 

몬테카를로 방법

 

 

: 반복적으로 무작위 추출된 난수 이용하여 함수의 값을 수리적으로 근사하는 알고리즘 방법.

주로 확률 분포에서 확률 변수 값을 생성하는 작업에서 활용된다.

 

대체적으로 몬테카를로 방법은 확률론적 해석을 가진 문제를 해결하기 위해 사용될 수 있다.

큰 수의 법칙에 의해, 어떤 확률변수의 기댓값으로 설명되는 적분은 랜덤표본의 표본 평균을 취함으로써 근사치를 구할 수 있다.

 

 

 

몬테카를로 방법으로 원주율을 계산하는 과정

 

예를 들어 단위 정사각형에 새겨진 사분원(원형 부분)을 생각해 보자. 몬테카를로 방법을 사용해서 π의 값을 근사치로 추정할 수 있다.

  1. 정사각형을 그린 다음, 그 안에 사분원을 삽입한다.
  2. 정사각형 위에 일정한 개수의 점을 균일하게 분포한다.
  3. 사분원 내부의 점(즉, 원점으로부터 1 미만)의 개수를 센다.
  4. 내부의 개수와 전체 개수의 비율은 두 영역의 비율을 나타낸다. 그 값에 4를 곱하여 π를 만든다.

> 사분원 내부의 점과 전체 개수의 비율을 바탕으로 대략적인 원의 면적을 구할 수 있다. 전체 개수는 사각형의 넓이가 될테니, 이를 이용하여 계산하면 원의 면적과 함께 π 값의 근사치를 추정할 수 있다. 

 

 

 

 

 

 

 

몬테카를로 방법 적용

 

몬테카를로 방법은 난수를 활용하여 어떤 값을 확률적으로 계산하거나 근사하는 기법.

  • 난수를 사용
  • 어떤 확률 분포나 함수의 기대값을 근사하는 데 활용
  • 실제 계산을 반복 시행하여 결과를 통계적으로 수렴

이미지 처리 모델 구현단계에서

기존에는 [0,1] 사이의 값으로 예측값을 결정했다면,

이를 몬테카를로 방법을 적용하여 예측값을 결정한다. 

 

top_preds= torch.sigmoid(top_preds)
binary_top_preds= torch.round(top_preds)

> 기존 코드

 

top_preds= torch.sigmoid(top_preds)

# 유니폼 분포에서 [0, 1] 사이 랜덤 값 생성
random_values = torch.rand_like(top_preds)
# 확률적으로 1 또는 0으로 결정
binary_top_preds = (top_preds > random_values).float()

> 몬테카를로 방법을 적용한 코드

 

 

u∼U(0,1)   (균일분포 Uniform Distribution에서 난수 u를 생성)

  1. 난수를 생성하여 시그모이드값을 기준으로 비교한다.
  2. 시그모이드 출력값을 '이벤트 발생 확률'로 해석하여 난수를 기반으로 값(0 또는 1)을 결정한다.

> 확률적 불확실성 반영 : 모델의 불확실성을 반영한 예측을 할 수 있다.

> 확률적 결정 방법: 예측을 확률적으로 처리함으로써, 모델이 특정 예측에 얼마나 확신을 가지고 있는지, 불확실성이 얼마나 큰지 등 모델의 신뢰도를 정량적으로 측정할 수 있다.

 

 

728x90
반응형

'선형대수학' 카테고리의 다른 글

ISLP Chapter 13 Multiple Testing 2  (1) 2024.04.18
ISLP Chapter 13 Multiple Testing 1  (0) 2024.04.16
[선형대수] 0819  (0) 2023.08.19
[선형대수학] 5주차 0812 (수정중)  (0) 2023.08.12
[선형대수학] 4주차 0805  (0) 2023.08.07