์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- ๋ฐ์ดํฐ
- native
- ์ํ์ฝ๋ฉ
- ๋ถ์
- linearalgebra
- AI
- Git
- ๋ฐ์ดํฐ๋ถ์
- cs231n
- Kaggle
- nlp
- ์๋๋ก์ด๋์คํ๋์ค
- ๋ฐฑ์ค
- react
- ๋ค์ดํฐ๋ธ
- ๋ฅ๋ฌ๋
- ์๋ฒ ๋ฉ
- ๋ฐ์ดํฐ์๊ฐํ
- ํ๊ตญ์ด์๋ฒ ๋ฉ
- ๋จธ์ ๋ฌ๋
- ์ ํ๋์ํ
- ์ธํ๋ฐ
- ๋์
- Titanic
- ๊นํ
- c++
- ํ์ดํ๋
- ์๊ณ ๋ฆฌ์ฆ
- ๋ฆฌ์กํธ
- ๊ฒฐ์ ํธ๋ฆฌ
- Today
- Total
yeon's ๐ฉ๐ป๐ป
์ ํ ํ๊ท / ๋ฆฟ์ง ํ๊ท / ๋ผ์ ํ๊ท ๋ณธ๋ฌธ
์ ํ ํ๊ท / ๋ฆฟ์ง ํ๊ท / ๋ผ์ ํ๊ท
yeon42 2021. 8. 25. 21:57https://it-timehacker.tistory.com/29
๋จธ์ ๋ฌ๋ ์คํฐ๋ 02-์ ํ๋ชจ๋ธ(ํ๊ท ํธ)์ ํํ๊ท,๋ฆฟ์งํ๊ท,๋ผ์ํ๊ท
ํ๊ท ์ค ํน์ฑ์ด ํ๋์ธ ํ๊ท๋ ์ ํ ๋ชจ๋ธ์ ์ผ์ฐจ ํจ์๋ฅผ ์๊ฐํ๋ฉด ๋ฉ๋๋ค. y=ax+b ์์ y๋ ์์ธก๊ฐ์ด ๋๊ฒ ๋ฉ๋๋ค. ์ด๋ a์ b๋ ๋ชจ๋ธ์ด ํ์ตํ ํ๋ผ๋ฏธํฐ ์ ๋๋ค. ํ๋ง๋๋ก a์ b์ ๊ฐ์ ์ ์ ํ ์กฐ์
it-timehacker.tistory.com
์ ๋ธ๋ก๊ทธ๋ฅผ ํ์ฌํ๋ฉฐ ๊ณต๋ถ
y = ax + b
- ์ ํ ๋ชจ๋ธ์ ์๊ฐํด๋ณด์.
- y๋ ์์ธก๊ฐ์ด ๋๋ค.
- a, b๋ ๋ชจ๋ธ์ด ํ์ตํ ํ๋ผ๋ฏธํฐ์ด๋ค.
- ์ฆ, a์ b ๊ฐ์ ์ ์ ํ ์กฐ์ ํด๊ฐ๋ฉฐ ์ ๋ต์ ๊ฐ๊น์ด ํ๋ผ๋ฏธํฐ๋ฅผ ๊ณจ๋ผ์ผํ๋ค.
- a๋ ๊ธฐ์ธ๊ธฐ
- ํน์ฑ์ด ๋ง์์ง๊ฒ ๋๋ฉด, ๊ฐ ์ ๋ ฅ ํน์ฑ x์ ๋ฐ๋ผ ๊ฐ์ค์น a๋ฅผ ๊ณฑํ๋งํผ์ b๋ฅผ ๋ํ๋งํผ์ด ์์ธก๊ฐ์ผ๋ก ๋์ค๊ฒ ๋๋ค.
* ์ ํ ํ๊ท(์ต์ ์ ๊ณฑ๋ฒ)
- ๊ฐ์ฅ ๊ฐ๋จํ๊ณ ์ค๋๋ ํ๊ท์ฉ ์ ํ ์๊ณ ๋ฆฌ์ฆ
- ์์ธก๊ณผ ํ๋ จ ์ธํธ์ ์๋ ํ๊น y ์ฌ์ด์ ํ๊ท ์ ๊ณฑ์ค์ฐจ๋ฅผ ์ต์ํํ๋ ํ๋ผ๋ฏธํฐ w์ b๋ฅผ ์ฐพ๋๋ค.
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X,y,random_state=42)
lr = LinearRegression().fit(X_train,y_train)
- ํ๋ผ๋ฏธํฐ w๋ ๊ฐ์ค์น or ๊ณ์๋ผ๊ณ ํ๋ฉฐ, lr ๊ฐ์ฒด์ coef_ ์์ฑ์ ์ ์ฅ๋์ด ์๊ณ ,
- ํ๋ผ๋ฏธํฐ b๋ ํธํฅ or ์ ํธ์ด๋ผ๊ณ ํ๋ฉฐ, intercept_ ์์ฑ์ ์ ์ฅ๋์ด ์๋ค.
print("lr.coef_: {}".format(lr.coef_))
print("lr.intercept_: {}".format(lr.intercept_))
- _๋ ์ฌ์ดํท๋ฐ์์ ํ๋ จ๋ฐ์ดํฐ์์ ์ ๋๋ ์์ฑ์ ๋ชจ๋ _๋ฅผ ๋ถ์ด๊ธฐ ๋๋ฌธ์ ๋ฃ์ ๊ฒ
- (์ฌ์ฉ์๊ฐ ์ง์ ํ ๋งค๊ฐ๋ณ์์ ๊ตฌ๋ถํ๊ธฐ ์ํด ์ด๋ฐ์์ผ๋ก ์์ฑํจ)
- intercept_๋ ์ค์ ๊ฐ ํ๋์ด์ง๋ง
- coef_๋ ๊ฐ ์ ๋ ฅ ํน์ฑ์ ๋ฐ๋ผ ํ๋์ฉ ๋์๋๋ numpy ๋ฐฐ์ด์ด๋ค.
- ํ๋ จ ์ธํธ์ผ ๋ ๋๊ณ , ํ ์คํธ ์ธํธ ๋ ๋ฎ์
--> ๊ณผ๋์ ํฉ ๋ฐ์
- ์ด๋ฐ ๋ฌธ์ ํด๊ฒฐํ๊ธฐ ์ํด ๋ฆฟ์ง ํ๊ท ์ฐ์
* ๋ฆฟ์ง ํ๊ท
- ํ๊ท๋ฅผ ์ํ ์ ํ๋ชจ๋ธ์ด๋ฏ๋ก ์์ธกํจ์ ์ฌ์ฉ
- ๊ฐ์ค์น์ ๋ชจ๋ ์์๊ฐ 0์ด ๋๋ ๊ฒ์ด ๋ชฉํ
- ๊ธฐ์ธ๊ธฐ๋ฅผ ์๊ฒ ๋ง๋ค์ด ํน์ฑ์ ์ํฅ๋ ฅ์ ์ต์ํ์ํค๋ ๊ฒ
- ์ด๋ฌํ ์ ์ฝ์ ๊ท์ ๋ผ๊ณ ํ๋ฉฐ, ๊ท์ ๋ ๊ณผ๋์ ํฉ์ด ๋์ง ์๋๋ก ๋ชจ๋ธ์ ๊ฐ์ ๋ก ์ ํํ๋ค๋ ์๋ฏธ
- ๋ฆฟ์ง ํ๊ท : L2 ๊ท์
- ๋ฆฟ์ง์ ๊ฒฐ๊ณผ๋ฅผ ๋ณธ๋ค๋ฉด, ์ ํ ํ๊ท๋ณด๋ค ํ ์คํธ ์ธํธ์ ๋ํ ์ ์๊ฐ ๋ ๋๋ค.
- ๋ฆฟ์ง๋ ์ด์ฒ๋ผ ๊ณผ๋์ ํฉ์ด ๋ ์ ์ด์ง
- ํ๋ จ ์ธํธ์์ ์ฑ๋ฅ์ด ๋ ๋๋น ์ก์ง๋ง, ๊ณผ๋์ ํฉ์ ๋ง์์ฃผ์ด ๋ ์ผ๋ฐํ ๋ ๋ชจ๋ธ์ด ๋์๋ค.
- ์ฐ๋ฆฌ๊ฐ ๊ด์ฌ์ด ์๋ ๊ฒ์ํ ์คํธ ์ธํธ์ ๋ํ ์ฑ๋ฅ์ด๋ฏ๋ก LinearRegression ๋ณด๋ค๋ Ridge ๋ชจ๋ธ์ด ๋ ์ข์ ๊ฒ
- ์ฌ์ฉ์๋ alpha ๋งค๊ฐ๋ณ์๋ฅผ ํตํด ํ๋ จ ์ธํธ์ ์ฑ๋ฅ ๋๋น ๋ชจ๋ธ์ ์ผ๋ง๋ ๋จ์ํํ ์ง๋ฅผ ๊ฒฐ์ ํ ์ ์์
- ๊ธฐ๋ณธ๊ฐ: alpha=1.0
- alpha๊ฐ์ ๋์ด๋ฉด ๊ณ์๊ฐ 0์ ๋ ๊ฐ๊น๊ฒ ๋ง๋ค์ด ํ๋ จ ์ธํธ์ ์ฑ๋ฅ์ ๋๋น ์ง์ง๋ง ์ผ๋ฐํ์๋ ๋์์ ์ค ์ ์์
- alpha๋ฅผ ํฌ๊ฒ ํด ๊ธฐ์ธ๊ธฐ๊ฐ 0์ ๊ฐ๊น๊ฒ ๋๋ค๋ฉด ๊ฒฐ๊ตญ ์ ํ ํ๊ท์ ๊ฐ์ ์๋ ดํ๊ฒ ๋จ
- alpha๊ฐ์ ์ค์ด๋ฉด ๊ธฐ์ธ๊ธฐ๊ฐ (์๋๋๋ก) ์ปค์ง๋ฉฐ ์ ํ ํ๊ท์ ๊ฐ๊น๊ฒ ๋์ด ๋ชจ๋ธ์ ๋ณต์ก๋๋ ๋ ๋ฎ์์ง
-> ๊ณผ์ ์ ํฉ ์กฐ์ฌํ๊ธฐ
- alpha๊ฐ์ ๋๋ฆฌ๋ฉด ๊ธฐ์ธ๊ธฐ๊ฐ ์ปค์ง๋ฉฐ ๋ชจ๋ธ ๋ณต์ก๋๋ ๋ ์ปค์ง
-> ๊ณผ๋ ์ ํฉ ์กฐ์ฌํ๊ธฐ
- ์ ๊ทธ๋ฆผ์ coef_ ์ฆ ๊ณ์, ๊ธฐ์ธ๊ธฐ์ ํด๋นํ๋ ๊ฐ์ alpha ๊ฐ์ด 10, 1, 0.1์ผ ๋ ๋น๊ตํ ๊ทธ๋ํ์ด๋ค.
- x์ถ์ด ๊ณ์, y๊ฐ์ด alpha๊ฐ์ ๋ฐ๋ผ ์ด๋ป๊ฒ ๋ฌ๋ผ์ง๋์ง ๋ณด์ฌ์ค
- alpha=10์ผ ๋๋ ๊ธฐ์ธ๊ธฐ๊ฐ ์์์ ธ ๊ณ์๊ฐ -3~3 ์ฌ์ด์ ์์น
- alpha=1์ผ ๋๋ ๊ณ์๊ฐ ์กฐ๊ธ ๋ ๋์์ง
- alpha=0.1์ผ ๋๋ ๊ธฐ์ธ๊ธฐ๊ฐ ๋ ์ปค์ ธ ๊ณ์๊ฐ ๊ทธ๋ฆผ ๋ฐ์ผ๋ก ๋์ด๊ฐ
* alpha๊ฐ์ด ์์์ง๋ฉด ๊ธฐ์ธ๊ธฐ(๊ณ์)๋ ์ปค์ง
- ๋ ํ๋์ ๊ท์ ๋ฅผ ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ
: alpha๊ฐ์ ๊ณ ์ ํ๊ณ ํ๋ จ ๋ฐ์ดํฐ์ ํฌ๊ธฐ๋ฅผ ๋ณํ์ํค๋ ๊ฒ
- LinearRegression๊ณผ Ridge(alpha=1)์ ์ ์ฉํ ๊ฒ
- ์ด๋ ๊ฒ ๋ฐ์ดํฐ์ ์ ํฌ๊ธฐ์ ๋ฐ๋ผ ๋ชจ๋ธ์ ์ฑ๋ฅ ๋ณํ๋ฅผ ๋ํ๋ธ ๊ทธ๋ํ: ํ์ต ๊ณก์
- ๋ชจ๋ ๋ฐ์ดํฐ์ ์ ๋ํด ๋ฆฟ์ง์ ์ ํ ํ๊ท ๋ชจ๋ ํ๋ จ ์ธํธ์ ์ ์๊ฐ ํ ์คํธ ์ธํธ์ ์ ์๋ณด๋ค ๋๋ค.
- ๋ฆฟ์ง์๋ ๊ท์ ๊ฐ ์ ์ฉ๋๋ฏ๋ก ๋ฆฟ์ง์ ํ๋ จ ๋ฐ์ดํฐ ์ ์๊ฐ ์ ์ฒด์ ์ผ๋ก ์ ํ ํ๊ท์ ํ๋ จ ๋ฐ์ดํฐ ์ ์๋ณด๋ค ๋ฎ๋ค.
- ๊ท์ ๋ฅผ ์ ์ฉํ๋ฉด ํ๋ จ ๋ฐ์ดํฐ ์ ์๋ ๋ฎ์์ง์ง๋ง ๊ณผ๋์ ํฉ์ ๋ง์์ฃผ์ด ํ ์คํธ์ ์ ํ๋๋ ๋ ๋์์ง๋ค.
- ํนํ ๋ ์์ ๋ฐ์ดํฐ ์ ์์๋ ํ๋์ ํ(๋ฆฟ์ง)๊ฐ ๋ ์ ๋ฆฌํจ์ ์ ์ ์๋ค.
- ๋ ๋ชจ๋ธ ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ๋ง์์ง์๋ก ์ฑ๋ฅ์ด ์ข์์ง๋๋ฐ,
- ๋ฐ์ดํฐ๋ฅผ ์ถฉ๋ถํ ์ฃผ๋ฉด ๊ท์ ์ ์ค์์ฑ์ ๋ฎ์์ ธ ๊ฒฐ๊ตญ ๋ฆฟ์ง&์ ํํ๊ท์ ์ ํ๋๋ ๊ฐ์์ง๊ฒ ๋๋ค.
- ์ ํํ๊ท์ ๊ฒฝ์ฐ ํ๋ จ๋ฐ์ดํฐ์ ์ ํ๋๊ฐ ๋ฐ์ดํฐ๊ฐ ๋ง์์ง์๋ก ๊ฐ์ํ๋ค.
- ์ด๋ ๋ฐ์ดํฐ๊ฐ ๋ง์์ง์๋ก ๋ชจ๋ธ์ด ๋ฐ์ดํฐ๋ฅผ ๊ธฐ์ตํ๊ฑฐ๋ ๊ณผ๋์ ํฉ์ ํ๊ธฐ ์ด๋ ค์์ง๊ธฐ ๋๋ฌธ์ด๋ค.
* ๋ผ์
- ์ ํํ๊ท์ ๊ท์ ๋ฅผ ์ ์ฉํ๋ ๋ฆฟ์ง์ ๋์
- ๋ผ์๋ ๋ฆฟ์ง์ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ณ์๋ฅผ 0์ ๊ฐ๊น๊ฒ ๋ง๋ค๋ ค๊ณ ํ๋ค.
- L1 ๊ท์
- L1 ๊ท์ ์ ๊ฒฐ๊ณผ๋ก ๋ผ์๋ฅผ ์ฌ์ฉํ ๋ ์ด๋ค ๊ณ์๋ ์ ๋ง 0์ด ๋๋ค.
= ๋ชจ๋ธ์์ ์์ ํ ์ ์ธ๋๋ ํน์ฑ์ด ์๊ธด๋ค. (?)
- ์ผ๋ถ ๊ณ์๋ฅผ 0์ผ๋ก ๋ง๋ค๊ฒ ๋๋ฉด ๋ชจ๋ธ์ ์ดํดํ๊ธฐ ์ฌ์์ง๊ณ , ๋ชจ๋ธ์ ๊ฐ์ฅ ์ค์ํ ํน์ฑ์ด ๋ฌด์์ธ์ง ๋๋ฌ๋๊ฒ ๋๋ค.
- Lasso๋ ํ๋ จ์ธํธ์ ํ ์คํธ ๊ฒฐ๊ณผ๊ฐ ๋ชจ๋ ์ข์ง ์์ ๊ฑธ ๋ณด์ ๊ณผ์์ ํฉ์ด ์ด๋ฃจ์ด์ง์ ์ ์ ์๋ค.
- ๋ฆฟ์ง์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ผ์๋ alpha๋ฅผ ์ด์ฉํด ๊ณ์๋ฅผ ์กฐ์ ํ๋ค.
- ๊ณผ์์ ํฉ์ ์ค์ด๊ธฐ ์ํด alpha๊ฐ์ ์ค์ด๋ฉด ๋ณต์ก์ฑ์ด ์ฆ๊ฐํ๋ค.
- ์ด ๋ max_iter์ ๊ธฐ๋ณธ๊ฐ์ ๋๋ ค์ผ ํ๋ค.
- alpha๊ฐ์ ๋ฎ์ถ๊ณ , max_iter๊ฐ์ ๋์ฌ์ฃผ๋ฉด ๋ณต์ก๋๊ฐ ์ฆ๊ฐํ์ฌ ๊ณผ์ ์ ํฉ์ ๋ฌธ์ ๊ฐ ์ด๋์ ๋ ํด๊ฒฐ๋๋ค.
- alpha=1 ์ผ ๋๋ ๊ณ์ ๋๋ถ๋ถ์ด 0์ด๊ณ , ๋๋จธ์ง ๊ณ์๋ค๋ ํฌ๊ธฐ๊ฐ ์๋ค.
- alpha=0.01 ์ผ ๋๋ ๋๋ถ๋ถ์ ํน์ฑ์ด 0์ด ๋๋ ๋ถํฌ๋ค.
- alpha=0.0001 ์ผ ๋๋ ๊ณ์ ๋๋ถ๋ถ์ด 0์ด ์๋๊ณ , ๊ฐ๋ ๊ณ์ ์ปค์ ธ ๊ฝค ๊ท์ ๋ฐ์ง ์๋ ๋ชจ๋ธ์ด๋ค.
- ๋ณดํต์ ๋ฆฟ์ง ํ๊ท๋ฅผ ์ ํธํ์ง๋ง, ํน์ฑ์ด ๋ง๊ณ ๊ทธ ์ค ์ผ๋ถ๋ถ๋ง ์ค์ํ๋ค๋ฉด ๋ผ์๊ฐ ๋ ์ข์ ์ ํ์ด๋ค.
- ๋ถ์ํ๊ธฐ ์ฌ์ด ๋ชจ๋ธ์ ๋ผ์
-
'Computer ๐ป > Machine Learning' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ์ดํผ ํ๋ผ๋ฏธํฐ, GridSearchCV (0) | 2021.08.26 |
---|---|
์์๋ธ(ensemble) - Random Forest / Gradient Boosting (0) | 2021.08.26 |
๊ณผ๋์ ํฉ(Overfitting) vs. ๊ณผ์์ ํฉ(Underfitting) (0) | 2021.08.25 |
๋ฆฟ์ง(Ridge)์ ๋ผ์(Lasso) ํ๊ท (0) | 2021.08.25 |
๋๋ค ํฌ๋ ์คํธ(Random Forest) ํ๊ท ์์ (0) | 2021.08.25 |