Xgboost: xgboost๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ lambdamart ๋ชฉ๋ก๋ณ„ ์ˆœ์œ„ ์ง€์ •์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์— ๋งŒ๋“  2016๋…„ 03์›” 02์ผ  ยท  9์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: dmlc/xgboost

" rank:pairwise " - pairwise ์†์‹ค์„ ์ตœ์†Œํ™”ํ•˜์—ฌ ์ˆœ์œ„ ์ง€์ • ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก XGBoost ์„ค์ •

๋‹น์‹ ์€ ์ด๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๊นŒ? ๋žŒ๋‹ค๋งˆํŠธ๋Š” ๋ชฉ๋ก๋ณ„ ์ ‘๊ทผ ๋ฐฉ์‹์ด๋ฏ€๋กœ ๋ชฉ๋ก๋ณ„ ์ˆœ์œ„์— ์–ด๋–ป๊ฒŒ ๋งž์ถœ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? commond, ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ฐ ๊ต์œก ๋ฐ์ดํ„ฐ ํ˜•์‹์„ ํฌํ•จํ•˜๊ณ  ์–ด๋””์„œ ๋žŒ๋‹ค๋งˆํŠธ์— ๋Œ€ํ•œ ๋žŒ๋‹ค๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
๊ฐ„๋‹จํ•œ ๋ฐ๋ชจ๋‚˜ ์†Œ๊ฐœ๋ฅผ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๋งŽ์€ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ด๊ฒƒ์€ ๋ฌธ์„œ์—์„œ ์„ค๋ช…์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
๊ตฌ์ฒด์ ์œผ๋กœ ํŠน๋ณ„ํžˆ:

  1. FAQ์—๋Š” "์˜ˆ, xgboost๋Š” LambdaMART๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ๋งค๊ฐœ๋ณ€์ˆ˜์—์„œ ๋ชฉํ‘œ ์„น์…˜์„ ํ™•์ธํ•˜์„ธ์š”"๋ผ๊ณ  ํ‘œ์‹œ๋˜์ง€๋งŒ ๋งค๊ฐœ๋ณ€์ˆ˜ ํŽ˜์ด์ง€์—๋Š” LambdaMART์— ๋Œ€ํ•œ ์–ธ๊ธ‰์ด ์ „ํ˜€ ์—†์Šต๋‹ˆ๋‹ค.
  2. LambdaMART๊ฐ€ ์กด์žฌํ•œ๋‹ค๋ฉด ์˜ˆ๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•œ PR์„ ์ œ์ถœํ•˜๊ฒŒ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค.
  3. ์ด๊ฒƒ์€ ๋‹จ์ง€ ์šฉ์–ด ํ˜ผํ•ฉ์˜ ๋ฌธ์ œ์ผ ์ˆ˜ ์žˆ์ง€๋งŒ, Xgboost๊ฐ€ FAQ์—์„œ ๋ฌธ์„œ์™€ ์ฝ”๋“œ๊ฐ€ ํ•ด๋‹น ์šฉ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” LambdaMART๋ฅผ ๊ด‘๊ณ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  9 ๋Œ“๊ธ€

๊ทธ๋ž˜ ์•Œ์•˜์–ด. XGBoost๋Š” ์ˆœ์œ„ ์ง€์ • ์ž‘์—… ์ˆ˜ํ–‰์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ˆœ์œ„ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ๋ฐ์ดํ„ฐ๋Š” ์ข…์ข… ๊ทธ๋ฃนํ™”๋˜๋ฉฐ s์— ๋Œ€ํ•œ ๊ทธ๋ฃน ์ •๋ณด ํŒŒ์ผ ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
์ˆœ์œ„ ์ž‘์—…์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. XGBoost์—์„œ ์ˆœ์œ„ ์ง€์ •์— ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋ธ์€ LambdaRank์ด๋ฉฐ ์ด ๊ธฐ๋Šฅ์€ ์•„์ง ์™„๋ฃŒ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ pairwise ์ˆœ์œ„๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋ชฉ๋ก๋ณ„ ํ•™์Šต์€ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ๊ณ„ํš?

ndcg ๋ฉ”ํŠธ๋ฆญ๊ณผ ํ•จ๊ป˜ ๋žŒ๋‹ค ์ˆœ์œ„์— rank:ndcg ์‚ฌ์šฉ

์•ˆ๋…•ํ•˜์„ธ์š”, ๋ฐฉ๊ธˆ objective = ' rank:map ' ๋ฐ objective = ' rank:ndcg '๋ฅผ ๋ชจ๋‘ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ์ง€๋งŒ ์–ด๋Š ๊ฒƒ๋„ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. pairwise ๋ชฉ์  ํ•จ์ˆ˜๋Š” ์‹ค์ œ๋กœ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ์—์„œ LambdaMART ๋ชฉ์  ํ•จ์ˆ˜๊ฐ€ ์—ฌ์ „ํžˆ ์กด์žฌํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์ง€๋งŒ ํŒŒ์ด์ฌ API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ ํƒํ•  ์ˆ˜ ์—†๋Š” ์ด์œ ๋ฅผ ์ดํ•ดํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ๊ฐ์‚ฌ ํ•ด์š”.

@tqchen rank:ndcg ๋˜๋Š” rank:map ๊ฐ€ Python์—์„œ ์ž‘๋™ํ•˜๋Š”์ง€ ๋…ผํ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์ด๊ฒƒ์€ ๋ฌธ์„œ์—์„œ ์„ค๋ช…์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
๊ตฌ์ฒด์ ์œผ๋กœ ํŠน๋ณ„ํžˆ:

  1. FAQ์—๋Š” "์˜ˆ, xgboost๋Š” LambdaMART๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ๋งค๊ฐœ๋ณ€์ˆ˜์—์„œ ๋ชฉํ‘œ ์„น์…˜์„ ํ™•์ธํ•˜์„ธ์š”"๋ผ๊ณ  ํ‘œ์‹œ๋˜์ง€๋งŒ ๋งค๊ฐœ๋ณ€์ˆ˜ ํŽ˜์ด์ง€์—๋Š” LambdaMART์— ๋Œ€ํ•œ ์–ธ๊ธ‰์ด ์ „ํ˜€ ์—†์Šต๋‹ˆ๋‹ค.
  2. LambdaMART๊ฐ€ ์กด์žฌํ•œ๋‹ค๋ฉด ์˜ˆ๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•œ PR์„ ์ œ์ถœํ•˜๊ฒŒ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค.
  3. ์ด๊ฒƒ์€ ๋‹จ์ง€ ์šฉ์–ด ํ˜ผํ•ฉ์˜ ๋ฌธ์ œ์ผ ์ˆ˜ ์žˆ์ง€๋งŒ, Xgboost๊ฐ€ FAQ์—์„œ ๋ฌธ์„œ์™€ ์ฝ”๋“œ๊ฐ€ ํ•ด๋‹น ์šฉ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” LambdaMART๋ฅผ ๊ด‘๊ณ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ๋˜์—ˆ๋‚˜์š”?

FWIW, " rank:ndcg "๋Š” https://github.com/dmlc/xgboost/blob/72cd1517d6b1d145c34e13a063fadd31b507b01d/src/objective/rank_obj.cc#L331์— ์ •์˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์„œ๋ฅผ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

@vatsan ์‹ค์ˆ˜์˜€๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ฌธ์„œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์œ„ํ•ด pull ์š”์ฒญ์„ ์ œ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@vatsan @Sandy4321 @travisbrady ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ฌธ์„œ์— ๋ชจ๋“  ๋ชฉํ‘œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. #3672

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰