방명록
- 확률 개요 및 이산 확률 분포, 연속확률분포2024년 02월 01일 14시 23분 27초에 업로드 된 글입니다.작성자: 재형이반응형
- 인공지능에 관심이 생겨서 패스트캠퍼스 환급챌린지에 참여를 하게되었다.
- 하루 강의 2개 이상씩이 기준이지만 강의수가 생각보다 많아서 100일 정도에 마무리하기 위해서 하루에 4개씩 수강하기로 마음 먹었다.
- 환급 챌린지는 60일이지만, 이후에도 계속 포스팅할 생각입니다 😎
- 강의명은 딥러닝·인공지능 Signature 초격차 패키지 Online 입니다.
- 인공지능 입문의 첫시작으로는 확률이 되겠습니다~
1. 확률 개요
- 인공지능에서 확률이 왜 필요할까?
- 인공지능이 결과값을 산출할 때는 정확한 값을 도출해내는 것이 아니라 확률에 기반하여 값을 도출하기 때문이다.
예시 1) 이미지 분류 모델 𝜃가 이미지 𝑥에 대해서 75% 확률로 고양이일 것이라고 예측
예시 2) 글 쓰기 모델 𝜃는 “나는 밥을“ 이후에 “먹었다“라는 단어가 나올 확률을 42%로 예측
- 확률을 계산하기 위해서는 경우의 수를 알아야하기 때문에 잠시 학창시절에 배웠던 순열과 조합에 대해서 정리를 해보겠습니다.
1-1-1. 순열 (Permutation)
- 순열이란 서로 다른 𝑛개에서 𝑟개를 중복 없이 뽑아 특정한 순서로 나열하는 것을 의미합니다.
- 순열 공식
- 순열의 수 공식(𝑛 = 𝑟일 때)
𝑛𝑃𝑟 = 𝑛! - 순열의 수 공식(𝑛 ≠ 𝑟일 때)
[참고] 0!은 1이다.
1-1-2. 기계 학습 모델에서의 순열 적용 예시
- 기계 학습 모델 학습을 위해 𝑁개의 학습 데이터로 학습을 진행하려고 한다.
- 이때, 매번(epoch) 모델에 학습 데이터를 넣을 순서를 섞어서(shuffling) 학습을 진행한다.
- 에포크(epoch): 학습 데이터 세트에 포함된 모든 데이터가 한 번씩 모델을 통과한 횟수를 말한다.
- 즉, 3개의 데이터를 서로 다른 순서로 매번 머신러닝 모델에 학습시키는 경우의 수를 계산할 수 있다
1-1-3. 파이썬 (Python)을 이용한 순열 계산
- 파이썬을 이용하면 전체 순열을 간단히 계산할 수 있다.
from itertools import permutations arr = ['A', 'B', 'C'] # 원소 중에서 2개를 뽑는 모든 순열 계산 result = list(permutations(arr, 2)) print(result) # 실행 결과: [('A', 'B'), ('A', 'C'), ('B', 'A'), ('B', 'C'), ('C', 'A'), ('C', 'B')]
1-2-1. 조합 (Combination)
- 서로 다른 𝑛개에서 𝑟개를 중복 없이 순서를 고려하지 않고 뽑는 것을 의미한다
- 조합 공식
1-2-2. 기계 학습 모델에서의 조합 적용 예시
- 딥러닝 아키텍쳐 중에 샴 네트워크(Siamese network)라는 것이 있는데, 두개의 이미지를 받아서 두 이미지가 유사하다면 1, 아니라면 0을 출력한다.
- 두개의 이미지는 순서는 중요하지 않으니 이 때 조합을 사용하여 어떤 경우의 수로 이미지를 학습시킬 수 있는지 알 수 있다.
- 예를 들어 4개의 이미지가 있을 때, 순서를 고려하지 않고 2개의 이미지를 뽑는 경우의 수는?
- 전체 이미지를 {1, 2, 3, 4}라고 했을 때, 가능한 모든 경우는 다음과 같다.
- 모든 경우: [1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]
- 경우의 수: 4 × 3 / 2 = 6
1-2-3. 파이썬 (Python)을 이용한 조합 계산
- 파이썬을 이용하면 전체 조합을 간단히 계산할 수 있다.
from itertools import combinations arr = ['A', 'B', 'C'] # 원소 중에서 2개를 뽑는 모든 조합 계산 result = list(combinations(arr, 2)) print(result) # 실행 결과: [('A', 'B'), ('A', 'C'), ('B', 'C')]
1-3-1. 중복 순열 (Permutation with Repetition)
- 서로 다른 𝑛개에서 중복을 포함해 𝑟개를 뽑아 특정한 순서로 나열하는 것을 의미한다.
- 중복 순열의 수 공식
1-3-2. 중복 순열 예시
- 세 개의 숫자 1, 2, 3을 이용해 만들 수 있는 두 자리 자연수의 개수는?
(단, 같은 숫자를 여러 번 사용하거나, 사용하지 않은 숫자가 있어도 괜찮다.) - 모든 경우: 11, 12, 13, 21, 22, 23, 31, 32, 33
- 경우의 수: $3^{2}=9$
1-3-3. 파이썬 (Python)을 이용한 중복 순열 계산
from itertools import product arr = ['A', 'B', 'C'] # 원소 중에서 2개를 뽑는 모든 중복 순열 계산 result = list(product(arr, repeat=2)) print(result) # 실행 결과: [('A', 'A'), ('A', 'B'), ('A', 'C'), ('B', 'A'), ('B', 'B'), ('B', 'C'), ('C', 'A'), ('C', 'B'), ('C', 'C')]
1-4-1. 중복 조합 (Combination with Repetition)
- 서로 다른 𝑛개에서 중복을 포함해 순서를 고려하지 않고 𝑟개를 뽑는 것을 의미한다.
- 중복 조합의 수 공식
$_{n}\mathrm{H}_{r}=_{(n+r-1)}\mathrm{C}_{r}$
1-4-2. 기계 학습 모델에서의 중복 조합 적용 예시
- 딥러닝에서는 학습된 여러 모델의 결과를 활용하여 최종적인 결과를 생성하는 앙상블(ensemble) 방법이 존재한다
- 앙상블이란 강력한 모델 하나를 사용하지 않고 비교적 약한 모델들 여러개를 사용해 시너지를 내는 느낌이다
- 마치 오케스트라에서 수 많은 악기들이 조화를 이루어 한명의 아주 작은 실수가 있다하더라도 보이지 않는 것처럼 앙상블에서도 한 모델의 예측이 어긋나더라도 어느정도 보정이 됩니다. 즉, 보다 일반화된 (generalized) 모델이 완성되는 것입니다.
- 예시) 서로 다른 딥러닝 아키텍쳐 1번, 2번, 3번이 존재한다. 이때, 중복을 허용하여 4개를 골라 딥러닝 모델을 학습하고자 할때 학습 가능한 모든 조합의 수는?
(단, 같은 아키텍쳐를 여러번 사용하거나, 선택하지 않은 아키텍쳐가 있어도 됨) - $_{3}\mathrm{H}_{4}=_{(3+4-1)}\mathrm{C}_{4}=_{6}\mathrm{C}_{2}=15$
# [('1번', '1번', '1번', '1번'), ('1번', '1번', '1번', '2번'), ('1번', '1번', '1번', '3번'), ('1번', '1번', '2번', '2번'), ('1번', '1번', '2번', '3번'), ('1번', '1번', '3번', '3번'), ('1번', '2번', '2번', '2번'), ('1번', '2번', '2번', '3번'), ('1번', '2번', '3번', '3번'), ('1번', '3번', '3번', '3번'), ('2번', '2번', '2번', '2번'), ('2번', '2번', '2번', '3번'), ('2번', '2번', '3번', '3번'), ('2번', '3번', '3번', '3번'), ('3번', '3번', '3번', '3번')]
1-4-3. 파이썬 (Python)을 이용한 중복 조합 계산
from itertools import combinations_with_replacement arr = ['A', 'B', 'C'] # 원소 중에서 2개를 뽑는 모든 중복 조합 계산 result = list(combinations_with_replacement(arr, 2)) print(result) # 실행 결과: [('A', 'A'), ('A', 'B'), ('A', 'C'), ('B', 'B'), ('B', 'C'), ('C', 'C')]
1-5. 확률 (Probability)
- 𝒮를 전체 사건(event)의 집합(표본 공간 = sample space)라고 할 때, 사건 𝑋가 일어날 확률(probability) 𝑃(𝑋)는 다음과 같다.
- 𝑃(𝑋) =사건 𝑋가 일어나는 경우의 수 / 전체 경우의 수 = 𝑛(𝑋) / 𝑛(𝑆)
- 앞면에 1, 뒷면에 0이 쓰여 있는 2개의 동전을 2번 던졌을 때, 눈금의 합이 1일 확률은?
𝑛(𝑋) : (0,1), (1,0) → 2
𝑛(𝑆) : (0,0), (0,1), (1,0), (1,1) → 4
→ 𝑛(𝑋) / 𝑛(𝑆) = $\frac{2}{4}$ = $\frac{1}{2}$
1-6. 통계적 확률
- 동일한 시행을 𝑁번 반복해 사건 𝑋가 발생한 횟수를 𝑅이라고 하자.
- 시행 횟수 𝑁을 무한히 크게 만들었을 때, 𝑅/𝑁이 수렴하는 값을 사건 𝑋의 통계적 확률이라 한다.
- 목표 확률: 0.167
시행 횟수 6 60 600 6000 60000 눈금이 5인 횟수 2 12 104 1025 10074 확률 0.333 0.200 0.173 0.171 0.1679 2. 시행 (Trial)과 사건 (Event) 그리고 확률 변수와 확률 분포
2-1. 시행 (Trial)과 사건 (Event)
- 시행 (trial): 반복할 수 있으며, 매번 결과가 달라질 수 있는 실험
ex) 주사위를 2개를 던지는 행동 - 사건 (event): 시행에 따른 결과를 의미
ex) 눈금의 합이 7이 되는 사건
- 확률이란 어떤 사건(event)가 일어날 가능성을 수로 표현한 것
- 그러면 확률은 수식으로 어떻게 표현할 수 있을까?
- 이때 사용할 수 있는 것이 확률 변수(Random Variable)이다.
2-2. 확률 변수 (Random Variable)
- 확률 변수란, 사건으로 인해 그 값이 확률적으로 정해지는 변수를 의미한다.
- 확률 변수는 대문자 𝑋로 표기하고, 확률 변수가 취할 수 있는 값은 소문자 𝑥로 표현한다
2-3. 확률 함수 (Probability Function)
- 확률 함수란, 확률 변수에 따라서 확률 값을 부여하는 함수를 말한다.
- 확률 함수는 일반적으로 𝑃라고 표현한다.
- 예시) 2개의 동전을 던지는 시행에 대하여:
수학적으로, 각 사건에 대한 확률은 다음과 같이 표현할 수 있다.
• 눈금의 합이 0인 사건이 발생할 확률: ((𝑃 (𝑋 = 0) = 1/4))
• 눈금의 합이 1인 사건이 발생할 확률: ((𝑃 (𝑋 = 1) = 1/2))
• 눈금의 합이 2인 사건이 발생할 확률: ((𝑃 (𝑋 = 2) = 1/4))
- 확률 변수가 취할 수 있는 모든 값 𝑥의 집합을 상태 공간(state space)이라고 한다
- 위에서 상태 공간은 {0, 1, 2} 이다.
2-4. 확률 분포 (Probability Distribution)
- 각 사건에 어느 정도의 확률이 할당되었는지 표현한 정보를 의미한다.
- 확률 분포를 통해 통계적인 특성을 쉽게 이해할 수 있다
2-5. 확률 분포 함수 (Probability Distribution Function)
- 확률변수 ((𝑋))가 가지는 값 ((𝑥))에 확률 ((𝑃 (𝑋 = 𝑥))) 을 대응시키는 함수를 의미한다.
- 확률 분포 함수로 대표적인 것으로는 확률 질량 함수, 확률 밀도 함수가 있다
3. 이산확률분포 (Discrete Probability Distribution)
- 확률변수 𝑋가 취할 수 있는 모든 값을 셀 수 있는 경우, 이를 이산확률변수라고 한다.
- 이때 이산확률분포는 이산확률변수의 확률 분포를 의미한다.
- 주사위를 던졌을 때 나올 수 있는 눈금은 {1, 2, 3, 4, 5, 6} 중 하나이다.
- 따라서, 이 경우 “주사위 눈금”의 값은 6개만 존재하므로, 이산확률변수이다
3-1. 이산확률분포 예시
- 주사위를 던졌을 때 나올 수 있는 눈금(수)을 확률변수 𝑋라고 하자.
- 확률변수 𝑋는 {1, 2, 3, 4, 5, 6} 중 하나의 값을 가질 수 있다.
- ((𝑃 (𝑋 = 1) = 𝑃 (𝑋 = 2) = 𝑃 (𝑋 = 3) = 𝑃 (𝑋 = 4) = 𝑃 (𝑋 = 5) = 𝑃 (𝑋 = 6) = 1/6))
- 이때, 주사위 눈금 𝑋에 대한 확률 분포는 다음과 같다.
- 이렇게 균등한 이산 확률 분포를 이산 균등 분포라고 부른다.
3-2. 확률질량함수 (Probability Mass Function, PMF)
- 확률질량함수는 이산확률변수가 특정한 값을 가질 확률을 출력하는 함수다
- 동전 2개를 동시에 던지는 시행에서 두 눈금의 합을 𝑋라고 하자.
- 이때, 𝑋는 이산확률변수로, 확률질량함수 𝑓 𝑥 는 다음과 같이 정의할 수 있다
((𝑓 (0) = 𝑃 (𝑋 = 0) = 1/4))
((𝑓 (1) = 𝑃 (𝑋 = 1) = 1/2))
((𝑓 (2) = 𝑃 (𝑋 = 2) = 1/4)) - 확률 변수 𝑋에 대한 확률질량함수라는 의미로 ((𝑓_𝑋 (𝑥))) 라고 표기하기도 한다
3-3. 베르누이 시행 (Bernoulli Trial)
- 결과가 두 가지 중 하나로만 나오는 시행을 베르누이 시행이라고 한다.
예시 1) 입학 시험 → 합격 혹은 불합격
예시 2) 동전 던지기 → 앞면 혹은 뒷면
예시 3) 꽝 혹은 당첨만 있는 복권 - 베르누이 시행의 결과를 실수 0 혹은 1로 나타낸다.
- 확률 변수는 0 혹은 1의 값만 가질 수 있으므로, 이산확률변수다
3-4. 베르누이 확률분포
- 베르누이 확률변수의 분포를 베르누이 확률분포라고 한다.
- 확률변수 𝑋가 베르누이 분포를 따른다고 표현하며, 수식으로는 다음과 같이 표현한다.
((𝑋\sim𝐵𝑒𝑟𝑛 (𝑥; 𝜇))) - 모수(parameter)는 세미콜론(;) 기호로 구분하여 표기한다.
- 베르누이 확률분포는 모수로 𝜇를 가지는데, 1이 나올 확률을 의미한다.
3-5. 베르누이 분포의 확률질량함수
- 베르누이 확률 분포의 확률질량함수는 다음과 같다
((\textit{Bern}(x;\mu)=\begin{cases}\mu,&\mbox{if}\;x\;\mbox{=1}\\1-\mu,&\mbox{if}\;x\;\mbox{=0}\end{cases})) - 간단하게 하나의 수식으로 표현할 수 있다
(( \textit{Bern}(x;\mu)=\mu^x(1=\mu)^{1-x}))
x가 0일 때랑 x가 1일 때를 생각해보면 위의 복잡한 식과 간단한 식이 같은 것을 알 수 있다. - ((\mu))가 0.8인 베르누이 확률 분포는 다음과 같다.
- 결과가 두 가지이기 때문에 더하면 1이 되야한다
3-6. 이항 분포
- 성공 확률이 𝜇인 베르누이 시행을 𝑁번 반복한다.
- 𝑁번 중에서 성공한 횟수를 확률 변수 𝑋라고 하자.
- 𝑋는 0부터 𝑁까지의 정수 중 하나이다.
- 이러한 확률 변수를 이항 분포를 따른다고 한다
- 다음과 같이 표현할 수 있다
$X{\sim}Bin(x;N,\mu)$ - 이항 분포는 모수(parameter)로 𝑁과 𝜇를 가진다.
모수 1: 시행 횟수 𝑁
모수 2: 한 번의 횟수에서 1이 나올 확률 𝜇 - 이항 분포 확률 변수 𝑋의 확률 질량 함수는 다음과 같다.
$X{\sim}Bin(x;N,\mu) = {N \choose x}\mu^{x}(1-\mu)^{N-x}$
단, ${N \choose x}$는 𝑁개에서 𝑥개를 선택하는 조합(combination)의 수와 같다.
3-7. 이항 분포 예시
- 독립된 사건을 𝑁번 반복 시행했을 때, 특정 사건이 𝑥회 발생한다고 가정한다
- 예시)
가구 공장에서 가구를 만들 때, 불량률이 10%라고 한다.
이 공장에서 만든 가구 10개를 확인했을 때, 불량품이 2개 이하로 나올 확률을 구하여라.
불량률 10% → 𝑝 = 10% - 풀이)
불량품이 0개 나올 확률 + 불량품이 1개 나올 확률 + 불량품이 2개 나올 확률
$= {10 \choose 0}p^{0} \times (1 - p)^{10} + {10 \choose 1}p^{1} \times (1 - p)^{9} + {10 \choose 2}p^{2} \times (1 - p)^{8}\\= 0.3487 + 0.3874 + 0.1937 = 0.9298$
3-8. 포아송 분포
- 일정한 시간 내 발생하는 사건의 발생 횟수에 대한 확률을 계산할 때 사용한다.
- 단위 시간에 어떤 사건이 발생할 기댓값이 𝜆일 때, 그 사건이 𝑥회 일어날 확률을 구할 수 있다.
- 포아송 분포는 푸아송 분포라고 부르기도 한다.
- 포아송 분포의 확률 질량 함수는 다음과 같다
- 포아송 분포의 평균을 𝜆로 표기한다.
- 𝑒는 자연 상수를 의미한다. (𝑒 = 2.718 …)
3-9. 포아송 예시
- 단위 시간 내 평균 발생 횟수(𝜆)가 5일 때, 그 사건이 8회 일어날 확률은?
$f(8;5) = \frac{e^{-5}5^{8}}{8!} = 0.06528$
- 예시)
하루에 평균적으로 5개의 스팸 메일이 도착한다
오늘 하루 동안 스팸 메일이 8개 도착할 확률을 얼마일까? - 풀이)
$f(8;5) = \frac{e^{-5}5^{8}}{8!} = 0.06528$
4. 연속확률변수 (Continuous Random Variable)
- 확률변수 𝑋가 취할 수 있는 값이 무한한 경우, 이를 연속확률변수라고 한다.
- 연속적인 값의 예시: 키, 달리기 성적, …
- 이러한 경우 키가 170cm 이상, 175cm 미만일 확률을 구하는 방식처럼 범위를 지정하게 된다.
→ 특정한 값 𝑥에 대한 정확한 확률 값을 표현할 수 없다.
→ 따라서 특정한 구간 𝑎 ≤ 𝑥 ≤ 𝑏에 대한 확률로 표현한다
4-1. 확률밀도함수 (Probability Density Function, PDF)
- 확률 밀도 함수란 연속 확률 변수가 주어진 구간 내에 포함될 확률을 출력하는 함수다.
- 확률 밀도 함수의 대표적인 예시로는 정규 분포가 있다.
4-2. 연속 확률 분포
- 확률 변수 𝑋가 어떠한 구간에 속할 확률은 0과 1사이이다
- 확률 변수 𝑋가 값을 가질 수 있는 모든 구간의 확률을 합치면 1이다. (전체 면적 = 1)
→ 단, 각 구간은 배반(서로 겹치는 게 없을 때) 관계일 때 이것이 성립한다
$\int_{-\infty}^{\infty} f(x)dx = 1$ → 전체 면적의 합은 1
$P(a \le X \le b) = \int_{a}^{b} f(x)dx$ → a부터 b까지의 면적 - 연속 확률 변수는 면적으로 계산되며, 한 점에 대한 확률은 0으로 간주한다
예시) 나랑 키가 소수점 아래까지 “완벽히” 동일한 사람이 존재할 수 있을까?
$P(a \le X \le b) = P(a < X < b)$
4-3. 균등 분포 (Uniform Distribution)
- 모든 확률변수에 대해 일정한 확률을 가지는 확률 분포다.
- 𝑋가 균등 분포를 따를 때 𝑋~𝑈(𝑎, 𝑏) 로 표현한다. (단, 𝑃(𝑎 ≤ 𝑋 ≤ 𝑏) = 1이다)
- 균등 분포를 따르는 확률 변수 𝑋의 확률밀도함수는 다음과 같다
$f(x)=
\begin{cases}
\frac{1}{b - a}, & a \le X \le b \\
0, & \mbox{otherwise}
\end{cases}$
- 참고로 균등 분포는 이산확률변수에 대해서도 정의될 수 있다
- 주사위를 한 번 던지는 시행에서, 주사위의 눈금 값을 확률 변수 𝑋라고 할 때 P(X)는 1/6로 모두 동일하다
4-4. 지수 분포 (Exponential Distribution)
- 특정 시점에서 어떤 사건이 일어날 때까지 걸리는 시간을 측정할 때 사용한다
- 포아송 분포는 발생 횟수에 대한 확률을 구할 때 사용했다면, 지수 분포는 대기 시간에 대한 확률을 구할 때 사용한다
분류 설명 포아송 분포 이산 확률 분포 발생 횟수에 대한 확률 지수 분포 연속 확률 분포 대기 시간에 대한 확률 - 지수 분포의 확률 밀도 함수는 다음과 같다
${\lambda}: \mbox{단위 시간 동안 평균 사건 발생 횟수}\\
f(x) = \lambda e^{-\lambda x},x \ge 0$
4-5. 지수 분포 예시
- 예시)
운영 중인 서버에는 하루 평균 4건의 해킹이 시도된다
첫 번째 해킹 시도가 3시간 안에 발생할 확률은?
풀이)
24시간에 4건의 해킹이 발생하므로, 단위 시간이 “시간(hour)“일 때 평균 발생 횟수는 4/24다
따라서, 𝜆 = 4/24이며, 확률 밀도 함수는 다음과 같다
$f(t) = \frac{4}{24}e^{-\frac{4}{24}t},t \ge 0$
따라서 적분 식을 계산하여 문제를 해결할 수 있다
$
\int_{0}^{3} \frac{4}{24} exp \left( -\frac{4}{24} t \right ) dt \\
= \left [ - exp \left ( - \frac{4}{24} t \right ) \right ]_{0}^{3} \\
= exp(0) - exp \left ( -\frac{4}{24} \times 3 \right ) = 0.3935
$
4-6. 지수 분포의 특징: 무기억성
- 지수 분포의 특성으로는 무기억성이 존재한다.
- 특정 시점에서부터 소요되는 시간은 과거로부터 영향을 받지 않는다.
- 예를 들어, 서버가 해킹당하기까지 걸리는 시간을 지수 분포로 근사한 경우를 고려해 보자.
- 서버를 3년간 운영한 뒤, 해킹당하기까지 걸리는 시간은 처음 서버를 운영한 뒤 해킹당하기까지 걸리는 시간과 같다.
→ 한계점: 현실 세계에서의 다양한 사례를 모델링하기에는 지나치게 단순한 경향이 있다
반응형'인공지능 > 확률과 통계' 카테고리의 다른 글
샘플링, 추세선 그리기, 통계 실습 (0) 2024.02.19 확률 분포의 추정, 최대 가능도, 편향, 추세선, 데이터 추출 (4) 2024.02.04 베이즈 정리, 평균과 기댓값, 분산과 표준편차, 공분산 (0) 2024.02.03 표준정규분포,독립or종속변수,결합or주변or조건부확률 (6) 2024.02.02 다음글이 없습니다.이전글이 없습니다.댓글