ML&DL Service

๋จธ์‹  ๋Ÿฌ๋‹ ํ”„๋กœ์ ํŠธ๋ฅผ ๋‹จ๊ณ„๋ณ„๋กœ ๊ฐœ์„ ํ•˜๋Š” ๋ฐฉ๋ฒ• #1

guava 2023. 2. 11. 23:01

์ด ๊ธ€์€ Structuring Machine Learning Projects ๋ผ๋Š” ๊ฐ•์˜ ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ, ํ•„์ž์˜ ๊ฒฝํ—˜๊ณผ ์˜๊ฒฌ์„ ๋ง๋ถ™์ธ ๊ธ€์ž…๋‹ˆ๋‹ค.

 

(1) ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ์˜ ์˜ˆ์ธก ์ •ํ™•๋„๋ฅผ ๋” ๋†’์ด๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ์˜ ๋‹ค์–‘ํ•œ ์„ ํƒ์ง€

(2) Chain Assumptions in ML

(3) ๊ธฐํƒ€ ๊ฒฝํ—˜์ ์ธ Tips

 

์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ๋‹ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

* ์› ๊ฐ•์˜ : Structuring Machine Learning Projects


"๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ์ด ์ž˜ ๋™์ž‘ํ•˜์ง€ ์•Š์„ ๋•Œ, ์šฐ๋ฆฌ๋Š” ์–ด๋–ป๊ฒŒ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์„๊นŒ?"

 

   1. ๋จธ์‹ ๋Ÿฌ๋‹ ํ”„๋กœ์ ํŠธ๋Š”, ์ •ํ˜•ํ™”๋œ ๋‹จ๊ณ„๋“ค๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.

   2. ๋‚ด ํ”„๋กœ์ ํŠธ๊ฐ€ ์–ด๋А ๋‹จ๊ณ„์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋Š”์ง€ ํŒŒ์•…ํ•œ๋‹ค.

   3. ํ•ด๋‹น ๋‹จ๊ณ„์— ์ ํ•ฉํ•œ ๋ฐฉ๋ฒ•๋ก ์„ ์‹œ๋„ํ•˜์—ฌ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•œ๋‹ค.

 

Image of AARN GIRI

ํ”„๋กœ๋•์…˜ ๋ ˆ๋ฒจ์—์„œ ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ๋งŒ๋“ค ๋•Œ, ์˜ˆ์ƒ๋ณด๋‹ค ๋ชจ๋ธ ์„ฑ๋Šฅ์ด ์ž˜ ๋‚˜์˜ค์ง€ ์•Š๋Š” ์ƒํ™ฉ์„ ์ข…์ข… ๊ฒฝํ—˜ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

"๋ชจ๋ธ ์„ฑ๋Šฅ์ด ์ข‹์ง€ ์•Š์Œ" ์ด๋ผ๋Š” ํ•˜๋‚˜์˜ ๊ฒฐ๊ณผ์— ๋Œ€ํ•ด ์ˆ˜๋งŽ์€ ์›์ธ์ด ์žˆ์„ ์ˆ˜ ์žˆ๋Š”๋ฐ์š”, ์ด๋Ÿฐ ์ƒํ™ฉ์—์„œ ์ง„์งœ ์›์ธ์„ ์ฐพ์•„๋‚ด๋Š” ๋ฐ ์ƒ๋‹นํ•œ ๋…ธ๋ ฅ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

 

์ด์— ๋Œ€ํ•ด Coursera์™€ Landing AI ์ฐฝ์—…์ž๋กœ ์œ ๋ช…ํ•œ Andrew Ng ๊ต์ˆ˜๋‹˜์ด ๊ตฌ์กฐ์ ์ธ ์ ‘๊ทผ ๋ฐฉ๋ฒ•์„ ์ œ์•ˆํ•œ ๋‚ด์šฉ์ด ์žˆ์–ด ์†Œ๊ฐœ ๋“œ๋ฆฌ๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. (CS229์™€ ๊ฐ™์€ ์œ ๋ช…ํ•œ ๊ฐ•์˜๋“ค์— ๋น„ํ•ด ์ด ๊ฐ•์˜๋Š” ๋œ ์•Œ๋ ค์ง„ ๋“ฏ ํ•˜๋„ค์š”.) ์–ด๋ ต์ง€ ์•Š์€ ๋‚ด์šฉ์ด์ง€๋งŒ, ๋จธ์‹ ๋Ÿฌ๋‹ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌ์กฐ์ ์œผ๋กœ ์ ‘๊ทผํ•œ๋‹ค๋ฉด ๋ฌธ์ œ ์›์ธ์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•œ ์‹œ๊ฐ„์„ ์ƒ๋‹นํžˆ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

1. ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ์˜ ์˜ˆ์ธก ์ •ํ™•๋„๋ฅผ ๋” ๋†’์ด๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ์˜ ๋‹ค์–‘ํ•œ ์„ ํƒ์ง€

  1. ๋ฌธ์ œ ์„ธํŒ…์„ ๋ฐ”๊ฟ”๋ณธ๋‹ค.
    1. ์ €์˜ ๊ฒฝ์šฐ, ์‹ค์ œ๋กœ ๊ฐ€์žฅ ๋งŽ์ด ๋ฌธ์ œ๊ฐ€ ๋˜์—ˆ๋˜ ์ผ€์ด์Šค ์ž…๋‹ˆ๋‹ค.
    2. ๊ฐ ํ–‰์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐ์ดํ„ฐ์™€ ์ •๋‹ต์ง€๋ฅผ ๋ฐ”๊ฟ” ๋ด…๋‹ˆ๋‹ค.
    3. ํŠนํžˆ Train-valid-predict ์—์„œ ๋™์ผํ•œ ๋ฐ์ดํ„ฐ ํ˜•ํƒœ๋กœ ๋ฌธ์ œ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.
      1. ์˜ˆ๋ฅผ ๋“ค์–ด "๊ณ ๊ฐ key - ํ•ด๋‹น ๊ณ ๊ฐ์ด ์˜ค๋Š˜ ์ƒํ’ˆ key - ํด๋ฆญ ์—ฌ๋ถ€" ์„ ๊ธฐ์ค€์œผ๋กœ ๊ฐ ํ–‰์„ ๊ตฌ์„ฑํ•˜๋ฉด, predict ์‹œ์— ๋ฌธ์ œ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.
      2. ์™œ๋ƒํ•˜๋ฉด ๊ฒฐ๊ตญ ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒƒ์€ ๋‚ด์ผ ํ•ด๋‹น ๊ณ ๊ฐ์ด ์–ด๋–ค ์ƒํ’ˆ์„ ํด๋ฆญํ•  ํ™•๋ฅ ์ด ๋†’์€์ง€ ์•Œ๊ณ  ์‹ถ์€ ๊ฒƒ์ธ๋ฐ, "๋ณธ ์ƒํ’ˆ ์ค‘์—์„œ ๋ฌด์—‡์„ ํด๋ฆญํ• ์ง€" ๋ฅผ ๋งž์ถ”๋Š” ๋ฌธ์ œ๋กœ ์„ธํŒ…ํ•˜๋ฉด, ํ•ด๋‹น ๊ณ ๊ฐ์ด "๋‚ด์ผ ์–ด๋–ค ์ƒํ’ˆ์„ ๋ณผ ์ง€" ๋ฅผ ์•Œ๊ธฐ๊ฐ€ ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
        1. ๋ฌผ๋ก  ๋‚ด์ผ ์–ด๋–ค ์ƒํ’ˆ๋“ค์ด ๋…ธ์ถœ๋ ์ง€๋ฅผ ์˜ˆ์ธกํ•˜๊ฑฐ๋‚˜ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด, ์ด๋ ‡๊ฒŒ ๋ฌธ์ œ๋ฅผ ์„ธํŒ…ํ•ด๋„ ๋ฌด๊ด€ํ•ฉ๋‹ˆ๋‹ค.
      3. ์ด ๊ฒฝ์šฐ, "๊ณ ๊ฐ key - ํ•ด๋‹น ๊ณ ๊ฐ์—๊ฒŒ ์ถ”์ฒœ ๋ชจ๋ธ์ด ์˜ค๋Š˜ ์ถ”์ฒœํ•œ ์ƒํ’ˆ key - ํด๋ฆญ ์—ฌ๋ถ€" ๋กœ ๋ฌธ์ œ๋ฅผ ๊ตฌ์„ฑํ•˜๋ฉด train-predict ์‹œ์— ๋™์ผํ•œ ๋ฌธ์ œ๋ฅผ ํ’€๊ฒŒ ๋˜๋ฏ€๋กœ ๋ชจ๋ธ์ด ์›ํ•˜๋Š”๋Œ€๋กœ ๋™์ž‘ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
  2. ๋” ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•œ๋‹ค.
    1. ๋ฌผ๋ก  ์‹ค์ œ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€๋กœ ๋” ์ˆ˜์ง‘ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๋Š” ๋งŽ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‹œ๊ฐ„/์ธ๊ฑด๋น„ ๋“ฑ์ด ์ถ”๊ฐ€๋กœ ์†Œ์š”๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋Œ€๋ถ€๋ถ„์ด๊ธฐ ๋•Œ๋ฌธ์ด์ฃ .
      1. ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘์—๋Š” ๋Œ€๋ถ€๋ถ„ ๋น„์šฉ์ด ๋ฐœ์ƒํ•˜๊ณ , ์ด๋Ÿฌํ•œ ์ด์œ ๋กœ ๋ฐ์ดํ„ฐ๋งŒ ์ž˜ ์Œ“์•„ ๋‘” ์Šคํƒ€ํŠธ์—…์ด๋ผ๋„ ๋†’์€ ๊ฐ€์น˜๋ฅผ ์ธ์ • ๋ฐ›์€ ๊ฒฝ์šฐ๋“ค์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
    2. ๋Œ€์‹  ๋ฐ์ดํ„ฐ ํ™œ์šฉ ๊ธฐ๊ฐ„(์˜ˆ> 2์ฃผ์ผ์—์„œ 1๋‹ฌ๋กœ..)์„ ๋Š˜๋ฆฌ๋Š” ๋“ฑ์˜ ์‹œ๋„๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
    3. ๋˜๋Š” ์‚ฌ๋‚ด์˜ ๋” ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ๋กœ ๋ฌธ์ œ ์„ธํŒ…์„ ๋ฐ”๊ฟ” ๋ณผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. (ํ–‰ ๊ตฌ์„ฑ, ์ •๋‹ต์ง€)
  3. ๋” ๋‹ค์–‘ํ•œ ํ•™์Šต ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•œ๋‹ค. 
    1. ํ•™์Šต ๋ฐ์ดํ„ฐ ๊ตฌ์„ฑ์— ํŽธํ–ฅ์ด ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ, ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์˜ˆ์ธก๋ ฅ์ด ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    2. ์˜ˆ๋ฅผ ๋“ค์–ด ์–ด๋–ค ๋™๋ฌผ์ด ๊ณ ์–‘์ด์ธ์ง€ ๋ถ„๋ฅ˜ํ•ด ๋‚ด๋Š” ๋ชจ๋ธ์„ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ ํ•™์Šต ๋ฐ์ดํ„ฐ์— ๋…ธ๋ฅด์›จ์ด์ˆฒ ๊ณ ์–‘์ด๋ฐ–์— ์—†๋‹ค๋ฉด, ์ฝ”์ˆ ๊ณ ์–‘์ด์— ๋Œ€ํ•ด์„œ๋Š” ์˜ˆ์ธก ์ •ํ™•๋„๊ฐ€ ๋–จ์–ด์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
    3. Data augmentation ๊ณผ ๊ฐ™์€ ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.
  4. ๋ชจ๋ธ์„ ๋” ์˜ค๋ž˜ ํ•™์Šต ์‹œํ‚จ๋‹ค. 
    1. Gradient Descent ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•™์Šต์‹œํ‚ฌ ๊ฒฝ์šฐ, ํ•™์Šต ์‹œ๊ฐ„/epoch๊ฐ€ ๋ถ€์กฑํ•œ ๊ฒฝ์šฐ์— ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    2. ํ•™์Šต์„ ๋” ์˜ค๋ž˜ ์‹œํ‚ฌ์ˆ˜๋ก Validation Loss (๊ฒ€์ฆ ๋ฐ์ดํ„ฐ ์…‹์— ๋Œ€ํ•œ)๊ฐ€ ๊ฐ์†Œํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. (Training Loss๊ฐ€ ์•„๋‹ˆ๋ผ Validation Loss๊ฐ€ ๊ธฐ์ค€)
  5. Adam ๋“ฑ ๋‹ค์–‘ํ•œ Optimizer๋ฅผ ์‚ฌ์šฉํ•ด ๋ณธ๋‹ค.
    1. Optimizer ์ข…๋ฅ˜์— ๋”ฐ๋ผ ์ตœ์ ํ™”๋ฅผ ํ•˜๋Š” ๋ฐฉ์‹์ด ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ optimizer๋ฅผ ์‹œ๋„ํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    2. Naver Deview ์— ๋”ฐ๋ฅด๋ฉด ๋…ผ๋ฌธ์˜ SOTA ์„ฑ๋Šฅ์„ ์–ป์–ด ๋‚ด๋Š” ๋ฐ SGD๊ฐ€ ๋” ์ž˜๋˜๋Š” ์ผ€์ด์Šค๊ฐ€ ๋” ๋งŽ์•˜๋‹ค๊ณ  ํ•˜๋„ค์š”.
  6.  ๋” ํฐ Neural network๋ฅผ ์‚ฌ์šฉํ•ด ๋ณธ๋‹ค. / Hidden Unit์˜ ๊ฐœ์ˆ˜๋ฅผ ๋Š˜๋ ค ๋ณธ๋‹ค.
    1. ํ’€๊ณ ์ž ํ•˜๋Š” ๋ฌธ์ œ์˜ ๋ณต์žก์„ฑ์— ๋น„ํ•ด ๋ชจ๋ธ์˜ ๊ตฌ์กฐ๊ฐ€ ๋‹จ์ˆœํ•˜์—ฌ component ๊ฐ„์˜ ์ถฉ๋ถ„ํ•œ ๊ด€๊ณ„๋ฅผ ํ‘œํ˜„ํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ
  7. ๋” ์ž‘์€ Neural network๋ฅผ ์‚ฌ์šฉํ•ด ๋ณธ๋‹ค.
    1. ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฐ€์ง„ ์ •๋ณด๋Ÿ‰์— ๋น„ํ•ด ์ง€๋‚˜์น˜๊ฒŒ ๋ณต์žกํ•œ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ, ์˜คํžˆ๋ ค ๋ชจ๋ธ ํผํฌ๋จผ์Šค๊ฐ€ ๋‚ฎ์•„์ง€๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ
  8. Dropout์„ ์‹œ๋„ํ•ด ๋ณธ๋‹ค. / L_2 Regularization์„ ์ถ”๊ฐ€ํ•œ๋‹ค.
    1. Overfitting์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•จ์ž…๋‹ˆ๋‹ค.
  9. ๋ชจ๋ธ์˜ ๊ตฌ์กฐ๋ฅผ ๋ฐ”๊ฟ” ๋ณธ๋‹ค.
    1. ์ˆœ์„œ๋ฅผ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ๋ผ๋ฉด Transformer ๊ณ„์—ด์˜ ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ์“ฐ๋Š” ๊ฒƒ์ด ํšจ๊ณผ์ ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  10. Activation ํ•จ์ˆ˜๋ฅผ ๋ฐ”๊ฟ” ๋ณธ๋‹ค.

 

์œ„์˜ ๋‹ค์–‘ํ•œ ์„ ํƒ์ง€ ์ค‘, ๋ฌด์—‡์ด ์ ์ ˆํ•œ ์„ ํƒ์ง€์ธ์ง€ ๋น ๋ฅด๊ฒŒ ์•Œ ์ˆ˜๋Š” ์—†์„๊นŒ?

  • ML ์‹œ์Šคํ…œ ๊ตฌ์ถ• ์‹œ์— ์–ด๋ ค์šด ์  : ํ•˜๋‚˜์˜ ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด ์ ์šฉํ•ด ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•๋ก ์ด ๋‹ค์–‘ํ•˜๊ณ , ๋ฐ”๊ฟ”๋ณผ ์ˆ˜ ์žˆ๋Š” ํ•ญ๋ชฉ (๋ชจ๋ธ ๊ตฌ์กฐ, ์ดˆ๋ชจ์ˆ˜ ๋“ฑ..)์ด ๋ฌด์ˆ˜ํžˆ ๋งŽ๋‹ค.
  • ML์˜ ๋Œ€๊ฐ€๋“ค์€, A๋ผ๋Š” ์ˆ˜์น˜๋ฅผ ๋ณ€ํ™”์‹œํ‚ค๊ธฐ ์œ„ํ•ด B๋ผ๋Š” ํ•ญ๋ชฉ์„ ํŠœ๋‹ํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ž˜ ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • Andrew Ng ๊ต์ˆ˜๋‹˜์€ ์œ„ ๋‚ด์šฉ์„ orthogonalization (ํ–‰๋ ฌ ์ด๋ก ์—์„œ์˜ orthogonalization ๊ณผ๋Š” ๋‹ค๋ฅด๋‹ค.) ์ด๋ผ๋Š” ๊ฐœ๋…์œผ๋กœ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค.

 

2. Chain of Assumptions in ML

  • ๋จธ์‹ ๋Ÿฌ๋‹ ํ”„๋กœ์ ํŠธ๋Š” ์—ฌ๋Ÿฌ ๋‹จ๊ณ„๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ํ•ด๋‹น ๋‹จ๊ณ„๋งˆ๋‹ค ํŠœ๋‹์ด ํ•„์š”ํ•œ ํ•ญ๋ชฉ๋“ค์ด ์–ด๋А์ •๋„ ์ •ํ•ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

 

  1. ํ•™์Šต ๋ฐ์ดํ„ฐ์— ์ž˜ fitting ๋˜์–ด์•ผ ํ•œ๋‹ค. (=Fit training set well on cost function)
    1. ์ž˜ fitting ์‹œํ‚จ๋‹ค์˜ ๊ธฐ์ค€? ์‚ฌ๋žŒ์ด ์ž˜ ํ•˜๋Š” ๋ถ„์•ผ (์˜ˆ> ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜)์—์„œ๋Š” ์‚ฌ๋žŒ๊ณผ ์œ ์‚ฌํ•œ ์ˆ˜์ค€์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
    2. ๋งŒ์•ฝ Training ๊ณผ์ •์—์„œ metric (F1-score, RMSE ๋“ฑ..)์ด ์›ํ•˜๋Š” ์ˆ˜์ค€๋งŒํผ ์ž˜ ์•ˆ๋‚˜์˜จ๋‹ค๋ฉด ์•„๋ž˜ ๋ฐฉ๋ฒ•๋ก ๋“ค์„ ์‹œ๋„ํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

      1. ๋ฐ์ดํ„ฐ์— ๋งž๊ฒŒ ๋ชจ๋ธ ๊ตฌ์กฐ๋ฅผ ๋ฐ”๊ฟ”๋ณธ๋‹ค.
      (gbm, transformer, ...)
      2. SGD ๋“ฑ ๋‹ค์–‘ํ•œ Optimizer๋ฅผ ์‚ฌ์šฉํ•ด ๋ณธ๋‹ค.
  2. ๊ฒ€์ฆ ๋ฐ์ดํ„ฐ์— ์ž˜ fitting ๋˜์–ด์•ผ ํ•œ๋‹ค. (=Fit Validation set well on cost function)
    1. ๋งŒ์•ฝ Validation ๊ณผ์ •์—์„œ metric์ด ์ž˜ ๋‚˜์˜ค์ง€ ์•Š๋Š”๋‹ค๋ฉด, ์•„๋ž˜ ๋ฐฉ๋ฒ•๋ก ๋“ค์„ ์‹œ๋„ํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    2. Training set์— ๋Œ€ํ•ด์„œ๋งŒ ์ž˜ fitting๋œ ๊ฒฝ์šฐ, ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ์ž˜ ์˜ˆ์ธกํ•˜์ง€ ๋ชปํ•˜๋Š” overfitting ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ overfitting์„ ์ค„์—ฌ์ค„ ์ˆ˜ ์žˆ๋Š” L_2 regularization, Cross Validation (์ผ์ข…์˜ ํ•™์Šต ๋ฐ์ดํ„ฐ๋ฅผ ๋Š˜๋ฆฌ๋Š” ํšจ๊ณผ๋„ ์žˆ์Œ), Dropout ๋“ฑ์„ ์‹œ๋„ํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

      1. Regularization
      2. ๋” ํฐ ํ•™์Šต ๋ฐ์ดํ„ฐ์…‹์„ ํ™œ์šฉํ•ด ๋ณธ๋‹ค.
      3. class imbalance ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ ,
      undersampling ์ด๋‚˜ oversampling์„ ์‹œ๋„ํ•ด ๋ณธ๋‹ค.
  3. ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ์— ์ž˜ fitting ๋˜์–ด์•ผ ํ•œ๋‹ค. (=Fit Test set well on cost function)
    1. ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋Š” ๋ณดํ†ต D+1 ๋ฐ์ดํ„ฐ์™€ ๊ฐ™์ด, ์‹ค์ œ ํ”„๋กœ๋•์…˜์—์„œ ์˜ˆ์ธก์ด ์˜๋ฏธ๊ฐ€ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋กœ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.
    2. ๋งŒ์•ฝ test ๊ณผ์ •์—์„œ metric์ด ์ž˜ ๋‚˜์˜ค์ง€ ์•Š๋Š”๋‹ค๋ฉด, ์•„๋ž˜ ๋ฐฉ๋ฒ•๋ก ์„ ์‹œ๋„ํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    3. ํŠน์ • Validation Set์— ๋Œ€ํ•ด์„œ๋งŒ Overfitting์ด ์ด๋ฃจ์–ด์กŒ์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๊ฒ€์ฆ ๋ฐ์ดํ„ฐ์…‹์„ ๋” ํฌ๊ฒŒ ํ•˜์—ฌ ํ…Œ์ŠคํŠธ ์…‹๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ๊ตฌ์„ฑํ•˜๋ ค๋Š” ๋ชฉ์ ์ž…๋‹ˆ๋‹ค.

      1. ๋” ํฐ ๊ฒ€์ฆ ๋ฐ์ดํ„ฐ์…‹์„ ํ™œ์šฉํ•ด ๋ณธ๋‹ค.
  4. ๋ชจ๋ธ ๊ตฌ์„ฑ ์ดํ›„ ์ƒ์„ฑ๋˜๋Š” ํ˜„์‹ค ์„ธ๊ณ„์˜ ๋ฐ์ดํ„ฐ์…‹์— ๋Œ€ํ•ด ์ž˜ fitting์ด ๋˜์–ด์•ผ ํ•œ๋‹ค. (=Fit well on real world problem)
    1. ๋ชจ๋ธ ๋ฐฐํฌ ํ›„, ์„ฑ๋Šฅ์ด ์ž˜ ๋‚˜์˜ค์ง€ ์•Š๋Š”๋‹ค๋ฉด ๊ฒ€์ฆ ๋ฐ์ดํ„ฐ์™€ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๊ฐ€ ํ”„๋กœ๋•์…˜ ๋ ˆ๋ฒจ์—์„œ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ถฉ๋ถ„ํžˆ ๋ฐ˜์˜ํ•˜์ง€ ๋ชปํ•œ ์ด์œ ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    2. ํ˜น์€ ๋ฌธ์ œ ์„ธํŒ…์ด ์ฒ˜์Œ๋ถ€ํ„ฐ ์ž˜๋ชป ๋˜์ง€๋Š” ์•Š์•˜๋Š”์ง€ ๋‹ค์‹œ ํ•œ ๋ฒˆ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

      1. ๊ฒ€์ฆ ๋ฐ์ดํ„ฐ/ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ์…‹์ด ํ˜„์‹ค ์„ธ๊ณ„ ๋ฐ์ดํ„ฐ์™€ ์œ ์‚ฌํ•˜๋„๋ก,
      ์žฌ๊ตฌ์„ฑ ํ•œ๋‹ค.
      2. Cost function์„ ๋ฐ”๊ฟ” ๋ณธ๋‹ค.
      (๋ฌธ์ œ ์ •์˜๊ฐ€ ์ž˜๋ชป๋œ ๊ฒฝ์šฐ)

 

 

3. ๊ธฐํƒ€ ๊ฒฝํ—˜์ ์ธ Tips

  1. class imbalance ๋ฌธ์ œ ํ•ด๊ฒฐ
    1. ํ”ผ์ฒ˜๊ฐ€ ๋งŽ์„์ˆ˜๋ก oversampling ๋ฐฉ๋ฒ•๋ก ์€ ์—ฐ์‚ฐ๋Ÿ‰์ด ๋งค์šฐ ๋งŽ์ด ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, undersampling์ด ์œ ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
    2. undersampling์€ ์†Œ์ˆ˜์ธ ํด๋ž˜์Šค์˜ ๋ฐ์ดํ„ฐ๋Š” ๋ชจ๋‘ ๋‚จ๊ธฐ๊ณ , ๋‹ค์ˆ˜์ธ ํด๋ž˜์Šค์˜ ๋ฐ์ดํ„ฐ๋Š” ์ผ๋ถ€๋งŒ ์ƒ˜ํ”Œ๋ง ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
    3. ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ์—์„œ์˜ ํผํฌ๋จผ์Šค๋ฅผ ๊ธฐ์ค€์œผ๋กœ undersampling ๋น„์œจ์„ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค.
  2. binary classification์—์„œ F1-score๊ณผ ๊ด€๋ จ๋œ ์ด์Šˆ
    1. Precision๊ณผ Recall์€ trade-off ๊ด€๊ณ„์— ์žˆ๋Š”๋ฐ์š”, P๋‚˜ R ์ค‘ ํ•˜๋‚˜๊ฐ€ ์ง€๋‚˜์น˜๊ฒŒ ๋†’์€ ๊ฒƒ์€ ์ข‹์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‘ ๊ฐ’๊ณผ F1 score๊นŒ์ง€ ๋น„์Šทํ•œ ๊ฐ’์„ ๊ฐ–๋Š” ๊ฒฝ์šฐ์— ์ผ๋ฐ˜์ ์œผ๋กœ ์„ฑ๋Šฅ์ด ์ข‹์Šต๋‹ˆ๋‹ค.
      1. ๋ฌผ๋ก  "๊ณต์žฅ์—์„œ ๋ถˆ๋Ÿ‰ํ’ˆ์„ ๋‚ด๋ฉด ์•ˆ ๋˜๋Š” ๊ฒฝ์šฐ" ์™€ ๊ฐ™์ด Recall์ด ์••๋„์ ์œผ๋กœ ์ค‘์š”ํ•œ ๋ชจ๋ธ๋“ค๋„ ์žˆ๊ณ , ์ด๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ์ƒํ™ฉ์— ๋งž๊ฒŒ ๊ฒฐ์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ๋‹จ์ˆœ F1-score๊ฐ€ ์•„๋‹ˆ๋ผ P ํ˜น์€ R์— ๊ฐ€์ค‘์น˜๋ฅผ ๋ถ€์—ฌํ•œ F-beta score๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์…”๋„ ์ข‹์„ ๊ฒƒ ๊ฐ™๋„ค์š”.
      2. ์˜ˆ๋ฅผ ๋“ค์–ด beta ๊ฐ€ 2์ธ ๊ฒฝ์šฐ, recall์„ precision๋ณด๋‹ค 2๋ฐฐ ์ค‘์š”ํ•˜๊ฒŒ ์—ฌ๊ธฐ๋Š” ์ผ€์ด์Šค ์ž…๋‹ˆ๋‹ค.
    2. Precision๊ณผ Recall ๊ฐ’์˜ ๋น„์ค‘์€ ์ฃผ๋กœ class weight๋ฅผ ํ™œ์šฉํ•ด์„œ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 0/1 ์ค‘ 1์ด ์†Œ์ˆ˜ ์นดํ…Œ๊ณ ๋ฆฌ์ธ ๊ฒฝ์šฐ, 1์— ๋Œ€ํ•œ class weight๋ฅผ ๋†’์ผ์ˆ˜๋ก Recall์ด ๋†’์•„์ง€๊ณ , ๋‚ฎ์ถœ์ˆ˜๋ก Precision์ด ๋†’์•„์ง‘๋‹ˆ๋‹ค.
      1. "๋‹ค์ˆ˜ ํด๋ž˜์Šค ์ƒ˜ํ”Œ ์ˆ˜ / ์†Œ์ˆ˜ ํด๋ž˜์Šค ์ƒ˜ํ”Œ ์ˆ˜" ๋กœ ๋ณดํ†ต ์ตœ์ ์˜ class weight๋ฅผ ์ด์•ผ๊ธฐ ํ•˜๋Š”๋ฐ์š”, ์ €์˜ ๊ฒฝํ—˜ ์ƒ ์ด ๊ฐ’์— 1/n ์„ ๊ณฑํ•ด์„œ P-R ๊ท ํ˜•์„ ๋งž์ท„์„ ๋•Œ ๊ฐ€์žฅ ํผํฌ๋จผ์Šค๊ฐ€ ์ข‹์•˜์Šต๋‹ˆ๋‹ค.
  3. Evaluation metric์„ ์ž˜ ์„ค์ •ํ•˜๋Š” ๊ฒƒ๋„ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์œ„์—์„œ๋Š” ์ฃผ๋กœ F1-score๋ฅผ ์˜ˆ์‹œ๋กœ ๋“ค์—ˆ์ง€๋งŒ, ๋งŒ์•ฝ F1-score ๋ณด๋‹ค ๋” ๋น„์ฆˆ๋‹ˆ์Šค์ ์ธ ๋‹ˆ์ฆˆ๋ฅผ ์ž˜ ๋ฐ˜์˜ํ•˜๋Š” metric์ด ์žˆ๋‹ค๋ฉด (์˜ˆ> ndcg) ํ•ด๋‹น metric์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ๋งค ๋˜๋Š” ์ „ํ™˜์œจ๊ณผ์˜ ์ƒ๊ด€๊ณ„์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•ด ๋ณด๋Š” ๊ฒƒ๋„ ์ข‹์Šต๋‹ˆ๋‹ค.
  4. ์‹ค์ œ ์„œ๋น„์Šค์— ์ ์šฉํ•  ๊ฒฝ์šฐ, ํ•™์Šต ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ inference์— ์†Œ์š”๋˜๋Š” ์‹œ๊ฐ„ ๋“ฑ ์ œ์•ฝ ์กฐ๊ฑด์ด ๊ณ ๋ ค๋˜์–ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๋“ค๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
    1. ์ด ๋•Œ๋Š” ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ์•ฝ๊ฐ„ ํฌ์ƒํ•˜๋ฉด์„œ ์‘๋‹ต ์†๋„๊ฐ€ ๋น ๋ฅธ ๋ชจ๋ธ์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    2. ํ•„์š”ํ•œ ํ”ผ์ฒ˜๋ฅผ ์ค„์ด๊ฑฐ๋‚˜, ๋ชจ๋ธ์„ ์—ฌ๋Ÿฌ ๊ฒน์œผ๋กœ ์Œ“๊ฑฐ๋‚˜, ๋ชจ๋ธ ๊ฒฐ๊ณผ๋ฅผ ๋ฏธ๋ฆฌ ์ ์žฌํ•ด ๋‘๊ฑฐ๋‚˜, ๋ชจ๋ธ์„ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ฆฌ๋Š” ๋“ฑ์˜ ์‹œ๋„๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

 

๋‹ค์Œ ๊ธ€์—์„œ๋Š” Error analysis, data mismatch ๋“ฑ์„ ๋‹ค๋ฃจ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ฝ์–ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!