[5주차 (1)] 확률론
1. 딥러닝에서 확률론이 필요한 이유
-딥러닝은 확률론 기반의 기계학습 이론에 바탕을 두고 있음
-기계학습에서 사용되는 손실함수(loss function)들의 작동 원리는 데이터 공간을 통계적으로 해석해서 유도하게 됨
-즉, 예측이 틀릴 위험 (risk)를 최소화하도록 데이터를 학습하는 원리는 통계적 기계학습의 기본 원리이다.
-회귀분석에서 손실함수로 사용되는 L2노름은 예측 오차의 분산을 가장 최소화하는 방향으로 학습하도록 유도
-분류 문제에서 사용되는 교차 엔트로피(cross-entropy)는 모델 예측의 불확실성을 최소화하는 방향으로 학습하도록 유도
-분산 및 불확실성을 최소화하기 위해서는 측정하는 방법을 알아야 한다.
-두 대상을 측정하는 방법을 통계학에서 제공, 따라서 기계학습을 이해하려면 확률론의 기본 개념을 알아야함
-확률분포는 데이터의 초상화이다
-데이터 공간을 x*y라고 표기하고 D는 데이터 공간에서 데이터를 추출하는 분포이다.
-데이터만 가지고 확률 분포 D를 알아내는 것은 불가능하기 때문에, 우리는 기계학습 모델을 통해 확률 분포 D를 추론
** 우리 수업은 데이터가 정답 레이블을 항상 가진 지도 학습을 상정
-데이터는 확률 변수로 (x, y) ~D 라 표기
-우리가 관찰하는 데이터는 확률 변수로써 이해, 데이터 공간 상에서 관측이 가능한 데이터
-확률 변수는 사실 함수로 인식, 랜덤한 함수
2. 이산확률변수 vs 연속확률변수
-확률변수는 확률 분포 D에 따라 이산형(discrete)과 연속형(continuous) 확률변수로 구분
-이는 데이터공간 x*y에 의해 결정되는 것으로 오해하지만, 사실 D에 의해 결정된다.
-이산형 확률변수는 확률변수가 가질 수 있는 경우의 수를 모두 고려하여 확률을 더해서 모델링한다.
-P(X=x)는 확률변수가 x값을 가질 확률로 해석될 수 있다.
-연속형 확률 변수는 데이터 공간에 정의된 확률 변수의 밀도 위에서의 적분을 통해 모델링한다.
-보통 컴퓨터에서 사용되는 확률 변수는 이산형이지만, 기계학습에서 사용되는 확률변수는 이산형에 종속되지 않음
-확률 분포의 종류에 따라 모델링의 방법론이 조금씩 달라지고, 어떻게 접근하느냐에 따라 접근이 달라짐
-전체 데이터 X와 Y가 주어진 상황에서 분포를 상정할 수 있는데, 이 분포를 결합분포(joint distribution, P(x, y))이라고 함
-P(x) 는 입력 x에 대한 주변확률분포로 y에 대한 정보를 주진 않는다.
-주변 확률 분포 P(x)는 결합분포 P(x, y)에서 유도가 가능하다
-조건부 확률 분포 P(x|y) 는 데이터 공간에서 입력 x와 출력 y 사이의 관계를 모델링한다.
-P(x|y)는 특정 클래스가 주어진 조건에서 데이터의 확률 분포를 보여준다.
-주어진 클래스에 대해 x의 분포를 살펴보기 위해서는 조건부 확률을 사용하면 명확히 통계적 관계를 모델링할 수 있게 된다
3. 조건부확률과 기계학습
-조건부 확률 P(y|x)는 입력 변수 x에 대해 정답이 y일 확률을 의미한다.
-연속확률분포의 경우 P(y|x)는 확률이 아니고 밀도로 해석한다는 것을 주의하자.
-로지스틱 회귀에서 사용했던 선형 모델과 소프트맥스 함수의 결합은 데이터에서 추출된 패턴을 기반으로 확률을 해석하는데에 사용된다.
-분류 문제에서 softmax(Wo+b)는 데이터 x로부터 추출된 특징 패턴 o(x)와 가중치 행렬 W을 통해 조건부 확률 P(y|x)를 계산하게 된다.
-분류와 달리 회귀 문제의 경우 연속 확률을 사용하기 때문에 확률로 해석하기에는 어렵고, 조건부 기대값을 추정
-조건부 기대값을 사용하는 이유 -> 회귀문제를 다루는 경우 손실함수는 L2 노름의 기대값, 조건부 기대값은 L2 노름을 최소화하는 함수와 일치하기 때문에 사용
-딥러닝은 다층신경망(multilayer perceptron)을 사용하여 데이터로부터 특징 패턴 o를 추출한다.
-특징 패턴을 학습하기 위해 어떤 손실함수를 사용할 지는 기계 학습 문제와 모델에 의해 결정된다.
-기대값이란?
-확률분포가 주어지면 데이터를 분석하는 데 사용 가능한 여러 종류의 통계적 범함수(statistical functional)를 계산할 수 있음
-기대값(Expectation)은 데이터를 대표하는 통계량이면서 동시에 확률 분포를 통해 다른 통계적 범함수를 계산하는데 사용
-기대값을 이용해 분산, 첨도, 공분산 등 여러 통계량을 계산할 수 있게 된다.
4. 몬테카를로 샘플링
-기계학습의 많은 문제들은 확률 분포를 명시적으로 모를 때가 대부분이다.
-확률 분포를 모를 때 데이터를 이용하여 기대값을 계산하려면 몬테카를로 샘플링 방법을 사용해야 한다.
-확률분포에 대해서는 알지 못하나 샘플링 방법을 알고 있을 때 샘플링을 통해 기대값 대신 계산 가능
-타겟함수 f(x)의 x자리에 우리가 샘플링한 데이터를 대입, 데이터에 따른 산술평균값을 계산
-이 산술평균값이 우리가 구하고자하는 기대값에 근사하게 된다.
-몬테카를로는 이산형이든 연속형이든 상관없이 성립, 항상 데이터는 독립적으로 샘플링을 해 주어야 한다.
-즉, 몬테카를로 샘플링은 독립추출만 보장이 된다면, 대수의 법칙(law of large number)에 의해 수렴성을 보장한다.
-몬테카를로 샘플링은 기계학습에서 매우 다양하게 응용되는 방법이다.
본 포스트의 학습 내용은 부스트클래스 <AI 엔지니어 기초 다지기 : 부스트캠프 AI Tech 준비과정> 강의 내용을 바탕으로 작성되었습니다.