확률론 맛보기

확률론 맛보기


딥러닝과 확률론

  • 딥러닝은 확률론 기반의 기계학습 이론에 바탕을 두고 있다
  • 기계학습에서 사용되는 손실함수(loss function)들의 작동 원리는 데이터공간을 통계적으로 해석해서 유도하게 된다.
  • 회귀 분석에서 손실함수로 사용되는 $L_{2}$-노름은 예측오차의 분산을 가장 최소화하는 방향으로 학습하도록 유도한다.
  • 분류 문제에서 사용되는 교차엔트로피(cross-entropy)는 모델 예측의 불확실성을 최소화하는 방향으로 학습하도록 유도한다.
  • 분산 및 불확실성을 최소화하기 위해서는 측정하는 방법을 알아야한다.



확률 분포

데이터 공간을 𝒳×𝒴라 표기하고 𝒟는 데이터공간에서 데이터를 추출하는 분포이다. image.png 데이터는 확률변수로 (x, y) ~ 𝒳×𝒴 라 표기하고, (x, y) ∈ 𝒳×𝒴는 데이터공간 상의 관측가능한 데이터에 해당한다.



이산확률변수 vs 연속확률변수

확률변수는 확률분포 𝒟에 따라 이산형(discrete)연속형(continuous)확률변수로 구분하게 된다. 데이터공간 𝒳×𝒴에 의해 결정되는 것이 아니라 𝒟에 의해 결정된다.


이산형 확률변수

이산형 확률변수는 확률변수가 가질 수 있는 경우의 수를 모두 고려하여 확률을 더해서 모델링한다. image.png $P(X = x)$는 확률변수가 $x$값을 가질 확률로 해석할 수 있다.


연속형 확률변수

연속형 확률변수는 데이터 공간에 정의된 확률변수의 밀도(dinsity)위에서의 적분을 통해 모델링한다. image.png 이때 주의할 점은 밀도는 누적확률분포의 변화율을 모델링하며 확률로 해석하면 안된다.


주변확률분포

image.png

위 그림은 X의 범위를 나눠서 각 데이터가 있는 빈도수를 그래프로 나타낸 것이다. $P(x)$는 입력$x$에 대한 주변확률분포로 $y$에 대한 정보를 주진 않는다. image.png 위 식과 같이 주변확률분포 $P(x)$는 결합분포 $P(x,y)$에서 유도 가능하다.


조건부확률분포

조건부확률분포$P(x|y)$는 데이터 공간에서 입력 $x$와 출력$y$사이의 관계를 모델링한다. image.png $P(x|y)$는 특정 클래스가 주어진 조건에서 데이터의 확률 분포를 보여준다. 조건부확률$P(y|x)$는 입력변수 $x$에 대해 정답이 $y$일 확률을 의미한다. 연속확률분포의 경우 $P(y|x)$는 확률이 아니고 밀도로 해석한다는것을 주의해야 한다.

로지스틱 회귀에서 사용했던 선형모델과 소프트맥스 함수의 결합은 데이터에서 추출된 패턴을 기반으로 확률을 해석하는데 사용한다. 분류 문제에서 $softmax(W\phi+b)$은 데이터 $x$로부터 추출된 특징패턴 $\phi(x)$와 가중치행렬$W$을 통해 조건부확률$P(y|x)$(=$P(y|\phi(x))$)을 계산한다.회귀 문제의 경우 조건부기대값 $E[y|x]$을 추정 합니다.

image.png

조건부기대값은 $𝔼∥y−f(x)∥_{2}$을 최소화하는 함수 $f(x)$와 일치한다.

기대값

확률분포가 주어지면 데이터를 분석하는 데 사용 가능한 여러 종류의 통계적 법함수(statistical functional)를 계산할 수 있다. 기대값(expectation)은 데이터를 대표하는 통계량이면서 동시에 확률분포를 통해 다른 통계적 범함수를 계산하는데 사용 된다. image.png

연속화률분포에서는 밀도함수를 이산확률분포에서는 질량함수를 곱해서 계산한다.

기대값을 이용한 분산

image.png

기대값을 이용한 첨도

image.png

기대값을 이용한 공분산

image.png

딥러닝은 다층신경망을 사용하여 데이터로부터 특징패턴 $\phi$을 추출합니다. 특징패턴을 학습하기 위해 어떤 손실함수를 사용할지는 기계학습 문제와 모델에 의해 결정됩니다.


몬테카를로 샘플링

기계학습의 많은 문제들은 확률분포를 명시적으로 모를 때가 많다. 확률분포를 모를 때 데이터를 이용하여 기대값을 계산하려면 모테카를로(Monte Carlo) 샘플링 방법을 사용해야 한다. 몬테카를로 샘플링은 독립추출만 보장된다면 대수의 법칙(law of largenumer)에 의해 수렴성을 보장한다. 몬테카를로 샘플링은 기계학습에서 매우 다양하게 응용되는 방법이다.

image.png

예를들어 몬테카를로 이용 예제를 보면,

$f(x)=e^{-x^{2}}$의 [-1,1]상에서 적분값을 어떻게 구할까?? f(x)의 적분을 해석적으로 구하는 건 불가능하다.

image.png

[-1,1]의 길이는 2이므로 적분값을 2로 나누면 기대값을 계산하는 것과 같으므로 몬테카를로 방법을 사용할 수 있다. image.png 여기서 문제는 몬테카를로 방법으로 계산한 적분값은 sample size가 적게 되면 오차 범위가 커질 수 있어서 적절한 sampling개수를 설정해 줘야 한다.

조금 더 구체적인 정보를 보기 원하면 https://ko.wikipedia.org/wiki/%EB%AA%AC%ED%85%8C%EC%B9%B4%EB%A5%BC%EB%A1%9C_%EB%B0%A9%EB%B2%95 위에서 정의를 확인해 보면 좋을꺼 같다.

'AI > 이론' 카테고리의 다른 글

통계학  (0) 2021.01.29
seaborn  (0) 2021.01.29
matplotlib II  (0) 2021.01.29
matplotlib I  (0) 2021.01.29
Pandas IV  (0) 2021.01.28
Pandas III  (0) 2021.01.28
딥러닝 학습방법 이해하기  (0) 2021.01.27
Pandas II  (0) 2021.01.27

+ Recent posts