ํฐ์คํ ๋ฆฌ ๋ทฐ
Machine Learning์ ์ฆ๊ฒ๋ค! Part 1
๊ตฌ๋์ 2021. 9. 2. 21:19์ถ์ฒ : ๊ธฐ๊ณํ์ต(Machine Learning, ๋จธ์ ๋ฌ๋)์ ์ฆ๊ฒ๋ค! Part 1
๊ธฐ๊ณ ํ์ต(Machine Learning, ๋จธ์ ๋ฌ๋)์ ์ฆ๊ฒ๋ค! Part 1
(์๋ฌธ : Machine Learning is Fun! by Adam Geitgey)
medium.com

Machine Learning์ด๋ ๋ฌด์์ธ๊ฐ?
- Machine Learning์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๋ง์ถค ์ฝ๋(custom code)๋ฅผ ์์ฑํ์ง ์๊ณ ๋ ์ผ๋ จ์ ๋ฐ์ดํฐ์ ๋ํด ๋ฌด์ธ๊ฐ ํฅ๋ฏธ๋ก์ด ๊ฒ์ ์๋ ค์ค ์ ์๋ ์ผ๋ฐ ์๊ณ ๋ฆฌ์ฆ(generic algorithms)์ด ์๋ค๋ ์์ด๋์ด!
- ex) ์๊ณ ๋ฆฌ์ฆ์ ์ข ๋ฅ๊ฐ classification์ผ ๋, ์์ผ๋ก ์ด ์ซ์๋ฅผ ์ธ์ํ๋ ๋ฐ ์ฌ์ฉ๋ ์๊ณ ๋ฆฌ์ฆ๊ณผ ๋์ผํ classification ์๊ณ ๋ฆฌ์ฆ์ ์ฝ๋ ๋ณ๊ฒฝ์์ด ์ฌ์ฉํด์, ์ด๋ฉ์ผ์ ์คํธ๊ณผ ์คํธ์ด ์๋ ๊ฒ์ผ๋ก ๋ถ๋ฅ ๊ฐ๋ฅ!
- ๋์ผํ ์๊ณ ๋ฆฌ์ฆ์ด์ง๋ง ํ์ต ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํ๋ฉด ๋ค๋ฅธ ๋ถ๋ฅ ๋ก์ง์ด ์๋์ผ๋ก ๋ง๋ค์ด์ง๊ฒ ๋จ
- Machine Learning์ ์ด๋ฐ ์ข ๋ฅ์ ์ผ๋ฐ ์๊ณ ๋ฆฌ์ฆ(generic algorithm)์ ํฌํจํ๋ ํฌ๊ด์ ์ธ ์ฉ์ด
๋ ์ข ๋ฅ์ Machine Learning ์๊ณ ๋ฆฌ์ฆ
- supervised learning๊ณผ unsupervised learning์ผ๋ก ๋ถ๋ฅ
Supervised Learning
- ex) ๋ด๊ฐ ๋ถ๋์ฐ ์ค๊ฐ์ธ! ๋น์ฆ๋์ค๊ฐ ์ฑ์ฅํจ์ ๋ฐ๋ผ ๋น์ ์ ๋์์ค ์ง์์ ๊ณ ์ฉํ๊ธฐ๋ก ํ๋๋ฐ...
- ๋๋ ์ฃผํ์ ๋ณด๊ธฐ๋ง ํด๋ ์ผ๋ง์ ๊ฐ์น๊ฐ ์๋์ง ์ ์ ์์ง๋ง ์ง์์ ๊ฒฝํ์ด ์๊ธฐ์ ์ ๋ชจ๋ฆ
- ์ง์์ ๋๊ธฐ ์ํด(๋ด๊ฐ ์ฌ๊ธฐ ์ํด ใ ) ์ฃผํ์ ํฌ๊ธฐ, ์ง์ญ ๋ฑ์ ๊ธฐ์ค์ผ๋ก ์ฃผํ ๊ฐ์น๋ฅผ ์ถ์ ํ ์ ์๋ ์ฑ ๊ฐ๋ฐ
- 3๊ฐ์ ๋์ ์ฃผํ์ ํ ๋๋ง๋ค ์ ๋ณด๋ฅผ ๊ธฐ๋ก, ๋ฐฉ์ ๊ฐ์, ํ๋ฐฉ ํผํธ ํฌ๊ธฐ ๋ฑ ์ธ๋ถ ์ ๋ณด๋ฅผ ๊ธฐ๋กํ๊ณ ์ต์ข ํ๋งค ๊ฐ๊ฒฉ๋ ๊ธฐ๋ก
- ๊ธฐ๋กํ training data๋ฅผ ์ฌ์ฉํด ํด๋น ์ง์ญ์ ๋ค๋ฅธ ์ฃผํ์ด ์ผ๋ง์ ๊ฐ์น๊ฐ ์๋์ง ์ถ์ ํ ์ ์๋ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ
- ์ด๊ฒ์ supervised learning์ด๋ผ๊ณ ํจ
- ๋๋ ๊ฐ๊ฐ์ ์ฃผํ๋ค์ด ์ผ๋ง์ ํ๋ ธ๋์ง ์๊ณ ์์, ๋ค์ ๋งํด ๋ฌธ์ ์ ๋ํ ๋ต์ ์๊ณ ์๊ธฐ ๋๋ฌธ์ ์ฌ๊ธฐ์์ ๋ต์ ๋์ถํด๋ผ ์ ์๋ ๊ฒ์
- ์ฑ์ ์ ์ํ๊ธฐ ์ํด ๊ฐ ์ฃผํ์ ๋ํ training data๋ฅผ machine learning ์๊ณ ๋ฆฌ์ฆ์ ๋ฃ์ด์ผ ํจ
- ์ด ์๊ณ ๋ฆฌ์ฆ์ ํด๋น ์ซ์์ ์๋ฏธ๋ฅผ ์์๋ผ ์ ์๋ ์ํ์ด ๋ฌด์์ธ์ง ํ์ ํ๊ธฐ ์ํด ๋ ธ๋ ฅ
→ ์ํ ๋ฌธ์ ๋ฅผ ํธ๋ ๊ฒ๊ณผ ๋์ผ
- ์ฌ๊ธฐ์์ ์ค๋ฅธ์ชฝ์ ์๋ ๊ฐ๊ฐ์ ๋ต์ ์ป๊ธฐ ์ํด ์ผ์ชฝ์ ์๋ ์ซ์๋ค์๊ฒ ๋ฌด์ธ๊ฐ๋ฅผ ํ๋ฉด ๋๋ค๋ ๊ฒ์ ์๊ณ ์์
- ๋ต์ ๊ณฑํ๊ธฐ, ๋นผ๊ธฐ ใ ใ
- Mahine Learning์์ ๋๋, ์ปดํจํฐ๊ฐ ๊ทธ ๊ด๊ณ๋ฅผ ํด๊ฒฐํ๋๋ก ๋ด๋ฒ๋ ค ๋๋ฉด ๋จ
- ๋ํ ํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ํ์ํ ์ํ์ด ๋ฌด์์ธ์ง ์๊ฒ ๋๋ฉด ๊ฐ์ ์ ํ์ ๋ค๋ฅธ ๋ฌธ์ ์ ๋ํด์๋ ๋ต์ ์ ์ ์์
Unsupervised Learning
- ex) ๋ถ๋์ฐ ์ค๊ฐ์ ์์ ์ฌ๋ก๋ก ๋์๊ฐ์, ๊ฐ ์ฃผํ์ ํ๋งค๊ฐ๊ฒฉ์ ๋ชจ๋ฅด๋ ๊ฒฝ์ฐ์๋ ์ด๋ป๊ฒ ๋ ๊น?
- ๋ด๊ฐ ์๊ณ ์๋ ์ ๋ณด๊ฐ ๊ฐ ์ง์ ํฌ๊ธฐ, ์์น ๊ฐ์ ๊ฒ ๋ฟ์ด๋ผ๋ machine learning์ ํตํด ์ผ์ ํ ์ ์์
- ์ด ๋ฐ์ดํฐ๋ก ๋ฌด์์ ํ ์ ์์๊น? ๋ฐ์ดํฐ์์ ์๋ก ๋ค๋ฅธ ์์ฅ ์ธ๊ทธ๋จผํธ(market, segments)๋ฅผ ์๋์ผ๋ก ์๋ณํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋ง๋ค ์๋ ์์
- ์ด์ฉ๋ฉด ๋ํ ๊ทผ์ฒ์ ์ฃผํ ๊ตฌ๋งค์๋ ์นจ์ค์ด ๋ง์ ์์ ์ง์ ์ ํธํ์ง๋ง ๊ต์ธ์ ์ฃผํ ๊ตฌ๋งค์๋ ๋ฉด์ ์ด ๋์ ์นจ์ค์ด 3๊ฐ์ธ ์ง์ ์ ํธํ๋ค๋ ์ฌ์ค์ ์์๋ผ ์ ์์
→ ์์ฒ๋ผ ์ฌ๋ฌ ์ข ๋ฅ์ ๊ณ ๊ฐ์ ๋ํด ์๊ฒ๋๋ฉด ๋ง์ผํ ํ๋์ ์ง์ ์ ์ผ๋ก ๋์์ ๋ฐ์ ์ ์์ ๊ฒ
- ๋ํ, ๋ค๋ฅธ ์ฃผํ๋ค๊ณผ ํน์ดํ ์ฃผํ์ ์๋ณํ๋ ๊ฒ, ์ด ํน์ดํ ์ฃผํ๋ค์ด ๊ฑฐ๋ํ ์ ํ์ด๋ผ๋ฉด ๋ ๋ง์ ์์๋ฃ๋ฅผ ๋ฐ์ ์ ์๊ธฐ ๋๋ฌธ์ ์ง์๋ค์ ์ด๊ณณ์ ์ง์ค์ํฌ์๋ ์์
- ๋๋ถ๋ถ supervised learning์ ์ง์คํ์ง๋ง, unsupervised learning์ด ๋ ์ ์ฉํ๊ฑฐ๋ ํฅ๋ฏธ๋กญ์ง ์๋ค๋ ๊ฒ์ ์๋
- unsupervised learning์ ์๊ณ ๋ฆฌ์ฆ์ด ํฅ์๋จ์ ๋ฐ๋ผ ๋์ฑ๋ ์ค์ํด์ง๊ณ ์์, ์๋ํ๋ฉด unsupervised learning์ด ์ ํํ ๋ต์ ๊ฐ์ง ๋ผ๋ฒจ์ด ๋ถ์ฌ์ง ๋ฐ์ดํฐ๊ฐ ์๋ ๊ฒฝ์ฐ์ ์ฌ์ฉ๋ ์ ์๊ธฐ ๋๋ฌธ
๊ทธ๋ฐ๋ฐ, ์ ๋ง๋ก ์ฃผํ ๊ฐ๊ฒฉ์ด ์ผ๋ง์ธ์ง "ํ์ต"์ ํตํด ์ถ์ ํ ์ ์์๊น?
- ์ธ๊ฐ์ ๋๋๋ ๋๋ถ๋ถ์ ์ํฉ์ ๋ํด ์ดํดํ ์ ์์ผ๋ฉฐ, ๋ช ์์ ์ผ๋ก ๊ฐ๋ฅด์ณ ์ฃผ์ง ์์๋ ์ํฉ์ ์ด๋ป๊ฒ ํด๊ฒฐํ๋ฉด ๋๋์ง ๋ฐฐ์ธ ์ ์์
- ์ผ์ ์ ์ํ๋ค๋ณด๋ฉด "๋๋(์ด)"์ ๋ณธ๋ฅ์ ์ผ๋ก ๊ฐ๊ฒ ๋ ๊ฒ์ธ๋ฐ, Strong AI ์ฐ๊ตฌ์ ๋ชฉํ๊ฐ ๋ฐ๋ก ์ด๋ฌํ ์ธ๊ฐ์ ๋ฅ๋ ฅ์ ์ปดํจํฐ๋ก ๋ณต์ ํ๋ ๊ฒ
- ํ์ฌ์ machine learning์ ๊ทธ๋ฐ ์์ค์ด ์๋๋ฉฐ ๋งค์ฐ ๊ตฌ์ฒด์ ์ด๊ณ ์ ํ์ ์ธ ๋ฌธ์ ์ ์ด์ ์ ๋ง์ถ ๊ฒฝ์ฐ์๋ง ๋์
- ์ด๋ฌํ ๊ฒฝ์ฐ "ํ์ต"์ ๋ํ ๋ ๋์ ์ ์๋ "์ฝ๊ฐ์ ์ํ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํน์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๋ฐฉ์ ์์ ์์๋ด๋ ๊ฒ"์ด ๋ ์ ์์
→ Machine Learning
ํ๋ก๊ทธ๋จ ์์ฑ
def estimate_house_sales_price(num_of_bedrooms, sqft, neighborhood):
price = 0
# ๋ด๋น ์ง์ญ๋ด ํ๊ท ์ฃผํ ๊ฐ๊ฒฉ์ ํ๋ฐฉ ํผํธ ๋น 200 ๋ฌ๋ฌ์ด๋ค
price_per_sqft = 200
if neighborhood == "hipsterton":
# ํ์ง๋ง ๋ค๋ฅธ ์ง์ญ์ ์กฐ๊ธ ๋ ๋น์ธ๋ค
price_per_sqft = 400
elif neighborhood == "skid row":
# ๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ๋ช๋ช ์ง์ญ์ ์ธ๋ค
price_per_sqft = 100
# ์ฃผํ์ ํฌ๊ธฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฃผํ ๊ฐ๊ฒฉ์ ์ถ์ ํ๋ ๊ฒ์ผ๋ก ์์ํ๋ค
price = price_per_sqft * sqft
# ์ด์ ์นจ์ค์ ๊ฐ์๋ก ์ถ์ ์น๋ฅผ ์กฐ์ ํ๋ค
if num_of_bedrooms == 0:
# ์๋ฃธํ ์ํํธ๋ ๊ฐ๊ฒฉ์ด ์ธ๋ค
price = priceโ—โ20000
else:
# ์ผ๋ฐ์ ์ผ๋ก ๋ง์ ์นจ์ค์ด ์๋ ์ฃผํ์ด ๋ ๋น์ธ๋ค
price = price + (num_of_bedrooms * 1000)
return price
- ์ฃผํ์ ๊ฐ์น๋ฅผ ์ถ์ ํ๋ ํ๋ก๊ทธ๋จ ์์ฑ
- ์ด๋ฐ ํ๋ก๊ทธ๋จ์ ๊ฒฐ์ฝ ์๋ฒฝํ์ง ์์ผ๋ฉฐ ๊ฐ๊ฒฉ์ด ๋ณํจ์ ๋ฐ๋ผ ๋ก์ง์ ์ ์งํ๊ธฐ ์ด๋ ค์ธ ๊ฒ
def estimate_house_sales_price(num_of_bedrooms, sqft, neighborhood):
price = <์ปดํจํฐ, ๋ ๋์ ์ํ์ ์ข ๋ง๋ค์ด์ค>
return price
- ์ปดํจํฐ๊ฐ ์ด ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ด ๋ ์ข์
- ๊ฐ๊ฒฉ → ์คํ / ์ฌ๋ฃ๋ค → ์นจ์ค์ ๊ฐ์, ํ๋ฐฉ ํผํธ ๋ฉด์ ๋ฐ ์ง์ญ
- ๊ฐ ์ฌ๋ฃ๊ฐ ์ต์ข ๊ฐ๊ฒฉ์ ์ผ๋ง๋ ๋ง์ ์ํฅ์ ๋ฏธ์น๋์ง ํ์ ํ ์ ์๋ค๋ฉด ์ด ์ต์ข ๊ฐ๊ฒฉ์ ๋ง๋ค์ด ์ค ํผํฉ ์ฌ๋ฃ์ ์ ํํ ๋น์จ์ด ์์ ๊ฒ
def estimate_house_sales_price(num_of_bedrooms, sqft, neighborhood):
price = 0
# ์ด๊ฑด ํ ๊ผฌ์ง ๋ฃ๊ณ
price += num_of_bedrooms * .841231951398213
# ๊ทธ๋ฆฌ๊ณ ์ ๊ฑด ํ ์คํ ์ ๋ ๋ฃ๊ณ
price += sqft * 1231.1231231
# ์ด๊ฑด ์๋ง๋ ํ ์ค ๋ฃ๊ณ
price += neighborhood * 2.3242341421
# ๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง์ผ๋ก, ์ฝ๊ฐ์ ์๊ธ์ ์ถ๊ฐ
price += 201.23432095
return price
- ์ด๋ ๊ฒ ํ๋ฉด ์๋ ํจ์๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ค์ผ ์ ์์
- ์ซ์๋ฅผ ์ฃผ๋ชฉ → ์ด ์ซ์๋ค์ ๋ฐ๋ก ๊ฐ์ค์น
- ๋ชจ๋ ์ฃผํ์ ์ ์ฉํ ์ ์๋ ์๋ฒฝํ ๊ฐ์ค์น๋ฅผ ์ฐพ์๋ผ ์๋ง ์๋ค๋ฉด ์ฐ๋ฆฌ์ ํจ์๋ ์ง๊ฐ์ ์์ธกํ ์ ์์ ๊ฒ
์ต์์ ๊ฐ์ค์น๋ฅผ ์์๋ผ ๋์ ๋ฐฉ๋ฒ
Step 1:
๋จผ์ ๊ฐ์ค์น๋ฅผ 1.0์ผ๋ก ํ๊ณ ์์
def estimate_house_sales_price(num_of_bedrooms, sqft, neighborhood):
price = 0
# ์ด๊ฑด ํ ๊ผฌ์ง ๋ฃ๊ณ
price += num_of_bedrooms * 1.0
# ๊ทธ๋ฆฌ๊ณ ์ ๊ฑด ํ ์คํ ์ ๋ ๋ฃ๊ณ
price += sqft * 1.0
# ์ด๊ฑด ์๋ง๋ ํ ์ค ๋ฃ๊ณ
price += neighborhood * 1.0
# ๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง์ผ๋ก, ์ฝ๊ฐ์ ์๊ธ์ ์ถ๊ฐ
price += 1.0
return price
Step 2:
์๊ณ ์๋ ๋ชจ๋ ์ฃผํ ๋ฐ์ดํฐ๋ฅผ ํจ์๋ฅผ ํตํด ์คํํด๋ณด๊ณ , ๊ฐ ์ฃผํ์ ์ ํํ ๊ฐ๊ฒฉ๊ณผ ์ด ํจ์๊ฐ ์ผ๋ง๋ ์ฐจ์ด๊ฐ ๋๋์ง ๋น๊ต
- ์๋ฅผ ๋ค์ด ์ฒซ๋ฒ์งธ ์ฃผํ์ ์ค์ ๋ก๋ $250,000์ ํ๋งค๋์๊ณ ํจ์์์ $178,000์ ํ๋งค๋์๋ค๊ณ ์ถ์ ๋์๋๋ฐ, ์ด ์ฃผํ ํ๋๋ง ๋ณด๋๋ผ๋ $72,000๋งํผ ์ฐจ์ด
- ์ด์ dataset์ ์๋ ๊ฐ ์ฃผํ๋ง๋ค ์ฐจ์ด๋ ๊ฐ๊ฒฉ์ ์ ๊ณฑ๊ฐ์ ์ถ๊ฐ, dataset์๋ 500๊ฐ์ ์ฃผํ ํ๋งค ์ ๋ณด๊ฐ ์์๊ณ ๊ฐ ์ฃผํ์ ๋ํด ๋น์ ์ ํจ์๊ฐ ์ถ์ ํ ๊ฐ๊ณผ ์ค์ ๊ฐ๊ฒฉ์ ์ฐจ์ด๋ฅผ ์ ๊ณฑํ ๊ฐ์ ์ดํฉ์ $86,123,373๋ผ๊ณ ๊ฐ์
→ ํจ์๊ฐ ์ผ๋ง๋ ์๋ชป๋์๋์ง ์ ์ ์์
- ์ด ํฉ๊ณ๋ฅผ 500์ผ๋ก ๋๋ ์ ๊ฐ ์ฃผํ๋ณ๋ก ์ผ๋ง๋ ์ฐจ์ด๊ฐ ๋๋์ง ํ๊ท ๊ฐ์ ๊ตฌํจ
→ ํ๊ท ์ค๋ฅ ๊ฐ์ ์ด ํจ์์ ๋น์ฉ(cost)๋ผ๊ณ ํจ
- ๊ฐ์ค์น๋ฅผ ์ ์กฐ์ ํด ์ด ๋น์ฉ์ 0์ผ๋ก ๋ง๋ค ์ ์๋ค๋ฉด, ํจ์๋ ์๋ฒฝํด์ง๊ฒ ๋จ
- ๋ชจ๋ ๊ฒฝ์ฐ์ ๋ํด์ ํจ์๊ฐ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฃผํ ๊ฐ๊ฒฉ์ ์๋ฒฝํ๊ฒ ์ถ์ ํ ์ ์๋ค๋ ๊ฒ์ ์๋ฏธ
- ๋ค๋ฅธ ๊ฐ์ค์น๋ฅผ ์๋ํด ๊ฐ๋ฅํ ์ด ๋น์ฉ์ ๋ฎ์ถ๋ ค๋ ๊ฒ์ด ์ฐ๋ฆฌ์ ๋ชฉํ
Step 3:
๊ฐ๋ฅํ ๋ชจ๋ ๊ฐ์ค์น๋ฅผ ์กฐํฉ
- 2๋จ๊ณ๋ฅผ ๊ณ์ ๋ฐ๋ณต, ์ด๋ค ์กฐํฉ์ ๊ฐ์ค์น๋ ๋น์ฉ์ 0์ ๊ฐ๊น๊ฒ ๋ง๋ค์ด ์ฃผ๋ ๊ฒ์ ์ฌ์ฉํ๋ฉด ๋จ
- ์์์ ์ฐ๋ฆฌ๋ ์ฝ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ ์ด๋ฅผ ์ธ๊ฐ์ง์ ์ผ๋ฐ์ ์ด๊ณ ์์ฃผ ๊ฐ๋จํ ๋จ๊ณ์ ์ ๊ณตํ ๋ค์, ํด๋น ์ง์ญ์ ๋ชจ๋ ์ง์ ๊ฐ๊ฒฉ์ ์ถ์ ํ ์ ์๋ ํจ์๋ฅผ ๋ง๋ค์ด ๋
ํ์ง๋ง
1. 40๋ ๋๊ฒ ๋ง์ ๋ถ์ผ(์ธ์ดํ/๋ฒ์ญ)์์ ์ฐ๊ตฌํ ๊ฒฐ๊ณผ, "์ซ์๋ก ๋ง๋ ์คํ๋ฅผ ์ ๋"(์์์ ๋ง๋ ) ์ด๋ฌํ ์ผ๋ฐ ํ์ต ์๊ณ ๋ฆฌ์ฆ์ด ๋ช ์์ ์ธ ๊ท์น์ผ๋ก ์ ๊ทผํ๋ ์ค์ ์ฌ๋๋ค์ ์ ๊ทผ๋ฐฉ๋ฒ์ ์๋, machine learning์ ์ด ๋ฉ์ฒญํ ์ ๊ทผ๋ฐฉ๋ฒ์ด ์ธ๊ฐ ์ ๋ฌธ๊ฐ๋ค์ ์ด๊ธด ๊ฒ
2. ์์์ ๋ง๋ ์ต์ข ํจ์๋ ์ค์ ๋ก๋ ์์ ํ ๋ฐ๋ณด!์, "ํ๋ฐฉ ํผํธ"๋๋ "์นจ์ค"์ด ๋ฌด์์ธ์ง ์์ง๋ ๋ชปํจ, ์ด ํจ์๊ฐ ์๋ ๊ฒ์ด๋ผ๊ณ ๋ ์ ๋ต์ ์ป๊ธฐ์ํด ์ด๋ฌํ ์ซ์๋ค์ ๊ฐ์ ์ ์ด์ค์ผ ํ๋ค๋ ๊ฒ
3. ์ฐ๋ฆฌ๋ ์ด์งธ์ ํน์ ๊ฐ์ค์น์ ์กฐํฉ์ด ์ ๋์ํ๋์ง ์์ง ๋ชปํ๋ ๊ฒ์ด ๋น์ฐํจ, ์ฆ ์ดํดํ์ง ๋ชปํ๋ ํจ์๋ฅผ ์์ฑํ์ง๋ง ์ ๋์ํ๋ ๊ฒ์ ์ฆ๋ช ๊ฐ๋ฅ
4. "sqft"์ "num_of_bedrooms"์ ๊ฐ์ ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ๋ ๋์ ์์ธก ํจ์์ ์ซ์ ๋ฐฐ์ด๋ง์ ์ฌ์ฉํ๋ค๊ณ ์๊ฐ, ๊ทธ๋ฆฌ๊ณ ๊ฐ ์ซ์๊ฐ ์๋์ฐจ ์์ ์ฅ์ฐฉํ ์นด๋ฉ๋ผ๋ก ์ดฌ์ํ ์ด๋ฏธ์ง์์ 1ํฝ์ ์ ๋ฐ๊ธฐ๋ฅผ ๋ํ๋ธ๋ค๊ณ ๊ฐ์ , ์ด์ "price"๋ผ๋ ์์ธก์ ์ถ๋ ฅํ๋ ๋์ ์ด ํจ์๋ "degrees_to_turn_steering_wheel"์ด๋ผ๋ ์์ธก์ ์ถ๋ ฅํ๋ค๊ณ ์์
→ ์ค์ค๋ก ์ฐจ๋ฅผ ์กฐ์ข ํ ์ ์๋ ํจ์๋ฅผ ๋ง๋ฌ!
Step 3์์ "๋ชจ๋ ์ซ์๋ฅผ ์๋ํด๋ณด๋ ๊ฒ"์ ๋ฌด์จ ๋ป์ธ๊ฐ์?
- ๋ฌผ๋ก ์ค์ ๋ก ๋ชจ๋ ๊ฐ์ค์น์ ์กฐํฉ์ ์๋ํด์ ๊ฐ์ฅ ์ ์๋ํ๋ ์กฐํฉ์ ์ฐพ์ ์ ์์, ์๋ํ ์ซ์ ์กฐํฉ์ ๋ฌดํํ๊ธฐ ๋๋ฌธ์ ๋น์ฐํ๊ฒ๋ ์์ํ ์๊ฐ.. ์ด ๊ฑธ๋ฆด ๊ฒ
- ์ด๊ฒ์ ํผํ๊ธฐ ์ํด ์ํ์๋ค์ ๋ง์ ๊ฒ์ ์๋ํ์ง ์๊ณ ๋ ์ด๋ฌํ ๊ฐ์ค์น์ ๋ํ ์ข์ ๊ฐ์ ๋นจ๋ฆฌ ์ฐพ์ ์ ์๋ ์๋ฆฌํ ๋ฐฉ๋ฒ์ ์์๋
๋จผ์ , Step 2๋ฅผ ๋ํ๋ด๋ ๊ฐ๋จํ ๋ฐฉ์ ์ ์์ฑ
- ์ด์ ์์ ํ ๋๊ฐ์ ๋ฐฉ์ ์์ ์ฌ์์ฑํด ๋ณผํ ๋ฐ, ๊ธฐ๊ณํ์ต์ ์ํ ์ฉ์ด๋ฅผ ์ฌ์ฉ
- ์ด ๋ฐฉ์ ์์ ํ์ฌ ์ค์ ํ ๊ฐ์ค์น์ ๋ํด ์ฐ๋ฆฌ์ ๊ฐ๊ฒฉ ์ถ์ ํจ์๊ฐ ์ผ๋ง๋ ์ฐจ์ด๋๋์ง๋ฅผ ๋ํ๋
- number_of_bedrooms์ sqft์ ๋ํ ๋ชจ๋ ๊ฐ๋ฅํ ๊ฐ์ค์น ๊ฐ์ ๋ํด ์ด ๋น์ฉ ๋ฐฉ์ ์์ ๊ทธ๋ํ๋ก ๋ํ๋ด๋ฉด ๋ค์๊ณผ ๊ฐ์
- ์ด ๊ทธ๋ํ์์ ํ๋์์ ๊ฐ์ฅ ๋ฎ์ ์ง์ ์ด ๋น์ฉ์ด ๊ฐ์ฅ ๋ฎ์ ๊ณณ
- ๋ฐ๋ผ์ ์์ ํจ์๋ ์กฐ๊ธ ์๋ชป๋จ, ๊ฐ์ฅ ๋์ ์ง์ ๋ค์ด ๊ฐ์ฅ ์๋ชป๋ ๊ฒ
- ์ฆ ์ฐ๋ฆฌ๊ฐ ์ด ๊ทธ๋ํ์ ๊ฐ์ฅ ๋ฎ์ ์ง์ ์ผ๋ก ์ด๋ํ ์ ์๋ ๊ฐ์ค์น๋ฅผ ์ฐพ๋๋ค๋ฉด, ๋ต์ ์ฐพ์ ์ ์์!
- ์ด์ ๊ทธ๋ํ์์ ๊ฐ์ฅ ๋ฎ์ ์ง์ ์ ํฅํด "์ธ๋์ ๊ฑธ์ด ๋ด๋ ค๊ฐ ์ ์๋๋ก" ๊ฐ์ค์น ์กฐ์
- ๋ง์ฝ ๊ฐ์ฅ ๋ฎ์ ์ง์ ์ผ๋ก ์ด๋ํ๋๋ก ๊ฐ์ค์น๋ฅผ ์กฐ๊ธ์ฉ ์กฐ์ ํด ๋๊ฐ๋ค๋ฉด, ๊ฒฐ๊ณผ์ ์ผ๋ก ๋๋ฌด ๋ง์ ๋ค๋ฅธ ๊ฐ์ค์น๋ฅผ ์๋ํ์ง ์๊ณ ๋ ๊ทธ๊ณณ์ ๋๋ฌํ๊ฒ ๋ ๊ฒ
- ํจ์๋ฅผ ๋ฏธ๋ถํ๋ฉด ํจ์์ ํน์ ์ง์ ์ ๋ํ ์ ์ ์ ๊ธฐ์ธ๊ธฐ๋ฅผ ์ ์ ์๋ค๋ ๊ฒ์ด ์๊ฐ๋ ๊ฒ
- ๋ค์ ๋งํด์, ๋ฏธ๋ถ์ ํตํด ๊ทธ๋ํ์ ํน์ ์ง์ ์ ๋ํด ๋ด๋ฆฌ๋ง๊ธธ์ด ์ด๋ ๋ฐฉํฅ์ธ์ง ์ ์ ์์, ์ด ์ง์์ ์ด์ฉํด ๋ด๋ฆฌ๋ง๊ธธ๋ก ๊ฑธ์ด ๋ด๋ ค๊ฐ ์ ์์
- ๋ฐ๋ผ์ ๊ฐ ๊ฐ์ค์น์ ๋ํ ๋น์ฉ ํจ์์ ํธ๋ฏธ๋ถ์ ๊ณ์ฐํ๊ณ , ๊ฐ ๊ฐ์ค์น์์ ํด๋น ๊ฐ์ ๋บ ์ ์์, ์ด๋ฅผ ๋ฐ๋ณตํ๋ฉด ๊ถ๊ทน์ ์ผ๋ก ์ธ๋ ๋งจ ์๋์ ๋๋ฌํ์ฌ ๊ฐ์ฅ ์ข์ ๊ฐ์ค์น๋ฅผ ์ป๊ฒ ๋จ
- ์ด ๋ฐฉ๋ฒ์ ํจ์์ ์ ํฉํ ๊ฐ์ค์น๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ ์ค์ ํ๋์ธ ๋ฐฐ์น ๊ธฐ์ธ๊ธฐ ํ๊ฐ(batch gradient descent)์ ๋ํ ๊ฐ๊ด์ ์ค๋ช
์ ๋นํ ๊ฑด๋ ๋ด ๋ด์ฉ์ ๋ ์ด๋ค ๊ฒ๋ค์ด ์๋์?
- ์์ ์ค๋ช ํ 3๋จ๊ณ์ ์๊ณ ๋ฆฌ์ฆ์ ๋ค๋ณ์ ์ ํ ํ๊ท(multivariate linear regression)๋ผ๊ณ ๋ถ๋ฆ
- ์ด ๋ฐฉ์ ์์ ์ฌ์ฉํด ์ด์ ์ ๋ณด์ง ๋ชปํ๋ ์ฃผํ์ ํ๋งค ๊ฐ๊ฒฉ์ ์ถ์ ํ ์ ์๋ ๊ฒ
→ ์ด๋ ์ ๋ง ๊ฐ๋ ฅํ ์์ด๋์ด์ด๋ฉฐ "์ง์ง" ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์
- ๊ทธ๋ฌ๋ ์ง๊ธ๊น์ง ์ค๋ช ํ ์ ๊ทผ ๋ฐฉ์์ด ๋จ์ํ ๊ฒฝ์ฐ์๋ ํจ๊ณผ๊ฐ ์์ง๋ง, ๋ชจ๋ ๊ฒฝ์ฐ์ ๋์ํ์ง ์์
- ์ง๊ฐ์ด ํญ์ ์ฐ์์ ์ธ ์ง์ ์ ๋ฐ๋ผ๊ฐ๋งํผ ๋จ์ํ์ง ์๊ธฐ ๋๋ฌธ
- ์๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด์๋ ๋น์ ํ ๋ฐ์ดํฐ(ex. ์ ๊ฒฝ๋ง, SVMs, kernels)๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ ๋ง์ machine learning ์๊ณ ๋ฆฌ์ฆ์ด ์์
- linear regression์ ๋ณด๋ค ์๋ฆฌํ๊ฒ ์ฌ์ฉํด์ ๋์ฑ ๋ณต์กํ ์ ์ ๋ง์ถ๋ ๋ฐฉ๋ฒ๋ ์์
- ์ด๋ฌํ ๋ชจ๋ ๋ฐฉ๋ฒ์๋ ์ต์์ ๊ฐ์ค์น๋ฅผ ์ฐพ์์ผํ๋ค๋ ๋์ผํ ๊ธฐ๋ณธ ์์ด๋์ด๋ ์ฌ์ ํ ์ ์ฉ
- ์ ๋ฆฌํ์๋ฉด, ๊ธฐ๋ณธ ๊ฐ๋ ์ ๋งค์ฐ ๋จ์ํ์ง๋ง machine learning์ ์ ์ฉํ๊ณ ์ ์ฉํ ๊ฒฐ๊ณผ๋ฅผ ์ป์ผ๋ ค๋ฉด ์ฝ๊ฐ์ ๊ธฐ์ ๊ณผ ๊ฒฝํ ํ์, ํ์ง๋ง ๋ชจ๋ ๊ฐ๋ฐ์๊ฐ ๋ฐฐ์ธ ์ ์๋ ๊ธฐ์ !
machine learning์ ๋ง์ ์ธ๊ฐ?
- ์ปดํจํฐ ํ์ต ๊ธฐ์ ์ ์ด๋ ค์ ๋ณด์ด๋ ๋ฌธ์ ์ ์ผ๋ง๋ ์ฝ๊ฒ ์ ์ฉํ ์ ์๋์ง ์๊ฒ ๋๋ฉด, ์ถฉ๋ถํ ๋ฐ์ดํฐ๋ง ์๋ค๋ฉด machine learning์ ์ ์ฉํด์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค๋ ๋๋์ ๊ฐ์ง๊ฒ ๋ ๊ฒ
- ๋จ์ง ๋ฐ์ดํฐ๋ง ์ ๊ณตํ๊ณ ์ปดํจํฐ๊ฐ ๋ง์ ์ฒ๋ผ ๋ฐ์ดํฐ์ ๋ง๋ ๋ฐฉ์ ์์ ๊ณ์ฐํด ์ฃผ๋ ๊ฒ์ ๊ฐ์๋ง ํ๋ฉด ๋จ
- ํ์ง๋ง machine learning์ ๋ณด์ ํ ๋ฐ์ดํฐ๋ก ํด๊ฒฐ ๊ฐ๋ฅํ ๋ฌธ์ ์ธ ๊ฒฝ์ฐ์๋ง ๋์ํ๋ค๋ ์ ์ ๊ธฐ์ตํ๋ ๊ฒ์ด ์ค์
- ex) ๊ฐ ์ฃผํ์ ํ๋ถ ์ข ๋ฅ์ ๋ฐ๋ผ ์ฃผํ ๊ฐ๊ฒฉ์ ์์ธกํ๋ ๋ชจ๋ธ? ์ ๋ ๋์ X, ์๋ฌด๋ฐ ๊ด๊ณ๊ฐ ์๊ธฐ ๋๋ฌธ
→ ์ปดํจํฐ๊ฐ ์๋ฌด๋ฆฌ ๋ ธ๋ ฅํด๋ ๋ ์ฌ์ด์ ๊ด๊ณ๋ฅผ ๊ฒฐ์ฝ ์ถ๋ก ํ ์ ์์
- ๋ฐ๋ผ์ ์ธ๊ฐ ์ ๋ฌธ๊ฐ๊ฐ ์์์ ์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ ์ ์๋ค๋ฉด, ์ปดํจํฐ๋ ์๋ง ๋์ํ์ง ์์ ๊ฒ
- ๋ฐ๊ฟ๋งํด, ์ธ๊ฐ์ด ํด๊ฒฐํ ์ ์๋ ๋ฌธ์ ์ค์์ ์ปดํจํฐ๊ฐ ํจ์ฌ ๋นจ๋ฆฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ ๊ฒ์ ์ง์ค!
'๐ก THINKING > ๐ฆพ Machine Learning' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Machine Learning์ ์ฆ๊ฒ๋ค! Part 3 (0) | 2021.09.09 |
---|---|
Machine Learning์ ์ฆ๊ฒ๋ค! Part 2 (0) | 2021.09.07 |
- Programming
- Baekjoon
- ๋ฒํผ
- Annotation
- ํ์ผ ์ ์ถ๋ ฅ
- ๋ฆฌ๋ ์ค
- C++
- Linux
- ๊ธฐ๊ณํ์ต
- react
- ๋ค์คํ๋ก์ธ์ค
- Apache
- ๋ฐฑ์ค
- ์ค์น
- ๋จธ์ ๋ฌ๋
- GIT
- react-scripts
- error
- ํ๋ก์ธ์ค
- 9086๋ฒ
- SpringBoot
- ์๊ณ ๋ฆฌ์ฆ
- ํ๋ก๊ทธ๋๋ฐ
- C
- PHP
- SWiFT
- MySQL
- machine learning
- bitnami
- ์ค๋ฅ
- Total
- Today
- Yesterday