더 이상 tistory 블로그를 운영하지 않습니다. glanceyes.github.io에서 새롭게 시작합니다.

새소식

AI/AI 수학

확률(Probability)과 딥 러닝(Deep Learning)

  • -

 

딥 러닝과 확률론

 

딥러닝의 학습 방법은 확률론에 기반을 두고 있다.

특히, 기계학습의 손실함수는 데이터 공간을 통계적으로 해석하여 유도하게 된다.

즉, 예측이 틀리는 것을 최소화하도록 데이터를 학습하는 원리를 가진다.

 

예를 들어, 회귀 분석에서 손실함수로 사용되는 $L_2$ Norm은 예측오차의 분산을 가장 최소화하는 방향으로 학습하도록 유도한다.

또한 분류 문제에서 사용되는 교차엔트로피(cross-entropy)는 모델 예측의 불확실성을 최소화하는 방향으로 학습을 유도한다.

 

기계학습에서 사용되는 모든 손실함수는 실제 데이터의 분포와 모델을 예측하는 분포의 차이를 줄이려고 하는 것이며, 이 두 대상을 측정하는 방법은 통계학을 기반으로 한다.

 

 

 

확률분포(Probability Distribution)

 

Effects_of_a_scale_parameter_on_a_positive-support_probability_distribution

[출처] https://commons.wikimedia.org/wiki/File:Effects_of_a_scale_parameter_on_a_positive-support_probability_distribution.gif, Walwal20

 

확률분포는 데이터 공간에 위치하는 데이터들을 이해하기 위한 일종의 초상화이다.

하지만 실제 데이터가 생성되는 확률분포 $\mathscr{D}$를 알 수 없고, 데이터만을 가지고 확률분포를 파악할 수는 없다. 그래서 기계학습을 통해 이 확률분포에 근사하는 함수를 찾고자 한다.

즉, 실제 데이터의 확률 분포는 알 수 없으므로 머신러닝을 통해 실제 확률분포에 근사하는 함수를 찾아야 한다.

 

 

 

확률변수(Random Variable)

 

랜덤변수(확률변수)에 관한 자세한 설명은 다음 글을 참고.

https://glanceyes.tistory.com/entry/인공지능-기초-Uncertainty-1-확률적인-추정을-위한-확률과-사건-그리고-명제

 

1600px-Random_Variable_as_a_Function-en.svg

[출처] https://commons.wikimedia.org/wiki/File:Random_Variable_as_a_Function-en.svg, Niyumard

 

확률변수는 데이터 공간 상에서 관측 가능한 데이터이다.

변수가 1개인 지도학습을 상정했을때, 데이터 공간은 $x×y$가 된다.

확률변수는 이 공간상에서 관측되는 원소들이다.

 

확률변수는 함수에 의해 해석되며, 이 함수는 임의로 데이터 공간상에서 관측하게 되는 함수이다.

데이터 공간상에서 데이터를 추출할 때 확률변수를 사용하게 되며, 이렇게 추출된 데이터의 분포 $\mathcal{D}$가 실제 분포 $\mathscr{D}$에 근사하는 것을 목표로 한다.

 

 

 

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

 

데이터 공간으로부터 확률변수에 의해 추출된 데이터는 분포를 가지며, 확률분포 $\mathscr{D}$라고 할 수 있다.

이 확률분포 $\mathscr{D}$에 따라 변수의 형태가 이산형인지 연속형인지 구분된다.

이는 데이터 공간 $x×y$와 무관하며, 오직 $\mathscr{D}$에 의해 결정된다.

즉, 확률변수의 분포가 이산형인지 연속형인지에 따라 이산확률변수 또는 연속확률변수라고 한다.

예를 들어, -0.5와 0.5 중 한 값을 지니는 데이터 분포가 있을 때, -0.5와 0.5는 실수 데이터 공간을 지니지만 연속형이 아닌 이산형 확률변수를 가진다고 할 수 있다.

 

1152px-Fair_dice_probability_distribution.svg

 

이산형 확률변수는 확률변수가 가질 수 있는 모든 경우의 수를 고려하여 확률을 모두 더해 모델링한다.

$$ P(X∈A)=Σ_{x∈A}P(X=x) $$

 

 

Standard_Normal_Distribution.svg

[출처] https://commons.wikimedia.org/wiki/File:Standard_Normal_Distribution.svg, D Wells

 

연속형 확률변수는 데이터 공간에 정의된 확률변수의 밀도의 적분을 통해 모델링한다.

여기서의 밀도는 누적확률분포의 변화율을 모델링하는 것이며, 이는 확률과는 다르다.

즉, 특정 값에서의 확률값은 알 수 없고, 구간을 통해서 데이터가 그 구간에 속할 가능성을 구하는 것이다.

 

$$P(X∈A)=∫_AP(x)dx$$

 

모든 확률변수가 항상 두 가지로 구별되는 것은 아니라는 점에 주의한다.

 

 

확률분포의 종류

 

확률분포에 관한 자세한 설명은 다음 글을 참고.

https://glanceyes.tistory.com/entry/인공지능-기초-Uncertainty2-결합-확률과-조건부-확률-그리고-베이즈-정리?category=1069509 

 

[인공지능 기초] Uncertainty(2) - 결합 확률과 조건부 확률 그리고 베이즈 정리

지난 글에서 우리는 이 세상의 많은 일들이 확률에 의존한다는 것을 알았고, 사건에 관한 확률을 다룰 때 명제로 표현하여 사용한다는 점을 확인했다. 또한 증거(evidence)가 기존에 알고 있던 정

glanceyes.com

 

 

결합분포(Joint Distribution)

 

1326px-Multivariate_normal_sample.svg

[출처] https://commons.wikimedia.org/wiki/File:Multivariate_normal_sample.svg, IkamusumeFan

 

결합분포는 주어진 데이터로부터 확률변수 $x$와 $y$를 통해 얻은 것으로 $\mathcal{D}$를 의미한다.

즉, 결합분포 $P(x,y)$는 $\mathcal{D}$를 모델링하는 것이다. 강의에서는 두 개의 확률변수만 고려했지만, 결합분포는 확률변수가 여러 개인 경우를 고려하는 것임을 유의한다.

 

 

주변확률분포

 

Jointdist_twodepvars

[출처] https://commons.wikimedia.org/wiki/File:Jointdist_twodepvars.PNG, CaitlinJo

 

$P(x)$는 입력 $x$에 대한 주변확률분포로 $y$에 대한 정보를 주지 않는다.

오직 $x$에 대해서만 그려진 확률분포를 의미하는 것이다.

이는 변수의 특성에 따라 다음과 같이 정의된다.

 

$\mathscr{D}$가 이산형일 때, $P(x)=∑_yP(x,y)$

$ \mathscr{D} $가 연속형일 때, $P(x)=∫_yP(x,y)dy$

 

 

 

조건부 확률분포(Conditional Distribution)

 

$P(x|y)$는 $y$가 특정 값으로 주어졌을 때 $x$에 대한 확률분포를 의미한다.

이는 데이터 공간에서 입력 $x$와 출력 $y$ 사이의 관계를 모델링한다. 즉, 특정한 클래스가 주어진 조건에서 데이터의 확률분포를 보여준다.

단, 연속확률분포일 경우에는 $P(x|y)$ 또는 $P(y|x)$ 는 확률이 아니고 밀도로 해석해야 한다는 점을 유의한다.

 

 

 

조건부확률과 기계학습

 

로지스틱 회귀에서 사용했던 선형모델과 softmax 함수의 결합은 데이터에서 추출된 패턴을 기반으로 확률을 해석하는데 사용된 것이다.

분류 문제에서 $softmax(Wϕ+b)$는 데이터 $x$로부터 추출된 특징패턴 $ϕ(x)$과 가중치 행렬 $W$을 통해 조건부 확률 $P(y|x)$을 계산하는 것이다.

즉, Input $x$가 특정 Class인 $y$에 해당하는가를 모델링 한 것이다.

 

 

 

조건부 기대값

 

회귀문제의 경우에는 특정 $y$값이 될 확률을 구하는 것이 아니기 때문에 조건부 기대값을 추정한다.

조건부 기대값인 $E[y|x]$은 함수 $f(x)$와 일치하는데, 이 함수는 $L_2$ Norm인 $E||y−f(x)||_2$를 최소화하는 함수이다.

조건부 기대값은 밀도함수인 조건부 확률분포에서 $y$에 대해 적분한 값이 된다.

 

 

기댓값(Expectation)

 

기댓값은 데이터를 대표하는 통계량이며, 다른 통계적 수치를 계산하는데 사용된다.

 

$P(x)$가 연속형일 때, $E[f(x)]=∫f(x)P(x)dx$

$P(x)$가 이산형일 때, $E[f(x)]=∑f(x)P(x)$

 

기댓값을 이용해 분산, 첨도, 공분산 등 여러 통계량을 계산할 수 있다.

 

 

 

딥 러닝과 특징패턴

 

딥러닝은 주어진 데이터 $x$로부터 다층 신경망을 통해 특징패턴 $ϕ$를 추출한다.

이때, 특징패턴을 학습하기 위해 어떤 손실함수를 사용할지는 기계학습의 문제와 모델에 의해 결정되는 것이다.

 

 

몬테카를로 방법(Monte Carlo method)

 

기계학습에서는 확률분포를 대체로 모를 때가 많다.

이때, 데이터를 이용해 기댓값을 계산하는 방법으로 몬테카를로 샘플링을 이용한다.

데이터를 여러 번 독립추출하면 대수의 법칙에 따라 이들의 기댓값(샘플링의 기댓값)은 실제 데이터 분포의 기댓값에 수렴하며, 이는 이산형 또는 연속형 확률변수에 무관하게 사용 가능하다.

단, 샘플링하는 데이터의 크기가 어느 정도 커야 한다.

 

$X_1$ $X_2$, $...$, $X_n$이 평균 $\mu$와 분산 $\sigma^2$을 갖는 임의의 $i.i.d.$ 확률변수들이라고 할 때, $n$이 충분히 크다면 $X_1$ $X_2$, $...$, $X_n$의 표본평균 $\overline{X}$는 평균 $\mu$와 분산 $\dfrac{\sigma^2}{n}$을 갖는 정규분포에 가까워진다는 중심극한정리(central limit theorem)와 유사한 맥락에서 나오는 개념인 것으로 이해할 수 있다고 본다.

 

Contents

글 주소를 복사했습니다

부족한 글 끝까지 읽어주셔서 감사합니다.
보충할 내용이 있으면 언제든지 댓글 남겨주세요.