[AIS7] ML (11)

BBakHyeยท2022๋…„ 11์›” 16์ผ
0

๐Ÿฆ AI SCHOOL 7๊ธฐ

๋ชฉ๋ก ๋ณด๊ธฐ
26/52
post-thumbnail

Introduction to Machine Learning with Python

0801 ์‹ค์Šต

๐Ÿ’ก ์‚ฌ์ดํ‚ท๋Ÿฐ์œผ๋กœ ์ธ์ฝ”๋”ฉํ•˜๋Š” ๊ณผ์ •์€ ๋ณต์žกํ•˜์ง€๋งŒ numpy์™€ pandas์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ์—ฐ์Šต์„ ํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.

โ—๏ธ one-hot-encoding ํ›„ train๊ณผ test์˜ ํ–‰์˜ ์ˆ˜๊ฐ€ ์ผ์น˜ ํ•˜๋Š”์ง€ ๊ผญ ์ฒดํฌ!!

๐Ÿค” ์™œ ์ด๋ฒˆ ์‹ค์Šต์—์„œ๋Š” Cross validation ๋Œ€์‹  hold-out-validation ์‚ฌ์šฉํ–ˆ์„๊นŒ?

  • hold-out-validation์€ ์†๋„๊ฐ€ cross validation์— ๋น„ํ•ด ๋น ๋ฅด๋‹ค๋Š”๊ฒŒ ์žฅ์ ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋น ๋ฅด๊ฒŒ ํ™•์ธํ•ด๋ณด๊ธฐ ์œ„ํ•จ
  • cross validation์— ๋น„ํ•ด ์‹ ๋ขฐ์„ฑ์€ ๋–จ์–ด์ง„๋‹ค.
  • valid๋ฅผ ๋งŒ๋“œ๋Š” ์ด์œ ๋Š” ์ œ์ถœํ•ด ๋ณด๊ธฐ ์ „์— ์–ด๋Š์ •๋„์˜ ์Šค์ฝ”์–ด๊ฐ€ ๋‚˜์˜ฌ์ง€ ํ™•์ธํ•ด๋ณด๊ธฐ ์œ„ํ•จ

โœ… Summary:

  • One-hot-encoding์„ ๋ฒ”์ฃผํ˜• ๋ณ€์ˆ˜์— ํ•˜๊ณ , ์ˆ˜์น˜ํ˜• ๋ฐ์ดํ„ฐ์™€ ํ•ฉ์น˜๋Š” ๊ณผ์ •์„ ์‹ค์Šตํ–ˆ๋‹ค.
  • ์ˆ˜์น˜ํ˜• ๋ฐ์ดํ„ฐ์™€ concatํ•  ๋•Œ ์ธ๋ฑ์Šค ๊ฐ’์ด ๋งž์ง€ ์•Š์œผ๋ฉด ๋ณ‘ํ•ฉ์ด ์ œ๋Œ€๋กœ ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ธ๋ฑ์Šค ๊ฐ’์— ์œ ์˜ ํ•„์š”!
  • ๊ธฐ์กด์—๋Š” cross validation ์œ„์ฃผ๋กœ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ, ์—ฌ๊ธฐ์„œ๋Š” hold-out-validation์„ ์‚ฌ์šฉํ–ˆ๋‹ค.
  • train, valid, test: train, test split์€ train, test๋งŒ ๋‚˜๋ˆ„๋Š”๋ฐ ์ด ์‹ค์Šต์—์„œ๋Š” train์„ ๋‹ค์‹œ train, valid๋กœ ๋‚˜๋ˆ ์ฃผ์—ˆ๋‹ค.
  • LinearRegression ๋ชจ๋ธ์„ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ ์„ฑ๋Šฅ์ด ์ €์กฐํ•ด์„œ RandomForest๋กœ ๋ชจ๋ธ์„ ๋ฐ”๊พธ๋‹ˆ ์„ฑ๋Šฅ์ด ํ›จ์”ฌ ์ข‹์•˜๋‹ค.
  • ์ด๋ฒˆ ์‹ค์Šต์—์„œ LinearRegression ๋ชจ๋ธ์„ ์ ์šฉํ–ˆ์„ ๋•Œ ํŠน์ดํ•˜๊ฒŒ one-hot-encoding์„ ์ˆ˜์น˜๋ฐ์ดํ„ฐ๋ฅผ ์ œ์™ธํ•˜์ง€ ์•Š๊ณ  ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์ธ์ฝ”๋”ฉ ํ–ˆ์„ ๋•Œ ์„ฑ๋Šฅ์ด ๋” ์ž˜ ๋‚˜์™”๋‹ค.

0802 ์‹ค์Šต

์‹ค์Šต ๋ชฉ์ : ๋‹ค๋ฅธ ํŠธ๋ฆฌ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•ด๋ณด๊ธฐ (GBT, ExtraTree)

๐Ÿ’ก ์Šค์ฝ”์–ด๋ฅผ ๋”ฐ๋กœ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ํšŒ๊ท€๋Š” ๊ธฐ๋ณธ๊ฐ’์ด R2 Score ์ด๋‹ค.

1) GBT
from sklearn.ensemble import GradientBoostingRegressor
model_gbt = GradientBoostingRegressor(random_state=42)

2) ExtraTree
from sklearn.ensemble import ExtraTreesRegressor
model_et = ExtraTreesRegressor(random_state=42)
  • ๋ฐฐ๊น… ๋ฐฉ์‹์€ ๋ถ€ํŠธ์ŠคํŠธ๋ž˜ํ•‘์„ ํ•ด์„œ ํŠธ๋ฆฌ๋ฅผ ๋ณ‘๋ ฌ์ ์œผ๋กœ ์—ฌ๋Ÿฌ ๊ฐœ ๋งŒ๋“ค๊ธฐ ๋•Œ๋ฌธ์— ์˜ค๋ฒ„ํ”ผํŒ… ๋ฌธ์ œ์— ์ข€ ๋” ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฐœ๋ณ„ ํŠธ๋ฆฌ์˜ ๋‚ฎ์€ ์„ฑ๋Šฅ์ด ๋ฌธ์ œ์ผ ๋•Œ๋Š” ์ด์ „ ํŠธ๋ฆฌ์˜ ์˜ค์ฐจ๋ฅผ ๋ณด์™„ํ•ด ๊ฐ€๋ฉด์„œ ๋งŒ๋“ค๊ธฐ ๋•Œ๋ฌธ์— ๋ถ€์ŠคํŒ…์ด ์ข€ ๋” ์ ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿค” ์„ ํ˜•ํšŒ๊ท€ (Linear Regression) ๋ž€?

: ์ข…์† ๋ณ€์ˆ˜ y์™€ ํ•œ ๊ฐœ ์ด์ƒ์˜ ๋…๋ฆฝ ๋ณ€์ˆ˜ X์™€์˜ ์„ ํ˜• ์ƒ๊ด€ ๊ด€๊ณ„๋ฅผ ๋ชจ๋ธ๋งํ•˜๋Š” ํšŒ๊ท€๋ถ„์„ ๊ธฐ๋ฒ•

๐Ÿ’ก ์žฅ์ 
1) ๋‹ค๋ฅธ ๋ชจ๋ธ๋“ค์— ๋น„ํ•ด ๊ฐ„๋‹จํ•œ ์ž‘๋™ ์›๋ฆฌ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๋‹ค.
2) ํ•™์Šต ์†๋„๊ฐ€ ๋งค์šฐ ๋น ๋ฅด๋‹ค.
3) ์กฐ์ •ํ•ด์ค„ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์ ๋‹ค.
4) ๋ฐ์ดํ„ฐ๊ฐ€ ์ˆ˜์น˜ํ˜• ๋ณ€์ˆ˜๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์„ ๊ฒฝ์šฐ, ๋ฐ์ดํ„ฐ์˜ ๊ฒฝํ–ฅ์„ฑ์ด ๋šœ๋ ทํ•  ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•˜๊ธฐ ์ข‹๋‹ค.

๐Ÿ’ก ๋‹จ์ 
1) ํŠธ๋ฆฌ๋ชจ๋ธ์— ๋น„ํ•ด ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง„๋‹ค.
2) ์ด์ƒ์น˜์— ๋งค์šฐ ๋ฏผ๊ฐํ•˜๋‹ค.
3) ์ˆ˜์น˜๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ์ „์ฒ˜๋ฆฌ๊ฐ€ ๋งŽ์ด ํ•„์š”ํ•˜๋‹ค.
4) ์˜ˆ์ธก๋ ฅ์ด ๋–จ์–ด์ง„๋‹ค.
5) sns.regplot()์„ ๊ทธ๋ ค๋ณด๋ฉด ์„ ํ˜• ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ๋ชจ๋ธ (e.g. RandomForest) ๋“ค์— ๋น„ํ•ด ์„ค๋ช…๋ ฅ์ด ๋–จ์–ด์ง„๋‹ค.

๐Ÿ‘€ ์„ ํ˜• ํšŒ๊ท€ ๋ชจ๋ธ์˜ ๋‹จ์ ์„ ๋ณด์™„ํ•œ ๋ชจ๋ธ:

  • Ridge, Lasso, ElasticNet ๋“ฑ

๐Ÿค” ๊ฒฐ์ •ํŠธ๋ฆฌ (Decision Tree) ๋ž€?

๐Ÿ’ก ์žฅ์ 
1) ๊ฒฐ๊ณผ๋ฅผ ํ•ด์„ํ•˜๊ณ  ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๋‹ค.
2) ์ž๋ฃŒ๋ฅผ ๊ฐ€๊ณตํ•  ํ•„์š”๊ฐ€ ๊ฑฐ์˜ ์—†๋‹ค.
3) ์ˆ˜์น˜ ์ž๋ฃŒ์™€ ๋ฒ”์ฃผ ์ž๋ฃŒ ๋ชจ๋‘์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
4) ํ™”์ดํŠธ๋ฐ•์Šค ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•œ๋‹ค.
5) ์•ˆ์ •์ ์ด๋‹ค.
6) ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ์…‹์—์„œ๋„ ์ž˜ ๋™์ž‘ํ•œ๋‹ค.
7) ๊ฐ ํŠน์„ฑ์ด ๊ฐœ๋ณ„์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ ์Šค์ผ€์ผ์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š๋Š”๋‹ค.
8) ๋ฐ์ดํ„ฐ ๋‚ด ๋ณ€์ˆ˜์˜ ์ข…๋ฅ˜๊ฐ€ ๋‹ฌ๋ผ๋„ ์ž˜ ๋™์ž‘ํ•œ๋‹ค.

๐Ÿ’ก ๋‹จ์ 
1) ํ•™์Šต์šฉ ๋ฐ์ดํ„ฐ์— ๊ณผ๋Œ€์ ํ•ฉ๋œ๋‹ค.

๐Ÿ‘€ ๊ฒฐ์ •ํŠธ๋ฆฌ์˜ ๋‹จ์ ์„ ๋ณด์™„ํ•œ ๊ธฐ๋ฒ•:

  • Ensemble

๐Ÿค” RandomForest ๋ž€?

๐Ÿ’ก ์žฅ์ 
1) ์„ฑ๋Šฅ์ด ๋›ฐ์–ด๋‚˜๊ณ  ๋งค๊ฐœ๋ณ€์ˆ˜ ํŠœ๋‹์„ ๋งŽ์ด ํ•˜์ง€ ์•Š๋Š”๋‹ค.
2) ๊ฒฐ์ • ํŠธ๋ฆฌ์™€ ๋‹ฌ๋ฆฌ ์‹œ๊ฐํ™”๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•ด ๋น„์ „๋ฌธ๊ฐ€๋Š” ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ๋‹ค.
3) ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๊ฐ€ ํ„ฐ์ง€๋ฉด ๋‹ค์†Œ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ๋‹ค.
4) ๋žœ๋ค์„ฑ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— random_state ๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ๋งค๋ฒˆ ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ผ์ง„๋‹ค.
5) ์ฐจ์›์ด ๋†’๊ณ  ํฌ์†Œํ•œ ๋ฐ์ดํ„ฐ์—๋Š” ์ž˜ ์ž‘๋™ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค.

๐Ÿค” ExtraTree ๋ž€?

: ๊ทน๋„๋กœ ๋ฌด์ž‘์œ„ํ™” (Extremely Randomised Tree) ๋ชจ๋ธ. ๊ฐ•์‚ฌ

๐Ÿ’ก ExtraTree์™€ RandomForest์˜ ์ฐจ์ด์ 
RandomForest์™€ ๊ฐ™์ด ํ›„๋ณด ๊ธฐ๋Šฅ์˜ ๋ฌด์ž‘์œ„ ํ•˜์œ„ ์ง‘ํ•ฉ์ด ์‚ฌ์šฉ๋˜์ง€๋งŒ ๊ฐ€์žฅ ์ฐจ๋ณ„์ ์ธ ์ž„๊ณ„๊ฐ’์„ ์ฐพ๋Š” ๋Œ€์‹  ๊ฐ ํ›„๋ณด ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ์ž„๊ณ„๊ฐ’์ด ๋ฌด์ž‘์œ„๋กœ ๊ทธ๋ ค์ง€๊ณ  ๋ฌด์ž‘์œ„๋กœ ์ƒ์„ฑ๋œ ์ž„๊ณ„๊ฐ’ ์ค‘ ๊ฐ€์žฅ ์ข‹์€ ๊ฒƒ์„ ๋ถ„ํ•  ๊ทœ์น™์œผ๋กœ ์„ ํƒ
๐Ÿ‘‰๐Ÿป ์ผ๋ฐ˜์ ์œผ๋กœ ์•ฝ๊ฐ„ ๋” ํฐ ํ‰ํ–ฅ ์ฆ๊ฐ€๋ฅผ ํฌ์ƒ์‹œํ‚ค๋ฉด์„œ ๋ชจ๋ธ์˜ ๋ถ„์‚ฐ์„ ์กฐ๊ธˆ ๋” ์ค„์ธ๋‹ค.

๐Ÿ’ก ์žฅ์ 
1) ๋ถ„๊ธฐ ์ง€์ ์„ ๋žœ๋ค์œผ๋กœ ์„ ํƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— RandomForest๋ณด๋‹ค ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค.
2) ๊ฐ™์€ ์ด์œ ๋กœ RandomForest๋ณด๋‹ค ๋” ๋งŽ์€ ํŠน์„ฑ์„ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ๋‹ค.
3) RandomForest์™€ ๋™์ผํ•œ ์›๋ฆฌ๋ฅผ ์ด์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋งŽ์€ ํŠน์ง•์„ ๊ณต์œ ํ•œ๋‹ค.
4) RandomForest๋ณด๋‹ค ์„ฑ๋Šฅ์ด ์•ฝ๊ฐ„ ๋” ์ข‹๋‹ค.

๐Ÿค” Boosting ์ด๋ž€?

: ์ด์ „ ์˜ค์ฐจ (์‹ค์ˆ˜)๋ฅผ ๋ณด์™„ํ•ด์„œ ์ˆœ์ฐจ์ ์œผ๋กœ ๋ชจ๋ธ์„ ๋งŒ๋“ค๊ธฐ ๋•Œ๋ฌธ์— ๋ฌด์ž‘์œ„์„ฑ์ด ์—†๋‹ค.

์ถœ์ฒ˜

์ถœ์ฒ˜

๐Ÿ’ก Bagging๊ณผ Boosting์˜ ์ฐจ์ด
Bagging : ๋ฐ์ดํ„ฐ ์…‹์ด ๋ชจ๋ธ๋งˆ๋‹ค ๋…๋ฆฝ์ ์ด๋‹ค.
Boosting : ์•ž ๋ชจ๋ธ์ด ๋ฐ์ดํ„ฐ์…‹์„ ์ •ํ•ด์ค€๋‹ค.

  • ๋ฐฐ๊น…์€ ํ›ˆ๋ จ์„ธํŠธ์—์„œ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•ด์„œ ์ƒ˜ํ”Œ๋งํ•˜์—ฌ ์—ฌ๋Ÿฌ๊ฐœ ๋ชจ๋ธ์„ ํ›ˆ๋ จ ํ•˜๋Š” ์•™์ƒ๋ธ” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ๊ฐ™์€ ํ›ˆ๋ จ ์ƒ˜ํ”Œ์„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ชจ๋ธ์— ๊ฑธ์ณ ์‚ฌ์šฉํ•ด์„œ ๋ชจ๋“  ๋ชจ๋ธ์ด ํ›ˆ๋ จ์„ ๋งˆ์น˜๋ฉด ์•™์ƒ๋ธ”์€ ๋ชจ๋“  ์˜ˆ์ธก๊ธฐ์˜ ์˜ˆ์ธก์„ ๋ชจ์•„์„œ ์ƒˆ๋กœ์šด ์ƒ˜ํ”Œ์— ๋Œ€ํ•œ ์˜ˆ์ธก์„ ๋งŒ๋“ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
  • ๋ถ€์ŠคํŒ…์€ ์•ฝํ•œ ๋ชจ๋ธ์„ ์—ฌ๋Ÿฌ๊ฐœ ์—ฐ๊ฒฐํ•ด์„œ ๊ฐ•ํ•œ ๋ชจ๋ธ์„ ๋งŒ๋“ค์–ด ๋‚ด๊ธฐ ์œ„ํ•œ ์•™์ƒ๋ธ” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ๋ถ€์ŠคํŒ…์˜ ์•„์ด๋””์–ด๋Š” ์•ž์˜ ๋ชจ๋ธ๋“ค์„ ๋ณด์™„ํ•ด ๋‚˜๊ฐ€๋ฉด์„œ ์ผ๋ จ์˜ ๋ชจ๋ธ๋“ค์„ ํ•™์Šต์‹œ์ผœ ๋‚˜๊ฐ€๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๐Ÿค” GBT (Gradient Boosting Tree) ์ด๋ž€?

๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•(gradient descent): ์†์‹ค์ด ๊ฐ€์žฅ ์ž‘์€ ์ง€์ ์„ ์ฐพ๊ธฐ ์œ„ํ•ด์„œ ๊ธฐ์šธ๊ธฐ๊ฐ€ 0์ธ ์ง€์ ์„ ์ฐพ์•„ ๊ฒฝ์‚ฌ๋ฅผ ์ ์  ๋‚ด๋ ค๊ฐ€๋Š” ๋ฐฉ๋ฒ•

  • ์˜ˆ์ธก๊ฐ’๊ณผ ์ •๋‹ต๊ฐ’ ์‚ฌ์ด์— ์†์‹ค์ด ์ตœ์†Œํ™”๋ ์ˆ˜๋ก ์ข‹์€ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.
  • ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•์˜ ๋ชฉ์ ์€ ์†์‹คํ•จ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ์ž‘๊ณ , ์˜ˆ์ธก์„ ์ž˜ ํ•˜๋Š” ๋ชจ๋ธ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•จ์ž…๋‹ˆ๋‹ค.

  • epoch: ํ•™์ŠตํšŸ์ˆ˜
  • n_estimators: n ๋ฒˆ์งธ ํŠธ๋ฆฌ (sequentialํ•œ tree, ์ด์ „ ํŠธ๋ฆฌ์˜ ์˜ค์ฐจ๋ฅผ ํ•™์Šตํ•ด ๋งŒ๋“ค์–ด์ง„ ํŠธ๋ฆฌ)
  • learning rate: ํ•™์Šต๋ฅ ์„ ์˜๋ฏธํ•˜๋ฉฐ ๋ณดํญ์ด๋ผ๊ณ  ๋ฒˆ์—ญ๋˜๊ธฐ๋„ ํ•œ๋‹ค.

๐Ÿ’ก ๋ณดํญ์ด ๋„ˆ๋ฌด ํฌ๋ฉด ์†์‹ค์„ ๋Œ€์ถฉ ์ฐพ๊ธฐ ๋•Œ๋ฌธ์— ์ตœ์†Ÿ์ ์„ ์ง€๋‚˜์น  ์ˆ˜๋„ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ very high learing rate์ฒ˜๋Ÿผ ๋ฐœ์‚ฐ ํ•˜๊ธฐ๋„ ํ•œ๋‹ค.

๐Ÿค” GBM (Gradient Boosting Machine) ์ด๋ž€?

: ํšŒ๊ท€ ๋˜๋Š” ๋ถ„๋ฅ˜ ๋ถ„์„์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์˜ˆ์ธก ๋ชจ๋ธ. ์˜ˆ์ธก๋ชจํ˜•์˜ ์•™์ƒ๋ธ” ๋ฐฉ๋ฒ• ์ค‘ ๋ถ€์ŠคํŒ… ๊ณ„์—ด์— ์†ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜.

  • ML ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘ ๊ฐ€์žฅ ์˜ˆ์ธก ์„ฑ๋Šฅ์ด ์ข‹๋‹ค.

๐Ÿ’ก ์žฅ์ 
1) RandomForest์™€ ๋‹ค๋ฅด๊ฒŒ ๋ฌด์ž‘์œ„์„ฑ์ด ์—†๋‹ค.
๐Ÿ‘‰๐Ÿป ์ด์ „ ์˜ค์ฐจ (์‹ค์ˆ˜)๋ฅผ ๋ณด์™„ํ•ด์„œ ์ˆœ์ฐจ์ ์œผ๋กœ ๋ชจ๋ธ์„ ๋งŒ๋“ค๊ธฐ ๋•Œ๋ฌธ์— ๋ฌด์ž‘์œ„์„ฑ์ด ์—†๋‹ค. (์˜ค๋‹ต๋…ธํŠธ์™€ ๊ฐ™์€ ๊ฐœ๋…; ํ‹€๋ฆฐ ๋ฌธ์ œ๋ฅผ ์œ„์ฃผ๋กœ ํ•™์Šต)
2) ๋ฐ์ดํ„ฐ์˜ ์Šค์ผ€์ผ์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š๋Š”๋‹ค.

๐Ÿ’ก ๋‹จ์ 
1) ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ž˜ ์กฐ์ •ํ•ด์•ผํ•˜๊ณ  ํ›ˆ๋ จ์‹œ๊ฐ„์ด ๊ธธ๋‹ค.
2) ๊ณ ์ฐจ์›์˜ ํฌ์†Œํ•œ ๋ฐ์ดํ„ฐ์— ์ž˜ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š”๋‹ค.
๐Ÿ’ก ํฌ์†Œํ•œ ๋ฐ์ดํ„ฐ๋ž€? 0์ด ๋งŽ์€ ๋ฐ์ดํ„ฐ

๐Ÿค” ์„ฑ๋Šฅ์— ๊ณ ๋ ค ์—†์ด GBM ์—์„œ ํ›ˆ๋ จ์‹œ๊ฐ„์„ ์ค„์ด๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ์ข‹์„๊นŒ?
learing rate๋ฅผ ๋†’์ธ๋‹ค.
: ๋ณดํญ (learning rate)์„ ํฌ๊ฒŒํ•˜๋ฉด ํ›จ์”ฌ ๋นจ๋ฆฌ ๊ฑท๊ฒŒ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ํ•™์Šต์‹œ๊ฐ„์€ ์ค„์–ด๋“ค์ง€๋งŒ ์ œ๋Œ€๋กœ ๋œ loss๊ฐ€ 0์ด ๋˜๋Š” ์ง€์ ์„ ์ œ๋Œ€๋กœ ์ฐพ์ง€ ๋ชป ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. (= ํ•™์Šต์‹œ๊ฐ„์€ ์ค„์–ด๋“ค์ง€๋งŒ, ์„ฑ๋Šฅ์ด ๋‚ฎ์•„์งˆ ์ˆ˜ ์žˆ์Œ)

๐Ÿค” XGBoost (Extreme Gradient Boosting)

: GBT์—์„œ ๋ณ‘๋ ฌ ํ•™์Šต์„ ์ง€์›ํ•˜์—ฌ ํ•™์Šต ์†๋„๊ฐ€ ๋นจ๋ผ์ง„ ๋ชจ๋ธ

  • ๋ชจ๋“  ๊ฐ€๋Šฅํ•œ ํŠธ๋ฆฌ๋ฅผ ๋‚˜์—ดํ•˜์—ฌ ์ตœ์  ํŠธ๋ฆฌ๋ฅผ ์ฐพ๋Š” ๊ฒƒ์€ ๊ฑฐ์˜ ๋ถˆ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์—, 2์ฐจ ๊ทผ์‚ฌ์‹์„ ๋ฐ”ํƒ•์œผ๋กœ ํ•œ ์†์‹คํ•จ์ˆ˜๋ฅผ ํ† ๋Œ€๋กœ ๋งค iteration๋งˆ๋‹ค ํ•˜๋‚˜์˜ leaf๋กœ๋ถ€ํ„ฐ ๊ฐ€์ง€๋ฅผ ๋Š˜๋ ค๋‚˜๊ฐ€๋Š” ๊ฒƒ์ด ํšจ์œจ์ 
  • ์†์‹ค ํ•จ์ˆ˜๊ฐ€ ์ตœ๋Œ€ํ•œ ๊ฐ์†Œํ•˜๋„๋ก ํ•˜๋Š” split point(๋ถ„ํ• ์ )๋ฅผ ์ฐพ๋Š” ๊ฒƒ์ด XGBoost์˜ ๋ชฉํ‘œ

๐Ÿ’ก ์žฅ์ 
1) GBT์— ๋น„ํ•ด ๋” ํšจ์œจ์ ์ด๋‹ค.
2) ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ๋ฐ์ดํ„ฐ์— ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ด์‹์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค.
3) GBM ๋Œ€๋น„ ๋น ๋ฅธ ์ˆ˜ํ–‰์‹œ๊ฐ„ (๋ณ‘๋ ฌ์ฒ˜๋ฆฌ)
4) ๊ณผ์ ํ•ฉ ๊ทœ์ œ (๊ฐ•ํ•œ ๋‚ด๊ตฌ์„ฑ)
5) ๋ถ„๋ฅ˜์™€ ํšŒ๊ท€์˜์—ญ์—์„œ ๋›ฐ์–ด๋‚œ ์˜ˆ์ธก ์„ฑ๋Šฅ ๋ฐœํœ˜(๊ด‘๋ฒ”์œ„ํ•œ ์˜์—ญ)
6) Early Stopping(์กฐ๊ธฐ ์ข…๋ฃŒ) ๊ธฐ๋Šฅ์ด ์žˆ๋‹ค.
7) ๋‹ค์–‘ํ•œ ์˜ต์…˜(Hyper Parameter)์„ ์ œ๊ณตํ•˜๋ฉฐ Customizing์ด ์šฉ์ดํ•˜๋‹ค.

๐Ÿ’ก ๋‹จ์ 
1) ํ•™์Šต์‹œ๊ฐ„์ด ๋Š๋ฆฌ๋‹ค.
2) Hyper Parameter ์ˆ˜๊ฐ€ ๋งŽ์•„ Hyper Parameter ํŠœ๋‹์„ ํ•˜๊ฒŒ๋˜๋ฉด ์‹œ๊ฐ„์ด ๋”์šฑ ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค.
3) ๋ชจ๋ธ์˜ Overfitting ๊ฐ€๋Šฅ์„ฑ

๐Ÿ’ก ๋ฏผ๊ฐํ•˜๊ฒŒ ์กฐ์ •ํ•ด์•ผํ•˜๋Š” ๊ฒƒ

  • booster ๊ตฌ์กฐ
    ๐Ÿ‘‰ gbtree: ์˜์‚ฌ๊ฒฐ์ •๊ธฐ๋ฐ˜๋ชจํ˜•, gblinear: ์„ ํ˜•๋ชจํ˜•, dart
  • eval_metric(ํ‰๊ฐ€ํ•จ์ˆ˜) / objective(๋ชฉ์ ํ•จ์ˆ˜)
  • eta
  • L1 form (L1 ๋ ˆ๊ทค๋Ÿฌ๋ผ์ด์ œ์ด์…˜ ํผ์ด L2๋ณด๋‹ค ์•„์›ƒ๋ผ์ด์–ด์— ๋ฏผ๊ฐ)
  • L2 form

๐Ÿ’ก ๊ณผ์ ํ•ฉ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด ์กฐ์ •ํ•ด์•ผํ•˜๋Š” ๊ฒƒ

  • n_estimators ๋†’์ด๊ธฐ
  • learning rate ๋‚ฎ์ถ”๊ธฐ
  • max_depth ๋‚ฎ์ถ”๊ธฐ
  • min_child_weight ๋†’์ด๊ธฐ
  • gamma ๋†’์ด๊ธฐ
  • subsample, colsample_bytree ๋‚ฎ์ถ”๊ธฐ

XGBoost ํŒŒ์ด์ฌ ์ดํ•ดํ•˜๊ธฐ - ํŒŒ๋ผ๋ฏธํ„ฐ ์ •๋ฆฌ

๐Ÿค” LightGBM (Light Gradient Boosting Machine)

: ๊ฒฐ์ • ํŠธ๋ฆฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ ์ˆœ์œ„ ์ง€์ • , ๋ถ„๋ฅ˜ ๋ฐ ๊ธฐํƒ€ ๊ธฐ๊ณ„ ํ•™์Šต ์ž‘์—…์— ์‚ฌ์šฉ

  • ํŠธ๋ฆฌ ๊ธฐ๋ฐ˜ ํ•™์Šต ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋Š” ๊ทธ๋ž˜๋””์–ธํŠธ ๋ถ€์ŠคํŒ… ํ”„๋ ˆ์ž„์›Œํฌ

๐Ÿ’ก ์žฅ์ 
1) ๋” ๋น ๋ฅธ ํ›ˆ๋ จ ์†๋„์™€ ๋” ๋†’์€ ํšจ์œจ์„ฑ
2) ์ ์€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰
3) ๋” ๋‚˜์€ ์ •ํ™•๋„
4) ๋ณ‘๋ ฌ, ๋ถ„์‚ฐ ๋ฐ GPU ํ•™์Šต ์ง€์›
5) ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌ

๐Ÿ’ก ๋‹จ์ 
1) overfitting์— ๋ฏผ๊ฐํ•˜๋‹ค.
2) ์ž‘์€ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด์„œ ๊ณผ์ ํ•ฉ๋˜๊ธฐ ์‰ฌ์›€

๐Ÿ’ก GOSS (Gradient based One Side Sampling) ๊ธฐ์šธ๊ธฐ ๊ธฐ๋ฐ˜ ๋‹จ์ธก ์ƒ˜ํ”Œ๋ง

  • ๋ฐ์ดํ„ฐ์—์„œ ํฐ Gradient๋ฅผ ๊ฐ€์ง„ ๋ชจ๋“  ์ธ์Šคํ„ด์Šค๋ฅผ ์œ ์ง€ํ•˜๊ณ  ๋ฌด์ž‘์œ„๋กœ Sampling์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
  • ๋งŽ์ด ํ‹€๋ฆฐ ๋ฐ์ดํ„ฐ ์œ„์ฃผ๋กœ ์ƒ˜ํ”Œ๋งํ•œ๋‹ค. (ํ–‰์„ ์ค„์ธ๋‹ค.)
  • ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ์ธ์Šคํ„ด์Šค๋ฅผ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•œ ๊ฒƒ

๐Ÿ’ก EFB (Exclusive Feature Bundling) ๋ฐฐํƒ€์  ํŠน์„ฑ ๋ฌถ์Œ

  • ํฌ์†Œํ•œ ํ–‰๋ ฌ (0์ธ ๊ฐ’์ด ๋งŽ์€ ๋ฐ์ดํ„ฐ)๋ฅผ ํ•ฉ์ณ์ฃผ๋Š” ๋ฐฉ๋ฒ•
  • ๋Œ€๊ทœ๋ชจ feature ์ˆ˜๋ฅผ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•œ ๊ฒƒ (์—ด์„ ์ค„์ธ๋‹ค.)

๐Ÿ’ก GBDT(Gradient Boosting Decision Tree)๋Š” Feature์ฐจ์›์ด ๋†’๊ณ  ๋ฐ์ดํ„ฐ ํฌ๊ธฐ๊ฐ€ ํด ๊ฒฝ์šฐ, ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๋ถ„ํ•  ์ง€์ ์˜ Information Gain์„ ์ถ”์ •ํ•˜๊ธฐ ์œ„ํ•ด ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์ธ์Šคํ„ด์Šค๋ฅผ ํƒ์ƒ‰ํ•ด์•ผ ๋  ๋•Œ ๋งŽ์€ ์‹œ๊ฐ„์„ ์†Œ๋น„ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์Œ

๐Ÿ’ก GBM ๊ณ„์—ด์˜ ํŠธ๋ฆฌ ๋ถ„ํ•  ๋ฐฉ์‹

  • ์žฅ์ : ์ตœ๋Œ€ํ•œ ๊ท ํ˜• ์žกํžŒ ํŠธ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜๋ฉด์„œ ํŠธ๋ฆฌ์˜ ๊นŠ์ด๋ฅผ ์ตœ์†Œํ™” ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋‹จ์ : ๊ณผ์ ํ•ฉ ๋ฌธ์ œ์— ๋” ๊ฐ•ํ•œ ๊ตฌ์กฐ๋ฅผ ๊ฐ–๊ฒŒ ๋˜์ง€๋งŒ ๊ท ํ˜•์„ ๋งž์ถ”๊ธฐ ์œ„ํ•œ ์‹œ๊ฐ„์ด ํ•„์š”ํ•˜๋‹ค.

๐Ÿค” CatBoost

๊ธฐ์กด ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋น„๊ตํ•˜์—ฌ ์ˆœ์—ด ๊ธฐ๋ฐ˜ ๋Œ€์•ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฒ”์ฃผํ˜• ๊ธฐ๋Šฅ์„ ํ•ด๊ฒฐํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜๋Š” ๊ทธ๋ ˆ๋””์–ธํŠธ ๋ถ€์ŠคํŒ… ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ œ๊ณตํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ œ๊ณต

  • ๋ฒ”์ฃผํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ๋”ฐ๋กœ ์ธ์ฝ”๋”ฉํ•  ํ•„์š”๊ฐ€ ์—†์ง€๋งŒ ๋ชจ๋ธ ํ›ˆ๋ จ์‹œ ์–ด๋–ค ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฒ”์ฃผํ˜•์ธ์ง€ ์•Œ๋ ค์ฃผ์–ด์•ผ ํ•จ.
  • XGBoost ์ฒ˜๋Ÿผ ๊นŠ์ด๋ณ„ ํŠธ๋ฆฌ ์„ฑ์žฅ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜์ง€๋งŒ ๋Œ€์นญ์ ์ธ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง
    ์ž์ฒด์ ์œผ๋กœ grid_search() ์™€ randomized_search()๋ฅผ ์ œ๊ณต

๐Ÿ’ก ์žฅ์ 
1) ๊ณผ์ ํ•ฉ์„ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ๋ถ€์ŠคํŒ… ์ฃผ๋ฌธ
2) ๋ฒ”์ฃผํ˜• ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ฒ˜๋ฆฌ
3) ๋น ๋ฅธ GPU ํ›ˆ๋ จ
4) ๋ชจ๋ธ ๋ฐ ๊ธฐ๋Šฅ ๋ถ„์„์„ ์œ„ํ•œ ์‹œ๊ฐํ™” ๋ฐ ๋„๊ตฌ
5) ๊ณผ์ ํ•ฉ์„ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ๋ถ€์ŠคํŒ…์„ ์‚ฌ์šฉ
6) ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ ๋ฒ”์ฃผํ˜• ํŠน์„ฑ์„ ์ž˜ ์ฒ˜๋ฆฌํ•จ
7) ๋” ๋น ๋ฅธ ์‹คํ–‰์„ ์œ„ํ•ด Oblivious Trees ๋˜๋Š” Symmetric Trees ์‚ฌ์šฉ

๐Ÿ’ก ๋‹จ์ 
1) CatBoost ๋Š” ํฌ์†Œ ํ–‰๋ ฌ์„ ์ง€์› ํ•˜์ง€ ์•Š์Œ
2) ๋ฐ์ดํ„ฐ ์„ธํŠธ์— ์ˆ˜์น˜ํ˜• ํƒ€์ž…์ด ๋งŽ์„ ๋•Œ CatBoost๋Š” LightGBM๋ณด๋‹ค ํ›ˆ๋ จํ•˜๋Š” ๋ฐ ์ƒ๋Œ€์ ์œผ๋กœ ๋งŽ์€ ์‹œ๊ฐ„์ด ์†Œ์š”

๐Ÿ’ก ํŠน์ง•

  • ์ˆ˜ํ‰ํŠธ๋ฆฌ (Level-wise Tree)
  • ์ •๋ ฌ๋œ ๋ถ€์ŠคํŒ… (Orderd Boosting)
  • ์ž„์˜ ์ˆœ์—ด (Random Permutation)
  • ์ •๋ ฌ๋œ ๋Œ€์ƒ ์ธ์ฝ”๋”ฉ (Ordered Target Encoding)
  • ๋ฒ”์ฃผํ˜• Feauture ์กฐํ•ฉ (Categorical Feauture Combinations)
  • ์›ํ•ซ ์ธ์ฝ”๋”ฉ (One-hot Encoding)
  • ์ตœ์ ํ™”๋œ ํŒŒ๋ผ๋ฏธํ„ฐ ํŠœ๋‹ (Optimized Parameter tuning)
  • ์ค‘๋ณต๋˜๋Š” ๋ฒ”์ฃผํ˜• ๋ณ€์ˆ˜ ์ฒ˜๋ฆฌ
    : Class๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋Š” ์ค‘๋ณต๋˜๋Š” ๋ณ€์ˆ˜๊ฐ€ 2๊ฐœ ์ด์ƒ ์กด์žฌํ•œ๋‹ค๊ณ  ํ•  ๋•Œ, ์ด๋ฅผ ํ•˜๋‚˜์˜ ๋ณ€์ˆ˜๋กœ ํ†ตํ•ฉํ•ด ์ฒ˜๋ฆฌ - ํ”ผ์ฒ˜๊ฐ€ ๋Š˜์–ด๋‚˜๋Š” ๋ฌธ์ œ๋ฅผ ์ค„์—ฌ computing cost๋„ ๋‚ฎ์ถœ ์ˆ˜ ์žˆ๋‹ค.

โ—๏ธ ML๊ณผ DL์— ๋งค์šฐ ์ค‘์š”ํ•œ ๊ฐœ๋…

๊ธฐ์šธ๊ธฐ => ๋ฏธ๋ถ„์œผ๋กœ loss์˜ ํฌ๊ธฐ๋‚˜ ๋ฐฉํ–ฅ(+, -)
ํ•™์Šต๋ฅ  => ๋ณดํญ, ๊ฑธ์„ ๋•Œ ์–ผ๋งˆ์˜ ๋ณดํญ์œผ๋กœ ๊ฑธ์œผ๋ฉด ๋นจ๋ฆฌ ๊ฑธ์„ ์ˆ˜๋„ ์žˆ๊ณ  ์ฒœ์ฒœํžˆ ๊ฑธ์„ ์ˆ˜๋„ ์žˆ๋Š”๋ฐ ํ•™์Šตํ•  ๋•Œ๋„ ํฌ๋ฉด ๋น ๋ฅด๊ฒŒ ํ•™์Šตํ•˜์ง€๋งŒ ์ตœ์ €์ ์„ ์ง€๋‚˜์น  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ™‹๐Ÿปโ€โ™€๏ธ ์งˆ๋ฌธ

Q: GBM, XGBoost, LightGBM, ๋ชจ๋ธ์ด๋ฆ„์— ๋“ค์–ด๊ฐ€๋Š” G ๋Š” ๋ฌด์—‡์„ ์˜๋ฏธํ• ๊นŒ์š”?
A: ๊ฐ€์ค‘์น˜ ์—…๋ฐ์ดํŠธํ•  ๋•Œ ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•(gradient descent) ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ

Q: Gradient(๊ฒฝ์‚ฌ, ๊ธฐ์šธ๊ธฐ) ๋Š” ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ• ๊นŒ์š”?
A: ์†์‹คํ•จ์ˆ˜ ๊ทธ๋ž˜ํ”„์—์„œ ๊ฐ’์ด ๊ฐ€์žฅ ๋‚ฎ์€ ์ง€์ ์œผ๋กœ ๊ฒฝ์‚ฌ๋ฅผ ํƒ€๊ณ  ํ•˜๊ฐ•ํ•ฉ๋‹ˆ๋‹ค. ๋จธ์‹ ๋Ÿฌ๋‹์—์„œ ์˜ˆ์ธก๊ฐ’๊ณผ ์ •๋‹ต๊ฐ’๊ฐ„์˜ ์ฐจ์ด๊ฐ€ ์†์‹คํ•จ์ˆ˜์ธ๋ฐ ์ด ํฌ๊ธฐ๋ฅผ ์ตœ์†Œํ™”์‹œํ‚ค๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

Q: GPU?
A: ๊ทธ๋ž˜ํ”ฝ์นด๋“œ์ด๋ฉฐ ๋ณ‘๋ ฌ๊ณ„์‚ฐ์ฒ˜๋ฆฌ์— ์šฉ์ดํ•ฉ๋‹ˆ๋‹ค. ๊ฒŒ์ž„, ์•”ํ˜ธํ™”ํ, ์ธ๊ณต์ง€๋Šฅ ๋“ฑ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

Q: Residual ์€ ๋ฌด์—‡์ผ๊นŒ์š”?
A: Residual == ์ž”์ฐจ (ํ‘œ๋ณธ์ง‘๋‹จ์˜ ํšŒ๊ท€์‹์—์„œ ์˜ˆ์ธก๋œ ๊ฐ’)

Q: ์™œ absolute loss๋ฅผ ์ง€์›์„ ํ•˜๋Š”๋ฐ squared loss ๋ฅผ ๋” ๋งŽ์ด ์‚ฌ์šฉํ• ๊นŒ์š”?
A: ๊ธฐ์šธ๊ธฐ๊ฐ€ +, - ๋ฐฉํ–ฅ์— ๋”ฐ๋ผ ๊ฐ™์€ ๊ธฐ์šธ๊ธฐ๊ฐ€ ๋‚˜์˜ค๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฉํ–ฅ์€ ์•Œ ์ˆ˜ ์žˆ์ง€๋งŒ ๊ธฐ์šธ๊ธฐ๊ฐ€ ๊ฐ™์•„์„œ ๋ฏธ๋ถ„์„ ํ–ˆ์„ ๋•Œ ๋ฐฉํ–ฅ์— ๋”ฐ๋ผ ๊ฐ™์€ ๋ฏธ๋ถ„๊ฐ’์ด ๋‚˜์™€์„œ ๊ธฐ์šธ๊ธฐ๊ฐ€ ํฐ์ง€, ์ž‘์€์ง€ ๋น„๊ตํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ squared loss ๋ฅผ ๋” ๋งŽ์ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

Q: ๋พฐ์กฑํ•˜๊ฒŒ ๋‚˜์˜ค๊ฒŒ ๋˜๋ฉด ๋ฏธ๋ถ„์„ ๋ชปํ•˜์ง€ ์•Š๋‚˜์š”?
A: ๋ฏธ๋ถ„์„ ํ•˜๋ฉด ๊ธฐ์šธ๊ธฐ๊ฐ€ 0์ด ๋˜๋Š” ์ง€์ ์ด ๋พฐ์กฑํ•œ ์ง€์ ์ž…๋‹ˆ๋‹ค.

Q: ๋ฏธ๋ถ„์„ ํ•˜๋Š” ์ด์œ ?
A: ๊ธฐ์šธ๊ธฐ๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด

Q: ์™œ ๋ถ€์ŠคํŒ… ๊ณ„์—ด ๋ชจ๋ธ์ด ์„ค์น˜๊ฐ€ ์ž˜ ๋˜๊ธฐ๋„ ํ•˜์ง€๋งŒ ์„ค์น˜์— ์‹คํŒจํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธธ๊นŒ์š”?
A: ๋‹ค๋ฅธ ์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์—ˆ๋Š”๋ฐ ํŒŒ์ด์ฌ wrapper API ๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ตฌ๋™ํ•˜๋ ค๋ฉด ๋‹ค๋ฅธ ์–ธ์–ด ํ™˜๊ฒฝ์ด ํ•จ๊ป˜ ํ•„์š”ํ•œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด์— ๋‹ค๋ฅธ ๋„๊ตฌ๋ฅผ ์„ค์น˜ํ•˜๋‹ค๊ฐ€ ํ•ด๋‹น ์–ธ์–ด ํ™˜๊ฒฝ ๋„๊ตฌ๋ฅผ ์„ค์น˜ํ•ด ๋†จ๋˜ ๋ถ„๋“ค์€ ๋น„๊ต์  ์ž˜ ์„ค์น˜๊ฐ€ ๋˜์ง€๋งŒ, ์ฒ˜์Œ ์„ค์น˜ํ•  ๋•Œ๋Š” ์‹คํŒจํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. conda ๋Š” ๋น„๊ต์  ํŒจํ‚ค์ง•์ด ์ž˜ ๋˜์–ด ์žˆ์–ด์„œ ๊ด€๋ จ๋œ ํ™˜๊ฒฝ์„ ์ž˜ ๊ตฌ์„ฑํ•ด ์ค๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋˜๋„๋ก์ด๋ฉด conda๋กœ ์„ค์น˜ํ•ด์•ผ ์ŠคํŠธ๋ ˆ์Šค๊ฐ€ ์ค„์–ด๋“ญ๋‹ˆ๋‹ค.


๐Ÿฆ ์งˆ๋ฌธ

Q: shape ๋ฉ”์†Œ๋“œ๋Š” ํ–‰๋ ฌ์ด๋ฉด ๋‹ค ์“ธ ์ˆ˜ ์žˆ๋Š”๊ฑด๊ฐ€์š”?
A: numpy array์—์„œ๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

Q: ๋ชจ๋ธ์— ๋“ค์–ด๊ฐ€๋Š” X๊ฐ’์€ numpy ๋ฐฐ์—ด์ด์–ด๋„ ์ƒ๊ด€์ด ์—†๋‚˜์š”?
A: ๋ชจ๋ธ์— ๋“ค์–ด๊ฐ€๋Š” ๊ฐ’์€ ์›๋ž˜ ๋ชจ๋‘ numpy ๋ฐฐ์—ด

Q: ๋ถ€์ŠคํŒ… ๊ณ„์—ด ์ž์ฒด๊ฐ€ ๋ฌด์ž‘์œ„์„ฑ์ด ์—†๋‚˜์š”?
A: ์ด์ „ ์˜ค์ฐจ (์‹ค์ˆ˜)๋ฅผ ๋ณด์™„ํ•ด์„œ ์ˆœ์ฐจ์ ์œผ๋กœ ๋ชจ๋ธ์„ ๋งŒ๋“ค๊ธฐ ๋•Œ๋ฌธ์— ๋ฌด์ž‘์œ„์„ฑ์ด ์—†๋‹ค.

Q: gbt ์Šค์ฝ”์–ด๋Š” 0์œผ๋กœ ๊ฐ€๊นŒ์šธ์ˆ˜๋ก ์„ฑ๋Šฅ์ด ์ข‹๋‹ค๊ณ  ํŒ๋‹จํ•˜๋Š”๊ฑด๊ฐ€์š”?
A: R2 Score๋ผ 1์— ๊ฐ€๊นŒ์šธ์ˆ˜๋ก ์ž˜ ์˜ˆ์ธกํ•œ ๊ฒƒ์ด๋‹ค.

Q: kaggle์—์„œ ์ œ์ถœํ•˜๊ณ  ์ ์ˆ˜๋ฅผ ๋ณผ ๋•Œ public๋ง๊ณ  private์œผ๋กœ ๋ณด๋ฉด ๋˜๋‚˜์š”?
A: ์ตœ์ข… ๊ฒฐ๊ณผ๋Š” private score๋กœ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค.

  • ๋Œ€ํšŒ๋งˆ๋‹ค public score์™€ private score๋ฅผ ๋งค๊ธฐ๋Š” ๋ฐฉ์‹์ด ๋‹ค ๋‹ค๋ฅด์ง€๋งŒ, ์ผ๋ฐ˜์ ์œผ๋กœ public score๋Š” ์ „์ฒด ๋ฐ์ดํ„ฐ ์ค‘ ์ผ๋ถ€๋งŒ์„ ์ƒ˜ํ”Œ๋งํ•˜์—ฌ ์ฑ„์ ํ•˜๊ณ , private score๋Š” ์ „์ฒด ๋ฐ์ดํ„ฐ ์ค‘ ๋” ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์ฑ„์ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ฐธ๊ฐ€์ž๋“ค์ด ์–ป์€ public score๋Š” ๋ฆฌ๋”๋ณด๋“œ์— ๊ณต๊ฐœ๋˜๋ฉฐ ์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ํ˜„์žฌ ์œ„์น˜๋ฅผ ๊ฐ€๋Š ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Q: Gradient ๊ฐ€ ๊ฒฝ์‚ฌ๋ผ๋Š” ์˜๋ฏธ์ธ๋ฐ, ํฌ๋‹ค๋Š” ๊ฑด ๊ฒฝ์‚ฌ๋„๊ฐ€ ๋†’๋‹ค, ๊ฒฝ์‚ฌ๊ฐ€ ๊ธ‰ํ•˜๋‹ค๋Š” ๋œป์ด ์•„๋‹Œ๊ฐ€์š”?
A: ์‹ค์ œ๊ฐ’๊ณผ ์˜ˆ์ธก๊ฐ’์˜ ์ฐจ์ด๊ฐ€ ํฌ๋‹ค๋ผ๋Š” ๋œป์ด๋ฉฐ ์˜ˆ์ธก์„ ์ž˜ ๋ชปํ–ˆ๋‹ค๋Š” ์˜๋ฏธ.
๐Ÿ‘‰๐Ÿป ๊ทธ๋ž˜์„œ boosting ๋ชจ๋ธ์€ ํ‹€๋ฆฐ (์˜ˆ์ธก์„ ์ž˜ ๋ชปํ•œ) ๋ฌธ์ œ๋กœ ๋‹ค์Œ ๋ชจ๋ธ์„ ๋งŒ๋“ค์–ด ํ•™์Šตํ•˜๊ณ  ์˜ˆ์ธกํ•œ๋‹ค. ํ‹€๋ฆฐ ๋ฌธ์ œ๋ฅผ ๋งž์ถœ ๋•Œ ๊นŒ์ง€ ํ’€์–ด๋ณด๊ฒŒ ํ•œ๋‹ค.

Q: ๋ฐœ์‚ฐ์˜ ์šฐ๋ ค๊ฐ€ ๋†’์€ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ฐ€์ ธ๊ฐ€์•ผ ๋” ๋น ๋ฅด๊ฒŒ ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ๋‚˜์š”?
A: ์†๋„๋Š” ๋น ๋ฅด์ง€๋งŒ ์†์‹ค ๊ฐ’์€ ํด ์ˆ˜ ์žˆ๋‹ค. (์„ฑ๋Šฅ์ด ๋‚ฎ์„ ์ˆ˜ ์žˆ๋‹ค.) ์ ๋‹นํ•œ learning rate๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค. ๊ทธ๋ ‡๋‹ค๊ณ  ๋Ÿฌ๋‹๋ ˆ์ดํŠธ๋ฅผ ๋„ˆ๋ฌด ์ž‘๊ฒŒ ์„ค์ •ํ•˜๋ฉด ํ•™์Šต์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค.


โœ๏ธ TIL

  • ์‚ฌ์‹ค(Fact): Gradient Boosting ๋ชจ๋ธ์— ๋Œ€ํ•ด ๋ฐฐ์› ๋‹ค.
  • ๋Š๋‚Œ(Feeling): ์•Œ์•„์•ผ ํ•  ๊ฐœ๋…์ด ๋” ๋Š˜์—ˆ๋‹ค. ์ •์‹  ๋ฐ”์ง ์ฐจ๋ฆฌ์ง€ ์•Š์œผ๋ฉด ๋ชป ๋”ฐ๋ผ๊ฐˆ ๊ฒƒ ๊ฐ™๋‹ค.
  • ๊ตํ›ˆ(Finding): ์ค‘์š”ํ•œ ๊ฐœ๋… ๋ณต์Šตํ•˜๊ธฐ.. ๋‘ ๋ฒˆ ํ•˜๊ธฐ..!
profile
๋ฐ์ดํ„ฐ ๋ถ„์„๊ฐ€๊ฐ€ ๋˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ก โœ๏ธ

0๊ฐœ์˜ ๋Œ“๊ธ€