[부스트캠프 AI Tech][Week03]Day11 - 딥러닝 기초

Carvin·2021년 5월 19일
0

Week03 - DL Basic

[Day 11] - 딥러닝 기초

1. 베이즈 통계학

조건부확률 개념에서 연장되는 개념인 베이즈 정리와 인과관계 추론에 대해 알아보겠습니다. 베이즈 정리는 데이터가 새로 추가되었을 때, 새로운 정보를 받아들이는 방식에 대한 기반이 되므로 머신러닝에 사용되는 예측 모형의 방법론으로 굉장히 많이 사용되는 개념입니다. 특히 베이즈 정리에서 나타나는 사전확률, 사후확률, evidence 등의 개념을 정확히 이해하는 게 중요헙니다.

인과관계 추론의 경우, 조건부확률과 혼동하지 않도록 유념해야 하며, 중첩효과를 제거함으로써 얻은 인과관계를 어떻게 활용할 수 있는지 생각해보아야 합니다.

1) 조건부 확률

조건부 확률은 어떤 사건이 발생한 조건이 있을 경우, 다른 사건이 발생할 확률을 의미합니다.
제공되는(given) 사건이 AA라고 하고 우리가 구하고자 하는 사건 BB에 대한 조건부 확률을 기호로 나타내면 P(BA)P(B∣A) 이며, 원하는 결과는 BB이고 그 단서로 사건 AA를 고려하게 됩니다.

조건부 확률을 벤다이어그램으로 간단하게 표현하게 되면 다음과 같습니다. 사건 A의 발생을 전제로 사건 B가 발생해야 하기 때문에 b영역에 해당하게 됩니다.

베이즈 정리는 이러한 특징의 조건부확률을 이용하여 정보를 갱신하는 방법을 알려줍니다.

2) 베이즈 정리 참고자료

베이즈 정리는 조건부확률을 이용하여 정보를 갱신하는 방법이라고 했습니다. 정보를 갱신한다는 의미는, 새로운 정보를 기반으로 어떤 사건이 발생했다는 주장에 대한 신뢰도를 갱신해 나가는 방법이라고 할 수 있습니다.

정보가 갱신되기 위해서 필요한 정보에 대해서 알아보겠습니다. 베이즈 정리에서는 사전 확률사후 확률이라는 개념이 존재합니다. 개인적으로 이해하기로는, 사전 확률과 사후 확률의 차이는 새로운 정보의 고려 유무가 아닐까 생각됩니다. 여기서 새로운 정보란 evidence를 의미하며, 사전 확률과 evidence를 모두 활용하여 새로운 정보가 고려된 사전 확률인 사후 확률을 계산할 수 있다는 것이 베이즈 정리라고 생각됩니다.

  • DD: 새롭게 관찰하는 데이터
  • θθ: 모델링하는 이벤트, 모델에서 계산하고자 하는 파라미터인 모수
  • P(θ)P(θ), 사전확률: 사전에 정의된 확률분포
  • P(D)P(D), evidence: 데이터 전체의 분포, 관찰되는 데이터의 분포


예시

COVID-99 의 발병률이 10% 로 알려져있습니다. COVID-99에 실제로 걸렸을 때 검진될 확률은 99%, 실제로 걸리지 않았을 때 오검진될 확률이 1% 라고 할 때, 어떤 사람이 질병에 걸렸다고 검진결과가 나왔을 때, 정말로 COVID- 99에 감염되었을 확률은 어떻게 될까요?

해당 문제에서는 어떤 사람의 검진 결과가 양성일 때, 실제로 그 사람이 COVID-99에 걸렸을 확률을 구하는 문제입니다. 위 문제에서 구할 수 있는 확률은 다음과 같습니다.

  • P(θ)=0.1P(θ) = 0.1                  # 질병에 걸릴 확률
  • P(Dθ)=0.99P(D|θ) = 0.99                # 질병 O, 검진 결과과 양성일 확률
  • P(D¬θ)=0.01P(D|¬θ) = 0.01                  # 질병 X, 검진 결과가 양성일 확률
  • P(D)=0.990.1+0.010.9=0.108P(D) = 0.99 * 0.1 + 0.01 * 0.9 = 0.108   # 검진 결과가 올바를 확률
  • P(θD)=0.1(0.99/0.108)=0.916P(θ|D) = 0.1 * (0.99 / 0.108) = 0.916    # 검진 결과가 양성일 때, 질병에 걸렸을 확률(정밀도)

먼저, 질병에 걸릴 확률이 0.1 인 것은 문제에서 주어졌듯이 쉽게 알 수 있습니다. 질병에 걸렸을 때, 검진 결과가 음성일 확률은 0.99입니다. 반대로 질병에 걸리지 않았을 때, 결과가 양성일 확률은 0.01이며, 이를 오탐율이라고 합니다. 그렇다면 검진 결과가 양성일 때, 질병에 걸렸을 확률을 어떻게 구할 수 있을까요?

해당 확률을 구하기 위해서는 검진 결과가 올바르다는 evidence인, P(D)P(D)가 정의되어야 합니다. 검진 결과가 올바을 확률은 다음과 같이 2가지 경우가 존재합니다.

1) 실제로 질병에 걸렸을 때, 검진 결과가 양성인 경우
2) 실제로 질병에 걸리지 않았을 때, 검진 결과가 음성인 경우

위 경우를 모두 포함하는 P(D)P(D)는 다음과 같이 구할 수 있습니다.

P(D)=θP(θ)P(Dθ)=0.990.1+0.010.9=0.108P(D) = \sum_{\theta} {P(\theta)}{P(D|\theta)} = 0.99 * 0.1 + 0.01 * 0.9 = 0.108

이렇게 검진 결과가 올바르다는 새로운 정보인 evidence를 구하게 되면, 사전 확률인 질병에 걸릴 확률과 같이 활용해서 사후 확률을 구할 수 있게 됩니다.

P(θD)=P(θ)P(Dθ)P(D)=0.10.990.108=0.916P(\theta|D) = P(\theta) \frac {P(D|\theta)}{P(D)} = 0.1 * \frac {0.99}{0.108} = 0.916

❗️만약 오검진될 확률(1종 오류)이 1%가 아닌 10%면 정밀도가 매우 떨어지는 것을 확인할 수 있습니다. 즉, 오탐율(False alarm)이 오르면 테스트의 정밀도(Precision)가 떨어집니다.

오탐율이 0.1이게 되면, 검진 결과가 올바를 확률과 검진 결과가 양성일 때, 질병에 걸렸을 확률은 다음과 같습니다.

P(D)=0.990.1+0.10.9=0.189P(D) = 0.99 * 0.1 + 0.1 * 0.9 = 0.189
P(θD)=0.10.990.188=0.524P(\theta|D) = 0.1 * \frac {0.99}{0.188} = 0.524

이렇게 사후확률을 구하게 되면 해당 사후확률을 사전확률로 갱신하여 다시 사용할 수 있습니다.

예시

앞서 COVID-99 판정을 받은 사람이 두 번째 검진을 받았을 때도 양성이 나왔을 때, 진짜 COVID-99에 걸렸을 확률은 어떻게 될까요?

위에서 구한 오탐율이 0.1 일 때의 사후확률을 사전확률로 갱신하여 해당 예시의 확률을 구해보도록 하겠습니다.

P(D)=θP(θ)P(Dθ)=0.990.524+0.10.476=0.566P(D) = \sum_{\theta} {P(\theta)}{P(D|\theta)} = 0.99 * 0.524 + 0.1 * 0.476 = 0.566
P(θD)=P(θ)P(Dθ)P(D)=0.5240.990.566=0.917P(\theta|D) = P(\theta) \frac {P(D|\theta)}{P(D)} = 0.524 * \frac {0.99}{0.566} = 0.917

3) 조건부 확률과 인과관계

조건부 확률에 대해서 공부를 하게 되면 어떠한 사건을 기반으로 다른 사건의 발생 확률에 대해서 알아보기 때문에 쉽게 착각할 수 있는 것이 있습니다. 바로 '기반'이라는 단어로 인해 어떠한 사건이 다른 사건의 원인과 결과라는 인과관계와 관련이 있다고 착학할 수 있습니다. 하지만 조건부 확률은 유용한 통계적 해석을 제공하지만 인과관계를 추론할 때에는 함부로 사용해서는 안된다고 합니다.

  • 인과관계는 데이터 분포의 변화에 강건한 예측모형을 만들 때 필요함
  • 인과관계를 알아내기 위해서는 중첩요인의 효과를 제거하고 원인에 해당하는 변수만의 인과관계를 계산해야 함(혼동변수를 의미하는 것 같음)

2. 딥러닝 기본 용어 설명

1) Introduction

딥러닝의 요구사항

  • 프로그래밍 스킬 및 딥러닝 프레임워크 숙련도를 기반로 한 구현 능력
  • 수학 능력(선형 대수, 확률론 등)
  • 논문 리서치 및 트렌드 파악 능력

딥러닝이란

인공지능의 가장 기본적인 정의는 사람의 지능을 모방하는 것이다. 사람의 지능을 모방한다는 인공지능 안에는 data-driven approach의 머신러닝과 Neural network가 접목된 딥러닝이 있다고 할 수 있다.

딥러닝의 주요 요소

  • The data that the model can learn from
  • The model how to transform the data
  • The loss function that quantifies the badness of the model
  • The algorithm to adjust the parameters to minimize the loss

3. PyTorch 시작하기

1) PyTorch

  • Numpy 구조를 가지는 Tensor 객체로 array 표현
  • 자동미분을 지원하여 DL 연산을 지원
  • 다양한 형태의 DL을 지원하는 함수와 모델을 지원

0개의 댓글