์ธ๊ณต์ง€๋Šฅ

[Day 10] Math for AI - Data visualization & Probability theory โ…ก

Frank_the_Tank 2021. 1. 30. 22:21

๐Ÿ“ Data visualization - graphic tools

  ๐Ÿ”ฅ matplotlib 

    - ๋Œ€ํ‘œ์ ์ธ ์‹œ๊ฐํ™” ๋„๊ตฌ๋กœ ๋‹ค์–‘ํ•œ graph์ง€์›๊ณผ pandas ์—ฐ๋™

    - pyplot ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐ์ดํ„ฐ ํ‘œ์‹œ(flush ๋˜๊ธฐ ๋–„๋ฌธ์— ๊ฐ์ฒด๋กœ ๋‹ค๋ฃจ๊ธฐ ํž˜๋“ฌ)

    - conda install matplotlib -> import matplotlib as plt

    - graph๋Š” ์›๋ž˜ figure ๊ฐ์ฒด์— ์ƒ์„ฑ๋˜๊ณ  figure์•ˆ์— axes๋กœ ๊ตฌ์„ฑ๋˜๋Š”๋ฐ ์—ฌ๋Ÿฌ๊ฐœ์˜ axes๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Œ

    - ๋‹จ์ : argument๋ฅผ kwargs๋กœ ๋ฐ›๊ณ  ๋˜ ๊ณ ์ •๋œ argument์—†์–ด ํ™•์ธ์ด ์–ด๋ ค์›€.

 

    - color: float:ํ‘๋ฐฑ, RGB color, predefined color ์‚ฌ์šฉ

    - line style: dashed, dotted ๋“ฑ์ด ์กด์žฌํ•˜๊ณ , ํ•„์š”ํ•  ๋•Œ ์ฐพ์•„์“ฐ์ž!

    - title: plot์œ„์— title์„ ๋งŒ๋“ค์–ด ์คŒ(latex ํƒ€์ž…์˜ ํ‘œํ˜„๋„ ๊ฐ€๋Šฅ - ์ˆ˜์‹ ํ‘œํ˜„ ๊ฐ€๋Šฅ)

    - legend: ๋ฒ”๋ก€ ํ‘œ์‹œํ•จ, loc์œ„์น˜ ๋“ฑ ์†์„ฑ ์ง€์ •

    - grid & xylim: graph ๋ณด์กฐ์„ ์„ ๊ธ‹๋Š” grid์™€ xy์ถ• ๋ฒ”์œ„ ํ•œ๊ณ„๋ฅผ ์ง€์ •

 

  ๐Ÿ”ฅ matplotlib graph

    - scatter(์‚ฐ์ ๋„): marker - scatter ๋ชจ์–‘ ์ง€์ •    /     s - ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๋ฅผ ์ง€์ •(๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ ๋น„๊ต ๊ฐ€๋Šฅ)

    - bar chart: ์„ค์ •์œผ๋กœ ์˜†์ด๋‚˜ ์œ„๋กœ ์Œ“๋Š” ๊ทธ๋ž˜ํ”„๊ฐ€ ๊ฐ€๋Šฅ

    - histogram(๋ถ„ํฌ ์ฐจํŠธ), boxplot ๋“ฑ์˜ ์ข…๋ฅ˜๊ฐ€ ์žˆ์Œ

 

  ๐Ÿ”ฅ seaborn: ํ†ต๊ณ„์  ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”(Statistical data visualization)

    - matplotlib๋ฅผ ์ข€ ๋” ์‰ฝ๊ฒŒํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ

    - ๋ณต์žกํ•œ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” wrapper(๊ฐ„๋‹จ ์ฝ”๋“œ + ์˜ˆ์œ ๊ฒฐ๊ณผ)

    - Basic: matplotlib์™€ ๊ฐ™์€ ๊ธฐ๋ณต์ ์ธ plot์œผ๋กœ ์†์‰ฌ์šด ์„ค์ •์œผ๋กœ ๋ฐ์ดํ„ฐ ์‚ฐ์ถœ

    - lineplot, scatterplot, countplot, regplot(hue - ์นดํ…Œ๊ณ ๋ฆฌ ๋ณ„ data ๋ณด๋Š” ๊ฒƒ ๊ฐ€๋Šฅ), FacetGrid ๋“ฑ์ด ์กด์žฌ

    - conda install seaborn  ->  import seaborn as sns

 

๐Ÿ“ ํ†ต๊ณ„ํ•™ ๋ง›๋ณด๊ธฐ

    - ํ†ต๊ณ„์  ๋ชจ๋ธ๋ง์€ ์ ์ ˆํ•œ ๊ฐ€์ • ์œ„์—์„œ ํ™•๋ฅ ๋ถ„ํฌ๋ฅผ ์ธก์ •(inference)ํ•˜๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ด๋ฉฐ, ๊ธฐ๊ณ„ํ•™์Šต๊ณผ ํ†ต๊ณ„ํ•™์ด ๊ณตํ†ต์ ์œผ๋กœ ์ถ”๊ตฌํ•˜๋Š” ๋ชฉํ‘œ.

    - BUT, ์œ ํ•œํ•œ ๊ฐœ์ˆ˜์˜ ๋ฐ์ดํ„ฐ๋งŒ ๊ด€์ฐฐํ•ด์„œ ๋ชจ์ง‘๋‹จ์˜ ๋ถ„ํฌ๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ์•Œ์•„๋‚ธ๋‹ค๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ, ๊ทผ์‚ฌ์ ์œผ๋กœ ํ™•๋ฅ ๋ถ„ํฌ๋ฅผ ์ถ”์ •ํ•œ๋‹ค.

 

    - ๋ชจ์ˆ˜์ ๋ฐฉ๋ฒ•๋ก : data๊ฐ€ ํŠน์ • ํ™•๋ฅ  ๋ถ„ํฌ๋ฅผ ๋”ฐ๋ฅธ๋‹ค๊ณ  ์‹ ํ—˜์ ์œผ๋กœ(a priori) ๊ฐ€์ •ํ•œ ํ›„ ๊ทธ ๋ถ„ํฌ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋ชจ์ˆ˜(parameter)๋ฅผ ์ถ”์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•

    - ๋น„๋ชจ์ˆ˜์ ๋ฐฉ๋ฒ•๋ก : ํŠน์ • ํ™•๋ฅ ๋ถ„ํฌ๋ฅผ ๊ฐ€์ •ํ•˜์ง€ ์•Š๊ณ  ๋ฐ์ดํ„ฐ์— ๋”ฐ๋ผ ๋ชจ๋ธ์˜ ๊ตฌ์กฐ ๋ฐ ๋ชจ์ˆ˜์˜ ๊ฐœ์ˆ˜๊ฐ€ ์œ ์—ฐํ•จ

      -> ๋ชจ์ˆ˜, ๋น„๋ชจ์ˆ˜์˜ ์ฐจ์ด๋Š” '๊ฐ€์ •'์˜ ์ฐจ์ด์ด๋‹ค.

 

    - ๊ธฐ๊ณ„์ ์œผ๋กœ ํ™•๋ฅ ๋ถ„ํฌ๊ฐ€์ •X, ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์›๋ฆฌ๋ฅผ ๋จผ์ € ๊ณ ๋ คํ•ด ๋ณผ ๊ฒƒ! -> ๋ชจ์ˆ˜๋ฅผ ์ถ”์ • ํ›„ ๊ฒ€์ฆํ•˜๋Š” ๊ณผ์ •์ด ์ค‘์š”

 

    - ์ •๊ทœ๋ถ„ํฌ์˜ ๋ชจ์ˆ˜๋Š” ํ‰๊ท ๊ณผ ๋ถ„์‚ฐ์œผ๋กœ ์ด๋ฅผ ์ถ”์ •ํ•˜๋Š” ํ†ต๊ณ„๋Ÿ‰(statistic)์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

  ๐Ÿ”ฅ ํ‘œ์ง‘๋ถ„ํฌ(Sampling Distribution)

    - ํ†ต๊ณ„๋Ÿ‰์˜ ํ™•๋ฅ ๋ถ„ํฌ๋กœ N์ด ์ปค์งˆ์ˆ˜๋ก ์ •๊ทœ๋ถ„ํฌ๋ฅผ ๋”ฐ๋ฆ„(์ค‘์‹ฌ๊ทนํ•œ์ •๋ฆฌ์— ๋”ฐ๋ผ)

 

  ๐Ÿ”ฅ ์ตœ๋Œ€ ๊ฐ€๋Šฅ๋„ ์ถ”์ •๋ฒ•(MLE, Maximum Likelihood Estimation)

    - ์ด๋ก ์ ์œผ๋กœ ๊ฐ€์žฅ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์€ ๋ชจ์ˆ˜๋ฅผ ์ถ”์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•

๋ชจ์ˆ˜ theta๋ฅผ ๋”ฐ๋ฅด๋Š” ๋ถ„ํฌ๊ฐ€ x๋ฅผ ๊ด€์ฐฐํ•  ๊ฐ€๋Šฅ์„ฑ

    - ๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ X๊ฐ€ ๋…๋ฆฝ์ ์œผ๋กœ ์ถ”์ถœ๋˜์—ˆ์„ ๊ฒฝ์šฐ ๋กœ๊ทธ ๊ฐ€๋Šฅ๋„๋ฅผ ์ตœ์ ํ™”

 

 

  ๐Ÿ“Œ ์™œ ๋กœ๊ทธ๊ฐ€๋Šฅ๋„๋ฅผ ์‚ฌ์šฉํ•˜๋‚˜์š”?   

- ๋กœ๊ทธ ๊ฐ€๋Šฅ๋„๋ฅผ ์ตœ์ ํ™”ํ•˜๋Š” ๋ชจ์ˆ˜ theta๋Š” ๊ฐ€๋Šฅ๋„๋ฅผ ์ตœ์ ํ™”ํ•˜๋Š” MLE์ด๋‹ค.   

- BUT, ๋ฐ์ดํ„ฐ๊ฐ€ ์ˆ˜์–ต๋‹จ์œ„๊ฐ€ ๋  ๊ฒฝ์šฐ, ์ปดํ“จํ„ฐ์˜ ์ •ํ™•๋„๋กœ๋Š” ๊ฐ€๋Šฅ๋„ ๊ณ„์‚ฐ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๊ฐ€ ๋…๋ฆฝ์ผ ๊ฒฝ์šฐ, ๋กœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•ด ์ปดํ“จํ„ฐ๋กœ ์—ฐ์‚ฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.(์—ฐ์‚ฐ๋Ÿ‰์˜ ๊ฐ์†Œ O(n^2) => O(n))   

- ๋Œ€๊ฒŒ ์†์‹คํ•จ์ˆ˜์˜ ๊ฒฝ์šฐ ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ• ์‚ฌ์šฉ -> ์Œ์˜ ๋กœ๊ทธ๊ฐ€๋Šฅ๋„๋ฅผ ์ตœ์ ํ™”ํ•˜๋ฉด ๋จ

 

  ๐Ÿ”ฅ DL์—์„œ์˜ ์ตœ๋Œ€ ๊ฐ€๋Šฅ๋„ ์ถ”์ •๋ฒ•

    - ๊ฐ€์ค‘์น˜ theta๋ผ ํ–ˆ์„๋•Œ, ๋ถ„๋ฅ˜ ๋ฌธ์ œ์—์„œ Softmax vector๋Š” ์นดํ…Œ๊ณ ๋ฆฌ ๋ถ„ํฌ์˜ ๋ชจ์ˆ˜๋ฅผ ๋ชจ๋ฐ์ผ๋ง

    - one-hot vector๋กœ ํ‘œํ˜„ํ•œ ์ •๋‹ต ๋ ˆ์ด๋ธ” y๋ฅผ ๊ด€์ฐฐ ๋ฐ์ดํ„ฐ๋กœ ์ด์šฉํ•ด ํ™•๋ฅ  ๋ถ„ํฌ์ธ softmax vector์˜ ๋กœ๊ทธ ๊ฐ€๋Šฅ๋„๋ฅผ ์ตœ์ ํ™” ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

  ๐Ÿ”ฅ ํ™•๋ฅ ๋ถ„ํฌ์˜ ๊ฑฐ๋ฆฌ

    - ๊ธฐ๊ณ„ํ•™์Šต์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์†์‹ค ํ•จ์ˆ˜๋“ค์€ ๋ชจ๋ธ์ด ํ•™์Šตํ•˜๋Š” ํ™•๋ฅ ๋ถ„ํฌ์™€ ๋ฐ์ดํ„ฐ์—์„œ ๊ด€์ฐฐ๋˜๋Š” ํ™•๋ฅ ๋ถ„ํฌ์˜ ๊ฑฐ๋ฆฌ๋ฅผ ํ†ตํ•ด ์œ ๋„

    - ๋ฐ์ดํ„ฐ ๊ณต๊ฐ„์— ๋‘๊ฐœ์˜ ํ™•๋ฅ  ๋ถ„ํฌ P(x), Q(x)์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ฒ•

      -> ์ด๋ณ€๋™๊ฑฐ๋ฆฌ(TV, Total Variation Distance)

      -> ์ฟจ๋ฐฑ-๋ผ์ด๋ธ”๋Ÿฌ ๋ฐœ์‚ฐ(KL, Kullback-Leibler Divergence)

      -> ๋ฐ”์Šˆํƒ€์ธ ๊ฑฐ๋ฆฌ(Wasserstein Distance)

 

  ๐Ÿ“Œ ์ฟจ๋ฐฑ-๋ผ์ด๋ธ”๋Ÿฌ ๋ฐœ์‚ฐ

    - ๋ถ„๋ฅ˜ ๋ฌธ์ œ์—์„œ ์ •๋‹ต๋ ˆ์ด๋ธ”(P), ๋ชจ๋ธ ์˜ˆ์ธก(Q)๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ํ•™์Šต ๊ฐ€๋Šฅ

    - ์œ„์˜ ์‹์„ ์•„๋ž˜์™€ ๊ฐ™์ด ๋ถ„ํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค.