[AITech] 20220120 - 확률론 기초

2 minute read


강의 복습 내용

확률

딥러닝에서 확률론이 필요한 이유는 다음과 같다.

  • 기계학습에서 사용되는 손실 함수들의 작동 원리데이터 공간을 통계적으로 해석해서 유도하게 된다.
  • 예를 들어, 회귀 분석에서 사용되는 L2-노름은 예측오차의 분산을 가장 최소화하는 방향으로 학습하도록 유도하고, 분류 문제에서 사용되는 교차 엔트로피는 모델 예측의 불확실성을 최소화하는 방향으로 학습하도록 유도한다.
  • 이렇듯 분산 및 불확실성을 최소화하기 위해서는 측정하는 방법을 알아야 한다.

확률 분포

  • 데이터 공간을 (x,y), 데이터 공간에서 데이터를 추출하는 분포를 D라 합니다.

    • 이 때 데이터는 확률 변수로 (x, y) ~ D로 표기합니다.
  • 확률 변수는 이산형 확률변수연속형 확률변수로 구분되고, 이를 구분하는 기준은 데이터 공간의 범위가 아닌 D(데이터 분포)에 의해 결정된다.

    • 즉, 데이터 공간의 범위가 실수 전체더라도 실제로는 -0.5와 0.5에서만 분포한다면 이는 이산형 확률변수이다.
  • 이산형 확률변수는 확률변수가 가질 수 있는 경우의 수의 확률을 모두 더해서 모델링한다. (확률 질량 함수)

    image-20220120182242018

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

    • 밀도는 누적확률분포의 변화율을 모델링하며, 확률로 해석하면 안 된다.

    image-20220120182325072

  • 결합 분포 P(x, y)는 D를 모델링한다.

    • P(x, y)는 D의 실제 타입과 상관없이 결정할 수 있다. D는 이론적으로 존재하는 확률분포로, 사전에 알 수 없기 때문에 D가 실제로 이산이든 연속이든 P(x, y)는 이산/확률로 모델링할 수 있다.
  • P(x)는 입력 x에 대한 주변확률분포로 y에 대한 정보를 주지는 않는다.

    • 주변확률분포 P(x)는 결합분포 P(x,y)에서 유도 가능하다.

    image-20220120183027992

조건부 확률

  • 조건부 확률 P(y|x)는 입력 변수 x에 대해 정답이 y일 확률을 의미한다.

    • 연속확률분포의 경우, P(y|x)는 확률이 아닌 밀도로 해석한다.
  • 로지스틱 회귀에서 사용했던 선형 모델과 소프트맥스 함수의 결합은 데이터에서 추출된 패턴을 기반으로 확률을 해석하는데 사용된다.

  • 분류 모델에서 softmax(Wk + b)은 데이터 x로부터 추출된 특징 패턴 k(x)와 가중치 행렬 W를 통해 조건부 확률 P(x,y)를 계산한다.

  • 회귀 문제의 경우 조건부기대값 E[y|x]를 추정한다.

    • 조건부기대값은 E||y - f(x)||2을 최소화하는 함수 f(x)와 일치한다.
    • 무엇을 사용할 지는 통계적 모양과 목적에 따라 다르다!!

    image-20220120183844971

    • 기대값이란?

      • 기대값은 데이터를 대표하는 통계량이면서 동시에 확률분포를 통해 다른 통계적 범함수를 계산하는데 사용된다.

      image-20220120184229330

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

      image-20220120184306228

  • 딥러닝은 다층신경망을 이용하여 데이터로부터 특징패턴 k를 추출한다.

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

몬테카를로 샘플링

  • 기계학습의 많은 문제들은 확률분포 P(x)를 명시적으로 모를 때가 대부분이다.
  • 확률분포 P(x)를 모를 때 데이터를 이용하여 기대값을 계산하려면 몬테카를로 샘플링 방법을 사용해야 한다.
    • x~P(x): x는 확률분포 P(x)를 따른다.
    • i.i.d.: 독립적이고 같은 확률분포를 가진다. (independent identically distribution)

image-20220120184516631

  • 몬테카를로 샘플링은 독립추출만 보장된다면 대수의 법칙에 의해 수렴성을 보장한다.

    • 몬테카를로 샘플링은 기계학습에서 매우 다양하게 응용되는 방법이다.
  • 예제: 함수 f(x) = e-x2의 [-1,1] 상에서 적분값을 어떻게 구할까?

    • 구간 [-1,1]의 길이는 2이며 함수가 좌우 대칭이다. 따라서 적분값을 2로 나누면 기대값 계산과 같고, 몬테카를로 방법을 사용할 수 있다.

    image-20220120185848704

# python code
import numpy as np

def mc_int(fun, low, high, sample_size=100, repeat=10):
    int_len = np.abs(high-low)
    stat = []
    for _ in range(repeat): # 샘플링 과정 여러번 반복
        x = np.random.uniform(low=low, high=high, size=sample_size) # 샘플링
        fun_x = fun(x) # f(xi)
        int_val = int_len * np.mean(fun_x) # 2 * (sum(f(x))/N)
        stat.append(int_val)
    return np.mean(stat), np.std(stat)

def f_x(x):
    return np.exp(-x**2)

print(mc_int(f_x, low=-1, high=1, sample_size=10000, repeat=100))
# (1.4937142278833102, 0.004055490097645274)


Leave a comment