Top 32 머신 러닝 확률 과 통계 Top Answer Update

You are looking for information, articles, knowledge about the topic nail salons open on sunday near me 머신 러닝 확률 과 통계 on Google, you do not find the information you need! Here are the best content compiled and compiled by the https://chewathai27.com/to team, along with other related topics such as: 머신 러닝 확률 과 통계 인공지능 확률과 통계, 알고리즘 확률과 통계, 인공지능 확률과 통계 활용, 소프트웨어 확률과 통계, 인공지능 확률과 통계 사례, 자율주행 확률과 통계, 딥러닝 확률 통계, 공학 속 확률과 통계


파이썬 머신러닝 강의 04-1 – 머신러닝을 위한 통계학 소개
파이썬 머신러닝 강의 04-1 – 머신러닝을 위한 통계학 소개


머신러닝(Machine Learning)과 확률(Probability) – DevKiHyun’s Deep Learning

  • Article author: devkihyun.github.io
  • Reviews from users: 3878 ⭐ Ratings
  • Top rated: 3.8 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 머신러닝(Machine Learning)과 확률(Probability) – DevKiHyun’s Deep Learning 그 과정에서 선형대수에 관련된 문서나 글을 읽을 일이 많아 선형대수가 중요하다는 것은 알겠는데, 확률과 통계는 그럼 진짜 중요한가? 하는 의문이 들기 … …
  • Most searched keywords: Whether you are looking for 머신러닝(Machine Learning)과 확률(Probability) – DevKiHyun’s Deep Learning 그 과정에서 선형대수에 관련된 문서나 글을 읽을 일이 많아 선형대수가 중요하다는 것은 알겠는데, 확률과 통계는 그럼 진짜 중요한가? 하는 의문이 들기 … 안녕하세요. 이번 시간에는 머신러닝과 확률을 얘기하려고 합니다. 최소한 김성훈 교수님의 모두의 딥러닝 강의를 이수한 수준은 필요로 하고 기본적으로 고등학교 수준의 확률과 통계를 알고 있다고 여기고 진행하겠습니다.
  • Table of Contents:

Skip links

Flow based Generative Models 1 Normalizing Flow

Paper Review 9 – FARED [Anomaly Detection]

Paper Review 8 – A Neural Algorithm of Artistic Style [Style Transfer]

Paper Review 7 – Invert CNN [Invert Representation]

머신러닝(Machine Learning)과 확률(Probability) - DevKiHyun’s Deep Learning
머신러닝(Machine Learning)과 확률(Probability) – DevKiHyun’s Deep Learning

Read More

Chapter 6. 통계 기반 머신러닝 1 – 확률분포와 모델링 — ArtificialNeuralNetworkForNewbie 0.0.1 documentation

  • Article author: artificialnetworkforstarters.readthedocs.io
  • Reviews from users: 3387 ⭐ Ratings
  • Top rated: 4.9 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about Chapter 6. 통계 기반 머신러닝 1 – 확률분포와 모델링 — ArtificialNeuralNetworkForNewbie 0.0.1 documentation 주로 식별과 예측 등을 목적으로 둘 때가 많으므로 데이터를 선형 결합으로 나타내려는 특성을 이용합니다. 자율학습(Unsupervised Learning) : 입력 데이터의 정답을 … …
  • Most searched keywords: Whether you are looking for Chapter 6. 통계 기반 머신러닝 1 – 확률분포와 모델링 — ArtificialNeuralNetworkForNewbie 0.0.1 documentation 주로 식별과 예측 등을 목적으로 둘 때가 많으므로 데이터를 선형 결합으로 나타내려는 특성을 이용합니다. 자율학습(Unsupervised Learning) : 입력 데이터의 정답을 …
  • Table of Contents:

01 통계 모델과 확률분포¶

02 베이즈 통계학과 베이즈 추론¶

03 마르코프 연쇄 몬테카를로 방법¶

04 은닉 마르코프 모델과 베이즈 네트워크¶

Chapter 6. 통계 기반 머신러닝 1 - 확률분포와 모델링 — ArtificialNeuralNetworkForNewbie 0.0.1 documentation
Chapter 6. 통계 기반 머신러닝 1 – 확률분포와 모델링 — ArtificialNeuralNetworkForNewbie 0.0.1 documentation

Read More

2.6. 확률과 통계 — Dive into Deep Learning documentation

  • Article author: ko.d2l.ai
  • Reviews from users: 2476 ⭐ Ratings
  • Top rated: 3.1 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 2.6. 확률과 통계 — Dive into Deep Learning documentation 확률과 통계¶. 머신 러닝은 어떤 방식이든지 결국 예측을 수행하는 것입니다. 어떤 환자의 의료 기록을 바탕으로 내년에 심장 마비를 겪을 확률 예측하기를 예로 들어 … …
  • Most searched keywords: Whether you are looking for 2.6. 확률과 통계 — Dive into Deep Learning documentation 확률과 통계¶. 머신 러닝은 어떤 방식이든지 결국 예측을 수행하는 것입니다. 어떤 환자의 의료 기록을 바탕으로 내년에 심장 마비를 겪을 확률 예측하기를 예로 들어 …
  • Table of Contents:

261 기초 확률 이론¶

262 여러 확률 변수 다루기¶

263 조건부 독립성¶

264 요약¶

265 문제¶

266 Scan the QR Code to Discuss¶

2.6. 확률과 통계 — Dive into Deep Learning  documentation
2.6. 확률과 통계 — Dive into Deep Learning documentation

Read More

[딥러닝 입문 5] 확률·통계의 기초(1/5)

  • Article author: doooob.tistory.com
  • Reviews from users: 8453 ⭐ Ratings
  • Top rated: 4.3 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [딥러닝 입문 5] 확률·통계의 기초(1/5) 여기서는 기계학습에 이용하는 확률, 통계의 개념과 용어를 설명합니다. 세상에는 ‘무작위’로 일어나는 사건이나 배경의 메커니즘을 모르기 때문에 … …
  • Most searched keywords: Whether you are looking for [딥러닝 입문 5] 확률·통계의 기초(1/5) 여기서는 기계학습에 이용하는 확률, 통계의 개념과 용어를 설명합니다. 세상에는 ‘무작위’로 일어나는 사건이나 배경의 메커니즘을 모르기 때문에 … 5. 확률 · 통계의 기초 여기서는 기계학습에 이용하는 확률, 통계의 개념과 용어를 설명합니다. 세상에는 ‘무작위’로 일어나는 사건이나 배경의 메커니즘을 모르기 때문에 무작위로 취급해야만 하는 사건이 존재..해외 트렌드를 찾아서 올리는 블로그 입니다.
  • Table of Contents:

51 확률 · 통계 및 기계학습의 관계

52 확률 변수와 확률 분포

53 결합 분포 · 주변 확률

티스토리툴바

[딥러닝 입문 5] 확률·통계의 기초(1/5)
[딥러닝 입문 5] 확률·통계의 기초(1/5)

Read More

확률(Probability)과 딥 러닝(Deep Learning)

  • Article author: glanceyes.tistory.com
  • Reviews from users: 40872 ⭐ Ratings
  • Top rated: 3.3 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 확률(Probability)과 딥 러닝(Deep Learning) 딥러닝의 학습 방법은 확률론에 기반을 두고 있다. 특히, 기계학습의 손실함수는 데이터 공간을 통계적으로 해석하여 유도하게 된다. 즉, 예측이 틀리는 … …
  • Most searched keywords: Whether you are looking for 확률(Probability)과 딥 러닝(Deep Learning) 딥러닝의 학습 방법은 확률론에 기반을 두고 있다. 특히, 기계학습의 손실함수는 데이터 공간을 통계적으로 해석하여 유도하게 된다. 즉, 예측이 틀리는 … 2022년 1월 17일(월)부터 21일(금)까지 네이버 부스트캠프(boostcamp) AI Tech 강의를 들으면서 개인적으로 중요하다고 생각되거나 짚고 넘어가야 할 핵심 내용들만 간단하게 메모한 내용입니다. 틀리거나 설명이..
  • Table of Contents:

지그시

확률(Probability)과 딥 러닝(Deep Learning) 본문

딥 러닝과 확률론

확률분포(Probability Distribution)

확률변수(Random Variable)

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

결합분포(Joint Distribution)

주변확률분포

조건부 확률분포(Conditional Distribution)

조건부확률과 기계학습

조건부 기대값

기댓값(Expectation)

딥러닝과 특징패턴

몬테카를로 방법(Monte Carlo method)

티스토리툴바

확률(Probability)과 딥 러닝(Deep Learning)
확률(Probability)과 딥 러닝(Deep Learning)

Read More

[통계분석] 01. 확률분포는 머신러닝에서 어떻게 사용될까?

  • Article author: ssung-22.tistory.com
  • Reviews from users: 30951 ⭐ Ratings
  • Top rated: 4.9 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [통계분석] 01. 확률분포는 머신러닝에서 어떻게 사용될까? 도수분포표를 만드는 과정은 다음과 같습니다. 1. 데이터의 개수를 센다. 2. 데이터 내에서 최대/최소값을 찾는다. 3. 몇 개의 구간으로 나눌지 … …
  • Most searched keywords: Whether you are looking for [통계분석] 01. 확률분포는 머신러닝에서 어떻게 사용될까? 도수분포표를 만드는 과정은 다음과 같습니다. 1. 데이터의 개수를 센다. 2. 데이터 내에서 최대/최소값을 찾는다. 3. 몇 개의 구간으로 나눌지 … 데이터 분석을 할 때 첫번째 가정은 “분석할 데이터는 어떤 확률 변수로부터 실현된 표본이다”입니다. 즉, 데이터를 표본 자체만으로 보기보다 이 데이터를 만들어내는 확률 변수의 분포를 봐야한다는 것입니다…꾸준하게 나아가기 😀
  • Table of Contents:

히스토그램

확률 분포

모수적 모델 vs 비모수적 모델 vs 세미모수적 모델

참고

티스토리툴바

[통계분석] 01. 확률분포는 머신러닝에서 어떻게 사용될까?
[통계분석] 01. 확률분포는 머신러닝에서 어떻게 사용될까?

Read More

머신 러닝과 통계(acorn+Packt)(원서/번역서: [보유]Statistics for Machine Learning) | 프라탑 단게티 | 에이콘출판 – 교보문고

  • Article author: www.kyobobook.co.kr
  • Reviews from users: 19812 ⭐ Ratings
  • Top rated: 4.6 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 머신 러닝과 통계(acorn+Packt)(원서/번역서: [보유]Statistics for Machine Learning) | 프라탑 단게티 | 에이콘출판 – 교보문고 파이썬과 R로 배우는 머신 러닝 | ☆ 이 책에서 다루는 내용 ☆□ 모델 구축에 필요한 머신 러닝과 통계학 기초 이해□ 문제 해결을 위한 통계적 방식과 머신 러닝 … …
  • Most searched keywords: Whether you are looking for 머신 러닝과 통계(acorn+Packt)(원서/번역서: [보유]Statistics for Machine Learning) | 프라탑 단게티 | 에이콘출판 – 교보문고 파이썬과 R로 배우는 머신 러닝 | ☆ 이 책에서 다루는 내용 ☆□ 모델 구축에 필요한 머신 러닝과 통계학 기초 이해□ 문제 해결을 위한 통계적 방식과 머신 러닝 … 파이썬과 R로 배우는 머신 러닝 | ★ 이 책에서 다루는 내용 ★■ 모델 구축에 필요한 머신 러닝과 통계학 기초 이해■ 문제 해결을 위한 통계적 방식과 머신 러닝 방식 사이의 차이점 및 유사점 이해■ 데이터를 준비하는 방법 및 준비된 데이터로 R과 파이썬 패키지의 머신 러닝 알고리즘을 사용해 모델을 … | 통계와 머신 러닝의 관계에 대해 기초적인 개념을 정립할 수 있도록 돕는다. 또한 지도학습, 비지도학습, 강화학습에 이르기까지 머신 러닝에서 주로 사용되는 대부분의 기법에 대해 파이썬과 R 예제를 제공한다. 책의 초반에 통계와 머신 러닝의 전반적인 관계에 대해 설명한…머신 러닝과 통계, 프라탑 단게티, 에이콘출판, 9791161751191
  • Table of Contents:

키워드 Pick

이 책의 다른 상품 정보

가격정보

이 상품의 이벤트 4건

배송정보

이 책을 구매하신 분들이 함께 구매하신 상품입니다 KOR (개인)

이 책의 이벤트

책소개

이 책의 총서

작가의 말

목차

출판사 서평

Klover 리뷰 (0)

북로그 리뷰 (0)

쓰러가기

문장수집 (0) 문장수집 쓰기 나의 독서기록 보기

※구매 후 문장수집 작성 시 리워드를 제공합니다

안내

문장수집 안내

문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여주는 교보문고의 새로운 서비스입니다
마음을 두드린 문장들을 기록하고 좋은 글귀들은 좋아요하여 모아보세요
도서 문장과 무관한 내용 등록 시 별도 통보 없이 삭제될 수 있습니다

1 리워드 안내
구매 후 90일 이내에 문장수집 작성 시 e교환권 100원을 적립해 드립니다

e교환권은 적립일로부터 180일 동안 사용 가능합니다
리워드는 작성 후 다음 날 제공되며 발송 전 작성 시 발송 완료 후 익일 제공됩니다
리워드는 한 상품에 최초 1회만 제공됩니다
주문취소반품절판품절 시 리워드 대상에서 제외됩니다

교환반품품절안내

기프트 BEST

이 책의 원서번역서

이 분야의 베스트

이 분야의 신간

머신 러닝과 통계(acorn+Packt)(원서/번역서: [보유]Statistics for Machine Learning) | 프라탑 단게티 | 에이콘출판 - 교보문고
머신 러닝과 통계(acorn+Packt)(원서/번역서: [보유]Statistics for Machine Learning) | 프라탑 단게티 | 에이콘출판 – 교보문고

Read More

16. 머신러닝에서 주로 사용하는 수학 소개

  • Article author: brunch.co.kr
  • Reviews from users: 47802 ⭐ Ratings
  • Top rated: 3.0 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 16. 머신러닝에서 주로 사용하는 수학 소개 머신러닝에 있어서 수학은 이론적인 배경과 알고리즘을 구성하는 … 특징을 추출하며 해석하는 확률과 통계에 비중이 높은 것을 확인할 수 있다. …
  • Most searched keywords: Whether you are looking for 16. 머신러닝에서 주로 사용하는 수학 소개 머신러닝에 있어서 수학은 이론적인 배경과 알고리즘을 구성하는 … 특징을 추출하며 해석하는 확률과 통계에 비중이 높은 것을 확인할 수 있다. [제 3악장.idylle – 수학에서 인공지능으로] | 3. 머신러닝에서의 수학 인공지능 중에서 주로 데이터를 처리하는 머신러닝에 대해서 살펴보고자 한다. 머신러닝에 있어서 수학은 이론적인 배경과 알고리즘을 구성하는 기본적인 근간이다. 여기에는 수학의 다양한 분야가 함께 적용된다. 예를 들어 확률적 경사 하강법(SGD, Stochastic Gradient Descent)과 같은 방법을 이해하기 위해서는 다변
  • Table of Contents:

3 머신러닝에서의 수학

4 머신러닝에서 주로 사용하는 수학 소개

16. 머신러닝에서 주로 사용하는 수학 소개
16. 머신러닝에서 주로 사용하는 수학 소개

Read More

딥러닝을 위한 수학, 확률과 통계 | JuHyung Son

  • Article author: www.sallys.space
  • Reviews from users: 43683 ⭐ Ratings
  • Top rated: 4.1 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 딥러닝을 위한 수학, 확률과 통계 | JuHyung Son 인공지능 시스템의 행동을 분석하기 위해 확률과 통계를 사용한다. 또 일반적인 컴퓨터 과학과는 다르게 기계학습은 대부분 불확실한 것과 확률적인 … …
  • Most searched keywords: Whether you are looking for 딥러닝을 위한 수학, 확률과 통계 | JuHyung Son 인공지능 시스템의 행동을 분석하기 위해 확률과 통계를 사용한다. 또 일반적인 컴퓨터 과학과는 다르게 기계학습은 대부분 불확실한 것과 확률적인 … Intro 본 포스팅은 Deep Learning – Ian goodfellow, Mathematical statistic – Hogg 를 공부하며 정리한 내용입니다. 이번에는 기본적인 확률에 관한 내용입니다. 확률은 기본적으로 거의 대부분의 공학, 과학 분야에서 사용되는 기본적인 도구이고 역시 인공지능에서도 중요한 부분을 차지합니다. 인공지능에서 확률은 크게 두가지 방법으로 쓰입니다. 인공지능 시스템은 확률 법칙을 이용하여 무언가를 추론해야한다. 확률을 이용해 많은 식, 변수를 계산하거나 근사하는 알고리즘을 만든다. 인공지능 시스템의 행동을 분석하기 위해 확률과 통계를 사용한다.
    또 일반적인 컴퓨터 과학과는 다르게 기계학습은 대부분 불확실한 것과 확률적인 것을 다루므로 기계학습자에게 확률은 아주 중요한 도구입니다. Frequentist, bayesian probability 확률이 불확실성을 표현하고 추론하는것은 맞지만, 그것이 인공지능 분야에서 요구하는 도구를 모두 제공하지는 않습니다. 기존의 확률 이론은 사건의 빈도수를 분석하기 위해 발전해왔습니다. 특히, 확률에 관한 책을 보면 주로 동전이나 카드를 가지고 이야기하는 것을 자주 볼 수 있는데, 이것들이 반복되는 사건의 아주 쉽고 대표적인 예입니다. 어떤 사건이 발생할 확률이 p라고 하는 것은, 어떤 사건을 무한히 반복했을 때 p의 비율로 사건이 발생한다는 것을 뜻합니다. 하지만 이런 예는 반복되는 사건이 아니라면 적용하기 어렵죠. 만일 의사가 환자에게 감기가 걸릴 확률이 40%라고 한다면, 이건 좀 다른 의미를 가집니다. 생물적으로 같은 환자를 무한히 반복하는 것은 말이 안되고 또 여러 환자들이 같은 환경을 갖고 있지도 않기 때문입니다. 동전, 카드와 달리 변수들이 굉장히 많죠. 이런 경우에는 믿음의 정도를 나타내기 위해 확률을 사용합니다. 믿음 이라는 것이 중요합니다. 위의 동전, 카드의 경우를 frequentist probability라고 하고 후자를 bayesian probability라고 합니다. 통계학은 크게 두 분야로 이루어져 있습니다. 또 다른 관점에서, 확률은 불확실성을 다루는 논리의 연속이기도 합니다. 논리는 명제가 참이거나 거짓임을 결정하는 규칙을 제공합니다. 이런 관점에서 확률은 명제가 참이거나 거짓일 가능성을 제공하는 도구입니다. Probability distribution 확률 분포는 확률 변수(들)이 가진 분포의 모양을 설명합니다. 확률 변수란 $x _ {1},…x _ {n}$와 같은 데이터를 말합니다. 정확히는 확률 변수는 함수입니다. 이 데이터의 분포가 어떤 모양을 갖고 있는 지는 데이터의 확률 분포에 따라 다르죠. 그리고 이런 확률 분포는 이산형 변수와 연속형 변수로 종류가 나뉩니다. 이산형 변수와 PMF 이산형 변수의 분포는 확률 질량 함수, Probability mass function(PMF)로 나타냅니다. PMF는 관습적으로 P로 나타내죠. 그래서 여러가지 PMF가 나올 때는 PMF $P(x), ~ P(y)$를 다른 것으로 읽도록 주의해야 합니다. 이 부분이 확률을 처음 접하는 분에겐 쉽게 익숙해지지 않는 부분이죠. PMF는 확률 변수를 PMF에 해당하는 확률 변수의 확률로 나타냅니다. x = $x$일 확률은 $P(x)$로 표기합니다. x = $x$이 확실하면 이 확률은 1이고, 불가능하다면 0 이 됩니다. PMF를 표현하는 다른 방식은 확률 변수를 함수안에 명시하는 방법입다. P(x = $x$) 혹은 x~P(x)와 같이 표현합니다. PMF는 여러 변수를 다루기도 하는데 그런 확률 분포를 joint probability distribution이라고 합니다. P(x=$x$, y=$y$),$P(x,y)$로 표기 합니다. 확률 변수의 PMF가 되는 함수 P는 밑의 조건을 만족해야 합니다. P의 정의역은 x의 모든 집합이다. 모든 x에 대해서 $0 \leq P(x) \leq 1$이다. $\sum _ {x} P(x) =1$ 이다. 예 쉬운 예로 이산형 변수인 x가 k개 있다고 하자. 이 x는 uniform distribution에서 뽑았다. 즉, 각각의 x의 확률을 PMF로 나타내보면 \(P(x=x _ {i}) = \frac {1} {k}\) 이것을 위의 PMF 조건에 넣어보면 모두 만족함을 알 수 있다. 연속형 변수와 PDF 연속형 변수에서는 확률 밀도 함수, probability density function(PDF)로 확률 분포를 설명합니다. PDF인 함수 p 역시 다음의 조건을 만족시켜야 합니다. p의 정의역은 모든 x의 집합이다. 모든 x에 대해서 $p(x) \geq 0$ 이다. $\int p(x) dx = 1$ 이다. PDF는 x에서의 정확한 확률을 표현하는 것이 아니라 정해진 구간에서의 확률을 표현합다. 연속형 변수임을 생각하면 어떤 x는 구간 내에 무한히 많은 순간 중 아주 짧은 순간이기 때문에 0의 확률을 가지기 때문입니다. 그래서 확률은 구간 $[a,b]$를 적분하여 $\int _ {[a,b]} p(x) dx$로 나타냅니다. Marginal Probability 주변 확률 분포라고 부르는 Marginal probability 입니다. 어떤 변수들의 대한 확률 분포를 알고 있을 때, 그 변수들의 하위 집합(subset)의 분포를 알아야 할 때가 있습니다. 이런 하위 집합에 대한 확률 분포를 marginal probability distribution 이라고 합니다. 예를 들어, 이산형 변수 x, y가 있고 P(x,y)를 알고 있을 때, 덧셈 규칙을 이용해서 P(x)를 구할 수 있습니다. \(\forall x , ~ P(x=x)=\sum _ {y} P(x=x,y=y)\) 연속형 변수인 경우 \(p(x) = \int p _ {x,y} dy\)로 표현합니다. Conditional Probability 어떤 특정한 사건이 발생했을 때의 확률이 필요하기도 합니다. 이것을 나타내는 확률을 조건부 확률 Conditional probability라고 합니다. x = $x$가 발생했을 때의 y = $y$를 $P(y=y | x=x)$로 표현합니다. 그리고 이 조건부 확률은 다음처럼 계산됩니다. \(P(y=y | x=x) = \frac {P(y=y,x=x} {P(x=x)}\) 위 식에서 볼 수 있듯이, 조건부 확률은 $P(x=x) < 0$에서만 정의됩니다. 수학적으로 분모가 0인 분수는 정의되지 않고, 조건부 확률의 의미를 본다면, 일어나지도 않은 사건을 조건으로 확률을 계산할 수 없기 때문이죠. 조건은 한 가지 사건만이 아니라 여러가지 사건이 될 수 있습니다. 즉 $x _ {1},…,x _ {i-1}$이 발생했을 때의 확률도 구할 수 있습니다. Expectation, Variance, Covariance 확률 분포 $P(x)$를 가진 함수 f의 기댓값(Expectation)은 평균을 뜻합니다. 이산형 변수에서는 다음과 같이 계산됩니다. \(\mathbb{E} _ {x \sim P} [f(x)] = \sum _ {x} P(x) f(x)\) 연속형 변수에서의 기댓값은 다음과 같습니다. \(\mathbb{E} _ {x \sim p} [f(x)] = \int p(x) f(x) dx\) 확률 분포가 명시되어 있을 때 확률 변수를 생략하고 간단하게 표현하기도 합니다. $\mathbb{E} [f(x)]$. 보통 $\mathbb{E} [.]$는 기댓값을 뜻하고 경우에 따라 []를 빼기도 합니다. 기댓값은 선형적 성질을 갖고 있기 때문에 다음 식이 성립합니다. $\mathbb{E} _ {x} [\alpha f(x) + \beta g(x)] = \alpha \mathbb{E} _ {x} [f(x)] + \beta \mathbb{E} _ {x} [g(x)]$ 분산(Variance)는 확률 분포의 샘플 x의 다름의 정도에 따라 함수값이 얼마나 변하는 지를 나타냅니다. 분산이 작다면 함수의 모든 값들이 기댓값에 몰리게 되겠죠. 또한 분산의 제곱근을 표준오차라고 합니다. \(Var(f(x)) = \mathbb{E} [(f(x) - \mathbb{E} [f(x)]) ^ {2} ]\) 공분산(Covariance)은 두 값의 상관관계의 정도를 나타냅니다. \(Cov(f(x), g(y)) = \mathbb{E} [(f(x) - \mathbb{E} [f(x)]) (g(y) - \mathbb{E}[g(y)])]\) 공분산의 절대값이 크다면 두 값의 상관관계가 크다는 것입니다. 공분산이 양수이면 두 값은 함꼐 증가하는 것으로 생각 할 수 있습니다. 공분산과 독립은 비슷하지만 다른 개념을 가지고 있습니다. 두 변수가 서로 독립이면 공분산은 0이고 공분산이 0이 아닌 두 변수는 서로 독립이 아니기 때문입니다. 하지만, 독립(Independence)는 공분산과는 구별되는 특성이 있습니다. 독립은 공분산 보다 좀 더 큰 조건입니다. 공분산이 0이라면 두 변수는 반드시 선형관계가 없다고 하지만, 독립인 두 변수는 선형이 아닌 관계도 제외해 버리기 때문입니다. 두 변수가 독립이 아니지만 공분산이 0일 수는 있습니다. 벡터 $x \in \mathbb{R} ^ {n}$의 공분산 행렬은 n*n행렬을 가지는 \(Cov(X) _ {i,j} = Cov(x _ {i}, x _ {j}\) 입니다. 위키보기 Distribution 통계학에서 다루는 확률 분포는 숫자가 꽤 되고 몇몇 분포는 pdf로부터 기댓값을 구하는 것도 어렵습니다. 또 분포들 사이의 관계를 정리하는 것도 만만치 않습니다. 다행히 기계학습에서 쓰이는 분포는 통계를 몇번 보았다면 친숙한 분포들이고 그다지 어렵지 않은 분포들임을 눈치 채셨을 겁니다. 이번에는 bernolli, multinoulli, gaussian, exponential, laplace 분포를 보겠습니다. Bernoulli distribution 몇 가지 분포를 시작하기에 앞서서 가장 간단한, 쉬운 분포인 베르누이 분포를 봅니다. 베르누이 분포는 Jacob Bernoulli(1654~1705)라는 스위스 수학자의 이름에서 나왔죠. 베르누이는 사실 어마어마한 업적들이 있는데 논리, 대수, 기하학등 여러 분야에 업적을 남겼습니다. 심지어 자연로그 e를 발견한 사람이 베르누이입니다. bernoulli distribution은 단 두개의 변수만 있는 분포입니다. Parameter는 p만 있으며 이건 변수가 1이 될 확률을 의미합니다. $P(x=1) = p$ $P(x=0) = 1-p$ $P(x=x) = p ^ {x} (1-p) ^ {1-x}$ $\mathbb{E} _ {x} [x]=p$ $Var(x) = p(1-p)$ Multinoulli distribution Multinoulli, categorical 분포라고도 합니다. 이름에 맞게 k개의 변수를 다루는 분포입니다. Parameter $p \in [0,1] ^ {k-1}$를 갖고 있고 $p _ {i}$는 i번째의 상태에서의 변수가 1이 될 확률을 나타냅다. 마지막 k번째 변수의 확률은 $1-1 ^ {T} p$ 입니다. Multinoulli 분포는 주로 여러 개의 카테고리를 가진 데이터의 분포를 다룰 때 사용하고 변수가 1이 될 확률을 보지만 여기서의 1은 보통 숫자 1을 의미하진 않습니다. softmax와 비슷하죠. 이런 이유로 Multinomial에서 기댓값이나 분산은 굳이 구할 필요가 없습니다. 이 두가지 분포는 거의 모든 분야를 설명할 수 있습니다. 이 두가지 분포가 모든 상황을 설명할 수 있어서라기 보다는 이 두 분포가 가장 간단한 분포이기 때문인데, 세상의 거의 모든 문제는 사실 이산적인 문제로 변환할 수 있기 때문이죠. Gaussian distribution 분포 중 가장 유명하고 많이 쓰이는 분포는 gaussian으로 normal distribution이라고도 불린다. \(N(x; \mu , \sigma ^ {2})=\sqrt{ \frac {1} {2 \pi \sigma ^{2}} } exp(- \frac {1} {2 \sigma ^ {2}} (x- \mu ) ^ {2})\) 정규분포는 $\mu , \sigma$로 결정됩니다. $\mu$는 평균 값으로 중앙의 볼록한 곳, 평균의 위치를 결정하고 $\sigma $, 분산은 분포의 퍼짐 정도를 결정합니다. Normal distribution은 거의 모든 곳에서 쓰입니다. 만일 어떤 변수가 어떤 분포를 가지는 지 모른다면, 보통 normal dist. 를 사용하는 게 가장 좋죠. 왜냐면 거의 모든 변수들은 normal dist에 가깝습니다. The central limit theorem(중심 극한 정리)는 독립의 변수들의 함은 normal dist에 가까워진다는 걸 보여주기도 합니다. 이 말은 많은 복잡한 모델들은 데이터가 많아지면 어떤 것이든 normal dist 로 봐도 된다는 얘기입니다. 정규 분포 역시 다변수로 확장이 가능하고 multivariate normal distribution이라고 부릅니다. \(N(x; \mu , \Sigma ) = \sqrt{ \frac {1} {(2 \pi ) ^ {2} det( \Sigma )}} exp ( - \frac{1}{2} (x- \mu )^ {T} \Sigma ^ {-1} (x- \mu))\) 여기서 $\Sigma$은 positive definite symmetric matrix이고 Covariance matrix와 동일합니다. $\mu$는 역시 평균을 뜻합니다. 중심 극한 정리에 관한 좋은 자료는 여기 Exponential and Laplace distribution 딥러닝을 공부하다 보면 x=0에서 뾰족한 모양을 가지는 분포가 필요할 때가 많습니다. 정규분포도 이 상황에 맞지만 좀 더 뾰족한 분포는 exponential dist입니다. \(p(x; \lambda) = \lambda \mathbb{1} _ {x \geq 0} exp( - \lambda x)\) 여기서 $\mathbb{1} _ {x \geq 0}$은 indicator function이라고 부르고 밑의 조건이 충족되면 1, 그렇지 않으면 0을 뜻합니다. exponential dist 말고도 laplace dist도 이 상황에 사용 가능합니다. \(Laplace(x; \mu \gamma ) = \frac {1} {2 \gamma} exp (- \frac {|x- \mu |} { \gamma })\) Estimators, Bias, Variance 대부분의 기계학습은 Statistical learning이라고 불리는 만큼, 통계학에서 쓰이는 도구를 사용하고 그것에 기초를 두고 있습니다. 기계학습의 가장 기본이 되는 개념은 parameter estimation, bias, variance 입니다. underfitting, overfitting의 개념을 이해하는데 필수적이고 딥러닝의 가장 기초를 이루고 있는 개념이기도 하죠. Point Estimation 굳이 한글로 번역하자면 점추정법 입니다. 점추정은 어떤 것에 대해 한가지 최고의 좋은 예측을 하는 방법입니다. 추정을 하는 것은 변수 하나가 될 수 있고 여러가지 변수의 벡터가 될수도 있습니다. 역시 대부분은 여러 변수를 추정하는 것입니다. 또한 어떤 함수를 추정해야 할 때도 있습니다. 통계학에서는 추정치와 실제를 구분하기 위해 $\hat{\theta}$를 추정값으로 사용합니다. $x_{1},…,x_{m}$의 iid한 데이터가 있다고 합니다. 그렇다면 point estimator 혹은 statistic은 이 데이터에 대한 함수이고 다음과 같이 표현합니다. \(\hat{\theta} _ {m} = g( x_{1},...,x_{m})\) 여기서 함수 g는 꼭 $\theta$ 에 가까울 필요도 없고 어떤 범위 안에 들 필요도 없습니다. 데이터를 추정하는 자에게 높은 자유도를 주는 것입니다. 그래서 대부분의 함수는 estimator가 될 수 있습니다. 좋은 추정치는 $\hat{\theta}$와 $\theta$가 매우 비슷할 때입니다. 실제로 거의 모든 문제에서는 $\theta$를 알 방법이 없습니다. 주식 가격의 파라미터를 모르는 것이 당연한 것처럼요. 그래서 우리는 $\theta$가 고정되어 있으며 모르는 값이고 $\hat{\theta}$를 데이터의 함수라고 가정합니다. 데이터는 무작위로 얻어지기 때문에 데이터의 함수는 랜덤 변수입니다. Bias 추정치의 Bias는 다음과 같이 정의됩니다. \(bias( \hat{\theta} _ {m} ) = \mathbb{E} (\hat{\theta} _ {m}) - \theta\) 쉽게는 예측값 - 실제값입니다. 여기서 $bias( \hat{\theta} _ {m} ) =0$이라면 $\hat{\theta} _ {m}$은 unbiased라고 합니다. 예측값과 실제값이 같다는 얘기입니다. 그리고 $lim _ { m \rightarrow \infty} bias( \hat{\theta} _ {m} ) =0$ 이라면 asymptotically unbiased라고 합니다. 데이터가 많아질수록 예측값과 실제값이 같아진다는 말입니다. 통계학을 배우다 보면 여러가지 estimator에 대한 성질을 배우게 됩다. unbiasedness는 그 중 가장 먼저 배우는 것이고 $\bar{X}$를 좋은 추정치로 배우게 됩니다. Unbiased estimator는 확실히 좋은 estimator이지만 항상 최고의 estimator는 아니라는 것을 알아두면 좋습니다. Variance, S.E. Estimator에 관해 또 하나 알아야할 것은 이것이 데이터 샘플에 따라 얼마나 달라지냐입니다. Bias를 구할 수 있다면 Variance도 구할 수 있습니다. Variance는 데이터의 여러 샘플에 따라 추정값이 얼마나 달라지냐를 값으로 보여줍니다. 샘플에 따라 추정값이 크게 변한다면 상식적으로 좋은 estimator가 아닐 것입니다. 그래서 variance 역시 작을수록 좋은 estimator입니다. $\hat{ \mu } _ {m}$의 standard error는 $\sigma / \sqrt{m}$으로 구해집니다. $\sigma ^ {2}$는 데이터의 실제 variance이기 때문에 데이터가 많을수록 좋은 $\hat{ \mu}$ 를 구하게 됩니다. Estimator의 variance는 데이터가 많아질수록 작아지게 되는데 이것은 몇 estimator의 특징입니다. 다음 consistency에서 봅니다. Consistency 기계학습에서 데이터의 양은 절대적인 지위를 갖습니다. 모델보다도 데이턱 더 중요한 자산이죠. 왜냐면 데이터가 많을수록 $ lim _ {m \rightarrow \infty} \hat{\theta} _ {m} \rightarrow ^ {p} \theta$ 로 기대하기 때문입니다. 즉, 데이터가 많을수록 좋은 모델을 얻을 수 있기 때문입니다. 위의 식을 consistency라고 부릅니다. 다음과 같이 표현되기도 합니다. \(for ~ any ~ \epsilon < 0, ~ P(|\hat{theta} _ {m} - \theta | < \epsilon ) \rightarrow 0 ~ as ~ m \rightarrow \infty\) Consistency는 데이터가 증가함에 따라 estimator의 bias가 작아진다는 것을 보여주기 때문에 중요한 성질 중 하나입니다. 여기서 consistency는 unbiased를 보증하지만 그 반대는 성립하지 않음을 알아두면 좋습니다.probability
  • Table of Contents:

Intro

Frequentist bayesian probability

Probability distribution

이산형 변수와 PMF

연속형 변수와 PDF

Marginal Probability

Conditional Probability

Expectation Variance Covariance

Distribution

Estimators Bias Variance

딥러닝을 위한 수학, 확률과 통계 | JuHyung Son
딥러닝을 위한 수학, 확률과 통계 | JuHyung Son

Read More


See more articles in the same category here: https://chewathai27.com/to/blog.

머신러닝(Machine Learning)과 확률(Probability)

안녕하세요. 이번 시간에는 머신러닝과 확률을 얘기하려고 합니다. 최소한 김성훈 교수님의 모두의 딥러닝 강의를 이수한 수준은 필요로 하고 기본적으로 고등학교 수준의 확률과 통계를 알고 있다고 여기고 진행하겠습니다.

확률론적 관점

최근엔 잘 만들어진 딥러닝 프레임워크들이 많아 코딩만 할 줄 알면 딥러닝에 대해 깊이 있게 알지 않아도 데이터와 코드 몇 줄만으로도 그럴듯한 결과물을 얻을 수가 있습니다. 그래서 딥러닝 개발의 진입 장벽이 많이 낮아졌다고 할 수 있죠. 그 과정에서 선형대수에 관련된 문서나 글을 읽을 일이 많아 선형대수가 중요하다는 것은 알겠는데, 확률과 통계는 그럼 진짜 중요한가? 하는 의문이 들기도 합니다. 중요하다는 얘기는 많이 들었는데 정작 체감을 못 하기 때문입니다. 그래서 이번엔 우리가 알고 있는 딥러닝 모델을 확률론적인 관점에서 해석해보고자 합니다.

분류 문제(Classification) 를 예시로 한번 들어보겠습니다. 우리가 딥러닝으로는 제일 먼저 해보게 되는 게 아마 MNIST 숫자 손글씨 데이터 로 해당 숫자를 분류해보는 과제일 겁니다. MNIST는 숫자 데이터 X와 클래스 Y(라벨)가 쌍으로 구성된 데이터셋 입니다. 단순하게 베이직한 뉴럴네트워크로 이루어져 있는 모델이 있다고 하면, 우리가 입력값으로 X를 넣으면, 모델이 계산한 결과(Output)를 Y랑 비교하면서 잘 분류가 되도록 학습됩니다. 즉, 이 모델은 데이터 X를 잘 이해해서 해당 클래스 Y를 ‘예측’ 할 수 있는 ‘함수’ 를 알아내는 겁니다. 보통은 이 학습과정을 선형대수로도 충분히 설명할 수 있습니다. 지금까지 설명한 내용을 아래의 그림으로 간단히 정리해보겠습니다.

그림출처 http://sanghyukchun.github.io/58/

여기서 알고리즘 A가 바로 데이터를 잘 분석한 ‘함수’ 가 되는 것입니다. 근데 이 ‘함수’ 부분을 확률론적 관점 으로 해석해 볼 수가 있습니다. 본격적으로 확률론적 관점을 설명하기에 앞서 몇 가지 확률 개념을 소개하도록 하겠습니다.

확률 (Probability)

확률(Probability)은 해당 사건(event) 이 일어날 가능성을 의미합니다. 확률 이라는 개념은 관점에 따라 설명하는 게 달라집니다. 기존의 우리가 잘 알고 있는 확률의 개념은 해당 사건의 빈도수를 따져 그 사건이 발생할 가능성을 의미합니다. 보통 실험적인 성향을 갖는 반복되는 시도를 통해 사건의 빈도수를 측정해서(ex. 동전 던지기, 주사위 던지기) 확률값 을 계산합니다. 이런 경우를 Frequentist probability 라고 합니다. 다른 관점으로는 Bayesian Probability 가 있습니다. 확률을 지식 또는 믿음의 정도를 나타내는 양 으로 해석하는 확률론입니다. Bayesian Probability 은 다음 시간에 설명하도록 하겠습니다.

확률 변수 (Random Variable)

확률 변수(Random Variable)는 발생가능한 모든 사건(event) 들의 집합인 표본공간 안에서 특정한 확률을 가지고 발생하는 사건을 특정 수치에 대응(mapping)시키는 함수 입니다. 함수 라는 것이 중요한 부분입니다. 그래서 확률 변수를 대문자 \(X\) 로 표기하고, 확률 변수에서 나온 값은 소문자 \(x\) 로 표기합니다. 확률변수가 취할 수 있는 모든 실수(\(x\))들의 집합을 상태공간(State Space) 이라 합니다.

예시를 들어 진행해보겠습니다. 동전 하나를 2번 던지면 앞면앞면, 앞면뒷면, 뒷면앞면, 뒷면뒷면 총 4가지 사건이 발생 할 수 있습니다. 앞면이 나오는 횟수로 실수값을 부여하면 상태공간은 {0,1,2} 가 되는 것이죠. 우리는 이렇게 사건을 실수로 매핑 할 수 있습니다. 확률변수가 가질 수 있는 값들 중에서 한 \(x\) 가 있고 확률변수 X에서 그 \(x\) 가 나올 확률로 대응 해주는 확률 함수 를 \(P\) 라고 하겠습니다. 확률 함수 를 이용해서 예시를 수식으로 표현하면 \(P(X = 0) = 1/4\), \(P(X = 1) = 1/2\), \(P (X = 2) = 1/4\) 가 됩니다. 간단히 정리하면, \(P(X = x)\) 는 사건(event)이 발생할 확률을 의미하는 게 아니라 확률변수 \(X\) 에서 실수 \(x\) 나올 확률을 의미합니다. 예시로 들었던 상태공간의 값들인 0,1,2는 이산적(discrete)이기 때문에 방금과 같은 확률변수 \(X\)는 이산확률변수(discrete random variable) 입니다. 만약 확률변수 \(X\) 가 연속적(continuous)이면 연속확률변수(continuous random variable) 이죠. 데이터도 마찬가지입니다. 어떠한 사건이 발생했으니깐 그게 데이터로 남는 거겠죠? 따라서 데이터는 사건이라는 것을 명심하기 바랍니다.

그럼 잠시 돌아와서 분류 문제 를 다시 떠올려 봅시다. 우리의 분류모델을 말로 설명해 보면 ‘입력값 X를 넣어주면 모델에서 Y가 나올 확률’ 이라고 할 수 있습니다. 여기서 X,Y는 아까 확률변수로 표기한 \(X\), \(Y\) 를 의미하는게 아니라, 보통 데이터의 입력과 라벨을 표기할때 관행상 X,Y 라고 표기하기 때문에 헷갈리시면 안됩니다. 그럼 이제 구하고자 하는 Y는 사건(event) 이라 볼 수 있습니다. 그러고 나서 Y를 어느 특정 실수들로 일대일 매핑을 해주면 그 과정이 확률변수가 되는 거죠. 근데 조금 찝찝한 부분이 남아 있습니다. 그럼 입력값 X는 뭐로 이해하면 될까요? 그건 뒤에서 다시 얘기하도록 하고 이 정도까지만 이해하고 넘어가도록 하겠습니다.

확률 분포 (Probability Distribution)

확률 분포는 이 확률변수 \(X\) 이 취할 수 있는 모든 \(x\) 와 그에 대한 확률값들이 어떻게 분포되어 있는지를 말해줍니다. 그림을 보시면 바로 이해되실겁니다.

그림출처 https://www.statisticsfromatoz.com/blog/statistics-tip-of-the-week-different-distributions-can-have-discrete-or-continuous-probability-graphs-for-discrete-or-continuous-data

셀 수 있는 이산확률변수 를 확률함수 \(P\) 에 넣으면 그래프에 결과값들이 점 처럼 찍히게 됩니다. 또는 왼쪽 그림처럼 히스토그램처럼 그릴 수도 있습니다. 하지만 셀 수 없는 연속확률변수 를 \(P\)에 넣어주면 점이 모여서 선 이 되는 것처럼 오른쪽 그림의 분포를 그리게 됩니다. 따라서 확률함수 \(P\) 가 곧 확률 분포다 라고 할 수 있습니다. 좀 더 나아가서 \(P(X)\) 는 확률변수 \(X\) 에 대한 확률 분포 라고도 할 수 있습니다.

이산확률분포는 확률 질량 함수, Probability mass function(PMF)으로 나타냅니다. 연속확률분포는 확률 밀도 함수, Probability density function(PDF)으로 나타냅니다. 이산확률분포는 특정값 \(x\) 에 대한 정확한 확률값을 표현할 수 있습니다. 반면에 연속확률분포는 셀 수 없는 확률 변수들의 분포이기 때문에 특정값 \(x\) 에 대한 정확한 확률값을 표현할 수 없습니다. 그 대신 정해진 구간 \(a \leqslant x \leqslant b\) 에서의 수치를 표현합니다.

우리가 사건을 예측하기 위해서 해당 사건의 확률을 계산합니다. 그러기 위해선 결국 확률 분포를 구해야 합니다. 머신러닝의 학습과정이 바로 그 확률 분포를 찾는 것입니다. 일단 여기서 한번 그림으로 정리해보겠습니다.

조건부 확률 (Conditional Probability)

조건부 확률의 사전적 정의는 어떤 사건이 일어난 조건이 있을 경우 다른 사건이 일어날 확률이라고 정의합니다. 하지만 이렇게 말하기보다는 ‘어떤 사건이 일어날 확률을 구하는 과정에서 또 다른 사건을 단서로 제공한다’ 고 말하는 게 더 옳습니다. 제공되는(given) 사건이 A라고 하고 우리가 구하고자 하는 사건 B에 대한 조건부 확률을 기호로 나타내면 \(P(B \mid A)\) 라고 할 수 있습니다. 우리의 관심사는 B이고 그 단서로 A를 고려를 하는 거죠.

잠시 머신러닝 얘기로 돌아오도록 하죠. 우리는 앞에서 분류모델을 ‘입력값 X를 넣어주면 모델에서 Y가 나올 확률’ 이라고 표현했습니다. 그럼 방금 우리가 배운 조건부 확률에다가 적용해 볼 수 있지 않을까요? 입력값 데이터 X 를 단서로 주었더니 라벨 데이터 Y가 나올 확률이니 \(P(Y \mid X)\) 일 것 같지 않나요? 이렇게 표현하는게 가능은 합니다. 하지만 주의해야 될 점이 있습니다.

앞서 말했듯이 데이터 쌍 X,Y는 사건(event)이고 조건부확률 \(P(Y \mid X)\) 의 \(X, Y\) 는 확률 변수입니다. 따라서 데이터 X,Y를 바로 확률변수 \(X,Y\) 로 취급해서 넣으시면 잘못된 표현이 됩니다. 개념상 확률분포는 사건(event)이 아닌 매핑된 수치 를 입력값으로 받아드립니다. 그러나 실제로는 데이터들은 대부분은 숫자입니다. 예를 들어 28×28 크기의 사진이라는 데이터가 있다고 하면, 이 사진은 사건이기도 하지만 0부터 255 사이의 정수값을 갖는 28×28, 총 784 개의 픽셀들이 모여있는 하나의 수치이기도 합니. 확률함수의 입력값은 확률변수에 의해 나온 수치들이 된다는 것을 생각해보면 데이터들 \(x_{1}, x_{2}, …, x_{n}\) 으로 이루어진 데이터 집합 X를 확률변수 \(X\)로 여기고 표현해도 크게 문제가 되지는 않습니다. 만약 엄격하게 명시하고 간다면 데이터 X,Y 에 포함되는 특정값 x,y 가 있다고 하면

\[P(Y=y \mid X=x)\]

라고 표현하는게 맞습니다. 엄격하게 얘기해야 되는 상황에선 제대로 표기하시면 되고 이번 시간에는 설명의 편의를 위해 \(P(Y \mid X)\) 로 하겠습니다. 다시 정리하면 아래와 같습니다.

\[Given: 입력값 X\] \[Interest: 라벨 Y\]

입력값 X를 넣어주면 Y가 나올 확률

가능도 (Likelihood)

\[P(Y \mid X)\]

우리가 만약 확률 분포를 알고 있다면, 우리는 해당 분포에 확률 변수를 넣어 바로 확률을 계산할 수 있습니다. 하지만 현실에선 데이터가 매우 많고 또 데이터 차원이 높은 경우가 많아 확률 분포를 알아내는 것이 쉽지가 않습니다. 실전에선 관측 값(데이터)만 주어지고 확률 분포를 알아내야 하는 경우가 대부분이라고 생각하시면 됩니다. 이 얘기는 이제 우리는 확률 분포가 뭔지 모르니깐 어떠한 특정 확률 분포를 미리 가정 하고 시작하자는 것입니다. 그리고 ‘그 가정한 확률 분포에다가 우리한테 주어진 관측값을 넣었을 때 나오는 확률값’ 을 Likelihood 라고 합니다.

어떠한 확률 분포가 있다고 하면 분명 그 확률 분포를 구성하는 Parameter 가 있을 것입니다. 이제부터 Parameter 를 \(\theta\) 로 표기하도록 하겠습니다. 예를 들어 y 라는 확률 분포가 y = ax+b 라는 방정식을 이루고 있다고 가정해봅시다. 그러면 x는 우리한테 주어진 관측값이라고 할 때 y의 값은 Likelihood 가 되고 그 값이 어떻게 나올지는 a 와 b가 결정하게 됩니다. 그럼 a와 b가 y 라는 확률 분포의 \(\theta\) 가 되는 것입니다. \(\theta\) 는 언제든 바뀔 수 있는 ‘변수’ 입니다. 이 \(\theta\) 가 어떤 값을 갖는지에 따라 해당 확률 분포의 모양이 결정되는 것이죠.

그러면 Likelihood 도 확률분포의 결과값이고 확률 도 확률분포의 결과값이면 이 둘은 같은 개념일까요? 엄밀히 말하자면 이 둘은 같지 않습니다. 가설 로 세워진 확률 분포에 대해서 관측값을 넣어서 나온 결과값은 Likelihood 이고, 반대로 실제 고정된 확률 분포에 관측값을 넣었을 때 나온 결과값이 확률 입니다. 즉, Likelihood 는 언제든 \(\theta\) 가 바뀌면 관측값은 고정이어도 결과값이 다르게 나올 수 있습니다. 그래서 Likelihood 를 \(\theta\) 에 대한 확률이라고 말하기도 합니다. 가정한 \(\theta_{hypothesis}\) 가 실제 확률 분포의 \(\theta_{real}\) 와 얼마나 가까운지로 얘기 할 수 있다는 거죠.

\(Given\) \(\theta : Probability\)

\(Given\) \(observed\) \(X : Likelihood\)

Likelihood 개념을 들여다보면 사실 주 관심사는 \(\theta\) 라고 할 수 있죠. 우리가 확률 분포를 가정한 이유는 실제 데이터에 대한 확률 분포를 알 지 못하기 때문입니다. 그럼 확률 분포를 가정하고 나서 관측한 데이터들이 잘 표현되도록 \(\theta\) 를 조절하면 실제 확률 분포와 비슷하지 않을까요? 그럼 잘 표현하려면 어떻게 해야될까요? 우리는 확률 분포를 추정하는 방법 중에서 최대우도추정법(MLE, Maximum Likelihood Estimation) 사용하도록 하겠습니다.

최대우도추정법 (Maximum Likelihood Estimation)

MLE 는 각 관측값에 대한 총 가능도(모든 가능도의 곱)가 최대가 되는 분포를 찾는 추정법입니다. 원리는 굉장히 간단합니다. 가정한 분포를 이루는 \(\theta\) 를 업데이트 해가면서 분포를 움직인다고 생각하시면 됩니다. 계속해서 움직이다 보면 분명 Likelihood 가 제일 큰 부분에 오게 될테고 우리는 잘 추정했다고 결론 내리는 것입니다.

딥러닝도 역시 가설을 세우고 그 가설이 최대화되는 \(\theta\) 를 찾도록 역전파(Backpropagation) 방식으로 \(\theta\) 를 업데이트 합니다. 따라서 확률론적인 관점으로 보면 MLE 를 통해 \(\theta\) 를 업데이트해서 확률 모델을 최대화하는 게 가능한 것입니다.

이제 우리는 ‘실제 확률 분포는 모르지만 분명 뭔가 있을 거다’ 라고 확신 을 갖고 임의의 확률 분포를 가정하기로 약속했습니다. 그러면 어떻게 가정을 해야 되는 걸 까요? 다행히 그냥 유명한 확률 분포들을 선택해서 가정해도 충분합니다. 이산 확률 분포로는 푸아송 분포, 이항 분포, 베르누이 분포 등이 있고 연속확률분포는 유명한 가우시안 분포(Gaussian Distribution) 있습니다. 가우시안 분포는 정규 분포(Normal Distribution) 라고도 합니다.

정규 분포 (Normal Distribution = Gaussian Distribution)

통계학에서 정규 분포는 굉장히 자주 쓰이는 중요한 분포입니다. 자연계에서 발생하는 현상들 중 거의 대부분은 분포가 정규 분포로 매우 가깝게 표현되는 경우가 많기 때문이죠. 그래서 확률 분포를 가정해야 하는 경우에는 대부분 정규 분포로 가정해도 무방합니다. 우리가 딥러닝을 공부하면서 다룰 데이터들 또한 자연계에서 관측된 데이터들인 경우가 많습니다. 따라서 이에 대한 분포를 모를 경우엔 과감하게 정규 분포로 가정해도 크게 문제가 되진 않습니다.

정규 분포의 또 하나의 장점은 평균(\(\mu\)) 과 표준편차(\(\sigma\))만 알면 언제든지 정규 분포를 그릴 수 있다는 점입니다. 즉, 정규 분포를 구성하는 \(\theta\) 는 평균(\(\mu\)) 과 표준편차(\(\sigma\))가 되는 것이죠. 그럼 가정한 분포가 정규 분포라고 하면 MLE 를 이용해 Likelihood 가 최대화되도록 업데이트되는 \(\theta\) 는 당연히 평균과 표준편차가 되는 것입니다. 이제 그림으로 한번 정리해 보겠습니다.

Y는 확률 변수입니다. 그 확률변수 Y에 대해 실제 확률 분포(모르지만)는 \(f_{r}(Y)\) 이고 우리가 가정한 확률 분포는 \(f_{h}(Y)\) 입니다. \(f_{h}(Y)\) 를 구성하는 \(\theta\) 는 \(\mu\) 와 \(\sigma\) 입니다. y 라는 특정값에 대해 \(f_{h}(y)\) 는 Likelihood 이고 \(f_{r}(y)\) 는 확률 입니다.

\(f_{h}(y)\) 가 \(f_{r}(y)\) 보다 낮은 값을 가진 것을 볼 수 있습니다. 만약, 우리가 가정한 확률 분포가 실제 확률 분포랑 같다고 하면 이 두 결과값은 동일해야 됩니다.

이 그림은 MLE 가 대략 어떻게 돌아가는지 시각적으로 표현한 것입니다. \(\mu\) 의 변화에 따라 정규 분포의 위치도 바뀌게 되면서 동시에 Likelihood 도 높아지게 됩니다. 이렇게 높아지도록 계속해서 이동하게 되면 언젠가는 Likelihood 가 실제 확률 분포의 확률값과 같게 되겠죠. 하지만 앞에서도 말했듯이 우리는 실제 분포가 어떻게 되는지 알 수가 없기 때문에 사실 y 에 대한 확률값을 구할 수가 없습니다. 그 얘기는 관측값에 대한 Likelihood 가 어떤 값이 되어야 되는지 모른다는 것이죠. 다행히도 Likelihood 가 최대가 되는 경우는 우리가 알 수 있습니다. 정규 분포 특성상 \(\mu\) 에 대한 Likelihood 가 제일 높기 때문에 \(\mu\) 가 최대한 관측값들과 가까운 위치에 놓이면 되는 것입니다.

이렇게 해서 우리는 확률 분포를 가정하고 관측값에 대해 가장 가능성 있는 \(\theta\)를 추정하는 방법까지 알아보았습니다. 이제 남은 것은 지금까지 배운 개념들을 이용해서 실제 분류모델의 출력이 나오는 과정을 이해하는 것만 남았습니다.

분류모델은 \(P(Y \mid X)\) 라는 확률 분포를 알아내야 합니다. 그러나 실제 확률 분포를 알 수 없기 때문에 정규분포라고 가정할 것입니다. 그러면 우리가 알아야 하는 것은 정규분포를 이루는 \(\theta\) 입니다. 즉, \(X\) 가 주어졌을 때(Given) \(Y\) 에 대한 확률 분포의 최적의 \(\theta\) 를 알아내는 것이죠. 딥러닝에서는 역전파(Backpropagation) 을 통해서 더 이상의 변화가 없을 때까지 \(\theta\) 를 업데이트합니다. 이것을 Maximum Likelihood Estimation 으로 해석이 가능한 것이죠.

근데 궁금한 것이 생겼습니다. 확률 분포가 \(P(Y)\) 가 아니라 \(P(Y \mid X)\) 라면 어떤 모양을 이루게 되는 걸까요? 조건부확률의 경우에는 확률 분포는 조건부확률분포(Condtional Distribution) 라고 합니다. 관심사인 확률변수 \(Y\) 에 대한 확률 분포는 주어진 단서인 또 다른 확률변수 \(X\) 까지 고려해서 확률 분포를 이루게 됩니다. 고려해야 하는 확률 변수가 많아지게 된다면 확률 분포 또한 앞에선 본 것처럼 단순한 2차원 평면으로 표현하기가 힘들어집니다. 아래는 이해를 돕기 위한 자료입니다.

그림출처 https://assessingpsyche.wordpress.com/2014/01/23/conditional-normal-distributions-provide-useful-information-in-psychological-assessment/

이렇게 확률 변수가 많아지게 되면 분포는 입체적으로 됩니다. 위의 경우엔 \(Z\)축에 확률 분포가 놓이게 되는거죠. 현실에서는 데이터가 고차원이고 다변수의 경우도 많아 확률 분포를 계산하기가 어려워집니다. 하지만 분포가 복잡하다 해도 결국 관측값을 통해서 \(\theta\) 를 찾아야 된다는 것은 변함이 없습니다. 아래 그림은 \(P(Y \mid X)\) 를 평면도로 좀 더 간단하게 표현한 그림입니다.

분류문제에서는 이런 식으로 분포가 추정된다고 이해하시면 됩니다. 그럼 이제 우리가 마지막으로 알고 싶은 게 있습니다. 머신러닝의 학습을 확률론적 관점으로 해석하는 건 알았는데, 그럼 확률 분포를 알아내면 딥러닝에서는 어떻게 결과값을 뽑아서 라벨 \(Y\)와 비교를 하는걸까요?

딥러닝에선 hidden layer 있는 Weight 와 Bias 가 입력값과 연산되어서 결과값을 내고내고 해당 라벨과 비교했습니다. 확률론적 관점에선 위의 그림의 \(Y\)축에는 분명 확률 변수 \(Y\)에 속한 \(y\) 값들이 있을 겁니다. 우리가 가정한 확률분포는 \(X\) 를 고려한 \(Y\)에 대한 분포이고, 그 다음 MLE 를 통해 \(\theta\) 를 업데이트 해줍니다. \(\theta\) 는 확률 분포를 구성하는 변수이지만, 가장 높은 확률을 갖는 확률 변수이기도 합니다. 따라서 \(\theta\) 를 관심사로 둔 확률 변수 \(Y\) 와 동일선상에 놓고 다룰 수 있는거죠. 제대로 학습이 되었다면 그 확률 분포의 \(\theta\) 는 알고자 하는 해당 라벨 \(y\) 와 같은 값을 내보내게 될 것입니다. 우리가 이번 시간에선 정규 분포로 가정해서 하기로 했으니깐 \(\theta\)는 당연히 \(\mu\) 와 \(\sigma\) 겠죠? 편의상 \(\mu\) 만 구하자고 하면 아래와 같습니다.

그리고 나서 여러분들은 얻어낸 \(\theta\) 와 \(Y\)를 적합한 Loss function 을 이용해 계산해주시면 됩니다.

이렇게 해서 우리는 분류문제의 모든 과정을 최대한 확률론적 관점으로 설명을 했습니다. 결국 \(\theta\)를 알아야 한 다는 점에선 기존과 크게 다를건 없습니다. \(\theta\) 를 관심사로 두게 되면 우리는

\[P(Y \mid X) = P_{\theta}(Y \mid X)\]

라고 다시 표현할 수 있습니다. 달라진 부분은 크게 없고 말하는 의미가 조금 달라졌을 뿐입니다. \(P_{\theta}(Y \mid X)\) 을 해석을 하자면 \(X\) 가 주어졌을 때 \(Y\) 가 나올 경우를 최대화 하는 \(\theta\) 를 찾을 거다 라고 이해하면 됩니다. 딥러닝 논문들을 읽다보면 \(P_{\theta}(Y \mid X)\) 의 표현도 자주 나오기 때문에 마무리 하기 전에 잠시 짚어보았습니다.

마치며

지금까지 확률론의 기초적인 개념들을 다시 배우면서 확률론적 관점으로 머신러닝을 해석하는 시간을 가졌습니다. 다음번에 포스팅 할 Variational Autoencoder 개념을 이해하기 전에 알아두기 위한 차원에서 최대한 수식을 사용하지 않고 설명했기 때문에 다소 명확하지 않은 부분도 있을 수도 있습니다. 긴 글 읽으시느라 수고하셨고 피드백 언제든지 환영합니다.

Reference

2.6. 확률과 통계 — Dive into Deep Learning documentation

2.6. 확률과 통계¶

머신 러닝은 어떤 방식이든지 결국 예측을 수행하는 것입니다. 어떤 환자의 의료 기록을 바탕으로 내년에 심장 마비를 겪을 확률 예측하기를 예로 들어볼 수 있습니다. 비정상 탐지를 위해서, 비행기 제트 엔진의 센서 데이터가 정상적으로 동작할 때 어떤 값을 갖게 될지 예측을 할 수도 있습니다. 강화학습에서는 에이전트가 주어진 환경에서 똑똑하게 동작하게 만드는 것이 목표입니다. 이 경우에는 주어진 행동들 중에 가장 높은 보상을 받는 확률을 고려해야합니다. 추천 시스템을 만드는 경우에도 확률을 고려해야합니다. 예를 들어 여러분이 대형 온라인 서점에서 일을 한다면, 어떤 책을 홍보했을 때 특정 사용자가 그 책을 구매할지에 대한 확률을 추정하고 싶어할 것입니다. 이를 위해서 우리는 확률과 통계의 언어를 사용할 필요가 있습니다. 확률을 다루는 별도의 과정, 전공, 논문, 직업 심지어는 부서까지도 있습니다. 이 책의 목표는 이 모든 주제들에 대해서 배워보는 것은 아니고, 여러분이 스스로 머신 러닝 모델을 만들 수 있을 정도의 내용을 알려주고, 이후에 스스로 공부해 볼 수 있는 주제들을 선택할 수 있도록 하는 것입니다.

지금까지 확률에 대해서 많이 이야기를 해왔지만, 확률에 정확하게 무엇인지를 설명하지 않았고 구체적인 예제를 들지는 않았습니다. 동물의 사진이 주어졌을 때, 고양이인지 개인지를 구분하는 문제를 조금 자세하게 살펴 보겠습니다. 이 문제는 간단해 보이지만, 사실 쉽지 않은 문제가 있습니다. 우선은 문제의 난이도가 이미지의 해상도에 따라 차이가 있을 수 있습니다.

10px 20px 40px 80px 160px

사람이 320 픽셀 해상도의 이미지에서 개와 고양이를 구분하는 것은 쉽습니다. 하지만, 40 픽셀이 되면 그 분류가 어렵고, 10픽셀로 줄어들면 거의 불가능합니다. 즉, 개와 고양이를 먼 거리에서 판별하는 것은 (또는 낮은 해상도의 이미지에서) 동전 던지기를 해서 추측하는 것과 동일해집니다. 확률은 확실성에 대한 추론을 하는 공식적인 방법을 제공합니다. 만약, 이미지에 고양이가 있다는 것을 완벽하게 확신한다면, 해당 레이블 \(l\) 이 고양이일 확률, \(P(l=\mathrm{cat})\) 는 1.0이라고 말합니다. 만약 \(l =\mathrm{cat}\) 인지 \(l = \mathrm{dog}\) 에 대한 아무런 판단을 못한다면, 두 확률은 동일하다고 하다고 말하며, \(P(l=\mathrm{cat}) = 0.5\) 이 됩니다. 만약 이미지에 고양이가 있다는 것을 확실하지는 않지만 어느 정도 확신한다면, 확률은 \(.5 < P(l=\mathrm{cat}) < 1.0\) 로 주어질 것입니다. 이제 두번째 예를 들어보겠습니다. 대만 날씨에 대한 데이터를 관찰한 데이터가 있을 때, 내일 비가 내릴 확률을 예측하고자 합니다. 여름인 경우에는 비가 내릴 확률이 \(0.5\) 정도가 될 것입니다. 위 두가지 예제 모두 살펴볼 가치가 있습니다. 두 경우 모두 결과에 대한 불확실성이 있지만, 주요 차이점이 있습니다. 첫번째 예제는 이미지가 고양이인지 개이지만, 우리가 어떤 것인지 모르는 경우이고, 두번째 예제는 결과가 실제로 임의로 일어나는 이벤트일 수도 있습니다. 즉, 확률이란 우리의 확실성에 대한 사고를 하기 위한 유연한 언어이며, 다양한 경우에 효과적으로 적용될 수 있습니다. 2.6.1. 기초 확률 이론¶ 주사위를 던져서 다른 숫자가 아닌 1일 나오는 확률이 얼마나 되는지 찾는 경우를 생각해보겠습니다. 주사위가 공정하다면, 모든 6개 숫자들, \(\mathcal{X} = \{1, \ldots, 6\}\), 은 일어날 가능성이 동일합니다. 학술 용어로는 “1은 확률 \(\frac{1}{6}\) 로 일어난다”라고 말합니다. 공장에서 막 만들어진 주사위에 대해서 우리는 이 비율을 알지 못할 수 있고, 주사위가 공정한지 확인해야할 필요가 있습니다. 주사위를 조사하는 유일한 방법은 여러 번 던져보면서 결과를 기록하는 것입니다. 주사위를 던질 때마다, 우리는 \(\{1, 2, \ldots, 6\}\)에 하나의 숫자를 얻게 되고, 이 결과들이 주어지면, 각 숫자들이 일어날 수 있는 확률을 조사할 수 있습니다. 가장 자연스러운 방법은 각 숫자들이 나온 횟수를 전체 던진 횟수로 나누는 것입니다. 이를 통해서 우리는 특정 이벤트에 대한 확률을 추정 합니다. 큰 수의 법칙(the law of large numbers)에 따라, 던지는 횟수가 늘어날 수록 이 추정은 실제 확률과 계속 가까워집니다. 더 자세한 논의를 하기 전에, 실제로 실험을 해보겠습니다. 우선 필요한 패키지들을 import 합니다. [1]: import mxnet as mx from mxnet import nd 다음으로는 주사위를 던지는 것을 해야합니다. 통계에서는 확률 분포에서 샘플을 뽑는 것을 샘플링 이라고 합니다. 연속되지 않은 선택들에 확률이 부여된 분포를 우리는 다항(multinomial) 분포라고 합니다. 분포(distribution) 에 대한 공식적인 정의는 다음에 다루겠고, 지금은 분포를 이벤트들에 확률을 할당하는 것 정도로 생각하겠습니다. MXNet에서 nd.random.multinomial 함수를 이용하면 다항 분포에서 샘플을 추출할 수 있습니다. [2]: probabilities = nd . ones ( 6 ) / 6 nd . random . multinomial ( probabilities ) [2]: [3] 여러 샘플을 뽑아보면, 매번 임의의 숫자를 얻는 것을 확인할 수 있습니다. 주사위의 공정성을 추정하는 예제에서 우리는 같은 분포에서 많은 샘플을 추출하기를 원합니다. Python의 for loop을 이용하면 너무 느리기 때문에, random.multinomial 이 여러 샘플을 한번째 뽑아주는 기능을 이용해서 우리가 원하는 모양(shape)의 서로 연관이 없는 샘플들의 배열을 얻겠습니다. [3]: print ( nd . random . multinomial ( probabilities , shape = ( 10 ))) print ( nd . random . multinomial ( probabilities , shape = ( 5 , 10 ))) [3 4 5 3 5 3 5 2 3 3] [[2 2 1 5 0 5 1 2 2 4] [4 3 2 3 2 5 5 0 2 0] [3 0 2 4 5 4 0 5 5 5] [2 4 4 2 3 4 4 0 4 3] [3 0 3 5 4 3 0 2 2 1]] 이제 주사위를 던지는 샘플을 구하는 방법을 알았으니, 100번 주사위를 던지는 시뮬레이션을 해서, 각 숫자들이 나온 횟수를 카운팅합니다. [4]: rolls = nd . random . multinomial ( probabilities , shape = ( 1000 )) counts = nd . zeros (( 6 , 1000 )) totals = nd . zeros ( 6 ) for i , roll in enumerate ( rolls ): totals [ int ( roll . asscalar ())] += 1 counts [:, i ] = totals 1000번을 던져본 후에 최종 합계를 확인합니다. [5]: totals / 1000 [5]: [0.167 0.168 0.175 0.159 0.158 0.173] 결과에 따르면, 모든 숫자 중에 가장 낮게 추정된 확률은 약 \(0.15\) 이고, 가장 높은 추정 확률은 \(0.188\) 입니다. 공정한 주사위를 사용해서 데이터를 생성했기 때문에, 각 숫자들은 \(1/6\) 즉 \(0.167\) 의 확률을 갖는다는 것을 알고 있고, 예측도 매우 좋게 나왔습니다. 시간이 지나면서 이 확률이 의미 있는 추정치로 어떻게 수렴하는지를 시각해 볼 수도 있습니다. 이를 위해서 우선은 (6, 1000) 의 모양(shape)을 갖는 counts 배열을 살펴봅시다. 1000번을 수행하는 각 단계마다, counts 는 각 숫자가 몇 번 나왔는지를 알려줍니다. 그렇다면, counts 배열의 \(j\) 번째 열의 그때까지 던진 총 횟수로 표준화해서, 그 시점에서의 추정 확률 current 를 계산합니다. counts 객체는 다음과 같습니다. [6]: counts [6]: [[ 0. 0. 0. … 165. 166. 167.] [ 1. 1. 1. … 168. 168. 168.] [ 0. 0. 0. … 175. 175. 175.] [ 0. 0. 0. … 159. 159. 159.] [ 0. 1. 2. … 158. 158. 158.] [ 0. 0. 0. … 173. 173. 173.]] 던진 총 횟수로 표준화 하면, [7]: x = nd . arange ( 1000 ) . reshape (( 1 , 1000 )) + 1 estimates = counts / x print ( estimates [:, 0 ]) print ( estimates [:, 1 ]) print ( estimates [:, 100 ]) [0. 1. 0. 0. 0. 0.] [0. 0.5 0. 0. 0.5 0. ] [0.1980198 0.15841584 0.17821783 0.18811882 0.12871288 0.14851485] 결과에서 보이듯이, 주사위를 처음 던진 경우 하나의 숫자에 대한 확률이 \(1.0\) 이고 나머지 숫자들에 대한 확률이 \(0\) 인 극단적인 예측을 하지만, 100번을 넘어서면 결과가 상당히 맞아 보입니다. 플롯을 그리는 패키지 matplotlib 을 이용해서 이 수렴 과정을 시각화 해봅니다. 이 패키지를 아직 설치하지 않았다면, install it 를 참고해서 지금 하세요. [8]: % matplotlib inline from matplotlib import pyplot as plt from IPython import display display . set_matplotlib_formats ( ‘svg’ ) plt . figure ( figsize = ( 8 , 6 )) for i in range ( 6 ): plt . plot ( estimates [ i , :] . asnumpy (), label = ( “P(die=” + str ( i ) + “)” )) plt . axhline ( y = 0.16666 , color = ‘black’ , linestyle = ‘dashed’ ) plt . legend () plt . show () 각 선은 주사위의 숫자 중에 하나를 의미하고, 1000번 주사위 던지기를 수행하면서 각 횟수마다 각 숫자가 나올 확률의 추정값을 나타내는 그래프입니다. 검은 점선은 진짜 확률(true probability, \(1/6\))을 표시합니다. 횟수가 늘어가면 선들이 진짜 확률에 수렴하고 있습니다. 주사위 던지기 예를 통해서 확률 변수(random variable)라는 개념을 소개했습니다. 여기서 \(X\) 로 표현할 확률 변수는 어떤 양이 될 수 있고, 결정적이지 않을 수 있습니다. 확률 변수는 여러 가능성들의 집합에서 하나의 값을 나타낼 수도 있습니다. 집합은 괄호를 이용해서 표현합니다. 예를 들면, \(\{\mathrm{cat}, \mathrm{dog}, \mathrm{rabbit}\}\) 입니다. 집합에 속한 아이템들은 원소(element) 라고 하고, 어떤 원소 \(x\) 가 집합 \(S\) 에 속한다 라고 하면 표기는 \(x \in S\) 로 합니다. 기호 \(\in\) 는 “속한다”라고 읽고, 포함 관계를 표현합니다. 예를 들어, \(\mathrm{dog} \in \{\mathrm{cat}, \mathrm{dog}, \mathrm{rabbit}\}\) 입니다. 주사위 던지는 것의 경우, 확률 변수 \(X \in \{1, 2, 3, 4, 5, 6\}\) 입니다 연속적이지 않은 확률변수(예를 들어 주사위의 6면)와 연속적인 확률변수(예를 들어 사람의 몸무게나 키) 사이에는 미묘한 차이점이 있다는 것을 기억하세요. 두 사람의 키가 정확하게 같은지를 묻는 경우는 드물 것입니다. 아주 정확한 측정 방법이 있어서 이를 적용한다면, 이 세상에 키가 완전하게 같은 사람 두사람이 없습니다. 사실, 적당히 정교한 측정을 하는 경우에도 아침에 일어났을 때의 키와 밤에 잠자기 전에 잰 키는 다르게 나옵니다. 즉, 어떤 사람의 키가 \(2.00139278291028719210196740527486202\) 미터일 확률을 물어보는 것은 의미가 없습니다. 전체 인구에 대해서도 이 확률은 거의 \(0\) 입니다. 따라서, 어떤 사람의 키가 어느 구간(예를 들면 1.99 와 2.01 미터 사이)에 속하는지를 묻는 것이 더 의미가 있습니다. 이런 경우들에는 우리는 어떤 값을 밀도(density)로 볼 가능성을 정량화 합니다. 정확하게 2.0미터인 키에 대한 확률은 없지만, 밀도는 0이 아닙니다. 서로 다른 두 키의 구간에 대해서는 확률값이 0이 아닌 수가 됩니다. 기억해 두어야할 몇가지 중요한 확률에 대한 공리(axiom)들이 있습니다. 어떤 이벤트 \(z\) 에 대해서, 확률은 절대로 음수가 아닙니다. 즉, \(\Pr(Z=z) \geq 0\)

에 대해서, 확률은 절대로 음수가 아닙니다. 즉, 두 이벤트 \(Z=z\) 과 \(X=x\) 에 대해서, 두 이벤트의 합집합(union)에 대한 확률은 각 이벤트의 확률의 합보다 클 수 없습니다. 즉, \(\Pr(Z=z \cup X=x) \leq \Pr(Z=z) + \Pr(X=x)​\) .

과 에 대해서, 두 이벤트의 합집합(union)에 대한 확률은 각 이벤트의 확률의 합보다 클 수 없습니다. 즉, . 어떤 확률 변수에 대해서, 모든 값들에 대한 확률의 합은 항상 1입니다. 즉, \(\sum_{i=1}^n \Pr(Z=z_i) = 1\) .

. 서로 겹치지 않는 두 사건, \(Z=z\) 과 \(X=x\) , t,에 대해서, 둘 중에 한 사건이 일어날 확률은 각 사건의 확률의 합과 같습니다. 즉, \(\Pr(Z=z \cup X=x) = \Pr(Z=z) + \Pr(X=x)\) .

2.6.2. 여러 확률 변수 다루기¶ 종종 하나 이상의 확률 변수를 동시에 다룰 필요가 생깁니다. 질병과 증상의 관계를 모델링하는 경우를 들 수 있습니다. 질병과 증상이 주어졌을 때, 예를 들면 ‘독감’과 ’기침’, 두개는 어떤 확률로 환자에게 일어날 수도 일어나지 않을 수 있습니다. 이 둘에 대한 확률이 작기를 기대하지만, 더 좋은 의료 처방을 할 수 있도록 확률과 둘 사이의 관계를 예측하고자 합니다. 더 복잡한 예로, 수백만 픽셀로 이루어진 이미지를 들어보겠습니다. 즉, 수백만 확률 변수가 존재합니다. 많은 경우에 이미지들은 이미지에 있는 객체를 지칭하는 레이블을 갖습니다. 이 레이블도 확률 변수로 생각할 수 있습니다. 더 나아가서는, 위치, 시간, 구경(apeture), 초점 거리, ISO, 초점, 카메라 종류 등 과 같은 모든 메타 데이터를 확률 변수로 생각할 수도 있습니다. 이 모든 것은 연관되어 발생하는 확률 변수들입니다. 여러 확률 변수를 다룰 때 몇가지 중요한 것들이 있습니다. 첫번째는 교차 확률 분포 \(\Pr(A, B)\) 입니다. 두 원소 \(a\) 와 \(b\) 가 주어졌을 때, 교차 확률 분포는 동시에 \(A=a\) 이고 \(B=b\) 일 확률이 얼마인지에 대한 답을 줍니다. 임의의 값 \(a\) 와 \(b\) 에 대해서, \(\Pr(A,B) \leq \Pr(A=a)\) 이라는 사실은 쉽게 알 수 있습니다. \(A\) 와 \(B\) 가 일어났기 때문에, \(A\) 가 발생하고, \(B\) 또한 발생해야 합니다. (또는 반대로). 즉, \(A\) 와 \(B\) 가 동시에 일어나는 것은 \(A\) 와 \(B\) 가 별도로 일어나는 것보다는 가능성이 낮습니다. 이 사실로 흥미로운 비율을 정의할 수 있습니다. 즉, \(0 \leq \frac{\Pr(A,B)}{\Pr(A)} \leq 1\). 우리는 이것을 조건부 확률(conditional probability) 이라고 부르며, \(\Pr(B | A)\) 로 표현합니다. 다시 말하면, \(A\) 가 일어났을 때 \(B\) 가 일어날 확률입니다. 조건부 확률의 정의를 이용하면, 확률에서 가장 유용하고 유명한 방정식을 도출할 수 있는데, 이것이 바로 베이즈 이론(Bayes’ theorem)입니다. 이를 도출하는 방법으로 \(\Pr(A, B) = \Pr(B | A) \Pr(A)\) 로부터 출발합니다. 대칭성을 적용하면, \(\Pr(A,B) = \Pr(A | B) \Pr(B)\) 이 돕니다. 조건 변수들 중 하나에 대해서 풀어보면 다음 공식을 얻게 됩니다. \[\Pr(A | B) = \frac{\Pr(B | A) \Pr(A)}{\Pr(B)}\] 어떤 것으로부터 다른 어떤 것을 추론(즉 원인과 효과)하고자 하는데, 반대 방향에 대한 것만 알고 있을 경우에 아주 유용합니다. 주변화(marginalization)는 이것이 작동하게 만드는데 아주 중요한 연산입니다. 이 연산은 \(\Pr(A,B)\) 로 부터 \(\Pr(A)\) 와 \(\Pr(B)\) 를 알아내는 연산입니다. \(A\) 가 일어날 확률은 모든 \(B\)에 대한 교차 확률(joint probability)의 값으로 계산됩니다. 즉, \[\Pr(A) = \sum_{B’} \Pr(A,B’) \text{ and } \Pr(B) = \sum_{A’} \Pr(A’,B)​\] 점검해야 할 아주 유용한 특성은 종속과 독립 입니다. 독립은 하나의 사건의 발생이 다른 사건의 발생에 영향을 주지 않는 것을 의미합니다. 위 경우에는 \(\Pr(B | A) = \Pr(B)\) 를 의미합니다. 그 외의 경우들은 \(A\) 와 \(B\)가 종속적이라고 합니다. 주사위를 두 번 연속으로 던지는 것은 독립적이나, 방의 전등 스위치의 위치와 방의 밝기는 그렇지 않습니다. (이 둘이 완전히 결정적이지는 않습니다. 왜냐하면, 전구가 망가질 수도 있고, 전원이 나갈 수도 있고, 스위치가 망가질 경우 등이 있기 때문입니다.) 그럼 배운 것을 테스트해보겠습니다. 의사가 환자에게 AIDS 테스트를 하는 것을 가정하겠습니다. 이 테스트는 상당히 정확해서, 환자가 음성일 경우 이를 틀리게 예측하는 확률이 1%이고, 환자가 양성일 경우 HIV 검출을 실패하지 않습니다. \(D\) 는 진단 결과를 \(H\) 는 HIV 상태를 표기합니다. \(\Pr(D | H)\) 결과를 표로 만들어보면 다음과 같습니다. 결과 HIV 양성 HIV 음성 테스트 결과 – 양성 1 0.01 테스트 결과 – 음성 0 0.99 같은 열의 값을 더하면 1이나, 행으로 더하면 그렇지 않습니다. 그 이유는 조건부 확률도 합이 확률처럼 1이여야하기 때문입니다. 테스트 결과가 양성일 경우 환자가 AIDS에 결렸을 확률을 계산해보겠습니다. 당연하게 도 이는 질병이 얼마나 일반적인가에 따라 달라집니다. 인구의 대부분이 건강하다고 가정하겠습니다. 즉 \(\Pr(\text{HIV positive}) = 0.0015\). 베이즈 이론(Bayes’ Theorem)을 적용하기 위해서 우리는 다음을 결정해야합니다. \[\begin{split}\begin{aligned} \Pr(\text{Test positive}) =& \Pr(D=1 | H=0) \Pr(H=0) + \Pr(D=1 | H=1) \Pr(H=1) \\ =& 0.01 \cdot 0.9985 + 1 \cdot 0.0015 \\ =& 0.011485 \end{aligned}\end{split}\] 따라서, 우리가 얻는 것은 다음과 같습니다. \[\begin{split}\begin{aligned} \Pr(H = 1 | D = 1) =& \frac{\Pr(D=1 | H=1) \Pr(H=1)}{\Pr(D=1)} \\ =& \frac{1 \cdot 0.0015}{0.011485} \\ =& 0.131 \end{aligned}\end{split}\] 이 결과는 99% 정확도로 테스트 결과가 양성으로 나올지라도 환자가 실제로 AIDS에 걸렸을 확률은 13.1% 밖에 되지 않는 다는 것을 의미입니다. 이 결과에서 보듯이, 통계는 매우 직관적이지 않을 수 있습니다.

2.6.3. 조건부 독립성¶ 그렇다면, 환자가 이렇게 무서운 결과를 받았을 때 어떻게 해야할까요? 아마도 환자는 의사에게 테스트를 다시 해봐달라고 요청할 것입니다. 두번째 테스트는 다르게 나왔다고 하겠습니다. (즉, 첫번째 만큼 좋지 않습니다.) 결과 HIV 양성 HIV 음성 테스트 결과 – 양성 0.98 0.03 테스트 결과 – 음성 0.02 0.97 안타깝게도 두번째 테스트 역시 양성으로 나오고 있습니다. 베이즈 이론(Bayes’ Theorom)을 적용하기 위한 필요한 확률값들을 계산해봅니다. \(\Pr(D_1 = 1 \text{ and } D_2 = 1) = 0.0003 \cdot 0.9985 + 0.98 \cdot 0.0015 = 0.00176955\)

\(\Pr(H = 1 | D_1 = 1 \text{ and } D_2 = 1) = \frac{0.98 \cdot 0.0015}{0.00176955} = 0.831\) 즉, 두번째 테스트 결과는 좋지 않다는 것에 더 확신하게 만듭니다. 두번째 결과는 첫번째 보다 덜 정확함에도 불구하고, 예측 결과를 더 향상시켰습니다. 그렇다면, 첫번째 테스트를 두번하지 않을까요? 결국, 첫번째 테스트가 더 정확했습니다. 두번째 테스트가 필요한 이유는 첫번째 테스트를 독립적으로 확인하기 위함입니다. 즉, \(\Pr(D_1, D_2 | H) = \Pr(D_1 | H) \Pr(D_2 | H)\) 이라는 암묵적인 가정을 했습니다. 통계학에서는 이런 확률 변수를 조건에 독립적이라고 하며, \(D_1 \perp\!\!\!\perp D_2 | H\) 라고 표현합니다.

2.6.4. 요약¶ 이 절에서 우리는 확률, 독립, 조건 독립, 그리고 기본적인 결론을 도출하는데 이것들을 어떻게 사용하는지를 알아봤습니다. 이 개념들은 아주 유용합니다. 다음 절에서는 나이브 베이즈 분류기(Naive Nayes)를 사용한기본적인 예측을 하는데 이 개념들이 어떻게 사용되는지 살펴보겠습니다.

2.6.5. 문제¶ \(\Pr(A)\) 과 \(\Pr(B)\) 확률로 두 사건이 주어졌을 때, \(\Pr(A \cup B)\) 와 \(\Pr(A \cap B)\) 의 상한과 하한을 구하세요. 힌트 – Venn Diagram을 사용하는 상황을 그려보세요. 연속적인 사건, 즉 \(A\) , \(B\) , \(C\) , 들이 있는데, \(B\) 는 \(A\) 에만 의존하고, \(C\) 는 \(B\) 에만 의존한다고 가정합니다. 이 경우 교차 확률(joint probability)를 간단하게 할 수 있을까요? 힌트 – 이는 Markov Chain 입니다.

[딥러닝 입문 5] 확률·통계의 기초(1

반응형

5. 확률 · 통계의 기초

여기서는 기계학습에 이용하는 확률, 통계의 개념과 용어를 설명합니다.

세상에는 ‘무작위’로 일어나는 사건이나 배경의 메커니즘을 모르기 때문에 무작위로 취급해야만 하는 사건이 존재합니다. 이러한 임의의 사건을 이론적으로 취급하자면 사건 자체나, 사건 사이의 관계를 수학적으로 설명할 수 있어야 합니다. 확률론에서는 랜덤 하게 발생한 일을 사건(event)이라고 합니다(정확한 정의는 생략합니다).

여기서는 먼저 사건을 설명하는 도구로서 확률분포를 도입하고 이와 관련된 개념(주변 확률, 조건부 확률, 확률 변수의 독립)을 설명합니다. 또한 이러한 개념을 이용하여 베이즈의 정리를 설명합니다. 베이즈 정리에 의하면, 어떤 사건이 관측되었을 때, 그 원인이 되는 사건이 일어난 확률을 계산할 수 있습니다. 다음은 확률분포 중에서 관측 데이터에 적합한 최적 확률분포를 선택하는 방법인 최대사후확률추정치(MAP 추정)을 소개합니다. 기계 학습의 맥락에서, 이들은 훈련모델의 ‘최적’ 파라미터를 결정하도록 대응합니다. 마지막으로, 기계 학습에서 자주 사용되는 통계 용어(평균, 분산, 표준편차, 상관계수 등)를 설명합니다.

5.1 확률 · 통계 및 기계학습의 관계

기계학습 시스템이 학습에 사용하는 것은 제한된 수의 관측 데이터지만, 대부분의 기계학습 태스크에서 원하는 것은 주어진 관측 데이터 뒤에 있는 보편성과 법칙을 파악하고, 미래의 사건에 대한 예측을 실시하는 것입니다. 기계학습은 그것을 달성하기 위해 통계학의 개념을 이용합니다.

통계학은 어떤 집단 전체에 대하여 조사하기 어려운 경우 집단에서 무작위 샘플링을 실시하여 원래 집단의 특성을 추정합니다. 수중에 있는 관측 데이터를 어떤 법칙에 의해 얻을수 있는 확률적인 샘플로 간주하여, 기계학습과 통계학을 연결시킵니다. 통계학을 이용하는 것으로, 어느 데이터가 미지의 데이터 원천에서 발생하기 쉬운지, 데이터가 틀렸는지, 어떤 방법으로 모델을 학습시키면 좋을지 등의 문제를 객관적으로 판단할 수 있도록 합니다. 또한 학습시킨 모델의 성능에 대한 이론적 보증도 통계에 의해 가능합니다. 이러한 기계학습의 통계적 측면을 강조할 경우를 ‘통계적 기계학습’이라고 합니다.

5.2 확률 변수와 확률 분포

현대 수학에서 널리 이용되는 ‘확률’의 개념을 공식화하기 위해 다양한 준비가 필요하므로, 이 문서에서는 ‘확률’이라는 말을 수학적으로 엄밀하게 정의하지는 않습니다. 대신 다음과 같이 생각합시다. 어느 대상으로 하는 현상에서 다양한 이벤트를 얻을 때, 각각의 이벤트마다 그것이 ‘어느 정도 일어날 것인가’라는 정도를 생각한다면, 확률은 그 정도를 말하는 것으로 합시다. 그리고 그 확률에 따라 다양한 값을 취할 수 있는 확률 변수(random variable)를 알아봅시다. 확률 변수는 이름에 ‘변수’라고 붙어 있습니다 만, ‘이벤트’를 ‘수치’로 변환하는 함수로 생각하면 쉽게 이해할 수 있습니다. 예를 들어, “동전을 던져 앞면이 나온다”는 이벤트를 ‘1’이라는 ‘수치’로 변환하고, “동전을 던져서 뒷면이 나온다”라는 이벤트를 ‘0’이라는 ‘수치’로 변환하는 함수를 생각하면, 이것은 ‘1’또는 ‘0’값 중 하나를 취할 수 있는 확률 변수(주석 1)라는 것입니다.

◇ 주석 1

여기에서는 개념의 설명을 쉽게하기 위해, 이 예와 같이 이산적인 값을 갖는 확률 변수를 고려하고, 특별히 명시하지 않는 이상 연속 값의 확률 변수는 생각하지 않기로 합니다.

그럼 확률적 현상의 예를 생각해 보겠습니다. 어느 찌그러진 주사위가 있어서, “주사위를 던져 x라는 눈이 나왔다”는 사건(주석 2)을 x라는 수치에 대응하는 확률 변수 X가 있다고 합시다. 그리고 이 확률 변수가 취할 수 있는 모든 값이 각각 어떤 확률로 출현하는지를 나타낸 표가 아래와 같습니다.

◇ 주석 2

x 는 1,2,3,4,5,6 중 하나입니다. 즉 x∈{1,2,3,4,5,6}

확률 변수 X값 그 값을 취할 확률 1 0.3 2 0.1 3 0.1 4 0.2 5 0.1 6 0.2

이러한 표를 확률 분포(probability distribution)라고 합니다. 확률 분포에는 중요한 제약이 있으며, 「확률 변수가 취할 수 있는 모든 값의 확률을 모두 더하면 합이 반드시 1이 될 것」 , 「모든 확률은 0이상의 값일 것」 이렇게 두 가지를 항상 충족시켜야 합니다. 위 표의 왼쪽 열의 수치를 실현 값이라고 하며 소문자 x로 나타냅니다. 그리고 오른쪽 열의 각각의 x에 대응하는 확률을 p(x)라고 쓸 수 있습니다. 즉 위의 표에서 p(1)=0.3, p(2)=0.1,…… 입니다. 이 표기법을 사용하면 확률 분포를 가지는 2개의 제약은 다음과 같이 나타낼 수 있습니다.

여기에서 ∑x 는 모든 가능한 x값의 합을 나타내며, 위의 주사위의 예에서는

가 되겠습니다. ∀x는 가능한 x의 모든 값에서, 오른쪽의 조건 ( p(x)≥0 )가 성립한다는 것을 의미합니다.

p(1)=0.3이라는 것은, 확률 변수 X가 1을 취할 확률입니다만, 이것을 p(X=1)=0.3으로 쓰고 있습니다. 위의 p(x)는 확률 변수 X의 존재를 암시적으로 가정하고 p(X=x)를 쉽게 표기한 것, 즉 X라는 확률 변숫값 x를 취하는 확률로 생각할 수 있습니다. 한편, p(X)와 확률 변수만을 인수로 할 경우, 위의 표와 같은 확률 분포를 보입니다.

5.3 결합 분포 · 주변 확률

앞 절에서는 하나의 확률 변수에 대하여 그 분포란 무엇인가와 분포가 가지는 제약에 대해 설명했습니다. 이 절에서는 여러 확률 변수가 등장할 경우에 대해 생각해봅시다.

먼저 구체적인 예를 들어 보면, 2개의 주사위가 있습니다. 각각의 주사위에서 나오는 눈을 2개의 확률 변수 X, Y로 나타냅니다. 이 2개의 주사위를 동시에 흔들어, 첫 번째 주사위 x값을 취하고, 두 번째 주사위 y값을 취하는 사건의 확률은 다음과 같이 표기합니다.

x, y는 모두 1,2,3,4,5,6의 6개의 숫자 중 하나입니다. 예를 들어, “3”과 “5”의 눈이 나올 사건의 확률은

로 표시됩니다. 이와 같이, X=3이 되는 승리하는 Y=5이되는 등 여러 조건을 지정했을 때, 그들이 모두 동시에 성립할 확률을 동시 확률 (joint probability) 이라고합니다.

그럼 다음으로, 2개의 주사위를 별도로 살펴봅시다. 예를 들어, “첫 주사위 눈이 3″이라는 사건이 일어날 확률 p(X=3)은 첫 번째 주사위가 3이고, 두 번째 주사위가 1일 경우 / 2일 경우 / 3일 경우 /… / 6일 경우, 이렇게 6개의 패턴이 발생할 확률을 모두 더한 것입니다. 즉,

로 표시할 수 있습니다. 이때, ∑y는 “Y의 취할 수 있는 모든 값 y에 대한 합”입니다. 이것을 “(두 번째 주사위 값이 뭐든) 첫 번째 주사위 값이 x일 확률”로 일반화하면 다음과 같이 됩니다.

마찬가지로, “(첫 번째 주사위가 뭐든) 두 번째 주사위 y일 확률”은 첫 번째 주사위에 대해 가능한 모든 값의 확률의 합을 취하면 좋기 때문에,

가 됩니다. 이처럼 동시 확률이 주어졌을 때, 주목하지 않는 쪽의 확률변수가 취할 수 있는 모든 값에 대해 동시 확률을 계산하고 그 합을 취하는 것을 주변화(marginalization)라고 부르며, 결과적으로 얻는 확률을 주변 확률(marginal probability)이라고 합니다. 또한 주변 확률을 그 주목하고 있는 확률 변수가 취할 수 있는 모든 값에 대하여 나열하는 것을 주변 확률분포(marginal probability distribution)라고 합니다. 또한, 위의 예처럼 두 확률 변수의 동시 확률을 생각할 때, 취할 수 있는 모든 조합의 확률을 나열하는 것을 결합 분포(joint distribution)라고 합니다.

여기에서 2개의 주사위의 결합 분포표는 커져버리기 때문에 더 간단한 예로, 앞면이 나올 확률과 뒷면이 나올 확률이 다른 2개의 동전을 생각해 봅시다. 이 2개의 동전을 동시에 던질 때의 앞뒤 조합의 결합 분포가 다음과 같다고 합시다.

Y = 앞면 Y = 뒷면 X = 앞면 1 / 5 2 / 5 X = 뒷면 1 / 5 1 / 5

여기에서 첫 번째 동전의 양면을 나타내는 확률 변수를 X, 두 번째 동전의 양면을 나타내는 확률 변수를 Y로 하고 있습니다. 2개의 동전이 모두 앞면이 될 확률은 p(X=앞면,Y=앞면)=1/5 입니다.

그럼, 이 표 안의 숫자를 행별로 합계를 내 봅시다. 첫 번째 줄은

입니다. 이것은

(주석 3)을 계산하는 것이므로, 주변화에 의해 p(X=앞)라는 주변 확률을 추구하는 것과 동일합니다.

◇ 주석 3

y는 두 번째 동전이 취할 수 있는 상태로, 이 경우 ‘앞’과 ‘뒤’의 둘 중 하나.

마찬가지로, 첫 번째 열 값을 합계하여 보면, 이번에는

(주석 4)를 계산하는 것이므로, 주변화에 의해 P(Y=앞)이라는 주변 확률을 계산하는 것입니다.

◇ 주석 4

x는 첫 번째 동전이 취할 수 있는 상태로, 이 경우 ‘앞’과 ‘뒤’의 둘 중 하나.

이렇게 계산된 주변 확률을 위의 결합 분포의 표로 나타내 보겠습니다.

Y = 앞면 Y = 앞면 p(X) X = 앞면 1 / 5 2 / 5 3 / 5 X = 뒷면 1 / 5 1 / 5 2 / 5 p(Y) 2 / 5 3 / 5

이처럼 주변 확률은 종종 동시 분포표로 기술됩니다.

반응형

So you have finished reading the 머신 러닝 확률 과 통계 topic article, if you find this article useful, please share it. Thank you very much. See more: 인공지능 확률과 통계, 알고리즘 확률과 통계, 인공지능 확률과 통계 활용, 소프트웨어 확률과 통계, 인공지능 확률과 통계 사례, 자율주행 확률과 통계, 딥러닝 확률 통계, 공학 속 확률과 통계

Leave a Comment