๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

AI/Coursera

[Coursera] 2. Logistic Regression

728x90
๋ฐ˜์‘ํ˜•
๐Ÿฅ‘ Coursera์˜ "Neural Networks and Deep Learning" ๊ฐ•์ขŒ์˜ ๋‚ด์šฉ์„ ๋ฐฐ์šฐ๋ฉด์„œ ๊ฐœ์ธ์ ์œผ๋กœ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

 

Logistic Regression ์ด๋ž€? 

์–ด๋–ค ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฒ”์ฃผ์— ์†ํ•  ํ™•๋ฅ ์„ 0~1 ์‚ฌ์ด์˜ ๊ฐ’์œผ๋กœ ์˜ˆ์ธกํ•˜๊ณ  ๊ทธ ํ™•๋ฅ ์— ๋”ฐ๋ผ ๊ฐ€๋Šฅ์„ฑ ๋†’์€ ๋ฒ”์ฃผ์— ์†ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ถ„๋ฅ˜ํ•˜๋Š” ์ง€๋„ํ•™์Šต ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

 

 

Logistic Regression ๊ณ„์‚ฐ

Logistic Regression์€ ๊ฐ ์†์„ฑ์˜ ๊ฐ’์—๋‹ค๊ฐ€ ๊ณ„์ˆ˜(coefficient)์— ๊ฐ ๊ณฑํ•˜๊ณ  ์ ˆํŽธ(intercept)์„ ๋”ํ•ด์„œ ์˜ˆ์ธก ๊ฐ’์„ ๊ตฌํ•˜๊ณ  ์—ฌ๊ธฐ์— Log-odds๋ผ๋Š” ๊ฒƒ์„ ๊ตฌํ•ด์•ผํ•œ๋‹ค. 

Log-odds๋Š” ์‚ฌ๊ฑด์ด ๋ฐœ์ƒํ•  ํ™•๋ฅ ์„ ๋ฐœ์ƒํ•˜์ง€ ํ•˜์ง€ ์•Š์„ ํ™•๋ฅ ๋กœ ๋‚˜๋ˆˆ ๊ฐ’์ธ odds์— log๋ฅผ ์ทจํ•œ ๊ฐ’์ด๋‹ค.

# Log-Odds = log(์‚ฌ๊ฑด์ด ๋ฐœ์ƒํ•  ํ™•๋ฅ  / ์‚ฌ๊ฑด์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์„ ํ™•๋ฅ )

import numpy as np
log_odds = np.dot(features, coefficients) + intercept

 

Log-Odds ๊ณ„์‚ฐ

 

 

์•ž์—์„œ ๊ตฌํ•œ Log-Odds๋ฅผ Sigmoid๋ผ๋Š” ํ•จ์ˆ˜์— ๋„ฃ์–ด์„œ ํ†ตํ•ด์„œ ๊ฐ’์„ ๋ถ„๋ฅ˜ํ•œ๋‹ค.

Sigmoid Function

# ํŒŒ์ด์ฌ์—์„œ ๊ตฌํ˜„ํ•œ Sigmoid ํ•จ์ˆ˜
sigmoid(Z) = 1 / (1 + exp(-Z))

 

 

Log Loss

๋ชจ๋ธ์˜ โ€œ์ ํ•ฉ์„ฑโ€ ํ‰๊ฐ€๋ฅผ ์œ„ํ•ด ๊ฐ ๋ฐ์ดํ„ฐ์˜ ์ƒ˜ํ”Œ์˜ ์†์‹ค(๋ชจ๋ธ ์˜ˆ์ธก์ด ์–ผ๋งˆ๋‚˜ ์ž˜๋ชป๋˜์—ˆ๋Š”์ง€)์„ ๊ณ„์‚ฐํ•œ ๋‹ค์Œ ๊ทธ๊ฒƒ๋“ค์˜ ํ‰๊ท ํ™” ํ•ด์•ผ ํ•œ๋‹ค.

 

โญ๏ธ Logistic Regression์˜ ๋ชฉํ‘œ๋Š” Log Loss๊ฐ€ ์ตœ์†Œ์ธ ๊ณ„์ˆ˜์™€ ์ ˆํŽธ์„ ์ฐพ๋Š” ๊ฒƒ์ด๋‹ค. โญ๏ธ

 

๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•(Gradient Descent)์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ๋ฐ์ดํ„ฐ์—์„œ ๋กœ๊ทธ ์†์‹ค(Log Loss)์„ ์ตœ์†Œํ™”ํ•˜๋Š” ๊ณ„์ˆ˜๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.

 

Logistic Regression ๊ตฌํ˜„

 

Logistic Regression.ipynb

Colaboratory notebook

colab.research.google.com

 

728x90
๋ฐ˜์‘ํ˜•

'AI > Coursera' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€