[Week3] Day11 딥러닝 기초

이규호·2021년 2월 1일
0

부스트캠프 U Stage

목록 보기
11/30

📒 베이즈 통계학 맛보기


임성빈 교수님 강의중에 제일 쉬운 내용이었다.
이론으로만 보기엔 조금 어려워 보이지만, 예제를 보면서 공부하니 쉬웠다.
베이즈 정리라는 개념은 처음 들어보지만 원래의 확률과 크게 다른점이 없었다.

📝 조건부 확률


  • 사건 B가 일어난 상황에서 사건 A가 발생할 확률을 의미한다.
  • 베이즈 정리는 조건부확률을 이용하여 정보를 갱신하는 방법을 알려준다.
  • 이는 A라는 새로운 정보가 주어졌을 때 P(B)로부터 P(B | A)를 계산하는 방법을 제공한다.

📝 베이즈 정리


  • 가능도는 현재 주어진 모수 또는 가정에서 해당 데이터가 관찰될 확률을 의미한다.
  • Evidence는 데이터 자체의 분포를 의미한다.

✏️ 예제

  • 전염병의 발병률이 10%. 실제로 걸렸을 때 검진될 확률 99%, 오검진될 확률 1%
    👉 어떤 사람이 질병에 걸렸다고 검진결과가 나왔을때 감염되었을 확률?
  • θ를 발병 사건으로 정의하고, D를 테스트 결과라고 정의한다.
  • 오탐율(현재 1%)이 오르면 테스트의 정밀도가 떨어진다.
  • True Positive : 양성이 나왔을 때 진짜 질병에 걸린 경우
  • True Negative : 음성이 나왔을 때 질병에 걸리지 않은 경우
  • False Positive(1종 오류) : 양성이 나왔을 때 실제로는 질병에 걸리지 않은 경우.
  • False Negative(2종 오류) : 음성이 나왔을 때 실제로는 질병에 걸린 경우
  • 데이터에 따라서 1종 오류를 줄일지 2종 오류를 줄일지를 정하는 것이 중요하다.

📝 활용


  • 베이즈 정리를 통해 새로운 데이터가 들어왔을 때
    👉 앞서 계산한 사후확률을 사전확률로 사용하여 갱신된 사후확률의 계산이 가능
  • 조건부 확률은 인과관계를 추론할 때 함부로 사용해서는 안된다.
    👉 데이터가 많아져도 조건부 확률만 갖고 인과관계를 추론하는 것은 불가능

📝 인과관계

  • 인과관계는 데이터 분포의 변화에 강건한 예측모형을 만들 때 필요하다.
  • 인과관계를 알아내기 위해서는 중첩요인의 효과를 제거하고 원인에 해당하는 변수만의 인과관계를 계산해야 한다.
    👉 중첩요인을 제거하지 않으면 가짜 연관성이 나온다.

📒 [퀴즈] 베이즈 통계학 맛보기- 1~5


5/5 Solve

📝 Q1


Q) P(A ∩ B) = P(A) * P(B ∣ A)

A) 예 (교환 법칙이 성립한다.)

📝 Q2


Q) 사후확률 (posterior) 은 가능도 (likelihood) 에 반비례하는가?

A) 아니오 (비례한다.)

📝 Q3


Q) 다음의 식이 성립하는가?

A) 예

📝 Q4


Q) A가 binary variable일 때, 다음의 식이 성립하는가?

A) 예

P(A | B) = P(B | A) * P(A) / P(B)
P(B) = P(B | A) * P(A) + P(B | ¬A) * P(¬A)

📝 Q5


Q) 모든 변수에 대한 조건부 확률만으로 인과관계를 추론할 수 있는가?

A) 아니오

📒 PyTorch 시작하기


PyTorch는 어제 모위딥에서 공부했기에.. 정리를 생략했다.
Colab을 내 VS Code와 SSH로 연동하는 작업을 했다.

📝 What is PyTorch?


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

📝 Reference


PyTorch로 시작하는 딥 러닝 입문
PyTorch Tutorials

📒 뉴럴 네트워크 - MLP


Linear Neural Network와 Multi-Layer Perceptron에 대해 배웠다.
이론적인 부분은 앞에서 배운 내용과 크게 다르지 않아 간단하게 넘어갔다.
실습 부분에도 코드를 한줄 한줄씩 설명해주시는게 좋았다.
다만, 교수님의 수업 방식이 뭔가 우리가 다 알고 있다고 생각하고 설명을 하시는 것 같다.
내일 배울 것을 예습하지 않으면 내일은 하루종일 고통받겠구나 라는 생각이 들었다.

📝 Linear Neural Networks


  • 입력이 N차원이고 출력이 M차원일 때 모델을 찾는 것이다.
  • x에서 loss를 최소화하는 x-hat으로 가는 모델을 찾기 위해 W와 b를 구하는 과정이다.
  • loss function을 줄이는게 목적이므로, 어느 방향으로 움직였을 때 줄어드는지 확인하기 위해 미분값을 구한다.
  • 미분값을 구하면, 원래의 w와 b에 업데이트해준다.

📝 Multi-Layer Perceptron


  • Network가 여러개면 더 많은 표현력을 가질 수 있다.
  • Network를 깊게 쌓을때는 nonlinear transform(활성 함수)을 써야 의미가 있다.

📒 데이터셋 다루기


이것으로 대체........

profile
Beginner

0개의 댓글