확률론을 배워야하는이유 ?
- 딥러닝은 확률론 기반의 기계학습 이론에 바탕을 두고있다.
- 기계학습에서 사용되는 손실함수 ( loss function)들의 작동원리는 데이터 공간을 통계적으로 해석해서 유도하게 된다.
- 회귀 분석에서 손실함수로 사용되는 L2노름은 예측오차의 분산을 가장 최소화하는 방향으로 학습하도록 유도한다.
- 분류 문제에서 사용되는 교차엔트로피(cross-entropy)는 모델 예측의 불확실성을 최소화 하는 방향으로 학습하도록 유도된다.
- 분산 및 불확실성을 최소화 하기 위해서는 측정하는 방법을 알아야한다.
-> 그래서 확률론을 알아야 기본적으로 딥러닝이 어떻게 학습하고 측정하는지 알 수 있다.
어떤 확률 실험의 결과를 나타내는 변수(주사위 굴릴때 나오는 눈의 수, 앞면이 나올 횟수를 나타내는 변수)
를 사용한다. 데이터가 얼마나 밀집해있는지를 보여주는 척도지, 여기에 45% 확률로 데이터가 들어간다 라는말은 아니다.
결합분포 : P(x,y) 데이터의 분포를 나타낸다.
이 결합분포 P(x,y)는 x에대한 주변확률분포로 y에 대한 정보를 주진 않는다.
x에 따른 빈도를 보여주는것이지 Y에 따라 구별이 되는것이아니다.
그래서 데이터 공간에서 데이터입력 x와 출력 y사이의 관계를 모델링한다.
p(x|y=1) 이라면 y=1일때의 x데이터 분포만 보여준다.
이걸 조건부 확률 분포라고 부른다.
연속확률 분포 : x가 존재하는 밀도를 표시
조건부 확률 : y일 확률
회귀 문제의 경우 조건부기대값 E[y|x]을 추정한다.
적분y*p(y|x)dy
조건부 기대값을 사용하는 이유는 L2노름을 최소화하는 함수와 일치한다.
그래서 조건부기대값을 사용하는 이유는 목적값으로하는 L2노름을 최소화하는 함수이기 때문이다.
기대값 = 평균 = mean
기계학습에서 기대값은 평균이 아닌, 목적으로 하는 주어진 함수의 데이터를 대표하는 통계량이면서 확률분포를 통해 다른 통계적 범함수를 계산하는데 사용된다.
확률 분포의 중심을 나타내며 해당 분포의 대표적인 값으로 사용된다.
그 값들이 나타날 것으로 기대되는 평균적인 결과를 나타낸다.
주로 분산, 첨도, 공분산 등 여러 통계량을 계산할 수 있다.
딥러닝은 다층신경망을 사용하여 데이터로부터 특징패턴 q를 추출한다.
기계학습은 확률분포를 명시적으로 모를때가 일반적이다.
즉 데이터를 모를때 실행된다. 이때 사용되는게 몬테카를로 샘플링이다.
만약 확률분포를 명시적으로 모르는 상황에서 샘플링하는 방법을 알고있으면 기대값을 계산해 볼 수있다. x자리에 샘플링한 데이터를 넣어주고 산술평균값을 넣어서 몬테카를로 샘플링을 하면 우리가 구하려고 하는 확률분포와 근사 하게 기대값을 구할 수 있다.
통계학에서 굉장히 많이 사용된다.
샘플이 독립적으로 추출되고 이 샘플들의 평균이 존재할때 이 평균이 전체 분포의 평균에 수렴한다는 원리. 즉 샘플의 수가 충분히 많고 독립적으로 추출된다면 샘플들의 평균은 전체 분포의 평균에 가까워진다.
함수 상에서 적분값은 어떻게 구할가?
부정적분 공식으로 구해야한다. 근데 몬테카를로 샘플링을통해 근사를 해보자.
적분구간 -1부터 1에서 균등분포를 확률분포로 바꾸기위해
2로 나눠주고 기대값을 기대하기때문에 몬테카를로를 쓸 수있다.
적절한 샘플링 개수를 정해줘한다.
sample_size=10000, size = 100등을 확인해보자.