Math

[AI class day 9] 인공지능 수학- 확률과 확률분포 TIL

makeitworth 2021. 4. 29. 11:59

 

1. 확률

1. (최근) 상대도수에 의한 확률 정의:

 

똑같은 실험을 무수히 많이 반복할 때 어떤 일이 일어나는 비율 (상대 도수의 극한)

ex> 다음 날 비가 올 확률? 

 

2 고전적 정의 :

  • 표본공간(sample space)
    • 모든 가능한 실험결과들의 집합
    • 예) 주사위의 숫자 : {1,2,3,4,5,6}
  • 사건
    • 관심있는 실험결과들의 집합
    • 표본 공간의 부분집합
    • 예) 주사위의 숫자 중 짝수 : {2,4,6}
  • 어떤 사건이 일어날 확률
    • 표본 공간의 모든 원소가 일어날 확률이 같은 경우
    • 사건의 원소의 수 / 표본공간의 원소의 수
  • ex> 주사위를 2번 던졌을 때 합이 10일 확률을 구하라
    • 표본공간: 총 36개의 원소: {(1,1),(1,2),(1,3)...(6,6)}
    • 합이 10일 사건: {(4,6), (5,5), (6,4)} -> 3
    • 확률 : 3/36 = 1/12

3. 확률의 표현

P(A) : A라는 어떤 사건이 일어날 확률 

확률이 1이라면 반드시 그 사건이 일어나는 것이고 확률이 0이라면 절대 그 사건이 일어나지 않는것

--> 확률은 0에서 1사이의 값을 가짐

 

4. 확률의 계산

  • 표본 공간의 원소의 수를 세야함
  • 사건의 원소의 수를 세야 함
  • 따라서 경우의 수를 쉽게 셀 수 있는 방법이 필요 --> 조합 사용
  • 조합(combination) : 어떤 집합에서 순서에 상관없이 뽑은 원소의 집합
  •  n 개 중 r개를 뽑는 조합의 수 : 

$nCr = \binom{n}{r} = {n! \above 1pt {r!(n-r)!}}$

 

ex> 검은 공 3개 흰공 4개 들어있을 바구니에서 공 2개를 뽑았을 때 흰공을 2개 뽑을 확률은?

 

표본공간 :

$\binom{7}{2} = 21$

사건 : 

$\binom{4}{2} = 6$

 

확률 :

6/21 = 2/7

 

--> 매번 너무 번거롭다. 여러 법칙을 사용하여 보다 간편하게 접근한다.

 

5. 덧셈 법칙 (Additional Law)

합집합을 쉽게 구하게 해줌

 

$P(A \cup B) = P(A) + P(B) - P(A \cap B)$

 

ex> 

1. 주사위가 짝수인 수가 나올 확률 {2,4,6} -> 1/2

2. 주사위가 4 이상 수가 나올 확률 {4,5,6} -> 1/2

3. 주사위 4이상이고 짝수인 수가 나올 확률 {4,6} ->1/3

--> 주사위가 4 이상인 수가 나오거나 짝수인 수가 나올 확률 1/2+1/2 - 1/3 = 2/3

 

6. 서로 배반 (Mutually Exclusive)


사건 A와 B가 서로 배반:두 사건의 교집합이 공집합일 경우

--> 두 사건의 합집합은 그냥 P(A) + P(B)

 

7. 조건부 확률 (Conditional Probability)

 

어떤 사건 A가 일어났을 때, 다른 사건 B가 일어날 확률 --> 표본 공간의 변화를 의미한다.

(단,P(A)>0)

 

$P(B|A) = {P(A \cap B) \above 1pt P(A)}$

 

ex> 주사위를 한 번 던졌는데, 4이상의 수가 나왔다. 그 수가 짝수일 확률은?

 

교집합과 조건부 확률의 차이를 구분하라.

 

8. 곱셈 법칙 

교집합을 구하기 쉽게 해줌

 

$P(B|A) = {P(A \cap B) \above 1pt P(A)}$

$P(A \cap B) = P(B|A)P(A)$

 

ex> 어떤 학교의 남학생 비율은 0.6

그 학교 남학생이 축구를 좋아하는 비율은 0.8

그 학교 학생을 랜덤하게 1명 뽑았을 때, 축구를 좋아하는 남학생일 확률은?

9. 서로 독립

P(B∣A) = P(B) 인 경우, 사건 A와 B는 서로 독립 ( 사건 A가 일어나는 확률이 영향이 없음)

 

P(A∩B) = P(B∣A)P(A) = P(B)P(A) = P(A)P(B)

 

서로 배반과 서로 독립은 서로 다르다

-> 서로 배반 (둘 사이에 교집합이 공집합) 이라면 둘 사이는 완전히 연관되어 있는 것이다. (A가 일어나면 B는 일어나면 안되므로)

 

ex> 주사위를 2개 던져서, 첫번째 주사위가 짝수이면서 두번째 주사위가 짝수인 사건

 

10. 여사건

사건 A의 여사건 : 사건 A가 일어나지 않을 사건(Ac)
어떤 사건과 그 여사건은 서로 배반 -> 둘 중 하나는 반드시 일어남

 

P(A∪Ac)=P(A)+P(Ac)=1

P(A)=1−P(Ac)

 

11. 확률의 분할 법칙

 

사건 B는 다음과 같이 나누어짐

 

B=(A∩B)∪(Ac∩B)

(A∩B) 와 (Ac∩B)는 서로배반

 

따라서,

P(B)=P[(A∩B)∪(Ac∩B)]

      =P(A∩B)+P(Ac∩B)

      =P(B∣A)P(A)+P(B∣Ac)P(Ac

 

ex> 어떤 사파리에 70% 사자, 나머지는 호랑이

사자의 60% 는 2살 이상 호랑이는 40%가 2살 이상

전체 동물 중 2살 이상인 동물의 비율은?

 

P(A) : 사자인 확률

P(B) : 2살 이상인 확률

 

P(B) = P(B∣A)P(A)+P(B∣Ac)P(Ac) 공식을 활용해서 푼다. (정답 0.54)

 

12. 베이즈 정리

ex> 동물 한마리를 랜덤하게 선택했는데, 이 동물이 2살 이상이었다.

       이 동물이 사자일 확률은?

 

P(A∣B)=P(A∩B)P(B)=P(B∣A)P(A) / P(B∣A)P(A)+P(B∣Ac)P(Ac)

 

(정답 0.78)

 

처음의 확률 : 사전확률(prior probability) (ex> 사자일 확률)
수정된 확률 : 사후확률(posterior probability) (ex> 2살 이상인데 사자일 확률)

 

ex> 어떤 사람이 검은색과 흰색 셔츠만 가지고 있다.

매일 아침 3/4 정도는 검은색 셔츠를 입는다.

검은색 셔츠를 입었을 때는 3/4 정도 타이를 매고, 흰색 셔츠를 입었을 때는 1/2 정도 타이를 맨다.

어느날 이 사람이 타이를 맸다면, 이 사람이 검은색 셔츠를 입었을 확률은?

 

P(A): 검은색 셔츠를 입을 확률

P(B): 타이를 맬 확률

 

(정답 9/11)

 

2. 확률 분포

1. 확률 변수(random variable)

  • 랜덤한 실험 결과에 의존하는 실수
  • 즉, 표본 공간의 부분 집합에 대응하는 실수
  • 보통 표본 공간에서 실수로 대응되는 함수로 정의
  • X, Y 등의 대문자로 표시
  • ex> 주사위 2개를 던지는 실험
    • 주사위 숫자의 합 : 하나의 확률 변수
    • 주사위 숫자의 차 : 하나의 확률 변수
    • 두 주사위 숫자가 같거나 큰 수 : 하나의 확률 변수

 

  • 이산확률변수(discrete random variable)
    • 확률 변수가 취할 수 있는 모든 수 값들을 하나씩 셀수 있는 경우 (정수, 유리수)
    • ex> 주사위 던지기, 동전 던지기
    • 이산확률변수의 평균(기대값이라고도 함)  $E(X)=\Sigma_x xP(X=x) = \Sigma_xxf(x)$ 
    • 이산확률변수의 분산 σ2=1N∑i=1N(xi−μ)2
    • 이산확률변수의 표준편차(분산의 양의 제곱근) σ2=σ
  • 연속확률변수(continuous random variable)
    • 셀 수 없는 경우
    • ex> 어느 학교에서 랜덤하게 선택된 남학생의 키 (실수)

2. 확률분포 (probability distribution)

  • 확률변수가 가질 수 있는 값에 대해 확률을 대응시켜주는 관계
  • ex> 어떤 확률변수 X가 가질 수 있는 값: 0, 1, 3, 8 일 때 각 값이 나올 확률 P(x)
  • --> 

 

3. 이산 확률변수(discrete random variable)

  • 이산확률변수의 확률분포
    • 보통 함수로 주어짐
    • 확률변수 X가 x라는 값을 가질 확률
      • P(X = x) = f(x)
      • 확률질량함수
    • 예)
      • 확률변수 X가 가질 수 있는 값 : 0, 2, 5
      • P(X = x) = f(x) = (x+1)/10
        • P(X=0) = 0.1
        • P(X=2) = 0.3
        • P(X=5) = 0.6
  • 이산확률변수의 평균
    • 기대값(expected value)라고도 함
    • $E(X) = \Sigma_x xP(X = x) = \Sigma_x xf(x)$
    • $E(X) = 0 * 0.1 + 2 * 0.3 + 5 * 0.6 = 3.6$
    • 위 계산이 왜 타당한지 예를 들어서 살펴보자.
    • 예를 들어 100,000번의 실험을 했다면
      • 0이 대략 10,000번 나옴
      • 2이 대략 30,000번 나옴
      • 5가 대략 60,000번 나옴
      • 따라서 평균은
        • ${(0 * 10000 + 2* 30000 + 5 * 60000) \above 1pt 100000} = 0 * 0.1 + 2 * 0.3 + 5 * 0.6 = 3.6$
    • 몇번을 하더라도 결국 3.6에 수렴하게 된다. 이 값을(이산확률변수의 평균) 기대값이라고 한다.
  • 이산확률변수의 분산
    • $(X - \mu)^2$의 평균
    • $\sigma^2 = E[(X - \mu)^2] = \Sigma_x(x = \mu)^2 P(X = x)$
    • 0,2,5 그리고 평균 3.6을 넣어서 계산해보면 3.24가 나온다.
    • $Var(X)$라고도 함
  • 이산확률변수의 표준편차
    • 분산의 양의 제곱근. 분산에 루트를 씌우면 된다. 표준편차의 제곱은 분산!
    • $\sqrt \sigma^2 = \sigma$
    • $SD(X)라고도 함$
  • 확률변수 X의 분산 : 간편식
    • $\sigma^2 = E(X^2) - {E(X)}^2$

4. 결합확률분포(join probability distribution)

  • 두 개 이상의 확률 변수가 동시에 취하는 값들에 대해 확률을 대응시켜주는 관계

ex>

  • 확률변수 X
    • 한 학생이 가지는 휴대폰의 수
  • 확률변수 Y
    • 한 학생이 가지는 노트북의 수
  • $\sigma^2 = {1 \above 1pt N}\sum_{i=1}^{N}(x_i - \mu)^2$
  • 주변확률분포(marginal probability distribution): 결합 확률분포를 통해 각 확률 변수의 확률 분포를 도출하는 것
  • X의 확률분포(X의 각 칼럼들을 더함) P(X = x)
  • Y의 확률분포(Y의 각 행들을 더함) P(Y = y)

 

5. 공분산(covariance)

  • 확률변수 사이의 관계를 알아볼 수 있다.
  • 고등학교 1학년 학생들
    • 확률변수 X : 키
    • 확률변수 Y : 몸무게
    • 확률변수 Z : 수학성적
    • $(X - \mu_X)(Y - \mu_Y)$ : 양일 가능성이 높음(일반적으로, 키가 크면 몸무게도 크기 때문)
    • $(X - \mu_X)(Z - \mu_Z)$ : 양과 음이 될 가능성이 반반(키와 수학성적은 관계가 없음)
    • $(X - \mu_X)(Y - \mu_Y)$와 $(X - \mu_X)(Z - \mu_Z)$
    • 이와 같은 수식 각각이 확률변수. 랜덤한 실험 결과에 의해 나오는 실수이다.
    • 따라서 평균과 분산을 구할 수 있음
  • 확률변수 X와 Y의 공분산
    • $(X - \mu_X)(Y - \mu_Y)$의 평균
    • $Cov(X, Y) = E[(X - \mu_X)(Y - \mu_Y)] = E(XY) - \mu_x \mu_y = E[XY] - E[X]E[Y]$
  • 공분산을 통해 X, Y값이 서로 관련이 있는지 알 수 있다. 관련이 있다면 양의값/음의값으로 나온다. 관련이 없다면 어쩔땐 양의값, 어쩔땐 음의값이 나와서 결과적으로 0에 가까운 값이 나온다.
  • 즉, 공분산이 0에 가까울수록 두 값이 서로 관련이 없다.

6. 상관계수

  • 공분산은 각 확률 변수의 절대적인 크기에 영향을 받음
    • 단위에 의한 영향을 없앨 필요
    • $\rho = Corr(X, Y) = {Cov(X, Y) \above 1pt \sigma_X \sigma_Y}$
  • 상관계수를 이용하면 X, Y의 절대적인 크기에 상관없이 비례관계를 볼 수 있다.

3. 몇가지 확률분포

1. 이항분포(Binomial distribution)

 

  • 베르누이 시행 (Bernoulli trial) 2개의 결과만을 가지는 실험, 보통 성공과 실패로 결과를 구분 ex> 동전 던지기
  • 성공의 확률: p
  • 확률 변수 X : n번의 베르누이 시행에서 성공의 횟수를 이항확률변수라고 함
  • --> 이항분포 : 이항확률변수의 확률분포

\[Pr(K=k) = % 확률에 대한 값이라는 뜻. \binom n k % binomial n k p^k(1-p)^{n-k} % k번 성공, (n-k)번 실패\]

 

ex> 어떠 랜덤뽑기의 성공확률이 0.2일 때, 3개를 뽑았을 때 적어도 하나 이상 성공이 발생할 확률은?

 

P[X>=1] 를 구하는 건데, 여사건의 법칙을 활용해 1 - P[X = 0]을 구한다.

 

from scipy import stats
1 - stats.binom.cdf(0, n=3, p=0.2)

>> 0.4879....

 

stats.binom.cdf(0, n=3, p=0.2)에서,

  • 0 : 0보다 같거나 작은 확률을 cdf가 제공한다.
  • 3 : 베르누이 시행을 몇번 하는지
  • 0.2 : 성공의 확률 그럼 binom을 통해 이항분포를 계산해준다!
  • 평균
    • $E(X) = np$
  • 분산
    • $Var(X) = np(1 - p)$
  • 표준편차
    • $SD(X) = \sqrt {np(1 - p)}$ 다음은 stats로 이항분포의 평균과 분산을 구한 것이다
       
stats.binom.stats(n=3, p=0.2)

>> (array(0.6), array(0.48))

-->각각 평균, 분산

 

2. 정규분포

연속확률변수의 확률분포

확률변수 X가 가지는 값을 셀 수가 없다.

연속확률 변수의 확률 분포 --> 확률밀도함수(probability density function) 활용

 

  • 확률밀도함수(probability density function)
    • $f(x)$
  • $P[a \leq X \leq b] = \int_{b}^{a}f(x)dx$
  • 그래프 아래 부분의 넓이가 확률이 됨
  • 어떤 구간에 대한 확률을 알 수 있다.
  • 실제 현상의 많은 것을 설명할 수 있더라

$$f(x)= \frac{1}{\sqrt{2\pi} \sigma}e^{-\frac{(x-\mu)^2}{2\sigma^2}}$$

 

 

$\sigma$, $\mu$가 중요한 파라미터이다.
이 식은 적분이 안된다. --> 그래프 아래 넓이를 어떻게 구할 것인가 --> 표준정규확률변수 활용
$x = \mu$일 때, $f(x)$의 값이 가장 큰 것을 볼 수 있다.
$\sigma$가 커질수록 그래프가 양쪽으로 퍼지게 된다

.

  • 표준정규확률변수
    • standard normal random variable
      • $Z = {X - \mu \above 1pt \sigma}$
  • 표준정규분포
    • standard normal distribution
    • $Z$ ~ $N(0,1)$ # 평균이 0, 시그마 제곱이 1
    • 표준 정규분포표
      • $P[Z \leq z]$모든 정규확률변수는 표준정규확률변수로 변환이 가능하다.
      • 임의의 정규확률변수에서 내가 원하는 확률값을 찾을 수 있다.

ex>

$X ~ N(4,3^2)$

  • $P[x\leq 4]=?$$= P[{X-\mu \above 1pt \sigma }\leq {4-\mu \above 1pt \sigma}] = P[Z \leq {4-4 \above 1pt 3}] = P[Z\leq 0] = 0.5$

X는 정규확률변수이다. 평균이 4, 분산이 3의 제곱이다.
이때, X가 4보다 작은 확률을 구해라.

 

표준정규확률분포표에서 이를 구하기 위해서는, 정규확률변수 X를 표준정규확률변수 Z로 치환해야 한다. 치환한 후의 값을 표준정규확률분포표(구글링하면 많이 나온다)에서 찾아서 쓰면 된다.

>>> stats.norm.cdf(4, loc=4, scale=3)
0.5

파이썬에서는 표준졍규확률변수로 변경할 필요 없이, 파라미터 값만 잘 넣어주면 된다.

 

맨 앞의 4는 $P[X \leq 4]$에서 4보다 작은 평균을 구한다는 뜻, loc는 평균, scale은 분산 (분산은 표준편차의 제곱 3^2가 아니라 3)

 

ex> X가 4와 7 사이에 있을 확률

 

$X ~ N(4, 3^2)$

  • $P[4\leq X\leq 7] = ?$$P[X\leq 7] - P[X< 4] = P[Z \leq {7-4 \above 1pt 3}] - P[Z < 0] = P[Z \leq 1] - P[Z < 0] = 0.8413 - 0.5 = 0.3413$

이런 경우 두개의 사건으로 분리--> 7보다 작을 사건의 확률 - 4보다 작을 사건의 확률
--> 표준정규확률변수 Z로 치환

--> 치환한 후의 값을 표준정규확률분포표(구글링하면 많이 나온다)에서 찾아서 씀

>>> stats.norm.cdf(7, loc=4, scale=3) - stats.norm.cdf(4, loc=4, scale=3)
0.3413447460685429

 

ex> 어떤 종목의 주가는 전달 종가를 평균으로 하고, 표준편차가 50인 정규분포를 따른다.

오늘 종가가 1000원일 때, 내일 주가가 1100원 이상일 확률은?

--> 정규확률변수 X를 표준확률변수 Z치환, 평균은 1100, 표준편차는 50

 

$P[X \geq 1100] = P[Z \geq {1100-1000 \above 1pt 50}] = P[Z\geq 2] = 1-P[Z < 2] = 1 - 0.9772 = 0.0228$ 

 

>>> 1 - stats.norm.cdf(1100, loc=1000, scale = 50)
0.02275013194817921

 

3. 포아송 분포 (Poisson distribution) 

 

일정한 시간단위 또는 공간단위에서 발생하는 이벤트의 수의 확률 분포

ex>

  • 하루 동안 어떤 웹사이트를 방문하는 방문자의 수
  • 어떤 미용실에 한 시간동안 방문하는 손님의 수
  • 어떤 전기선 100미터당 발생하는 결함의 수

--> 실제로 적용할 때는 일정기간 실제 관찰해서 포아송 분포를 잘 따르는지 확인하고 적용한다.

 

확률분포함수(확률질량함수)

  • $P[X = x] = f(x) = \lambda^x {e^-\lambda \above 1pt x!}$, $x = 0, 1, 2, \dots$
  • 평균 : $\lambda$
  • 분산 : $\lambda$

ex>

어느 웹사이트에 시간당 접속자 수는 평균이 3($\lambda = 3$)인 포아송 분포를 따른다고 한다.

앞으로 1시간 동안 접속자 수가 2명 이하일 확률은? P[X <=2 ] 구하기

 

$P[X \leq 2] = ?$ 앞에서 배운 확률분포함수(확률질량함수)에 x가 0, 1, 2일때를 넣어서 구하면 된다!

 

$P[X \leq 2] = P[X = 0]+P[X = 1] + P[X=2] = 3^0{e^{-3} \above 1pt 0!} + 3^1{e^{-3} \above 1pt 1!} + 3^2{e^{-3} \above 1pt 2!} = 0.04998 + 0.14936 + 0.22404 = 0.42319$

>>> stats.poisson.cdf(2, mu=3)
0.42319008112684364

2는 2보다 작을때의 확률을 구한다는 뜻 mu=3은 평균(람다)

포아송 분포에서는 람다만 결정이 되면 분산도 결정되고, 확률분포 함수 자체도 결정된다.

4. 지수분포 (exponential distribution)

포아송 분포에 의해 어떤 사건이 발생할 때, 어느 한 시점으로부터 이 사건이 발생할 때까지 걸리는 시간에 대한 확률 분포

확률밀도 함수 (포아송은 횟수에 관한 것-->이산확률변수  지수분포는 시간에 대한 것--> 연속확률변수)

  • $f(t) = \lambda e^{-\lambda t}$
  • $\lambda$ : 포아송분포의 평균
  • 평균
    • $E(T) = {1 \above 1pt \lambda}$
  • 분산
    • $Var(T) = {1 \above 1pt \lambda^2}$

어느 웹사이트에 시간당 접속자 수는 $\lambda = 3$인 포아송 분포를 따른다고 한다.

지금부터 시작하여 첫번째 접속자가 30분 이내에 올 확률은?

 

$P[T \leq 0.5] = ?$ T는 시간단위이므로 30분은 0.5라고 한다. 즉, 0부터 0.5까지 확률밀도함수를 적분한다.

 

$P[T \leq 0.5] = \int_{0}^{0.5}\lambda e^{-\lambda t}dt = \int_{0}^{0.5}3e^{-3t}dt = [-e^{-3t}]_{0}^{0.5} = 1 - e^{-1.5} = 1 - 0.2231 = 0.7769$

 

>>> lam = 3
>>> stats.expon.cdf(0.5, scale=1/lam)
0.7768698398515702

0. 5는 30분 이내의 확률, scale은 표준편차