2019๋
XNUMX~XNUMX์ ์์
๋คํธ์ํฌ ํผ๋ ์์ ๊ฒฝ์์ด ์งํ๋์์ต๋๋ค.
SNA ํด์ปคํค
์ด ์ด๋ฆ์ผ๋ก ํด์ปคํค์ด ์ด๋ฆฌ๋ ๊ฒ์ ์ด๋ฒ์ด ์ธ ๋ฒ์งธ๋ค. ์ด๋ ๊ฐ๊ฐ ์์
๋คํธ์ํฌ ok.ru์ ์ํด ๊ตฌ์ฑ๋๋ฉฐ ์์
๊ณผ ๋ฐ์ดํฐ๋ ์ด ์์
๋คํธ์ํฌ์ ์ง์ ์ ์ผ๋ก ๊ด๋ จ๋ฉ๋๋ค.
์ด ๊ฒฝ์ฐ SNA(์์
๋คํธ์ํฌ ๋ถ์)๋ ์์
๊ทธ๋ํ ๋ถ์์ด ์๋๋ผ ์์
๋คํธ์ํฌ ๋ถ์์ผ๋ก ์ดํดํ๋ ๊ฒ์ด ๋ ์ ํํฉ๋๋ค.
- 2014๋ ์ ์๋ฌด๋ ๊ฒ์๋ฌผ์ด ๋ฐ์ ์ข์์ ์๋ฅผ ์์ธกํ๋ ๊ฒ์ด์์ต๋๋ค.
- 2016๋ - VVZ ์์ (์๋ง๋ ์น์ํ ์๋ ์์)์ ์์ ๊ทธ๋ํ ๋ถ์์ ๋ ๊ฐ๊น์ต๋๋ค.
- 2019๋ ์๋ ์ฌ์ฉ์๊ฐ ๊ฒ์๋ฌผ์ ์ข์ํ ๊ฐ๋ฅ์ฑ์ ๊ธฐ์ค์ผ๋ก ์ฌ์ฉ์ ํผ๋์ ์์๋ฅผ ๋งค๊น๋๋ค.
2014๋ ์ ๋งํ ์ ์์ง๋ง 2016๋ ๊ณผ 2019๋ ์๋ ๋ฐ์ดํฐ ๋ถ์ ๋ฅ๋ ฅ ์ธ์๋ ๋น ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ๋ฅ๋ ฅ๋ ํ์ํ์ต๋๋ค. ์ ๊ฐ ์ด ๋ํ์ ์ฐธ์ฌํ๊ฒ ๋ ๊ฒ์ ๋จธ์ ๋ฌ๋๊ณผ ๋น ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฌธ์ ์ ๊ฒฐํฉ ๋๋ฌธ์ด์๋ ๊ฒ ๊ฐ์์. ๊ทธ๋ฆฌ๊ณ ์ด ๋ถ์ผ์์์ ๊ฒฝํ์ด ์ ๊ฐ ์ฐ์นํ๋ ๋ฐ ๋์์ด ๋์ด์.
mlbootcamp
2019๋
์๋ ํ๋ซํผ์์ ๋ํ๊ฐ ๊ฐ์ต๋์์ต๋๋ค.
์ด๋ฒ ๋ํ๋ 7์ 3์ผ ์จ๋ผ์ธ์ผ๋ก ์์๋์ผ๋ฉฐ XNUMX๊ฐ ๊ณผ์ ๋ก ๊ตฌ์ฑ๋๋ค. ๋๊ตฌ๋ ์ฌ์ดํธ์ ๋ฑ๋กํ๊ณ ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค.
ํ์คํฌ
์์ค ๋ฐ์ดํฐ๋ ์ฌ์ฉ์ ID(userId)์ ๊ฒ์๋ฌผ ID(objectId)๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ฌ์ฉ์์๊ฒ ๊ฒ์๋ฌผ์ด ํ์๋ ๊ฒฝ์ฐ ๋ฐ์ดํฐ์๋ userId, objectId, ์ด ๊ฒ์๋ฌผ์ ๋ํ ์ฌ์ฉ์ ๋ฐ์(ํผ๋๋ฐฑ) ๋ฐ ๋ค์ํ ๊ธฐ๋ฅ ์งํฉ์ด๋ ์ฌ์ง ๋ฐ ํ ์คํธ์ ๋ํ ๋งํฌ๊ฐ ํฌํจ๋ ์ค์ด ํฌํจ๋ฉ๋๋ค.
์ฌ์ฉ์ ID | ๊ฐ์ฒด ID | ์์ ์ ID | ํผ๋๋ฐฑ | ํ์ |
---|---|---|---|---|
3555 | 22 | 5677 | [์ข์์, ํด๋ฆญ] | [ํด์1] |
12842 | 55 | 32144 | [์ซ์ด์] | [ํด์2,ํด์3] |
13145 | 35 | 5677 | [ํด๋ฆญ, ๊ณต์ ] | [ํด์2] |
ํ
์คํธ ๋ฐ์ดํฐ ์ธํธ์๋ ์ ์ฌํ ๊ตฌ์กฐ๊ฐ ํฌํจ๋์ด ์์ง๋ง ํผ๋๋ฐฑ ํ๋๊ฐ ๋๋ฝ๋์์ต๋๋ค. ๊ณผ์ ๋ ํผ๋๋ฐฑ ํ๋์์ '์ข์์' ๋ฐ์์ ์กด์ฌ๋ฅผ ์์ธกํ๋ ๊ฒ์
๋๋ค.
์ ์ถ ํ์ผ์ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ฌ์ฉ์ ID | SortedList[๊ฐ์ฒด ID] |
---|---|
123 | 78,13,54,22 |
128 | 35,61,55 |
131 | 35,68,129,11 |
์ธก์ ํญ๋ชฉ์ ์ฌ์ฉ์์ ํ๊ท ROC AUC์ ๋๋ค.
๋ฐ์ดํฐ์ ๋ํ ์์ธํ ์ค๋ช
์ ๋ค์์์ ํ์ธํ ์ ์์ต๋๋ค.
์จ๋ผ์ธ ์คํ ์ด์ง
์จ๋ผ์ธ ๋จ๊ณ์์๋ ๊ณผ์ ๊ฐ 3๋ถ๋ถ์ผ๋ก ๋๋์ด์ก์ต๋๋ค.
ํ์ ์์คํ โ ์ด๋ฏธ์ง์ ํ ์คํธ๋ฅผ ์ ์ธํ ๋ชจ๋ ๊ธฐ๋ฅ์ ํฌํจํฉ๋๋ค.ะะทะพะฑัะฐะถะตะฝะธั โ ์ด๋ฏธ์ง์ ๋ํ ์ ๋ณด๋ง ํฌํจํฉ๋๋ค.ํ ์คํธ โ ํ ์คํธ์ ๋ํ ์ ๋ณด๋ง ํฌํจํฉ๋๋ค.
์คํ๋ผ์ธ ์คํ ์ด์ง
์คํ๋ผ์ธ ๋จ๊ณ์์๋ ๋ฐ์ดํฐ์ ๋ชจ๋ ๊ธฐ๋ฅ์ด ํฌํจ๋์ด ์์๊ณ ํ ์คํธ์ ์ด๋ฏธ์ง๋ ๋๋ฌผ์์ต๋๋ค. ๋ฐ์ดํฐ์ธํธ์๋ 1,5๋ฐฐ ๋ ๋ง์ ํ์ด ์์๊ณ ๊ทธ ์ค ์ด๋ฏธ ๋ง์ ํ์ด ์์์ต๋๋ค.
๋ฌธ์ ํด๊ฒฐ
์ ๋ ์ง์ฅ์์ ์ด๋ ฅ์๋ฅผ ์์ฑํ๊ธฐ ๋๋ฌธ์ ์ด๋ฒ ๋ํ์์ "์ด๋ฏธ์ง" ์์
์ผ๋ก ์ฌ์ ์ ์์ํ์ต๋๋ค. ์ ๊ณต๋ ๋ฐ์ดํฐ๋ userId, objectId, ownerId(๊ฒ์๋ฌผ์ด ๊ฒ์๋ ๊ทธ๋ฃน), ๊ฒ์๋ฌผ ์์ฑ ๋ฐ ํ์๋ฅผ ์ํ ํ์์คํฌํ, ๊ทธ๋ฆฌ๊ณ ๋ฌผ๋ก ์ด ๊ฒ์๋ฌผ์ ์ด๋ฏธ์ง์์ต๋๋ค.
ํ์์คํฌํ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฌ ๊ธฐ๋ฅ์ ์์ฑํ ํ ๋ค์ ์์ด๋์ด๋ imagenet์์ ์ฌ์ ํ๋ จ๋ ๋ด๋ฐ์ ๋ ๋ฒ์งธ ๋ ์ด์ด๋ฅผ ๊ฐ์ ธ์ ์ด๋ฌํ ์๋ฒ ๋ฉ์ ๋ถ์คํ
์ผ๋ก ๋ณด๋ด๋ ๊ฒ์ด์์ต๋๋ค.
๊ฒฐ๊ณผ๋ ์ธ์์ ์ด์ง ์์์ต๋๋ค. ์ด๋ฏธ์ง๋ท ๋ด๋ฐ์ ์๋ฒ ๋ฉ์ ๊ด๋ จ์ด ์์ต๋๋ค. ๋๋ง์ ์คํ ์ธ์ฝ๋๋ฅผ ๋ง๋ค์ด์ผ ํ๋ค๊ณ ์๊ฐํ์ต๋๋ค.
์๊ฐ์ด ๋ง์ด ๊ฑธ๋ ธ๊ณ ๊ฒฐ๊ณผ๊ฐ ์ข์์ง์ง ์์์ต๋๋ค.
๊ธฐ๋ฅ ์์ฑ
์ด๋ฏธ์ง ์์
์๋ ์๊ฐ์ด ๋ง์ด ๊ฑธ๋ฆฌ๋ฏ๋ก ๋ ๊ฐ๋จํ ์์
์ ํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
๋ณด์๋ค์ํผ, ๋ฐ์ดํฐ ์ธํธ์๋ ๋ช ๊ฐ์ง ๋ฒ์ฃผํ ๊ธฐ๋ฅ์ด ์์ผ๋ฉฐ, ๋๋ฌด ๊ท์ฐฎ๊ฒ ํ์ง ์๊ธฐ ์ํด ๋ฐฉ๊ธ catboost๋ฅผ ์ฌ์ฉํ์ต๋๋ค. ์๋ฃจ์
์ ํ๋ฅญํ์ต๋๋ค. ์๋ฌด๋ฐ ์ค์ ์์ด๋ ์ฆ์ ์์ํ์ ์ฒซ ๋ฒ์งธ ์ค์ ๋๋ฌํ์ต๋๋ค.
๋ฐ์ดํฐ๊ฐ ๊ฝค ๋ง๊ณ Parquet ํ์์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ด์ ๊ณ ๋ฏผํ ํ์๋ ์์ด ์ค์นผ๋ผ๋ฅผ ์ ํํด์ Spark๋ก ๋ค ์์ฑํ๊ธฐ ์์ํ์ต๋๋ค.
์ด๋ฏธ์ง ์๋ฒ ๋ฉ๋ณด๋ค ๋ ๋ง์ ์ฑ์ฅ์ ๊ฐ์ ธ์จ ๊ฐ์ฅ ๊ฐ๋จํ ๊ธฐ๋ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- objectId, userId ๋ฐ ownerId๊ฐ ๋ฐ์ดํฐ์ ๋ํ๋ ํ์(์ธ๊ธฐ๋์ ์๊ด๊ด๊ณ๊ฐ ์์ด์ผ ํจ)
- userId๊ฐ ownerId์์ ๋ณธ ๊ฒ์๋ฌผ ์(๊ทธ๋ฃน์ ๋ํ ์ฌ์ฉ์์ ๊ด์ฌ๋์ ์ฐ๊ด๋์ด์ผ ํจ)
- ownerId์ ๊ฒ์๋ฌผ์ ๋ณธ ๊ณ ์ userId ์(๊ทธ๋ฃน ์ฒญ์ค์ ๊ท๋ชจ๋ฅผ ๋ฐ์)
ํ์์คํฌํ๋ฅผ ํตํด ์ฌ์ฉ์๊ฐ ํผ๋๋ฅผ ์์ฒญํ ์๊ฐ(์์นจ/์คํ/์ ๋ /๋ฐค)์ ์ป์ ์ ์์์ต๋๋ค. ์ด๋ฌํ ์นดํ ๊ณ ๋ฆฌ๋ฅผ ๊ฒฐํฉํ๋ฉด ๊ณ์ํด์ ๊ธฐ๋ฅ์ ์์ฑํ ์ ์์ต๋๋ค.
- userId๊ฐ ์ ๋ ์ ๋ก๊ทธ์ธํ ํ์;
- ์ด ๊ฒ์๋ฌผ์ด ๊ฐ์ฅ ์์ฃผ ํ์๋๋ ์๊ฐ(objectId) ๋ฑ.
์ด ๋ชจ๋ ๊ฒ์ด ์ ์ฐจ์ ์ผ๋ก ์ธก์ ํญ๋ชฉ์ ๊ฐ์ ํ์ต๋๋ค. ๊ทธ๋ฌ๋ ํ๋ จ ๋ฐ์ดํฐ ์ธํธ์ ํฌ๊ธฐ๋ ์ฝ 20์ฒ๋ง ๋ ์ฝ๋์ด๋ฏ๋ก ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ฉด ํ๋ จ ์๋๊ฐ ํฌ๊ฒ ๋๋ ค์ง๋๋ค.
๋๋ ๋ฐ์ดํฐ ์ฌ์ฉ์ ๋ํ ๋์ ์ ๊ทผ ๋ฐฉ์์ ๋ค์ ์๊ฐํด ๋ณด์์ต๋๋ค. ๋ฐ์ดํฐ๋ ์๊ฐ์ ๋ฐ๋ผ ๋ค๋ฅด์ง๋ง "๋ฏธ๋์" ๋ช ๋ฐฑํ ์ ๋ณด ์ ์ถ์ ๋ณด์ง ๋ชปํ์ง๋ง ๋ง์ผ์ ๋๋นํ์ฌ ๋ค์๊ณผ ๊ฐ์ด ๋ถ๋ฅํ์ต๋๋ค.
์ฐ๋ฆฌ์๊ฒ ์ ๊ณต๋๋ ํ๋ จ ์ธํธ(2์๊ณผ 2์ XNUMX์ฃผ)๋ XNUMX๊ฐ ๋ถ๋ถ์ผ๋ก ๋๋์ด์ก์ต๋๋ค.
๋ชจ๋ธ์ ์ง๋ N์ผ ๋์์ ๋ฐ์ดํฐ๋ก ํ์ต๋์์ต๋๋ค. ์์ ์ค๋ช
๋ ์ง๊ณ๋ ํ
์คํธ๋ฅผ ํฌํจํ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถ๋์์ต๋๋ค. ๋์์, ๋์ ๋ณ์์ ๋ค์ํ ์ธ์ฝ๋ฉ์ ๊ตฌ์ถํ ์ ์๋ ๋ฐ์ดํฐ๊ฐ ๋ํ๋ฌ์ต๋๋ค. ๊ฐ์ฅ ๊ฐ๋จํ ์ ๊ทผ ๋ฐฉ์์ ์ด๋ฏธ ์๋ก์ด ๊ธฐ๋ฅ์ ์์ฑํ๊ณ ์๋ ์ฝ๋๋ฅผ ์ฌ์ฌ์ฉํ๊ณ , ํ๋ จ๋์ง ์๊ณ ๋ชฉํ = 1์ด ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๋จํ ์ ๊ณตํ๋ ๊ฒ์
๋๋ค.
๋ฐ๋ผ์ ๋น์ทํ ๊ธฐ๋ฅ์ ์ป์์ต๋๋ค.
- userId๊ฐ ownerId ๊ทธ๋ฃน์ ๊ฒ์๋ฌผ์ ๋ณธ ํ์์ ๋๋ค.
- userId๊ฐ ownerId ๊ทธ๋ฃน์ ๊ฒ์๋ฌผ์ ์ข์์ ํ์ํ ํ์์ ๋๋ค.
- userId๊ฐ ownerId๋ก๋ถํฐ ์ข์์๋ฅผ ๋๋ฅธ ๊ฒ์๋ฌผ์ ๋น์จ์ ๋๋ค.
์ฆ, ๋ฐํ์ก๋ค ํ๊ท ๋ชฉํ ์ธ์ฝ๋ฉ ๋ฒ์ฃผํ ๊ธฐ๋ฅ์ ๋ค์ํ ์กฐํฉ์ ๋ํ ๋ฐ์ดํฐ์ธํธ์ ์ผ๋ถ์ ๋๋ค. ์์น์ ์ผ๋ก catboost๋ ๋์ ์ธ์ฝ๋ฉ๋ ๊ตฌ์ถํ๋ฏ๋ก ์ด ๊ด์ ์์๋ ์ด์ ์ด ์์ง๋ง ์๋ฅผ ๋ค์ด ์ด ๊ทธ๋ฃน์ ๊ฒ์๋ฌผ์ ์ข์ํ ๊ณ ์ ์ฌ์ฉ์ ์๋ฅผ ๊ณ์ฐํ๋ ๊ฒ์ด ๊ฐ๋ฅํด์ก์ต๋๋ค. ๋์์ ์ฃผ์ ๋ชฉํ๋ ๋ฌ์ฑ๋์์ต๋๋ค. ๋ฐ์ดํฐ ์ธํธ๊ฐ ์ฌ๋ฌ ๋ฒ ์ค์ด๋ค์๊ณ ๊ณ์ํด์ ํน์ฑ์ ์์ฑํ ์ ์์์ต๋๋ค.
catboost๋ ์ข์์ ๋ฐ์์ ๊ธฐ๋ฐ์ผ๋ก๋ง ์ธ์ฝ๋ฉ์ ๊ตฌ์ถํ ์ ์์ง๋ง ํผ๋๋ฐฑ์๋ ๋ค์ ๊ณต์ , ์ซ์ด์, ์ข์์ ์ทจ์, ํด๋ฆญ, ๋ฌด์ ๋ฑ์ ๋ค๋ฅธ ๋ฐ์์ด ์์ผ๋ฉฐ ์๋์ผ๋ก ์ํํ ์ ์๋ ์ธ์ฝ๋ฉ์ด ์์ต๋๋ค. ๋ฐ์ดํฐ ์ธํธ๊ฐ ๋ถํ๋ ค์ง์ง ์๋๋ก ๋ชจ๋ ์ข ๋ฅ์ ์ง๊ณ๋ฅผ ๋ค์ ๊ณ์ฐํ๊ณ ์ค์๋๊ฐ ๋ฎ์ ๊ธฐ๋ฅ์ ์ ๊ฑฐํ์ต๋๋ค.
๊ทธ ๋น์ ๋๋ ํฐ ์ฐจ์ด๋ก XNUMX์๋ฅผ ์ฐจ์งํ๋ค. ์ ์ผํ๊ฒ ํผ๋์ค๋ฌ์ ๋ ์ ์ ์ด๋ฏธ์ง ์๋ฒ ๋ฉ์ด ๊ฑฐ์ ์ฑ์ฅ์ ๋ณด์ด์ง ์์๋ค๋ ์ ์ด์์ต๋๋ค. Catboost์ ๋ชจ๋ ๊ฒ์ ์ ๊ณตํ๋ ค๋ ์์ด๋์ด๊ฐ ๋์์ต๋๋ค. Kmeans ์ด๋ฏธ์ง๋ฅผ ํด๋ฌ์คํฐ๋งํ๊ณ ์๋ก์ด ๋ฒ์ฃผํ ๊ธฐ๋ฅ imageCat์ ์ป์ต๋๋ค.
๋ค์์ KMeans์์ ์ป์ ํด๋ฌ์คํฐ๋ฅผ ์๋์ผ๋ก ํํฐ๋งํ๊ณ ๋ณํฉํ ํ์ ์ผ๋ถ ํด๋์ค์ ๋๋ค.
imageCat์ ๊ธฐ๋ฐ์ผ๋ก ๋ค์์ ์์ฑํฉ๋๋ค.
- ์๋ก์ด ๋ฒ์ฃผํ ๊ธฐ๋ฅ:
- userId๊ฐ ๊ฐ์ฅ ์์ฃผ ๋ณธ imageCat์ ๋ฌด์์ ๋๊น?
- ์ด๋ imageCat์ด ownerId๋ฅผ ๊ฐ์ฅ ์์ฃผ ํ์ํฉ๋๊น?
- userId๊ฐ ๊ฐ์ฅ ์์ฃผ ์ข์ํ imageCat์ ๋ฌด์์ ๋๊น?
- ๋ค์ํ ์นด์ดํฐ:
- userId๋ฅผ ๋ณธ ๊ณ ์ ํ imageCat์ ์;
- ์์์ ์ค๋ช ํ ๋๋ก ์ฝ 15๊ฐ์ ์ ์ฌํ ๊ธฐ๋ฅ๊ณผ ๋์ ์ธ์ฝ๋ฉ์ด ์ถ๊ฐ๋ฉ๋๋ค.
ํ ์คํธ
์ด๋ฏธ์ง ๊ฒฝ์์ ๊ฒฐ๊ณผ๊ฐ ๋์๊ฒ ์ ํฉํ๊ณ ๋๋ ํ ์คํธ์ ์์ ๋๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ๋๋ ์ด์ ์ ํ ์คํธ ์์ ์ ๋ง์ด ํด๋ณธ ์ ์ด ์์๊ณ , ์ด๋ฆฌ์๊ฒ๋ tf-idf์ svd์์ ํ๋ฃจ๋ฅผ ๋ง์ณค์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ๋ด๊ฐ ํ์ํ ๊ฒ์ ์ ํํ ์ํํ๋ doc2vec์ ๊ธฐ์ค์ ์ ๋ณด์์ต๋๋ค. doc2vec ๋งค๊ฐ๋ณ์๋ฅผ ์ฝ๊ฐ ์กฐ์ ํ์ฌ ํ ์คํธ ์๋ฒ ๋ฉ์ ์ป์์ต๋๋ค.
๊ทธ๋ฐ ๋ค์ ์ด๋ฏธ์ง ์๋ฒ ๋ฉ์ ํ ์คํธ ์๋ฒ ๋ฉ์ผ๋ก ๋์ฒดํ ์ด๋ฏธ์ง ์ฝ๋๋ฅผ ์ฌ์ฌ์ฉํ์ต๋๋ค. ๊ทธ ๊ฒฐ๊ณผ, ํ ์คํธ ๋ํ์์ 2์๋ฅผ ์ฐจ์งํ์ต๋๋ค.
ํ์ ์์คํ
์์ง ๋ง๋๊ธฐ๋ก ์ฐ๋ฌ๋ณด์ง ๋ชปํ ๋ํ๊ฐ ํ๋ ๋จ์ ์์๋๋ฐ, ๋ฆฌ๋๋ณด๋์ AUC๋ก ํ๋จํ๋ฉด ์ด ๋ํ์ ๊ฒฐ๊ณผ๊ฐ ์คํ๋ผ์ธ ๋ฌด๋์ ๊ฐ์ฅ ํฐ ์ํฅ์ ๋ฏธ์ณค์ ๊ฒ์
๋๋ค.
์๋ณธ ๋ฐ์ดํฐ์ ์๋ ๋ชจ๋ ๊ธฐ๋ฅ์ ์ ํํ๊ณ ๋ฒ์ฃผํ ๊ธฐ๋ฅ์ ์ ํํ๊ณ ์ด๋ฏธ์ง ์์ฒด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๊ธฐ๋ฅ์ ์ ์ธํ๊ณ ์ด๋ฏธ์ง์ ๋์ผํ ์ง๊ณ๋ฅผ ๊ณ์ฐํ์ต๋๋ค. ์ด๊ฒ์ catboost์ ๋ฃ๋ ๊ฒ๋ง์ผ๋ก๋ 2์๋ฅผ ์ฐจ์งํ์ต๋๋ค.
Catboost ์ต์ ํ์ ์ฒซ ๋ฒ์งธ ๋จ๊ณ
XNUMX์ XNUMX์, XNUMX์ XNUMX์๋ ๊ธฐ๋ปค์ผ๋ ํน๋ณํ ์ผ์ ํ์ง ์์๋ค๋ ์ดํด๊ฐ ์์ด ์์ ํ๋ฝ์ ์์ํ ์ ์์๋ค.
๋ํ์ ๊ณผ์ ๋ ์ฌ์ฉ์ ๋ด์์ ๊ฒ์๋ฌผ์ ์์๋ฅผ ๋งค๊ธฐ๋ ๊ฒ์ธ๋ฐ, ์ด๋ฒ์๋ ๋ถ๋ฅ ๋ฌธ์ , ์ฆ ์๋ชป๋ ์ธก์ ํญ๋ชฉ์ ์ต์ ํํ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์์์ต๋๋ค.
๊ฐ๋จํ ์๋ฅผ ๋ค์ด ๋ณด๊ฒ ์ต๋๋ค.
์ฌ์ฉ์ ID | ๊ฐ์ฒด ID | ์์ธก | ์ง์ ์ง์ค |
---|---|---|---|
1 | 10 | 0.9 | 1 |
1 | 11 | 0.8 | 1 |
1 | 12 | 0.7 | 1 |
1 | 13 | 0.6 | 1 |
1 | 14 | 0.5 | 0 |
2 | 15 | 0.4 | 0 |
2 | 16 | 0.3 | 1 |
์์ ์ฌ๋ฐฐ์น๋ฅผ ํด๋ณด์
์ฌ์ฉ์ ID | ๊ฐ์ฒด ID | ์์ธก | ์ง์ ์ง์ค |
---|---|---|---|
1 | 10 | 0.9 | 1 |
1 | 11 | 0.8 | 1 |
1 | 12 | 0.7 | 1 |
1 | 13 | 0.6 | 0 |
2 | 16 | 0.5 | 1 |
2 | 15 | 0.4 | 0 |
1 | 14 | 0.3 | 1 |
์ฐ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ต๋๋ค.
๋ชจ๋ธ | AUC | ์ฌ์ฉ์1 AUC | ์ฌ์ฉ์2 AUC | ํ๊ท AUC |
---|---|---|---|---|
์ต์ 1 | 0,8 | 1,0 | 0,0 | 0,5 |
์ต์ 2 | 0,7 | 0,75 | 1,0 | 0,875 |
๋ณด์๋ค์ํผ, ์ ์ฒด AUC ์งํ๋ฅผ ๊ฐ์ ํ๋ค๊ณ ํด์ ์ฌ์ฉ์ ๋ด ํ๊ท AUC ์งํ๊ฐ ๊ฐ์ ๋๋ ๊ฒ์ ์๋๋๋ค.
์บฃ๋ถ์คํธ
"ํ์ ์์คํ " ๋ํ์ ์จ๋ผ์ธ ๋ฌด๋๊ฐ ๋๋๊ธฐ 5๋ถ ์ ์ Sergey Shalnov๊ฐ ๋๋ฅผ XNUMX์๋ก ๋์ด์ฌ๋ ธ์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ ๋จผ ๊ธธ์ ํจ๊ป ๊ฑธ์ด๊ฐ์ต๋๋ค.
์คํ๋ผ์ธ ๋ฌด๋ ์ค๋น
์ฐ๋ฆฌ๋ RTX 2080 TI ๋น๋์ค ์นด๋๋ก ์จ๋ผ์ธ ๋ฌด๋์์ ์น๋ฆฌ๋ฅผ ๋ณด์ฅ ๋ฐ์์ง๋ง ์ฃผ์ ์๊ธ 300 ๋ฃจ๋ธ๊ณผ ์๋ง๋ ์ต์ข 000 ์์กฐ์ฐจ๋์ด 2 ์ฃผ ๋์ ์ผํด์ผํ์ต๋๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก Sergey๋ catboost๋ ์ฌ์ฉํ์ต๋๋ค. ์ฐ๋ฆฌ๋ ์์ด๋์ด์ ๊ธฐ๋ฅ์ ๊ตํํ๊ณ , ๋๋ ๋ค์์ ๋ํด ๋ฐฐ์ ์ต๋๋ค.
๋ณด๊ณ ์๋ฅผ ๋ณด๋ฉด์ ๋ชจ๋ ๋งค๊ฐ๋ณ์๋ฅผ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋๋๋ฆฌ๊ณ ๋งค์ฐ ์ ์คํ๊ฒ ์ผ๋ จ์ ๊ธฐ๋ฅ์ ์์ ํ ํ์๋ง ์ค์ ์ ์ํํด์ผ ํ๋ค๋ ์๊ฐ์ ๊ฐ๊ฒ ๋์์ต๋๋ค. ์ด์ ํ๋์ ํ๋ จ์ ์ฝ 15์๊ฐ์ด ๊ฑธ๋ ธ์ง๋ง, ํ ๋ชจ๋ธ์ ์์๊ฐ ์๋ ์์๋ธ์์ ์ป์ ๊ฒ๋ณด๋ค ๋ ๋์ ์๋๋ฅผ ์ป์์ต๋๋ค.
๊ธฐ๋ฅ ์์ฑ
Collaborative Systems ๋ํ์์๋ ์๋ง์ ๊ธฐ๋ฅ์ด ๋ชจ๋ธ์ ์ค์ํ ๊ฒ์ผ๋ก ํ๊ฐ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, auditweights_spark_svd -๊ฐ์ฅ ์ค์ํ ํ์์ด์ง๋ง ๊ทธ๊ฒ์ด ์๋ฏธํ๋ ๋ฐ์ ๋ํ ์ ๋ณด๋ ์์ต๋๋ค. ์ค์ํ ํน์ง์ ์ค์ฌ์ผ๋ก ๋ค์ํ ์ง๊ณ๋ฅผ ํด๋ณด๋ฉด ์ด๋จ๊น ํ๋ ์๊ฐ์ด ๋ค์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ฌ์ฉ์, ๊ทธ๋ฃน, ๊ฐ์ฒด๋ณ ํ๊ท auditweights_spark_svd์ ๋๋ค. ํ๋ จ์ ํ์ง ์์ ๋ฐ์ดํฐ์ ๋ชฉํ = 1, ์ฆ ํ๊ท ์ ์ด์ฉํ์ฌ ๋์ผํ๊ฒ ๊ณ์ฐํ ์ ์์ต๋๋ค. auditweights_spark_svd ์ฌ์ฉ์๊ฐ ์ข์ํ๋ ๊ฐ์ฒด๋ณ๋ก. ๊ทธ ์ธ์ ์ค์ํ ์งํ auditweights_spark_svd, ์ฌ๋ฌ ๊ฐ๊ฐ์์์ต๋๋ค. ๊ทธ ์ค ์ผ๋ถ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๊ฐ์ฌ๊ฐ์ค์นCtr์ฑ๋ณ
- ๊ฐ์ฌ๊ฐ์ค์นCtr๋์
- userOwnerCounterCreateLikes
์๋ฅผ ๋ค์ด, ํ๊ท ๊ฐ์ฌ๊ฐ์ค์นCtr์ฑ๋ณ userId์ ๋ฐ๋ฅด๋ฉด ํ๊ท ๊ฐ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ค์ํ ๊ธฐ๋ฅ์ธ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค. userOwnerCounterCreateLikes userId+ownerId ๊ธฐ์ค. ์ด๋ ์ด๋ฏธ ํ๋์ ์๋ฏธ๋ฅผ ์ดํดํด์ผ ํ๋ค๊ณ ์๊ฐํ๊ฒ ๋ง๋ค ๊ฒ์ ๋๋ค.
๋ํ ์ค์ํ ๊ธฐ๋ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค ๊ฐ์ฌ ๊ฐ์ค์น์ข์์ ์ ะธ auditweightsShowsCount. ํ๋์ฉ ๋๋์ด ๋ณด๋ฉด ํจ์ฌ ๋ ์ค์ํ ํน์ง์ด ์ป์ด์ก์ต๋๋ค.
๋ฐ์ดํฐ ์ ์ถ
๊ฒฝ์๊ณผ ์์ฐ ๋ชจ๋ธ๋ง์ ๋งค์ฐ ๋ค๋ฅธ ์์ ์ ๋๋ค. ๋ฐ์ดํฐ๋ฅผ ์ค๋นํ ๋ ๋ชจ๋ ์ธ๋ถ ์ฌํญ์ ๊ณ ๋ คํ๊ณ ํ ์คํธ์์ ๋์ ๋ณ์์ ๋ํ ์ผ๋ถ ์ค์ํ ์ ๋ณด๋ฅผ ์ ๋ฌํ์ง ์๋ ๊ฒ์ ๋งค์ฐ ์ด๋ ต์ต๋๋ค. ํ๋ก๋์ ์๋ฃจ์ ์ ๋ง๋๋ ๊ฒฝ์ฐ ๋ชจ๋ธ์ ํ๋ จํ ๋ ๋ฐ์ดํฐ ์ ์ถ์ ๋ฐฉ์งํ๋ ค๊ณ ๋ ธ๋ ฅํ ๊ฒ์ ๋๋ค. ํ์ง๋ง ๊ฒฝ์์์ ์ด๊ธฐ๊ณ ์ถ๋ค๋ฉด ๋ฐ์ดํฐ ์ ์ถ์ด ์ต๊ณ ์ ๊ธฐ๋ฅ์ ๋๋ค.
๋ฐ์ดํฐ๋ฅผ ์ฐ๊ตฌํ ๊ฒฐ๊ณผ objectId ๊ฐ์ ๋ฐ๋ผ ์ด๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ๊ฐ์ฌ ๊ฐ์ค์น์ข์์ ์ ะธ auditweightsShowsCount ์ด๋ ์ด๋ฌํ ๊ธฐ๋ฅ์ ์ต๋๊ฐ ๋น์จ์ด ํ์ ๋น์์ ๋น์จ๋ณด๋ค ๋ณํ ํ๋ฅผ ํจ์ฌ ๋ ์ ๋ฐ์ํ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
์ฐ๋ฆฌ๊ฐ ๋ฐ๊ฒฌํ ์ฒซ ๋ฒ์งธ ๋์ถ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. auditweightsLikesCountMax/auditweightsShowsCountMax.
ํ์ง๋ง ๋ฐ์ดํฐ๋ฅผ ์ข ๋ ์์ธํ ์ดํด๋ณด๋ฉด ์ด๋จ๊น์? ๊ณต์ฐ ๋ ์ง๋ณ๋ก ์ ๋ ฌํ์ฌ ๋ค์์ ์ป์ต๋๋ค.
๊ฐ์ฒด ID | ์ฌ์ฉ์ ID | auditweightsShowsCount | ๊ฐ์ฌ ๊ฐ์ค์น์ข์์ ์ | ๋์(์ข์์) |
---|---|---|---|---|
1 | 1 | 12 | 3 | ์๋ง๋ ๊ทธ๋ ์ง ์์ ๊ฒ์ด๋ค |
1 | 2 | 15 | 3 | ์ด์ฉ๋ฉด ๋ค |
1 | 3 | 16 | 4 |
๊ทธ๋ฌํ ์๋ฅผ ์ฒ์ ๋ฐ๊ฒฌํ์ ๋ ๋๋๊ณ ๋ด ์์ธก์ด ์คํ๋์ง ์์๋ค๋ ๊ฒ์ด ๋ฐํ์ก์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ฌผ์ฒด ๋ด์์ ์ด๋ฌํ ํน์ฑ์ ์ต๋ ๊ฐ์ด ์ฆ๊ฐํ๋ค๋ ์ฌ์ค์ ๊ณ ๋ คํ์ฌ ์ฐ๋ฆฌ๋ ๊ฒ์ผ๋ฅด์ง ์๊ณ ์ฐพ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. auditweightsShowsCountNext ะธ auditweights์ข์์์๋ค์, ์ฆ ๋ค์ ์๊ฐ์ ๊ฐ์
๋๋ค. ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ฌ
(auditweightsShowsCountNext-auditweightsShowsCount)/(auditweightsLikesCount-auditweightsLikesCountNext) ์ฐ๋ฆฌ๋ ๋น ๋ฅด๊ฒ ๋ ์นด๋ก์ด ์ ํ๋ฅผ ํ์ต๋๋ค.
๋ค์ ๊ฐ์ ์ฐพ์ ์ ์ฌํ ๋์ถ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. userOwnerCounterCreateLikes userId+ownerId ๋ด์์ ์๋ฅผ ๋ค์ด ๊ฐ์ฌ๊ฐ์ค์นCtr์ฑ๋ณ objectId+userGender ๋ด์์. ์ฐ๋ฆฌ๋ ๋์ถ์ด ์๋ ์ ์ฌํ ํ๋ 6๊ฐ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๊ทธ๋ก๋ถํฐ ๊ฐ๋ฅํ ๋ง์ ์ ๋ณด๋ฅผ ์ถ์ถํ์ต๋๋ค.
๊ทธ๋๊น์ง ์ฐ๋ฆฌ๋ ํ์ ๊ธฐ๋ฅ์์ ๊ฐ๋ฅํ ํ ๋ง์ ์ ๋ณด๋ฅผ ์ง๋์ง๋ง ์ด๋ฏธ์ง ๋ฐ ํ ์คํธ ๊ฒฝ์์ผ๋ก ๋์๊ฐ์ง๋ ์์์ต๋๋ค. ์ข์ ์๊ฐ์ด ๋ ์ฌ๋์ต๋๋ค. ๊ด๋ จ ๋ํ์์ ์ด๋ฏธ์ง๋ ํ ์คํธ๋ฅผ ์ง์ ๊ธฐ๋ฐ์ผ๋ก ํ ๊ธฐ๋ฅ์ด ์ผ๋ง๋ ๋์์ด ๋ ๊น์?
์ด๋ฏธ์ง ๋ฐ ํ ์คํธ ๊ฒฝ์์๋ ๋์ถ์ด ์์์ง๋ง ๊ทธ๋์ฏค์๋ ๊ธฐ๋ณธ catboost ๋งค๊ฐ๋ณ์๋ฅผ ๋ฐํํ๊ณ ์ฝ๋๋ฅผ ์ ๋ฆฌํ๊ณ ๋ช ๊ฐ์ง ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ต๋๋ค. ์ด ๊ธ์ก์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๊ฒฐ์ | ๊ณง |
---|---|
์ด๋ฏธ์ง ํฌํจ ์ต๋ | 0.6411 |
์ต๋ ์ด๋ฏธ์ง ์์ | 0.6297 |
XNUMX์ ๊ฒฐ๊ณผ | 0.6295 |
๊ฒฐ์ | ๊ณง |
---|---|
ํ ์คํธ ํฌํจ ์ต๋ | 0.666 |
ํ ์คํธ ์์ด ์ต๋ | 0.660 |
XNUMX์ ๊ฒฐ๊ณผ | 0.656 |
๊ฒฐ์ | ๊ณง |
---|---|
ํ์ ์ ์ต๋์น | 0.745 |
XNUMX์ ๊ฒฐ๊ณผ | 0.723 |
์ฐ๋ฆฌ๊ฐ ํ ์คํธ์ ์ด๋ฏธ์ง๋ฅผ ๋ง์ด ์ง๋ผ ์ ์๋ค๋ ๊ฒ์ด ๋ถ๋ช ํด์ก๊ณ , ๊ฐ์ฅ ํฅ๋ฏธ๋ก์ด ๋ช ๊ฐ์ง ์์ด๋์ด๋ฅผ ์๋ํ ํ์ ์ฐ๋ฆฌ๋ ์์ ์ ์ค๋จํ์ต๋๋ค.
ํ์ ์์คํ ์ ์ถ๊ฐ ๊ธฐ๋ฅ ์์ฑ์ ์ฆ๊ฐํ์ง ์์์ผ๋ฉฐ ์์๋ฅผ ๋งค๊ธฐ๊ธฐ ์์ํ์ต๋๋ค. ์จ๋ผ์ธ ๋จ๊ณ์์๋ ๋ถ๋ฅ ๋ฐ ์์ ์์๋ธ์ ํตํด ์ํญ ์์นํ๋๋ฐ, ์ด๋ ์ ๊ฐ ๋ถ๋ฅ๋ฅผ ์ ๋๋ก ํ๋ จํ์ง ์์๊ธฐ ๋๋ฌธ์ธ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค. YetiRanlPairwise๋ฅผ ํฌํจํ ์ด๋ค ์ค๋ฅ ํจ์๋ LogLoss๊ฐ ์ํํ ๊ฒฐ๊ณผ(0,745 ๋ 0,725)์ ๊ฐ๊น์ด ๊ฒฐ๊ณผ๋ฅผ ์์ฑํ์ง ์์์ต๋๋ค. ๋ฐ์นญํ์ง ๋ชปํ QueryCrossEntropy์ ๋ํ ํฌ๋ง์ ์ฌ์ ํ โโ๋จ์ ์์์ต๋๋ค.
์คํ๋ผ์ธ ์คํ ์ด์ง
์คํ๋ผ์ธ ๋จ๊ณ์์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ ๋์ผํ๊ฒ ์ ์ง๋์์ง๋ง ์ฌ์ํ ๋ณ๊ฒฝ ์ฌํญ์ด ์์์ต๋๋ค.
- userId, objectId, ownerId ์๋ณ์๊ฐ ๋ค์ ๋ฌด์์ํ๋์์ต๋๋ค.
- ์ฌ๋ฌ ํ์งํ์ด ์ ๊ฑฐ๋๊ณ ์ผ๋ถ ์ด๋ฆ์ด ๋ณ๊ฒฝ๋์์ต๋๋ค.
- ๋ฐ์ดํฐ๊ฐ ์ฝ 1,5๋ฐฐ ์ฆ๊ฐํ์ต๋๋ค.
๋์ด๋ ์ด๋ ค์ ์ธ์๋ ํ ๊ฐ์ง ํฐ ์ฅ์ ์ด ์์์ต๋๋ค. ํ์๋ RTX 2080TI๊ฐ ํ์ฌ๋ ๋๊ท๋ชจ ์๋ฒ๊ฐ ํ ๋น๋์์ต๋๋ค. ๋๋ ์ค๋ซ๋์ htop์ ์ฆ๊ฒผ์ต๋๋ค.
์ด๋ฏธ ์กด์ฌํ๋ ๊ฒ์ ๋จ์ํ ์ฌํํ๋ ์์ด๋์ด๋ ํ๋๋ฟ์ด์์ต๋๋ค. ์๋ฒ์ ํ๊ฒฝ์ ์ค์ ํ๋ ๋ฐ ๋ช ์๊ฐ์ ๋ณด๋ธ ํ, ๊ฒฐ๊ณผ๊ฐ ์ฌํ ๊ฐ๋ฅํ์ง ์ ์ฐจ์ ์ผ๋ก ๊ฒ์ฆํ๊ธฐ ์์ํ์ต๋๋ค. ์ฐ๋ฆฌ๊ฐ ์ง๋ฉดํ๊ณ ์๋ ๊ฐ์ฅ ํฐ ๋ฌธ์ ๋ ๋ฐ์ดํฐ ์์ ์ฆ๊ฐ์
๋๋ค. ์ฐ๋ฆฌ๋ ๋ถํ๋ฅผ ์กฐ๊ธ ์ค์ด๊ณ catboost ๋งค๊ฐ๋ณ์ ctr_complexity=1์ ์ค์ ํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์๋๊ฐ ์ฝ๊ฐ ๋๋ ค์ง์ง๋ง ๋ด ๋ชจ๋ธ์ด ์๋ํ๊ธฐ ์์ํ๊ณ ๊ฒฐ๊ณผ๋ 0,733์ผ๋ก ์ข์์ต๋๋ค. Sergey๋ ๋์ ๋ฌ๋ฆฌ ๋ฐ์ดํฐ๋ฅผ ๋ ๋ถ๋ถ์ผ๋ก ๋๋์ง ์๊ณ ๋ชจ๋ ๋ฐ์ดํฐ์ ๋ํด ํ๋ จ์ ํ๋๋ฐ, ์ด๊ฒ์ด ์จ๋ผ์ธ ๋จ๊ณ์์๋ ๊ฐ์ฅ ์ข์ ๊ฒฐ๊ณผ๋ฅผ ์ฃผ์์ง๋ง ์คํ๋ผ์ธ ๋จ๊ณ์์๋ ๋ง์ ์ด๋ ค์์ด ์์์ต๋๋ค. ์ฐ๋ฆฌ๊ฐ ์์ฑํ ๋ชจ๋ ๊ธฐ๋ฅ์ Catboost์ ์ง์ด๋ฃ์ผ๋ ค๊ณ ํ๋ฉด ์จ๋ผ์ธ ๋จ๊ณ์์๋ ์๋ฌด ๊ฒ๋ ์๋ํ์ง ์์ ๊ฒ์
๋๋ค. Sergey๋ ์๋ฅผ ๋ค์ด float2 ์ ํ์ float64๋ก ๋ณํํ๋ ๋ฑ ์ ํ ์ต์ ํ๋ฅผ ์ํํ์ต๋๋ค.
์ด๋ฌํ ๊ฒฐ๊ณผ๋ ์น๋ฆฌํ๊ธฐ์ ์ถฉ๋ถํ์ง๋ง ์ฐ๋ฆฌ๋ ์ง์ ํ ์๋๋ฅผ ์จ๊ฒผ๊ณ ๋ค๋ฅธ ํ๋ ๊ทธ๋ ์ง ์๋ค๋ ๊ฒ์ ํ์ ํ ์ ์์์ต๋๋ค.
๋ง์ง๋ง๊น์ง ์ธ์๋ผ
Catboost ํ๋
์ฐ๋ฆฌ์ ์๋ฃจ์ ์ ์์ ํ ์ฌํ๋์์ผ๋ฉฐ ํ ์คํธ ๋ฐ์ดํฐ์ ์ด๋ฏธ์ง์ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ผ๋ฏ๋ก ๋จ์ ๊ฒ์ catboost ๋งค๊ฐ๋ณ์๋ฅผ ์กฐ์ ํ๋ ๊ฒ๋ฟ์ด์์ต๋๋ค. Sergey๋ ์ ์ ํ์์ ๋ฐ๋ณต์ผ๋ก CPU์ ๋ํด ํ๋ จํ๊ณ , ๋๋ ctr_complexity=1์ธ CPU์ ๋ํด ํ๋ จํ์ต๋๋ค. ํ๋ฃจ ๋จ์๋๋ฐ, ๋ฐ๋ณต์ ์ถ๊ฐํ๊ฑฐ๋ ctr_complexity๋ฅผ ๋๋ฆฌ๋ฉด ์์นจ์๋ ํจ์ฌ ๋ ๋น ๋ฅธ ์๋๋ฅผ ์ป์ ์ ์๊ณ ํ๋ฃจ ์ข ์ผ ๊ฑธ์ ์ ์์ต๋๋ค.
์คํ๋ผ์ธ ๋จ๊ณ์์๋ ์ฌ์ดํธ์์ ๊ฐ์ฅ ์ข์ ์๋ฃจ์ ์ด ์๋ ๊ฒ์ ์ ํํ๋ ๊ฒ๋ง์ผ๋ก๋ ์๋๋ฅผ ๋งค์ฐ ์ฝ๊ฒ ์จ๊ธธ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ ์ถ์ด ๋ง๊ฐ๋๊ธฐ ์ ๋ง์ง๋ง ๋ช ๋ถ ๋์ ์์ํ์ ๊ธ๊ฒฉํ ๋ณํ๊ฐ ์์ ๊ฒ์ผ๋ก ์์ํ๊ณ ๋ฉ์ถ์ง ์๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
Anna์ ๋์์์ ํตํด ๋ชจ๋ธ์ ํ์ง์ ํฅ์ํ๋ ค๋ฉด ๋ค์ ๋งค๊ฐ๋ณ์๋ฅผ ์ ํํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข๋ค๋ ๊ฒ์ ๋ฐฐ์ ์ต๋๋ค.
- ํ์ต_์๋ โ ๊ธฐ๋ณธ๊ฐ์ ๋ฐ์ดํฐ ์ธํธ์ ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ณ์ฐ๋ฉ๋๋ค. learning_rate๋ฅผ ๋์ด๋ ค๋ฉด ๋ฐ๋ณต ํ์๋ฅผ ๋๋ ค์ผ ํฉ๋๋ค.
- l2_leaf_reg โ ์ ๊ทํ ๊ณ์, ๊ธฐ๋ณธ๊ฐ์ 3์ ๋๋ค. 2~30 ์ฌ์ด์์ ์ ํํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๊ฐ์ ์ค์ด๋ฉด ๊ณผ์ ํฉ์ด ์ฆ๊ฐํฉ๋๋ค.
- ํฌ์ฅ_์จ๋ โ ์ํ์ ๊ฐ์ฒด ๊ฐ์ค์น์ ๋ฌด์์ํ๋ฅผ ์ถ๊ฐํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ 1์ด๋ฉฐ, ์ฌ๊ธฐ์ ๊ฐ์ค์น๋ ์ง์ ๋ถํฌ์์ ์ถ์ถ๋ฉ๋๋ค. ๊ฐ์ ์ค์ด๋ฉด ๊ณผ์ ํฉ์ด ์ฆ๊ฐํฉ๋๋ค.
- ๋ฌด์์_๊ฐ๋ โ ํน์ ๋ฐ๋ณต์์ ๋ถํ ์ ํ์ ์ํฅ์ ์ค๋๋ค. Random_strength๊ฐ ๋์์๋ก ์ค์๋๊ฐ ๋ฎ์ ๋ถํ ์ด ์ ํ๋ ๊ฐ๋ฅ์ฑ์ด ๋์์ง๋๋ค. ์ดํ ๋ฐ๋ณตํ ๋๋ง๋ค ๋ฌด์์์ฑ์ด ๊ฐ์ํฉ๋๋ค. ๊ฐ์ ์ค์ด๋ฉด ๊ณผ์ ํฉ์ด ์ฆ๊ฐํฉ๋๋ค.
๋ค๋ฅธ ๋งค๊ฐ๋ณ์๋ ์ต์ข ๊ฒฐ๊ณผ์ ๋ฏธ์น๋ ์ํฅ์ด ํจ์ฌ ์์ผ๋ฏ๋ก ์ ํํ์ง ์์์ต๋๋ค. ctr_complexity=1์ ์ฌ์ฉํ์ฌ GPU ๋ฐ์ดํฐ์ธํธ์ ๋ํ ๊ต์ก์ ํ ๋ฒ ๋ฐ๋ณตํ๋ ๋ฐ 20๋ถ์ด ๊ฑธ๋ ธ์ผ๋ฉฐ, ์ถ์๋ ๋ฐ์ดํฐ์ธํธ์์ ์ ํํ ๋งค๊ฐ๋ณ์๋ ์ ์ฒด ๋ฐ์ดํฐ์ธํธ์ ์ต์ ๋งค๊ฐ๋ณ์์ ์ฝ๊ฐ ๋ฌ๋์ต๋๋ค. ๊ฒฐ๊ตญ ๋ฐ์ดํฐ์ 30%์ ๋ํด ์ฝ 10๋ฒ์ ๋ฐ๋ณต์ ์ํํ ๋ค์ ์ ์ฒด ๋ฐ์ดํฐ์ ๋ํด ์ฝ 10๋ฒ์ ๋ฐ๋ณต์ ๋ ์ํํ์ต๋๋ค. ๋ค์๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋์์ต๋๋ค.
- ํ์ต_์๋ ๊ธฐ๋ณธ๊ฐ๋ณด๋ค 40% ๋๋ ธ์ต๋๋ค.
- l2_leaf_reg ๊ทธ๋๋ก ๋์์ต๋๋ค.
- ํฌ์ฅ_์จ๋ ะธ ๋ฌด์์_๊ฐ๋ 0,8๋ก ์ค์์ต๋๋ค.
๋ชจ๋ธ์ด ๊ธฐ๋ณธ ๋งค๊ฐ๋ณ์๋ก ์ถฉ๋ถํ ํ๋ จ๋์ง ์์๋ค๋ ๊ฒฐ๋ก ์ ๋ด๋ฆด ์ ์์ต๋๋ค.
๋ฆฌ๋๋ณด๋์์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ ๋งค์ฐ ๋๋์ต๋๋ค.
๋ชจ๋ธ | 1 ๋ชจ๋ธ | 2 ๋ชจ๋ธ | 3 ๋ชจ๋ธ | ์์๋ธ |
---|---|---|---|---|
ํ๋ํ์ง ์๊ณ | 0.7403 | 0.7404 | 0.7404 | 0.7407 |
ํ๋์ผ๋ก | 0.7406 | 0.7405 | 0.7406 | 0.7408 |
๋๋ ๋ชจ๋ธ์ ๋น ๋ฅธ ์ ์ฉ์ด ํ์ํ์ง ์๋ค๋ฉด ๋งค๊ฐ๋ณ์ ์ ํ์ ์ต์ ํ๋์ง ์์ ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ๋ ์ฌ๋ฌ ๋ชจ๋ธ์ ์์๋ธ๋ก ๋์ฒดํ๋ ๊ฒ์ด ๋ ๋ซ๋ค๋ ๊ฒฐ๋ก ์ ๋ด๋ ธ์ต๋๋ค.
Sergey๋ GPU์์ ์คํํ๊ธฐ ์ํด ๋ฐ์ดํฐ ์ธํธ์ ํฌ๊ธฐ๋ฅผ ์ต์ ํํ๊ณ ์์์ต๋๋ค. ๊ฐ์ฅ ๊ฐ๋จํ ์ต์ ์ ๋ฐ์ดํฐ์ ์ผ๋ถ๋ฅผ ์๋ผ๋ด๋ ๊ฒ์ด์ง๋ง ์ฌ๋ฌ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ์ด๋ฅผ ์ํํ ์ ์์ต๋๋ค.
- ๋ฐ์ดํฐ ์ธํธ๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ๋ค์ด๊ฐ ๋๊น์ง ๊ฐ์ฅ ์ค๋๋ ๋ฐ์ดํฐ(XNUMX์ ์ด)๋ฅผ ์ ์ฐจ์ ์ผ๋ก ์ ๊ฑฐํฉ๋๋ค.
- ์ค์๋๊ฐ ๊ฐ์ฅ ๋ฎ์ ๊ธฐ๋ฅ์ ์ ๊ฑฐํฉ๋๋ค.
- ํญ๋ชฉ์ด ํ๋๋ง ์๋ userId๋ฅผ ์ ๊ฑฐํฉ๋๋ค.
- ํ ์คํธ์ ์๋ userId๋ง ๋จ๊ฒจ๋์ธ์.
๊ทธ๋ฆฌ๊ณ ๊ถ๊ทน์ ์ผ๋ก ๋ชจ๋ ์ต์ ์ ์กฐํฉํ์ฌ ์์๋ธ์ ๋ง๋์ธ์.
๋ง์ง๋ง ์์๋ธ
๋ง์ง๋ง ๋ ๋ฆ์ ์ ๋ ๊น์ง ์ฐ๋ฆฌ๋ 0,742๋ฅผ ์ฐ์ถํ๋ ๋ชจ๋ธ์ ์์๋ธ์ ๋ฐฐ์นํ์ต๋๋ค. ํ๋ฃป๋ฐค ์ฌ์ด์ ctr_complexity=2๋ก ๋ชจ๋ธ์ ์์ํ๊ณ 30๋ถ์ด ์๋ 5์๊ฐ ๋์ ํ๋ จํ์ต๋๋ค. ์ค์ 4์์์ผ ์ง๊ณ๊ฐ ๋์๊ณ ๋ง์ง๋ง ์์๋ธ์ ๋ง๋ค์๊ณ ๊ณต๊ฐ ๋ฆฌ๋๋ณด๋์์ 0,7433์ ๊ธฐ๋กํ์ต๋๋ค.
๋ฌธ์ ํด๊ฒฐ์ ๋ํ ๋ค์ํ ์ ๊ทผ ๋ฐฉ์์ผ๋ก ์ธํด ์ฐ๋ฆฌ์ ์์ธก์ ๊ฐํ ์๊ด ๊ด๊ณ๊ฐ ์์์ผ๋ฉฐ ์ด๋ก ์ธํด ์์๋ธ์ด ํฌ๊ฒ ์ฆ๊ฐํ์ต๋๋ค. ์ข์ ์์๋ธ์ ์ป์ผ๋ ค๋ฉด ์์ ๋ชจ๋ธ ์์ธก ์์ธก(prediction_type='RawFormulaVal')์ ์ฌ์ฉํ๊ณ scale_pos_weight=neg_count/pos_count๋ฅผ ์ค์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
ํํ์ด์ง์์ ๋ณด์ค ์ ์์ต๋๋ค
๊ธฐํ ์๋ฃจ์
๋ง์ ํ์ด ์ถ์ฒ ์์คํ ์๊ณ ๋ฆฌ์ฆ์ ํ์ค์ ๋ฐ๋์ต๋๋ค. ์ ๋ ์ด ๋ถ์ผ์ ์ ๋ฌธ๊ฐ๊ฐ ์๋์ด์ ํ๊ฐํ ์ ์์ง๋ง ๋ ๊ฐ์ง ํฅ๋ฏธ๋ก์ด ํด๊ฒฐ์ฑ ์ ๊ธฐ์ตํฉ๋๋ค.
Nikolay Anokhin์ ์๋ฃจ์ . Mail.ru์ ์ง์์ธ Nikolay๋ ์ํ์ ์ ์ฒญํ์ง ์์๊ธฐ ๋๋ฌธ์ ๊ทธ์ ๋ชฉํ๋ ์ต๋ ์๋๋ฅผ ๋ฌ์ฑํ๋ ๊ฒ์ด ์๋๋ผ ์ฝ๊ฒ ํ์ฅ ๊ฐ๋ฅํ ์๋ฃจ์ ์ ์ป๋ ๊ฒ์ด์์ต๋๋ค.- ์ฌ์ฌ์์์ ์์ํ์ ๊ฒฐ์ ์ ๋ค์์ ๋ฐํ์ผ๋ก ํฉ๋๋ค.
ํ์ด์ค๋ถ์ ๋์จ ์ด ๊ธฐ์ฌ , ์๋ ์์ ์์ด ๋งค์ฐ ์ฐ์ํ ์ด๋ฏธ์ง ํด๋ฌ์คํฐ๋ง์ด ๊ฐ๋ฅํฉ๋๋ค.
๊ฒฐ๋ก
๋ด ๊ธฐ์ต์ ๊ฐ์ฅ ๊ธฐ์ต์ ๋จ๋ ๊ฒ์:
- ๋ฐ์ดํฐ์ ๋ฒ์ฃผํ ํน์ง์ด ์๊ณ ๋์ ์ธ์ฝ๋ฉ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ํํ๋ ๋ฐฉ๋ฒ์ ์๊ณ ์๋ค๋ฉด catboost๋ฅผ ์ฌ์ฉํด ๋ณด๋ ๊ฒ์ด ๋ ์ข์ต๋๋ค.
- ๋ํ์ ์ฐธ๊ฐํ๋ ๊ฒฝ์ฐ learning_rate ๋ฐ iterations ์ด์ธ์ ๋งค๊ฐ๋ณ์๋ฅผ ์ ํํ๋ ๋ฐ ์๊ฐ์ ๋ญ๋นํด์๋ ์ ๋ฉ๋๋ค. ๋ ๋น ๋ฅธ ํด๊ฒฐ์ฑ ์ ์ฌ๋ฌ ๋ชจ๋ธ์ ์์๋ธ์ ๋ง๋๋ ๊ฒ์ ๋๋ค.
- ๋ถ์คํ ์ GPU์์ ํ์ตํ ์ ์์ต๋๋ค. Catboost๋ GPU์์ ๋งค์ฐ ๋น ๋ฅด๊ฒ ํ์ตํ ์ ์์ง๋ง ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ง์ด ์๋ชจํฉ๋๋ค.
- ์์ด๋์ด๋ฅผ ๊ฐ๋ฐํ๊ณ ํ ์คํธํ๋ ๋์ ์์ rsm~=0.2(CPU๋ง) ๋ฐ ctr_complexity=1๋ก ์ค์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
- ๋ค๋ฅธ ํ๋ค๊ณผ ๋ฌ๋ฆฌ ์ฐ๋ฆฌ ๋ชจ๋ธ๋ค์ ์์๋ธ์ด ํฐ ์์น์ธ๋ฅผ ์คฌ์ด์. ์ฐ๋ฆฌ๋ ๋จ์ง ์์ด๋์ด๋ฅผ ๊ตํํ๊ณ ๋ค๋ฅธ ์ธ์ด๋ก ๊ธ์ ์ผ์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ฐ์ดํฐ๋ฅผ ๋ถํ ํ๋ ๋ฐ ์๋ก ๋ค๋ฅธ ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ์ผ๋ฉฐ ๊ฐ๊ฐ ๊ณ ์ ํ ๋ฒ๊ทธ๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
- ์์ ์ต์ ํ๊ฐ ๋ถ๋ฅ ์ต์ ํ๋ณด๋ค ์ฑ๋ฅ์ด ๋จ์ด์ง๋ ์ด์ ๋ ๋ช ํํ์ง ์์ต๋๋ค.
- ๋๋ ํ ์คํธ ์์ ์ ๋ํ ๊ฒฝํ์ ์ป์๊ณ ์ถ์ฒ ์์คํ ์ด ์ด๋ป๊ฒ ๋ง๋ค์ด์ง๋์ง์ ๋ํ ์ดํด๋ฅผ ์ป์์ต๋๋ค.
๊ฐ๋๊ณผ ์ง์, ์์ ์ฃผ์ ์ฃผ์ต์ธก์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
์ถ์ฒ : habr.com