๋ฐ˜์‘ํ˜•

๋”ฅ๋Ÿฌ๋‹ 55

[๋”ฅ๋Ÿฌ๋‹] ๋‹ค์ค‘ ์„ ํ˜• ํšŒ๊ท€ (Multiple linear regression)

์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋…๋ฆฝ ๋ณ€์ˆ˜x ๊ณต๋ถ€ํ•œ์‹œ๊ฐ„:x ๊ณผ์™ธ ์ˆ˜์—… ํšŸ์ˆ˜: xโ‚‚ ์„ฑ์ :y y = aโ‚xโ‚ + aโ‚‚xโ‚‚ + b ๊ธฐ์šธ๊ธฐ aโ‚,aโ‚‚๋Š” ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•์„ ํ†ตํ•ด ๊ตฌํ•จ import numpy as np import pandas as pd import matplotlib.pyplot as plt import mpl_tookits import mplot3d #3d๊ทธ๋ž˜ํ”„ ๊ทธ๋ฆฌ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ #x,y๋ฐ์ดํ„ฐ๊ฐ’ data=[[2,0,81],[4,4,93],[6,2,91],[8,3,97]] x1= [i[0] for i in data] x2= [i[1] for i in data] y = [i[2] for i in data] ax = plt.axes(projection='3d') ax.set_xlabel('study_H') ax.set_yla..

[๋”ฅ๋Ÿฌ๋‹] ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•(Gradient Descent)

์˜ค์ฐจ์˜ ๋ฑํ™”์— ๋”ฐ๋ผ ์ด์ฐจํ•จ์ˆ˜ ๊ทธ๋ž˜ํ”„๋ฅผ ๋งŒ๋“œ๋ก ์ ์ ˆํ•œ ํ•™์Šต๋ฅ ์„ ์„ค์ •ํ•ด ๋ฏธ๋ถ„ ๊ฐ’์ด 0์ธ ์ง€์ ์„ ๊ตฌํ•˜๋Š” ๊ฒƒ. ์ตœ์†Œ์ œ๊ณฑ๋ฒ•์„ ์“ฐ์ง€ ์•Š๊ณ  ํ‰๊ท ์ œ๊ณฑ์˜ค์ฐจ, ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•์œผ๋กœ ์›ํ•˜๋Š” ๊ฐ’ ๊ตฌํ•˜๊ธฐ ๊ฐ€๋Šฅ ํ•จ์ˆ˜์˜ ๊ธฐ์šธ๊ธฐa๋ฅผ ๊ธฐ์šธ๊ธฐ๊ฐ€ ๋‚ฎ์€ ์ชฝ์œผ๋กœ ๊ณ„์† ์ด๋™์‹œ์ผœ ์ตœ์†Ÿ๊ฐ’ m์— ์ด๋ฅผ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค. ์ตœ์†Ÿ๊ฐ’ m์—์„œ์˜ ์ˆœ๊ฐ„๊ธฐ์šธ๊ธฐ , ๊ธฐ์šธ๊ธฐ๊ฐ€ 0 = ๋ฏธ๋ถ„๊ฐ’์ด 0์ธ ์ง€์  ์ฐพ๊ธฐ ์ตœ์ ์˜ b, y์ ˆํŽธ ๊ตฌํ•  ๋•Œ๋„ ์‚ฌ์šฉ 1. a1์—์„œ ๋ฏธ๋ถ„ 2. ๊ตฌํ•œ ๊ธฐ์šธ๊ธฐ์˜ ๋ฐ˜๋Œ€ ๋ฐฉํ–ฅ(๊ธฐ์šธ๊ธฐ๊ฐ€ +๋ฉด ์Œ์˜ ๋ฐฉํ–ฅ)์œผ๋กœ ์–ผ๋งˆ๊ฐ„ ์ด๋™์‹œํ‚จ a2์—์„œ ๋ฏธ๋ถ„ 3. ๋ฏธ๋ถ„๊ฐ’์ด 0์ด ๋‚˜์˜ฌ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต ๊ธฐ์šธ๊ธฐ์˜ ๋ฐ˜๋Œ€ ๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™์‹œ ๋„ˆ๋ฌด ๋ฉ€๋ฆฌ ์ด๋™์‹œํ‚ค๋ฉด a๊ฐ’์ด ์œ„๋กœ ์น˜์†Ÿ์•„๋ฒ„๋ฆผ ํ•™์Šต๋ฅ  - ์ด๋™ ๊ฑฐ๋ฆฌ๋ฅผ ์ •ํ•ด์ฃผ๋Š” ๊ฒƒ. ์ตœ์ ์˜ ํ•™์Šต๋ฅ ์„ ์ฐพ์•„์•ผ ํ•œ๋‹ค. import numpy as np import..

[๋”ฅ๋Ÿฌ๋‹] ์˜ค์ฐจ ํ‰๊ฐ€๋ฒ• : ํ‰๊ท ์ œ๊ณฑ์˜ค์ฐจ Mean Squared Error

์˜ค์ฐจ = ์˜ˆ์ธก ๊ฐ’- ์‹ค์ œ ๊ฐ’ ์˜ค์ฐจ๋“ค์˜ ํ•ฉ์€ ๋ถ€ํ˜ธ๊ฐ€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์–ด ๊ฐ ์˜ค์ฐจ์˜ ๊ฐ’์„ ์ œ๊ณฑํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. ํ‰๊ท ์ œ๊ณฑ์˜ค์ฐจ(MSE) = ์˜ค์ฐจ๋ฅผ ์ œ๊ณฑํ•˜์—ฌ ํ‰๊ท ์„ ๊ณ„์‚ฐํ•œ ๊ฒƒ . ๊ฐ’์ด ์ž‘์„์ˆ˜๋ก ์˜ˆ์ธก๋ ฅ์ด ์ข‹๋‹ค ์˜ค์ฐจ์˜ ํ•ฉ์„ n์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค. ์„ ํ˜• ํšŒ๊ท€ : ์ž„์˜์˜ ์ง์„ ์„ ๊ทธ์–ด ์ด์— ๋Œ€ํ•œ ํ‰๊ท  ์ œ๊ณฑ ์˜ค์ฐจ๋ฅผ ๊ตฌํ•˜๊ณ , ์ด ๊ฐ’์„ ๊ฐ€์žฅ ์ž‘๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š” A์™€ B์˜ ๊ฐ’์„ ์ฐพ์•„๊ฐ€๋Š” ๊ณผ์ • ํŒŒ์ด์ฌ์œผ๋กœ ๊ตฌํ˜„ํ•˜๊ธฐ import numpy as np #์ž„์˜๋กœ ์ •ํ•œ ๊ธฐ์šธ๊ธฐa์™€ y์ ˆํŽธ b๊ฐ’์„ fake_ab ๋ฆฌ์ŠคํŠธ์— ์ €์žฅ fake_ab = [3,76] #x,y๋ฐ์ดํ„ฐ๊ฐ’ data=[[2,81],[4,93],[6,91],[8,97]] x = [i[0] for i in data] y = [i[1] for i in data] #y=ax+b๊ตฌํ˜„ def predict(..

[๋”ฅ๋Ÿฌ๋‹] ์„ ํ˜• ํšŒ๊ท€

์„ ํ˜• ํšŒ๊ท€(linear regression) : ๊ฐ€์žฅ ํœผ๋ฅญํ•œ ์˜ˆ์ธก์„  ๊ธ‹๊ธฐ ๋…๋ฆฝ ๋ณ€์ˆ˜(๋…๋ฆฝ์ ์œผ๋กœ ๋ณ€ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ’)๋ฅผ ์‚ฌ์šฉํ•ด ์ข…์† ๋ณ€์ˆ˜(๋…๋ฆฝ ๋ณ€์ˆ˜์— ๋”ฐ๋ผ ๋ณ€ํ•˜๋Š” ๊ฐ’)์˜ ์›€์ง์ž„์„ ์˜ˆ์ธกํ•˜๊ณ  ์„ค๋ช…ํ•˜๋Š” ์ผ. ๋‹จ์ˆœ ์„ ํ˜• ํšŒ๊ท€ (simple linear regression) : ํ•˜๋‚˜์˜ ๋…๋ฆฝ ๋ณ€์ˆ˜ ๋งŒ์œผ๋กœ ์ข…์† ๋ณ€์ˆ˜ ๊ฐ’ ์„ค๋ช…\ ๋‹ค์ค‘ ์„ ํ˜• ํšŒ๊ท€ ( multiple linear regression) : ์—ฌ๋Ÿฌ๊ฐœ ๋…๋ฆฝ ๋ณ€์ˆ˜ ํ•„์š” ex) ๊ณต๋ถ€๋Ÿ‰์— ๋”ฐ๋ฅธ ์„ฑ์  ์˜ˆ์ธก : ๊ณต๋ถ€ํ•œ์‹œ๊ฐ„(x) ์— ๋”ฐ๋ฅธ ์„ฑ์ (y) x={2,4,6,8} y={81,93,91,97} y= ax+b x: ๋…๋ฆฝ๋ณ€์ˆ˜ y: ์ข…์†๋ณ€์ˆ˜ ์ •ํ™•ํ•˜๊ฒŒ ๊ฒŒ์‚ฐํ•˜๋ ค๋ฉด ์ƒ์ˆ˜ a,b๊ฐ’์„ ์•Œ์•„์•ผ ํ•œ๋‹ค. ์ •ํ™•ํ•œ a,b๊ฐ’์„ ๋”ฐ๋ผ ์›€์ง์ด๋Š” ์ง์„ ์— x๊ฐ’์„ ๋Œ€์ž…ํ•˜๋ฉด ์„ฑ์  ์˜ˆ์ธก์ด ๊ฐ€๋Šฅ ์„ ํ˜• ํšŒ๊ท€๋Š” ๊ฒฐ..

๋”ฅ๋Ÿฌ๋‹ ์‹คํ–‰ ์ค€๋น„ (์ž‘์—…ํ™˜๊ฒฝ ๋งŒ๋“ค๊ธฐ)

jupyter notebook ์„ ์ด์šฉํ•œ ์‹ค์Šต ์ค€๋น„ ์•„๋‚˜์ฝ˜๋‹ค๋ฅผ ์„ค์น˜ํ•œ ํ›„ , ์•„๋‚˜์ฝ˜๋‹ค์— ํฌํ•จ๋˜์ง€ ์•Š์€ Tenserflow, keras ํŒจํ‚ค์ง€๋งŒ ์ถ”๊ฐ€๋กœ ์„ค์น˜ํ•œ๋‹ค. 1. ์•„๋‚˜์ฝ˜๋‹ค ์„ค์น˜ํ•˜๊ธฐ www.anaconda.com ์— ์ ‘์†ํ•ด์„œ ์ž์‹ ์˜ OSํ™˜๊ฒฝ์— ๋งž๋Š” ์ธ์Šคํ†จ๋Ÿฌ ๋‹ค์šด๋กœ๋“œ ํ›„ ์„ค์น˜ 2. ์„ค์น˜์™„๋ฃŒ ํ›„ [์‹œ์ž‘] - Anaconda powershell Prompt ์—ด๊ธฐ 3. ์ฐฝ์ด ์—ด๋ฆฌ๋ฉด pip install tensorflow ์ž…๋ ฅ, pip install keras ์ž…๋ ฅํ•˜์—ฌ ์„ค์น˜ 4. ์ œ๋Œ€๋กœ ์„ค์น˜๊ฐ€ ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•: python ์ž…๋ ฅ - import tensorflow as tf ์ž…๋ ฅ - print(tf.__version__)์ž…๋ ฅ์‹œ 2.4.1๊ณผ ๊ฐ™์ด ๋ฒ„์ „์ด ์ถœ๋ ฅ๋˜๋ฉด ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋œ ๊ฒƒ โ˜… Failed to l..

๋ฐ˜์‘ํ˜•