Cost function - SilverQ/dl_study GitHub Wiki
Regression Analysis(Wiki)
- ์ฐ๋ฆฌ๋ ์ฃผ์ ์์ธก, ์ข
๋ฅ ํ๋จ ๋ฑ ์๋ ค์ง์ง ์์ ๊ฐ์ฒด๋ฅผ ์๋ณํ๊ฑฐ๋ ๋ฏธ๋๋ฅผ ์์ธกํด์ผํ๋ ์ผ์ด ๋ง๋ค.
- ์ฐ๋ฆฌ๋ ์ด๋ฐ ๊ฒฝ์ฐ ๊ด์ธก ๊ฐ๋ฅํ๊ฑฐ๋ ๊ณผ๊ฑฐ์ ์๋ ค์ง ์ ๋ณด๋ฅผ ํ ๋๋ก ํ๋จ์ ํ๊ฒ๋๋ค.
- ๋๋ก๋ "ํน์ ์กฐ๊ฑด"์ ์ฐพ์์ผ ํ๊ธฐ๋ ํ๋ฉฐ, ๋๋ก๋ ์ํ์ ์ธ ๊ด๊ณ๊ฐ ์กด์ฌํ ์ ์๋ค.
- ๋ง์ฝ ์ํ์ ์ธ ๊ด๊ณ๋ฅผ ์ฐพ์๋ผ ์ ์๋ค๋ฉด?
- ๊ฒฐ๊ณผ๋ฅผ ์์ง ๋ชปํ๋ ์
๋ ฅ์ ๋ํด์๋ ๊ฒฐ๊ณผ๋ฅผ ์์ธกํ ์ ์์ ๊ฒ์ด๋ค.
์ ํ ํ๊ท
- ์์ ์์ ํ ์
๋ ฅ-๊ฒฐ๊ณผ์ ์ํ์ ๊ด๊ณ๋ฅผ ํ์ํ๊ธฐ ์ํด, ์ฐ๋ฆฌ๋ ๋ชจ์ข
์ ์ ํ ๋ฐฉ์ ์์ ๊ฐ์ ํ๋ค.
- ๊ฐ์ค : hx = ax + b
- ํ์ด์ ์ค๋ช
ํ๋ฉด ๊ฒฐ๊ณผ์น hx๋ ์
๋ ฅ x์ ์์ a์ ๊ธฐ์ธ๊ธฐ๋งํผ ๋น๋กํ๋ค๋ ๊ฒ์ด๋ค. ์
๋ ฅ์ด ์๋ค๋ฉด ๊ฒฐ๊ณผ๋ ์์ b๊ฐ ๋์จ๋ค.
- ์ง๊ธ์ 1์ฐจ ๋ฐฉ์ ์ ์ฆ ์ง์ ์ผ๋ก ๊ฐ์ ํ ๊ฒ์ด๊ณ , ์๋ ค์ง ๋ฐ์ดํฐ์ ๋ถํฌ๋ฅผ ๊ณ ๋ คํ์ฌ 2์ฐจ, 3์ฐจ ๋ฐฉ์ ์๋ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค.
- ์ฐ๋ฆฌ๋ ์ด ์ง์ ์ ๊ธฐ์ธ๊ธฐ์ y์ ํธ์ ์๋ฉด ์์์ ์์๋ผ ์ ์๋ค.
- ์ด์ฒ๋ผ ๊ฐ์ค์ ์ ํ ๋ฐฉ์ ์์ผ๋ก ์ธ์ฐ๊ณ ๋ฐ์ดํฐ๋ฅผ ํํํ๋ ๋ชจ๋ธ์ ํ์ํ๋ ๊ฒ์ ์ ํ ํ๊ท๋ผ ํ๋ค.
์ ํ ํ๊ท์์์ ๋น์ฉํจ์
- ์ด์ ํ์ํ ๊ฒ์ ์์ hx๊ฐ ์ค์ y๊ฐ๊ณผ ์ผ๋ง๋ ์ฐจ์ด๊ฐ ๋๋์ง ์์๋ด๋ ๊ฒ์ด๊ณ ,
- ๊ถ๊ทน์ ์ผ๋ก๋ ๊ทธ ์ฐจ์ด๋ฅผ ์ค์ด๊ธฐ ์ํ, ๊ฐ์ฅ ์ค์ผ ์ ์๋ ๊ธฐ์ธ๊ธฐ์ y์ ํธ์ ์ฐพ๋ ๊ฒ์ด๋ค.
- ๊ทธ๋ ๋ค๋ฉด ์๊ณ ์๋ ๊ฐ๊ณผ ์์ธกํ ๊ฐ์ ์ฐจ์ด๋ ๊ฐ์ค(hypothesis)์ ๊ดํ ํจ์๋ก ๋ํ๋ผ ์ ์๋ค.
- ๊ธฐ์ธ๊ธฐ์ y์ ํธ์ ๋ณํ์ ๋ฐ๋ผ ๊ฐ์ ์ฐจ์ด๊ฐ ์ปค์ง๊ฑฐ๋ ์์์ง๋ ํจ์๋ก ๋ณผ ์ ์์ผ๋ฉฐ, ์ฐ๋ฆฌ๋ ์ด๋ฅผ ๋น์ฉ ํจ์๋ผ ๋ถ๋ฅธ๋ค.
์์
- x์ y๊ฐ ๋์ผํ ์์ ๋ฅผ ์ฌ์ฉํ์ฌ ๊ธฐ์ธ๊ธฐ w์ ์ํ cost ๋ณํ๋ฅผ ๊ด์ฐฐํ๋ค.
- x = [1, 2, 3]
- y = [1, 2, 3]
def cost(x, y, w):
c = 0
for i in range(len(x)):
hx = w * x[i]
c += (hx - y[i]) ** 2
return c / len(x)
x = [1, 2, 3]
y = [1, 2, 3]
for i in range(-30, 51):
w = i / 10
c = cost(x, y, w)
plt.plot(w, c, 'ro')
- cost ํจ์๋ฅผ ์ ์ํ๊ณ ๊ธฐ์ธ๊ธฐ๋ฅผ -30์์ 50๊น์ง ๋ณํ์์ผ๊ฐ๋ฉฐ ๊ด์ฐฐ
- ์ฃผ์ด์ง x์ y์ ๊ด๊ณ๋ฅผ ๊ฐ์ฅ ์ ๋ํ๋ด๋ ๊ฒ์ y=x ์ฆ ๊ธฐ์ธ๊ธฐ=1์ธ ๊ฐ์คํจ์์ด๋ค.
- ๊ทธ ๊ฒฐ๊ณผ w=1์ธ ์ง์ ์ cost๊ฐ ๊ฐ์ฅ ๋ฎ์ ๊ฒ์ ์ ์ ์๋ค.
- ๋ค์์ผ๋ก๋ ๊ฒฝ์ฌํ๊ฐ๋ฒ์ ์ฌ์ฉํ์ฌ cost๋ฅผ ์ต์ํํ๋ w๊ฐ์ ์ฐพ๊ณ ์ ํ๋ค.