확률론 맛보기

Heath_Jeong·2021년 3월 6일
0

Ustage Week2 - AI Math

목록 보기
7/9

확률론 맛보기

딥러닝에서 확률론이 필요한 이유

  • 딥러닝은 확률론 기반의 기계학습 이론에 기반함
  • 손실함수 (loss function) 들의 작동 원리는 데이터 공간을 통계적으로 해석해서 유도함
    • 예측이 틀릴 위험 (risk) 를 최소화하도록 데이터를 학습 → SGD
  • 회귀 분석에서 손실함수로 사용되는 L2-norm 은 예측오차의 분산을 가장 최소화하는 방향으로 학습하도록 유도
  • 분류 문제에서 사용되는 교차엔트로피 (cross-entropy) 는 모델 예측의 불확실성을 최소화하는 방향으로 학습
  • 분산 및 불확실성을 최소화하기 위해서는 측정하는 방법을 알아야 함
    • 두 대상을 측정하는 방법은 통계학 기반이므로 확률론을 알아야 함

확률분포는 데이터의 초상화

  • 테이터 공간을 xx x yy 라 표기하고 𝔇 는 데이터공간에서 데이터를 추출하는 분포
  • 데이터는 확률변수로 (xx, yy) ~ 𝔇 라 표기
    • 확률변수는 함수로 표시, 임의로 데이터 공간에서 관측된 데이터를 확률변수로 데이터 추출
    • 추출한 데이터의 분포 → 𝔇
  • 결합분포 P(x, y) 는 𝔇 를 모델링
    • 결합분포는 원래 확률분포 타입에 상관없이 이산형이나 연속형 가능
    • 결합분포는 아규먼트로 쓰인 확률변수들을 같이 고려한다는 뜻
  • P(x) 는 입력 x 에 대한 주변확률분포로 y 에 대한 정보를 주지 않음
    • 주변확률분포 P(x) 는 결합분포 P(x, y) 를 y 에 대해 더하거나 적분해서 유도
  • 조건부확률분포 P(x | y) 는 데이터 공간에서 입력 x 와 출력 y 사이의 관계를 모델링
    • P(X | Y = 1) : Y 가 1 일 때 X 의 확률분포
    • 원딜님 설명 : 전체 공간 S 대신 Y 공간에서 X 의 확률분포
    • 결합분포말고 조건부확률분포를 쓰면 데이터 각각에 대해 더 명확하게 알아낼 수 있음
  • 확률분포는 데이터를 해석하는데 도움을 줌 (초상화)

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

  • 확률변수는 확률분포 𝔇 에 따라 이산형 (discrete) 과 연속형 (continuous) 확률변수로 구분
    • 데이터 공간 xx x yy 로 구분하는게 아니라 확률분포의 종류에 따라 구분!
  • 이산형확률변수
    • 확률변수가 가질 수 있는 경우의 수를 모두 고려하여 확률을 더해서 모델링함
    • P(X = x) 는 확률변수가 x 값을 가질 확률

  • 연속형확률변수
    • 데이터 공간에 정의된 확률변수의 밀도 (density) 위에서의 적분을 통해 모델링
    • P(x) : 밀도함수, 누적확률분포, 데이터 공간에 정의된 확률보다는 밀도 (적분 필요)
      • 밀도는 누적확률분포의 변화율을 모델링, 확률로 해석 x
    • 보통 컴퓨터에 쓰는 데이터는 이산형이지만 기계학습에는 정규분포, 감마분포 등 연속형확률변수 씀

  • 이산형과 연속형으로 모든 확률분포 표현되는건 아님, 더 있음

조건부확률과 기계학습

  • 조건부확률 P(y | x) 는 입력변수 x 에 대해 정답이 y 일 확률
    • 연속확률분포면 확률 대신 밀도로 해석
  • 저번 시간에 사용한 로지스틱 회귀의 선형모델과 소프트맥스 함수의 결합은 데이터에서 추출된 패턴을 기반으로 확률 해석
    • 선형함수가 비선형함수를 거치면 확률이 됨
  • 분류 문제에서 softmax(Wϕ+b)W\phi + b) 는 데이터 x 로부터 추출된 특징패턴 ϕ(x)\phi(x) 과 가중치행렬 W 을 통해 조건부 확률 P(y | x) (= P(y | ϕ(x)\phi(x)) 를 계산
  • 회귀 문제의 경우 조건부기대값 E[y | x] 를 추정
    • 조건부 확률 대신 조건부기대값을 구해야(추정)한다는 말
    • 보통 회귀 문제는 연속확률분포를 다루므로 적분 사용
    • 왜 조건부기대값을 구하나?
      • 목적식 L2-norm 을 최소화하는 함수 = 조건부기대값 이기 때문
    • robust (강건) 하게 예측할 때는 조건부기대값 대신 median (중간값) 사용
    • 통계적 모형에서 원하는 목적에 따라 추정량이 달라질 수 있다!

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

기대값

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

  • 기대값을 이용해 분산, 첨도(첨도말고 왜도인듯 = 비대칭도), 공분산 등 여러 통계량 계산 가능

  • 기억해야할 것 : 이산이면 급수(질량함수), 연속이면 적분 사용

몬테카를로 샘플링

  • 기계학습의 많은 문제들은 확률분포를 명시적으로 모를 때가 대부분 → 몬테카를로 샘플링은 기계학습에서 매우 다양하게 응용
  • 확률분포를 모르기에 데이터를 이용해 기대값을 계산하기 위해 몬테카를로 샘플링을 사용
  • 이산형 연속형 상관없이 성립
  • 독립추출 (분포에서 독립적으로 추출 = 샘플링) 이 보장된다면 대수의 법칙 (law of large number) 에 의해 수렴성을 보장
    (Q. 대수의 법칙이 뭐지 -> 전체 모집단에서 랜덤한 표본의 평균은 전체의 평균과 가까울 가능성이 높다는 법칙)

  • 예제 : 적분 계산하기
    • 확률분포가 아닌 공간에서 적분은 불가능 → 몬테카를로
    • 예제의 f(x) 는 우리가 아는 적분식으로 적분 구하기 힘듦
    • f(x) 의 적분의 길이가 2 이므로 반으로 나누면 기대값. 기대값은 몬테카를로 방법 가능.
    • 다 구하고 다시 2 곱하면 됨.
    • uniform (균등) 분포에서 샘플링해주면 오차 범위 안에 들어옴.
      • 샘플 사이즈가 적으면 오차범위 커짐 → 참값에 멀어짐, 적절히 조절해야 함


참조

  • BoostCamp AI Tech
profile
데이터로 문제를 해결하는 엔지니어를 꿈꿉니다.

0개의 댓글