본문 바로가기

부스트캠프 AI Tech 3기/이론 : U-stage

[Day4] AI math 6. 확률론 맛보기 : 확률분포, 확률변수, 결합분포, 주변확률분포, 조건부 확률분포, 조건부 확률, 기대값, 몬테카를로 샘플링

기계학습과 딥러닝은 확률론을 기반으로 해서 이해하려면 확률론을 알아야 한다.

예를 들어, 학습시 필요한 loss fuction (손실함수)는 데이터공간을 통계적으로 유도하기 때문에 중요하다.

 

확률분포

데이터를 표현하는 초상화

확률분포를 한 번에 구하기는 불가능하다. 그래서 기계학습 모형으로 이 확률분포를 추론하게 된다.

 

추론하는 데이터 공간을 $\mathscr{X} \times \mathscr{Y}$ 로 표기한다.

그림 1

확률변수

우리가 관측하는 실제 데이터는 확률변수로 표기한다.

 

확률변수 $(\textbf{x},y) $ 는 $\mathscr{X} \times \mathscr{Y}$의 원소이다

$$ (\textbf{x},y) \in \mathscr{X} \times \mathscr{Y}$$

 

확률변수는 함수로 생각하면 되는데, 임의로 우리가 데이터 공간에서 관측하게 되는 함수이다.

데이터를 추출할 때 확률변수를 사용한다.

확률변수로 추출한 데이터의 분포를 $\mathscr{D}$라고 한다.

$$ (\textbf{x},y) \sim \mathscr{D}$$

 

확률변수는 데이터 공간 $\mathscr{X} \times \mathscr{Y}$ 에 의해 결정되는 것이 아니다.

실제 존재하는 데이터들의 확률분포이다.

 

확률분포$\mathscr{D}$에 따라 이산, 연속확률변수가 구분 된다. 다른 확률변수도 있다.

  • 이산확률변수 (discrete)
    확률변수가 가질 수 있는 경우의 수를 모두 고려해서 확률을 더한다.
    $$ \mathbb{P} (X \in A )= \sum_{\textbf{x} \in A} P(X=\textbf{x})   $$
    다시 말하면 이산확률변수는 확률변수$X$ 가 $\textbf(x)$를 가질 확률들을 모두 더한 것이다.
    이 함수를 확률질량함수라고 한다
  • 연속확률변수 (continuous)
    밀도함수$P(\textbf{x})$를 적분해서 그 확률변수의 확률을 구할 수 있다
    밀도함수는 누적확률분포의 변화율을 가지고 만든 것이지 밀도가 확률이 아니다.
    $$ \mathbb{P} (X \in A )= \int_{A} P(\textbf{x})d\textbf{x} $$
    그래서 적분해야 확률분포값을 알 수 있다

 

결합분포 Joint distribution

동일한 표본공간에서 정의 되는여러 확률변수를 한 분포로 합쳐서 고려하는 분포라고 생각한다.
전체 데이터 공간 $\mathscr{X} \times \mathscr{Y}$에서의 분포

$$P(\textbf{x}) ,y)$$

 

여기에서 $\mathscr{X}$와 $\mathscr{Y}$를 같이 고려한 것이다

 

그림 1 에서 y의 값, x의 값에 빨간 칸으로 나뉘고 칸마다 따라서 속하게 되는 파란 점들이 있다.

그러면 각각의 칸에 대해서 이산확률분포처럼 생각할 수 있다.

 

결합분포를 결정할 때는 원래 확률분포에 상관없이 정할 수 있다.

ex) 이산 -> 연속, 연속->이산

주어진 데이터의 모양을 보고 어느 분포로 결합분포를 상정할지 적절히 선택하면 된다.

 

주변확률분포 Marginal distribution

$textbf{x}$의 값에 따른 빈도를 센다. $y$는 고려하지 않는다.

그래서 전체 $y$에 대해서 해당 x에 해당하는 칸에 속하는 만큼 세어준다.

그 점들의 x의 값에 따른 빈도를 세서 분포를 만든다.

주변확률분포는 결합확률분포를 각각의 $y$에 대해서 더해주거나 적분해주면 구할 수 있다.

$$P(\textbf{x},y)=\sum{y}P(\textbf{x},y)$$

  • $\textbf{x}$에 대해서 덧셈이나 적분을 하면 $y$에 대한 주변확률 분포를 구할 수 있다
  • $y$에 대해서 덧셈이나 적분을 하면 $\textbf{x}$에 대한 주변확률 분포를 구할 수 있다
    위의 그림 예시와 같은 경우이다.

 

조건부 확률분포

  • $y$가 주어져 있는 상황에서 $x$에 대한 확률분포

위의 사진은 y가 1인 경우에서만 x를 세어서 확률분포를 구했다.

y=1인 조건에서의 확률분포라고 말할 수 있다.

 

특정 클래스의 확률분포를 보여주기 때문에

예측 모형을 세울 때 우리가 보고싶은 관점에 따라서 데이터를 볼 수 있다.

그래서 명확하게 통계적 모델링을 하는데 확률분포가 도구가 될 수 있다. 


조건부확률 $P(y|\textbf{x})$

입력변수 $\textbf{x}$가 주어졌을 때 정답이 $y$인 확률(continuous일 경우는 밀도)

=  x가 주어졌을 때 y의 확률

 

보통 ML/AI 등 학습에서 주어진 데이터x에 대해서 정답일 확률을 계산하는 용도으로 자주 사용된다.

그래서 데이터 x로부터 추출된 특징패턴 $\phi(\textbf{x})$과 가중치행렬 $\textbf{W}$을 통해 조건부 확률을 계산한다. 그것을 분류문제에서 softmax($\textbf{W}\phi + \textbf{b}$)이다.

※특징패턴은 딥러닝 다층신경망을 사용해서 추출한다

 

$$P(y|\textbf{x}) = P(y|\phi(\textbf{x}))$$

 

회귀문제는 보통 연속확률변수를 다룬다.

그래서 밀도로 해석을 하는데 조건부 확률 대신 조건부 기대값 $\mathbb{E} [ y | \textbf{x} ]$ 을 구해서 정답을 추론한다.

확률밀도함수이기 때문에 적분을 해야한다.

$$ \mathbb{E} [ y | \textbf{x} ]=\int_{y}y{P}(y|\textbf{x})dy$$

※$P(y|\textbf{x})$:조건부 확률밀도함수

 

이 조건부 기대값은 L2 norm( $\mathbb{E} \parallel{y}-f(\textbf{x})\parallel_{2}$ )을 최소화 하는 함수와 일치한다.

기대값(=평균) expectation (=mean)

데이터를 대표하는 대표적인 통계량

확률분포를 통해 다른 통계적 범함수를 계산하는데 사용된다.

기계학습에서는 평균의 의미보다 넓게 사용된다.

데이터 해석시에 사용한다.

  • 연속확률분포
    $$\mathbb{E}_{\textbf{x} \sim P(\textbf{x})}[f(\textbf{x})]=\int_{x}f(\textbf{x})P(\textbf{x})d\textbf{x}$$
    연속확률분포는 주어진 함수 $f(\textbf{x})$에 확률밀도함수를 곱해서 적분한다
  • 이산확률분포
    $$\mathbb{E}_{\textbf{x} \sim P(\textbf{x})}[f(\textbf{x})]=\sum{\textbf{x}\in X}f(\textbf{x})P(\textbf{x})$$
    이산확률분포는 주어진 함수 $f(\textbf{x})$에 확률질량함수를 곱해서 모두 더해준다(summation).

기대값으로 계산할 수 있는 여러 통계랑

  • 분산
  • 첨도(Skewness)
  • 공분산
    두 개의 확률변수에 대해서 계산한다.

몬테카를로 샘플링

기계학습의 많은 문제들은 확률분포를 명시적으로 모를 때가 많다.

그렇다면 기대값이나 기대값을 활용한 다른 통계량들도 알 수 없다.

그럴 때는 데이터를 이용해서 기대값을 계산해야 한다.

어떤 데이터를 쓸지를 뽑는 것이 샘플링이다.

 

샘플링한 데이터로 기대값을 대신 계산해볼 수 있다.

$$\mathbb{E}_{\textbf{x} \sim P(\textbf{x})\approx \frac{1}{N}\sum^{N}_{i=1}f(\textbf{x}^{(i)}) }$$

샘플링한 데이터을 $f(\textbf{x})$ 에 넣고 그것들의 산술평균이 기대값에 근사하게 된다.

 

확률변수가 이산형이든 연속형이든 상관없이 몬테카를로 샘플링을 할 수 있다

 

대수의 법칙 Law of large number

샘플링을 독립적으로 해야지만 작동한다는 점이 중요하다.

독립성이 보장된다면 대수의 법칙에 의해 수렴성이 보장된다.