๋ณธ๋ฌธ์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

๐Ÿ“– ๋จธ์‹  ๋Ÿฌ๋‹ ๊ต๊ณผ์„œ with ํŒŒ์ด์ฌ, ์‚ฌ์ดํ‚ท๋Ÿฐ, ํ…์„œํ”Œ๋กœ

Chanho Lee
์ •๋ณด

๊ธธ๋ฒ— โ€˜15์ฐจ ๊ฐœ๋ฐœ์ž ๋ฆฌ๋ทฐ์–ดโ€™ ํ™œ๋™์„ ์œ„ํ•ด์„œ ์ฑ…์„ ์ œ๊ณต๋ฐ›์•„ ์ž‘์„ฑ๋œ ์„œํ‰์ž…๋‹ˆ๋‹ค.

Book Infoโ€‹

ํŒ

์ฑ… ์ด๋ฏธ์ง€๋ฅผ ํด๋ฆญํ•˜๋ฉด ๊ต๋ณด๋ฌธ๊ณ  ์‚ฌ์ดํŠธ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค!

์ฑ…

  • ์ œ๋ชฉ: ๋จธ์‹  ๋Ÿฌ๋‹ ๊ต๊ณผ์„œ with ํŒŒ์ด์ฌ, ์‚ฌ์ดํ‚ท๋Ÿฐ, ํ…์„œํ”Œ๋กœ
  • ์ €์ž: Sebastian Raschka, Vahid Mirjalili
  • ์—ญ์ž: ๋ฐ•ํ•ด์„ 
  • ์ถœํŒ์‚ฌ: ๊ธธ๋ฒ—
  • ์ถœ๊ฐ„: 2021-03-31

Introโ€‹

์ด ์ฑ…์€ ๊ธธ๋ฒ—์—์„œ ์ง„ํ–‰ํ•˜๋Š” 15์ฐจ ๊ฐœ๋ฐœ์ž ๋ฆฌ๋ทฐ์–ด ํ™œ๋™์— ์ฐธ์—ฌํ•˜๊ฒŒ ๋˜์–ด ์ฝ๊ฒŒ ๋์Šต๋‹ˆ๋‹ค. ํŽ˜์ด์Šค๋ถ ํŽ˜์ด์ง€๋ฅผ ํŒ”๋กœ์šฐ ํ•˜๊ณ  ์žˆ๋‹ค๋ณด๋‹ˆ ์ด๋Ÿฐ ํ™œ๋™์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ๊ณง 4ํ•™๋…„์ด ๋˜๋Š” ๋Œ€ํ•™์ƒ์œผ๋กœ์จ ์กธ์—… ์ž‘ํ’ˆ์œผ๋กœ ๋จธ์‹ ๋Ÿฌ๋‹ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•ด์•ผํ•  ์ง€๋„ ๋ชจ๋ฅด๋Š” ์••๋ฐ•๊ฐ์— ์กฐ๊ธˆ์ด๋ผ๋„ ๋ฏธ๋ฆฌ ๋จธ์‹ ๋Ÿฌ๋‹์— ๋Œ€ํ•ด ๋” ์ž์„ธํžˆ ๊ณต๋ถ€ํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค.

์ด์ „์— ์„ ํ˜•๋Œ€์ˆ˜ํ•™, ์ˆ˜์น˜ํ•ด์„, ํ™•๋ฅ  ๋ฐ ํ†ต๊ณ„ ๋“ฑ์˜ ๊ณผ๋ชฉ์—์„œ ์ €๋„ ๋ชจ๋ฅด๋Š” ์‚ฌ์ด์— ๊ต์ˆ˜๋‹˜์ด ๋จธ์‹ ๋Ÿฌ๋‹ ๊ณผ์ œ๋ฅผ ๋‚ด์ฃผ์…”์„œ ํ•œ์ฐธ์„ ํ—ค๋งธ์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜๊ณ  ์žˆ๋Š” ๊ณผ์ œ๊ฐ€ ๋จธ์‹ ๋Ÿฌ๋‹๊ณผ ๊ด€๋ จ๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ๋„ ๋ชจ๋ฅธ์ฑ„๋กœ ์–ต์ง€๋กœ ๊ณผ์ œ๋ฅผ ํ–ˆ๋˜ ๊ธฐ์–ต์ด ๋‚˜๋„ค์š”. ๊ทธ ๋•Œ๋Š” ๊ทธ์ € ๊ณผ์ œํ•˜๋Š” ๊ฒƒ์—๋งŒ ๊ธ‰ํ•ด์„œ ์ œ๋Œ€๋กœ ๊ณต๋ถ€๋ฅผ ํ•˜์ง€ ๋ชป ํ–ˆ์—ˆ๋Š”๋ฐ ์ด ์ฑ…์„ ์ฝ์œผ๋ฉด์„œ ๊ณต๋ถ€๋ฅผ ํ•ด๋ณด๊ณ  ์‹ถ์—ˆ๊ธฐ์— ์ด ํ™œ๋™์— ์‹ ์ฒญํ•˜๊ฒŒ ๋์Šต๋‹ˆ๋‹ค.

๋‹ค๋ฅธ ์ฑ…๋“ค๋„ ์†”์งํžˆ ๋‹ค ์ฝ์–ด๋ณด๊ณ  ๋ฆฌ๋ทฐ๋„ ํ•ด๋ณด๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ๋„ˆ๋ฌด ํƒ๋‚˜๋Š” ์ฑ…๋“ค์ด ๋งŽ์•˜์ง€๋งŒ ํ˜„์žฌ ๊ฐ€์žฅ ๊ณต๋ถ€ํ•ด๋ณด๊ณ  ์‹ถ์—ˆ๋˜ ๊ฑด ๋จธ์‹ ๋Ÿฌ๋‹์ด์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ์ฑ…์„ ์„ ํƒํ•˜๊ฒŒ ๋์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์ฑ…๋“ค์€ ์–ธ์  ๊ฐ€ ๊ธฐํšŒ๊ฐ€ ๋˜๋ฉด ๋ฆฌ๋ทฐ๋ฅผ ํ•˜๊ฒ ์ฃ ? ๊ทธ๋ฆฌ๊ณ  ์†”์งํžˆ ์„ ์ •๋  ์ง€๋Š” ๋ชฐ๋ž๋Š”๋ฐ ๋ง‰์ƒ ๋˜๋‹ˆ๊นŒ ๊ธฐ์˜๋„ค์š”.

Book Reviewโ€‹

๋ฒˆ์—ญโ€‹

์ด ์ฑ…์€ Python Machine Learning 3rd Edition๋ฅผ ๋ฒˆ์—ญํ•œ ์ฑ…์ž…๋‹ˆ๋‹ค. ์—ญ์ž๋Š” ์œ ๋ช…ํ•œ ๋จธ์‹ ๋Ÿฌ๋‹ ๊ด€๋ จ ์ฑ…๋“ค์„ ๋ฒˆ์—ญํ•˜์‹œ๊ณ  ์“ฐ์‹œ๋Š” ๋ฐ•ํ•ด์„ ๋‹˜์ž…๋‹ˆ๋‹ค. ๋ฐ•ํ•ด์„ ๋‹˜ ๋ฒˆ์—ญ์„œ๋“ค์„ ๋ณด๋ฉด ๊น”๋”ํ•œ ๋ฒˆ์—ญ๋„ ์žฅ์ ์ด ๋˜๊ฒ ์ง€๋งŒ, ์—ญ์ฃผ๋ผ๋Š” ๋ถ€๋ถ„์ด ๋„์›€์ด ๊ฝค ๋งŽ์ด ๋ฉ๋‹ˆ๋‹ค. ์ด ๋ถ„์ด ์–ผ๋งˆ๋‚˜ ์„ธ๋ถ€์ ์œผ๋กœ ๋ฒˆ์—ญ์„ ํ•˜์‹œ๋Š” ์ง€ ์•Œ ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๊ฐ์ฃผ์— ๊ด€๋ จ๋œ ๋ถ€๋ถ„์€ ์‚ฌ๋žŒ๋งˆ๋‹ค ๋‹ค๋ฅด๊ฒ ์ง€๋งŒ, ์ €๋Š” ์ด๋ ‡๊ฒŒ ์„ธ๋ถ€์ ์œผ๋กœ ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ์ด ๋„ˆ๋ฌด ์ข‹์•˜์Šต๋‹ˆ๋‹ค.

๋ฒˆ์—ญ๋œ ์ฑ…์ด๋ผ ๋จธ์‹ ๋Ÿฌ๋‹๊ณผ ๊ด€๋ จ๋œ ์šฉ์–ด๋“ค์ด ํ˜น์‹œ ์ „๋ถ€ ํ•œ๊ตญ์–ด๋กœ ๋ฒˆ์—ญ๋˜์–ด ์žˆ์ง€๋Š” ์•Š์„๊นŒ ์‚ด์ง ๊ฑฑ์ •์€ ํ–ˆ์ง€๋งŒ, ๊ทธ๋Ÿฐ ๊ฑฑ์ •์€ ์ „ํ˜€ ํ•„์š”์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์ „๋ฌธ ์šฉ์–ด ๋ถ€๋ถ„์—๋Š” ์ „๋ถ€ ๊ตต๊ฒŒ ํ‘œ์‹œ๋˜์–ด ์žˆ์œผ๋ฉฐ ๊ด„ํ˜ธ๋ฅผ ์ด์šฉํ•ด์„œ ์˜์–ด๋กœ ๋‹ค ์ ํ˜€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์„ธ์„ธํ•œ ๋ถ€๋ถ„๋„ ๋„ˆ๋ฌด ์ข‹์•˜์Šต๋‹ˆ๋‹ค. ์•„๋ฌด๋ž˜๋„ ๋จธ์‹ ๋Ÿฌ๋‹๊ณผ ๊ด€๋ จ๋œ ์ฑ…๋“ค์€ ์˜๋ฌธ ๋ฌธ์„œ๋“ค์„ ๋ณผ ์ผ์ด ๋งŽ์„ํ…๋ฐ ๋ฒˆ์—ญ๋œ ์šฉ์–ด๋กœ ์ ํ˜€ ์žˆ์—ˆ๋”๋ผ๋ฉด ๊ทธ ์šฉ์–ด๊ฐ€ ๋ญ” ์ง€ ์ž˜ ๋ชฐ๋ž์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์š”์ฆ˜ ํŠธ๋ Œ๋“œ๋Š” Jupyter Notebook ๋˜๋Š” Colab์—์„œ ์„ค๋ช…๊ณผ ํ•จ๊ป˜ ์‹ค์Šตํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ๊ฐ€ ์ œ๊ณต๋œ๋‹ค๋Š” ๊ฒƒ์ธ๋ฐ ๊ทธ๋Ÿฐ ์‹ค์Šต ์ฝ”๋“œ๋„ ํ•œ๊ธ€ํ™”๋œ ์ฝ”๋“œ๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๋ถ€๋ถ„๋„ ๋ฒˆ์—ญ์„ ํ•˜์‹  ๊ฒƒ์ด ์ •๋ง ๋Œ€๋‹จํ•˜๋‹ค๊ณ  ๋Š๊ปด์ง‘๋‹ˆ๋‹ค.

๊ฐœ๋…๊ณผ ์‹ค์Šตโ€‹

๊ฐœ๋…๊ณผ ์‹ค์Šต ๋‘ ๋งˆ๋ฆฌ ํ† ๋ผ๋ฅผ ๋‹ค ์žก๋Š” ์ฑ…์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. 868 ํŽ˜์ด์ง€์˜ ๋‘๊บผ์šด ์ฑ…์—์„œ ๊ฐœ๋…์„ ์„ค๋ช…ํ•˜๋ฉฐ ์ฝ”๋“œ๊นŒ์ง€ ์ž์„ธํ•˜๊ฒŒ ๋‚˜์™€์žˆ๊ธฐ์— ์ฑ… ์ œ๋ชฉ์ฒ˜๋Ÿผ ๊ต๊ณผ์„œ๋ผ๋Š” ์ด๋ฆ„์ด ์–ด์šธ๋ฆฌ๋Š” ์ฑ…์ž…๋‹ˆ๋‹ค. NumPy๋งŒ์„ ์ด์šฉํ•˜์—ฌ ๋ฐ”๋‹ฅ๋ถ€ํ„ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ž‘์„ฑํ•ด๋ณด๋Š” ๊ฒƒ์ด ๋งค์šฐ ์ธ์ƒ ๊นŠ์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ์ฑ…์€ ๊ฐ ์žฅ์ด ์‹œ์ž‘๋  ๋•Œ๋งˆ๋‹ค ์•ž์œผ๋กœ ๋ฌด์—‡์„ ํ•  ๊ฒƒ์ด๋ผ๋Š” ๊ฒƒ์„ ์„ค๋ช…ํ•ด ์ฃผ๋Š” ๋ถ€๋ถ„๋“ค์ด ์žˆ๋Š”๋ฐ ๊ทธ๋Ÿฐ ๋ถ€๋ถ„์—์„œ ์ €์ž๊ฐ€ ์‹ ๊ฒฝ์„ ์“ฐ๋ฉด์„œ ์ฑ…์„ ์ผ๋‹ค๋Š” ๊ฒƒ์ด ๋Š๊ปด์กŒ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ƒ๊ธด ๋ฐฐ๊ฒฝ, ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์–ด๋””์— ์“ฐ์ด๋Š” ์ง€ ๋“ฑ์— ๋Œ€ํ•œ ๋‚ด์šฉ๋„ ๊ฐ™์ด ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ์ด ์ฑ…์„ ์ˆ˜์›”ํ•˜๊ฒŒ ์ฝ๋Š” ๋ฐ ๋„์›€์ด ๋์Šต๋‹ˆ๋‹ค. ๋งˆ๋ƒฅ ์–ด๋ ค์šด ๊ฐœ๋…๋“ค๋งŒ ์„ค๋ช…ํ•˜๋Š” ์ฑ…์ด ์•„๋‹ˆ๋ผ๋Š” ๊ฒƒ์ด์ฃ .

๋” ์„ธ๋ถ€์ ์ธ ๊ฐœ๋…์„ ์›ํ•˜๋ฉด ๋…ผ๋ฌธ ์ œ๋ชฉ์„ ์•Œ๋ ค์ฃผ๊ฑฐ๋‚˜ ์ฐธ๊ณ  ์ž๋ฃŒ์˜ ๋งํฌ ๋˜๋Š” ์ œ๋ชฉ์„ ์•Œ๋ ค์ฃผ๋Š” ๋ถ€๋ถ„์—์„œ๋„ ์ €์ž์˜ ์„ธ์„ธํ•จ์ด ๋Š๊ปด์กŒ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ์ตœ๊ทผ ์ด์Šˆ๊ฐ€ ๋˜๋Š” ๊ธฐ์ˆ ๋“ค์ธ GAN, transformer๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ฒƒ๋„ ์ธ์ƒ ๊นŠ์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ์ฑ…์œผ๋กœ๋„ ๋ถ€์กฑํ•˜๊ฑฐ๋‚˜ ์ข€ ๋” ๋ณด์ถฉํ•˜๊ณ  ์‹ถ์€ ๋‚ด์šฉ์ด ์žˆ์œผ๋ฉด ์—ญ์ž์ด์‹  ๋ฐ•ํ•ด์„ ๋‹˜์ด ์œ ํŠœ๋ธŒ์— ์˜ฌ๋ฆฌ์‹œ๋Š” ๊ฐ•์ขŒ๋ฅผ ๋“ค์–ด๋ณด์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. ํ˜„์žฌ 5์žฅ์„ ์˜ฌ๋ฆฌ์‹œ๊ณ  ์žˆ์œผ์‹œ๋ฉฐ ํฐ ๋„์›€์ด ๋  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋Œ€์ƒ ๋…์žโ€‹

์†”์งํžˆ ๋งํ•˜๋ฉด ์ด ๋ถ„์•ผ๋ฅผ ์ฒ˜์Œ ์‹œ์ž‘ํ•˜๋Š” ๋ถ„์—๊ฒŒ๋Š” ์ฝ๊ธฐ ์–ด๋ ค์šธ ์ˆ˜๋„ ์žˆ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ญ๋‹ˆ๋‹ค. ์ฒ˜์Œ๋ถ€ํ„ฐ ์–ด๋ ค์šด ๊ฐœ๋…์„ ํก์ˆ˜ํ•˜๋Š” ๊ฒƒ์„ ์ข‹์•„ํ•˜์‹œ๋Š” ๋ถ„์ด๋ฉด ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๊ฐœ๋…๋“ค์ด ์–ด๋ ต์ง€๋งŒ ์ž์„ธํ•˜์ง€ ์•Š์€ ์ฑ…์€ ์•„๋‹™๋‹ˆ๋‹ค. ์ข€ ๋” ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ๋ฟ์ด์ฃ .

๋จธ์‹ ๋Ÿฌ๋‹์— ๋Œ€ํ•ด ์ž˜ ๋ชจ๋ฅด์…”๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค๋งŒ, ํŒŒ์ด์ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•œ ์ดํ•ด๋„๋Š” ์–ด๋Š์ •๋„ ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. NumPy, matplotlib, pandas, TensorFlow, Scikit-learn, Scipy ๋“ฑ์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทผ๋ฐ ์‚ฌ์‹ค ์ €๋„ pandas, Numpy, matplotlib๋งŒ ์กฐ๊ธˆ ์“ธ ์ค„ ์•Œ์ง€ ๋‚˜๋จธ์ง€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์€ ์ฒ˜์Œ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€๋งŒ ์ €์ฒ˜๋Ÿผ ์ง์ ‘ reference๋ฅผ ์ฐพ์•„๊ฐ€๋ฉด์„œ ๊ณต๋ถ€ํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋„๋ผ๋ฉด ๋ชจ๋ฅด์…”๋„ ๋ฌด๋‚œํ•  ๊ฑฐ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ, ์„ ํ˜•๋Œ€์ˆ˜ํ•™, ํ™•๋ฅ  ๋ฐ ํ†ต๊ณ„, ์ˆ˜์น˜ํ•ด์„ ๋“ฑ์˜ ๊ณผ๋ชฉ์„ ๋“ค์–ด๋ณด์‹œ๊ฑฐ๋‚˜ ๋จธ์‹ ๋Ÿฌ๋‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๊ด€์‹ฌ์ด ์žˆ์œผ์‹  ๋ถ„๋“ค์ด๋ผ๋ฉด ์žฌ๋ฐŒ๊ฒŒ ๊ณต๋ถ€ํ•˜์‹ค ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ์ฑ…์˜ ์•ž๋ถ€๋ถ„์ธ ์‹ค์Šต ํ›„๊ธฐ๋ฅผ ๋ณด๋ฉด ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด ์ž˜ ์ž‘๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋จธ์‹ ๋Ÿฌ๋‹ ๊ต๊ณผ์„œ 3ํŒ ๊นƒํ—ˆ๋ธŒ๋ฅผ ์ฐธ๊ณ ํ•˜์…”์„œ ์‹ค์Šตํ•ด๋ณด์‹œ๋ฉด ๋งŽ์€ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ์‹ค์Šต ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•ด๋ณด๋ ค๋ฉด Colab ๋˜๋Š” Jupyter Notebook์˜ ๊ฐ„๋‹จํ•œ ์‚ฌ์šฉ๋ฒ• ์ •๋„๋Š” ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•˜๊ฒ ์ฃ .