2019 幎 XNUMX æãã XNUMX æã«ãããŠããœãŒã·ã£ã« ãããã¯ãŒã¯ ãã£ãŒãã®ã©ã³ãã³ã°ã競ãã³ã³ãã¹ããéå¬ãããŸããã
SNAããã«ãœã³
ãã®å称ã§ã®ããã«ãœã³ã®éå¬ã¯ä»åã§XNUMXåç®ãšãªããŸãã ããã¯ãããããœãŒã·ã£ã«ãããã¯ãŒã¯ok.ruã«ãã£ãŠçµç¹ãããŠãããã¿ã¹ã¯ãšããŒã¿ã¯ãã®ãœãŒã·ã£ã«ãããã¯ãŒã¯ã«çŽæ¥é¢é£ããŠããŸãã
ãã®å Žåã® SNA (ãœãŒã·ã£ã« ãããã¯ãŒã¯åæ) ã¯ããœãŒã·ã£ã« ã°ã©ãã®åæãšããŠã§ã¯ãªããããããœãŒã·ã£ã« ãããã¯ãŒã¯ã®åæãšããŠç解ãããæ¹ãæ£ç¢ºã§ãã
- 2014 幎ã®èª²é¡ã¯ãæçš¿ãç²åŸããããããïŒãã®æ°ãäºæž¬ããããšã§ããã
- 2016 幎 - VVZ ã¿ã¹ã¯ (ãåç¥ãããããŸãã) ã¯ããœãŒã·ã£ã« ã°ã©ãã®åæã«è¿ã¥ããŸããã
- 2019 幎ã«ã¯ããŠãŒã¶ãŒãæçš¿ãããããïŒãããå¯èœæ§ã«åºã¥ããŠãŠãŒã¶ãŒã®ãã£ãŒããã©ã³ã¯ââä»ãããŸãã
2014幎ã®ããšã¯èšããŸãããã2016幎ã2019幎ã¯ããŒã¿åæèœåã«å ããŠãããã°ããŒã¿ãæ±ãã¹ãã«ãæ±ããããŠããŸããã ç§ããããã®ã³ã³ãã¹ãã«æ¹ãããã®ã¯ãæ©æ¢°åŠç¿ãšããã°ããŒã¿åŠçã®åé¡ã®çµã¿åããã ã£ããšæããŸãããããã®åéã§ã®çµéšãåå©ã«è²¢ç®ããŸããã
mlããŒããã£ã³ã
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 | ãœãŒãããããªã¹ã[ãªããžã§ã¯ãID] |
---|---|
123 | 78,13,54,22 |
128 | 35,61,55 |
131 | 35,68,129,11 |
ãã®ææšã¯ããŠãŒã¶ãŒã®å¹³å ROC AUC ã§ãã
ããŒã¿ã®è©³çŽ°ãªèª¬æã«ã€ããŠã¯ã次ã®ãµã€ããåç
§ããŠãã ããã
ãªã³ã©ã€ã³ã¹ããŒãž
ãªã³ã©ã€ã³æ®µéã§ã¯ã¿ã¹ã¯ã¯3ã€ã®éšåã«åãããŠããŸãã
é£æºäœå¶ â ç»åãšããã¹ããé€ããã¹ãŠã®æ©èœãå«ãŸããŸããÐзПбÑÐ°Ð¶ÐµÐœÐžÑ â ç»åã«é¢ããæ å ±ã®ã¿ãå«ãŸããŸããããã¹ã â ããã¹ãã«é¢ããæ å ±ã®ã¿ãå«ãŸããŸãã
ãªãã©ã€ã³ã¹ããŒãž
ãªãã©ã€ã³æ®µéã§ã¯ãããŒã¿ã«ã¯ãã¹ãŠã®ç¹åŸŽãå«ãŸããŠããŸããããããã¹ããšç»åã¯ãŸã°ãã§ããã ããŒã¿ã»ããã«ã¯ 1,5 åã®è¡ãããããã§ã«å€æ°ã®è¡ããããŸããã
åé¡è§£æ±º
ç§ã¯ä»äºã§å±¥æŽæžãæ
åœããŠããããããã®ã³ã³ãã¹ããžã®åãçµã¿ã¯ãç»åãã¿ã¹ã¯ããå§ãŸããŸããã æäŸãããããŒã¿ã¯ãuserIdãobjectIdãownerId (æçš¿ãå
¬éãããã°ã«ãŒã)ãæçš¿ã®äœæãšè¡šç€ºã®ã¿ã€ã ã¹ã¿ã³ãããããŠãã¡ãããã®æçš¿ã®ç»åã§ãã
ã¿ã€ã ã¹ã¿ã³ãã«åºã¥ããŠããã€ãã®ç¹åŸŽãçæããåŸã次ã®ã¢ã€ãã¢ã¯ãimagenet ã§äºåãã¬ãŒãã³ã°ããããã¥ãŒãã³ã®æåŸãã XNUMX çªç®ã®å±€ãååŸãããããã®ãšã³ããã£ã³ã°ãããŒã¹ãã£ã³ã°ã«éä¿¡ããããšã§ããã
çµæã¯é©ãã¹ããã®ã§ã¯ãããŸããã§ããã imagenet ãã¥ãŒãã³ããã®åã蟌ã¿ã¯ç¡é¢ä¿ãªã®ã§ãç¬èªã®ãªãŒããšã³ã³ãŒããŒãäœæããå¿ èŠããããšæããŸããã
ããªãæéãããããŸããããçµæã¯æ¹åãããŸããã§ããã
ç¹åŸŽçæ
ç»åãæ±ãã®ã¯æéããããã®ã§ããã£ãšåçŽãªããšãããããšã«ããŸããã
ããã«ãããããã«ãããŒã¿ã»ããã«ã¯ããã€ãã®ã«ããŽãªç¹åŸŽããããŸããããŸãç
©ããããªãããã«ãcatboost ã ãã䜿çšããŸããã ãã®ãœãªã¥ãŒã·ã§ã³ã¯çŽ æŽããããäœãèšå®ããªããŠãããã«ãªãŒããŒããŒãã®æåã®è¡ã«å°éããŸããã
ããªãã®éã®ããŒã¿ããããå¯ãæšçŽ°å·¥ã®åœ¢åŒã§ã¬ã€ã¢ãŠããããŠãããããããèããã« scala ã䜿çšããŠããã¹ãŠã 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äœã«ãªããŸããã
é£æºäœå¶
ãŸã æ£ã§ãã€ã€ããŠãããªã競æã XNUMX ã€æ®ã£ãŠããããªãŒããŒããŒãã® AUC ããå€æãããšããã®ç¹å®ã®ç«¶æã®çµæããªãã©ã€ã³ ã¹ããŒãžã«æã倧ããªåœ±é¿ãäžããã¯ãã§ãã
ç»åèªäœã«åºã¥ãç¹åŸŽãé€ãããœãŒã¹ ããŒã¿ã«ãããã¹ãŠã®ç¹åŸŽãååŸããã«ããŽãªå¥ã®ç¹åŸŽãéžæããç»åã®å Žåãšåãéèšãèšç®ããŸããã ããããã£ããããŒã¹ãã«å
¥ããã ãã§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 ååã«ãã»ã«ã²ã€ ã·ã£ã«ãããç§ã XNUMX äœã«æŒãäžããŸããã ãããªãéãäžç·ã«æ©ããŸããã
ãªãã©ã€ã³ã¹ããŒãžã®æºå
RTX 2080 TI ãã㪠ã«ãŒãã䜿çšãããªã³ã©ã€ã³ ã¹ããŒãžã§ã®åå©ã¯ä¿èšŒãããŠããŸããããäž»ãªè³é 300 ã«ãŒãã«ãšãããããæçµ 000 äœã®ããããã® 2 é±éåãå¿ èŠããããŸããã
çµå±ã®ãšãããã»ã«ã²ã€ããã£ããããŒã¹ãã䜿çšããŠããŸããã ç§ãã¡ã¯ã¢ã€ãã¢ãæ©èœã亀æãã次ã®ããšãåŠã³ãŸããã
ã¬ããŒããèŠãŠããã¹ãŠã®ãã©ã¡ãŒã¿ãŒãããã©ã«ãå€ã«æ»ããäžé£ã®æ©èœãä¿®æ£ããåŸã§ã®ã¿ãéåžžã«æ éã«èšå®ãè¡ãå¿ èŠããããšããèãã«è³ããŸããã 15 åã®ãã¬ãŒãã³ã°ã«ã¯çŽ XNUMX æéããããŸããããXNUMX ã€ã®ã¢ãã«ã¯ã©ã³ãã³ã°ã䜿çšããã¢ã³ãµã³ãã«ã§åŸãããé床ãããåªããé床ãåŸãããšãã§ããŸããã
ç¹åŸŽçæ
Collaborative Systems ã³ã³ãã¹ãã§ã¯ãå€æ°ã®æ©èœãã¢ãã«ã«ãšã£ãŠéèŠã§ãããšè©äŸ¡ãããŸãã äŸãã°ã Auditweights_spark_svd - æãéèŠãªå åã§ããããããäœãæå³ãããã«ã€ããŠã®æ å ±ã¯ãããŸããã éèŠãªç¹åŸŽã«åºã¥ããŠããŸããŸãªéèšãè¡ã䟡å€ããããšèããŸããã ããšãã°ããŠãŒã¶ãŒå¥ãã°ã«ãŒãå¥ããªããžã§ã¯ãå¥ã®å¹³å Auditweights_spark_svd ã§ãã ãã¬ãŒãã³ã°ãå®è¡ããããã¿ãŒã²ãã = 1ãã€ãŸãå¹³åå€ã®ããŒã¿ã䜿çšããŠåãããšãèšç®ã§ããŸãã Auditweights_spark_svd ãŠãŒã¶ãŒããšã«ã圌ãæ°ã«å ¥ã£ããªããžã§ã¯ãããšã«ã ãã®ä»ã®éèŠãªå å Auditweights_spark_svdãããã€ããããŸããã ãã®äžéšã次ã«ç€ºããŸãã
- ç£æ»éã¿Ctræ§å¥
- ç£æ»éã¿CtrHigh
- userOwnerCounterCreateLikes
ããšãã°ãå¹³å ç£æ»éã¿Ctræ§å¥ userIdã«ãããšãå¹³åå€ãšåæ§ã«éèŠãªç¹åŸŽã§ããããšãå€æããŸãã userOwnerCounterCreateLikes ãŠãŒã¶ãŒ ID + ææè ID ã«ãã£ãŠã ããã§ããã£ãŒã«ãã®æå³ãç解ããå¿ èŠããããšãã§ã«èããŠããã¯ãã§ãã
ãŸããéèŠãªæ©èœãšããŠã¯ã ç£æ»éã¿ã®ãããæ° Ðž ç£æ»éã¿ã·ã§ãŒæ°ã ãããããåå²ãããšãããã«éèŠãªç¹åŸŽãåŸãããŸããã
ããŒã¿æŒæŽ©
競æã¢ããªã³ã°ãšè£œåã¢ããªã³ã°ã¯ãŸã£ããç°ãªãã¿ã¹ã¯ã§ãã ããŒã¿ãæºåãããšãã«ããã¹ãŠã®è©³çŽ°ãèæ ®ããŠããã¹ãã®ã¿ãŒã²ããå€æ°ã«é¢ããéèŠãªæ å ±ãäŒããªãããšã¯éåžžã«å°é£ã§ãã éçšãœãªã¥ãŒã·ã§ã³ãäœæããŠããå Žåã¯ãã¢ãã«ã®ãã¬ãŒãã³ã°æã«ããŒã¿æŒæŽ©ãåé¿ããããã«åªããŸãã ãããã競äºã«åã¡ããã®ã§ããã°ãããŒã¿æŒæŽ©ãæè¯ã®æ©èœã§ãã
ããŒã¿ã調ã¹ãŠã¿ããšãobjectId å€ã«ãããšæ¬¡ã®ããšãããããŸãã ç£æ»éã¿ã®ãããæ° Ðž ç£æ»éã¿ã·ã§ãŒæ° ããã¯ããããã®ç¹åŸŽã®æ倧å€ã®æ¯çãã衚瀺æã®æ¯çãããå€æåŸã®æ¯çãããããåæ ããããšãæå³ããŸãã
ç§ãã¡ãçºèŠããæåã®æŒãã¯ã AuditweightsLikesCountMax/auditweightsShowsCountMax.
ããããããŒã¿ããã詳ããèŠãŠã¿ããšã©ããªãã§ãããã? ã·ã§ãŒã®æ¥ä»ã§äžŠã¹æ¿ããŠã次ã®çµæãååŸããŸãããã
ãªããžã§ã¯ãID | ãŠãŒã¶ãŒID | ç£æ»éã¿ã·ã§ãŒæ° | ç£æ»éã¿ã®ãããæ° | ã¿ãŒã²ããïŒå¥œãïŒ |
---|---|---|---|---|
1 | 1 | 12 | 3 | ããããããã§ã¯ãããŸãã |
1 | 2 | 15 | 3 | å€åã¯ã |
1 | 3 | 16 | 4 |
æåã«ãã®ãããªäŸãèŠã€ãããšãã¯é©ããŸããããç§ã®äºæž¬ãåœãããªãã£ãããšãå€æããŸããã ãããããªããžã§ã¯ãå
ã®ãããã®ç¹æ§ã®æ倧å€ãå¢å ãããšããäºå®ãèæ
®ããŠãç§ãã¡ã¯æ æ°ã§ã¯ãªãã次ã®ããšãèŠã€ããããšã«ããŸããã ç£æ»éã¿è¡šç€ºæ°æ¬¡ О ç£æ»éã¿ãããæ°æ¬¡ãžãã€ãŸã次ã®ç¬éã®å€ã§ãã æ©èœãè¿œå ããããšã§
(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 åã«å¢å ããŸããã
åæããå°é£ã«å ããŠã倧ããªãã©ã¹ã 2080 ã€ãããŸãããããã¯ãããŒã ã« RTX XNUMXTI ãæèŒãã倧èŠæš¡ãªãµãŒããŒãå²ãåœãŠãããããšã§ãã é·ãéhtopã楜ããã§ããŸãã
ã¢ã€ãã¢ã¯ãã 1 ã€ããã§ã«ååšãããã®ãåçŽã«åçŸãããšãããã®ã§ããã ãµãŒããŒäžã§ç°å¢ãã»ããã¢ããããã®ã«æ°æéãè²»ãããåŸãçµæãåçŸå¯èœã§ããããšãåŸã
ã«æ€èšŒãå§ããŸããã ç§ãã¡ãçŽé¢ããŠããäž»ãªåé¡ã¯ãããŒã¿éã®å¢å ã§ãã è² è·ãå°ã軜æžããcatboost ãã©ã¡ãŒã¿ ctr_complexity=0,733 ãèšå®ããããšã«ããŸããã ããã«ããé床ã¯å°ãäœäžããŸãããã¢ãã«ã¯åäœãå§ããçµæã¯è¯å¥œã§ã2 ã§ããã Sergey ã¯ãç§ãšã¯ç°ãªããããŒã¿ã 64 ã€ã®éšåã«åå²ããããã¹ãŠã®ããŒã¿ããã¬ãŒãã³ã°ããŸãããããã«ããããªã³ã©ã€ã³æ®µéã§ã¯æé«ã®çµæãåŸãããŸãããããªãã©ã€ã³æ®µéã§ã¯å€ãã®å°é£ããããŸããã ç§ãã¡ãçæãããã¹ãŠã®æ©èœã catboost ã«æŒã蟌ãããšããå Žåããªã³ã©ã€ã³æ®µéã§ã¯äœââãæ©èœããŸããã Sergey ã¯ãfloat32 åã floatXNUMX ã«å€æãããªã©ãåã®æé©åãè¡ããŸããã
ãããã®çµæã¯åã€ã®ã«ååã§ããããç§ãã¡ã¯æ¬åœã®éããé ããŠãããä»ã®ããŒã ãåãããšãããŠããªãããšã確信ã§ããŸããã§ããã
æåŸãŸã§æŠãæã
ãã£ããããŒã¹ãã®ãã¥ãŒãã³ã°
ç§ãã¡ã®ãœãªã¥ãŒã·ã§ã³ã¯å®å šã«åçŸãããããã¹ã ããŒã¿ãšç»åã®æ©èœãè¿œå ãããã®ã§ãæ®ã£ãã®ã¯ catboost ãã©ã¡ãŒã¿ãŒã調æŽããã ãã§ããã Sergey ã¯å°æ°ã®å埩ã䜿çšã㊠CPU ã§ãã¬ãŒãã³ã°ããç§ã¯ ctr_complexity=1 ã® CPU ã§ãã¬ãŒãã³ã°ããŸããã æ®ã XNUMX æ¥ã ã£ãã®ã§ãå埩ãè¿œå ããã ctr_complexity ãå¢ããã ãã§ãæãŸã§ã«ããã«éãé床ãåŸãããäžæ¥äžæ©ãããšãã§ããŸãã
ãªãã©ã€ã³æ®µéã§ã¯ããµã€ãäžã§æé©ãªãœãªã¥ãŒã·ã§ã³ãéžæããªãã ãã§ãé床ãéåžžã«ç°¡åã«é èœãããŠããŸãå¯èœæ§ããããŸãã ç§ãã¡ã¯ãå¿åç· ãåãåã®æåŸã®æ°åéã«ãªãŒããŒããŒãã«åçãªå€åãèµ·ãããšäºæ³ããäžæ¢ããªãããšã«ããŸããã
ã¢ã³ãã®ãããªãããã¢ãã«ã®å質ãåäžãããã«ã¯ã次ã®ãã©ã¡ãŒã¿ãŒãéžæããã®ãæåã§ããããšãããããŸããã
- Learning_rate â ããã©ã«ãå€ã¯ããŒã¿ã»ããã®ãµã€ãºã«åºã¥ããŠèšç®ãããŸãã learning_rate ãå¢ããã«ã¯ãå埩åæ°ãå¢ããå¿ èŠããããŸãã
- l2_leaf_reg â æ£ååä¿æ°ãããã©ã«ãå€ã¯ 3ãã§ããã° 2 ïœ 30 ããéžæããŸããå€ãæžãããšããªãŒããŒãã£ãããå¢å ããŸãã
- è¢è©°ã_枩床 â ãµã³ãã«å ã®ãªããžã§ã¯ãã®éã¿ã«ã©ã³ãã åãè¿œå ããŸãã ããã©ã«ãå€ã¯ 1 ã§ãéã¿ã¯ææ°ååžããæœåºãããŸãã å€ãæžãããšããªãŒããŒãã£ãããå¢å ããŸãã
- ã©ã³ãã 匷床 â ç¹å®ã®å埩ã§ã®åå²ã®éžæã«åœ±é¿ããŸãã random_strength ãé«ããªãã»ã©ãéèŠåºŠã®äœãåå²ãéžæãããå¯èœæ§ãé«ããªããŸãã ãã®åŸã®å埩ããšã«ãã©ã³ãã æ§ãæžå°ããŸãã å€ãæžãããšããªãŒããŒãã£ãããå¢å ããŸãã
ä»ã®ãã©ã¡ãŒã¿ã¯æçµçµæã«äžãã圱é¿ãã¯ããã«å°ãããããããããéžæããããšããŸããã§ããã ctr_complexity=1 ã䜿çšãã GPU ããŒã¿ã»ããã§ã®ãã¬ãŒãã³ã°ã® 20 åã®å埩ã«ã¯ 30 åããããçž®å°ãããããŒã¿ã»ããã§éžæããããã©ã¡ãŒã¿ãŒã¯å®å šãªããŒã¿ã»ããã®æé©ãªãã©ã¡ãŒã¿ãŒãšã¯ãããã«ç°ãªããŸããã æçµçã«ãããŒã¿ã® 10% ã«å¯ŸããŠçŽ 10 åã®å埩ãå®è¡ãããã®åŸããã¹ãŠã®ããŒã¿ã«å¯ŸããŠããã«çŽ XNUMX åã®å埩ãå®è¡ããŸããã 次ã®ãããªããšãããããŸããã
- Learning_rate ããã©ã«ããã 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 æåæ¬)ã
- æãéèŠåºŠã®äœãæ©èœãåé€ããŸãã
- ãšã³ããªã XNUMX ã€ã ããã userId ãåé€ããŸãã
- ãã¹ãå ã® userId ã®ã¿ãæ®ããŸãã
ãããŠæçµçã«ã¯ããã¹ãŠã®ãªãã·ã§ã³ããã¢ã³ãµã³ãã«ãäœæããŸãã
æåŸã®ã¢ã³ãµã³ãã«
æçµæ¥ã®å€æ¹ãŸã§ã«ã0,742 ãããããã¢ãã«ã®ã¢ã³ãµã³ãã«ãã¬ã€ã¢ãŠãããŸããã äžæ©ãctr_complexity=2 ã§ã¢ãã«ãèµ·åãããšããã30 åã®ä»£ããã« 5 æéãã¬ãŒãã³ã°ãããŸããã åå4æã«ã®ã¿ã«ãŠã³ããããæåŸã®ã¢ã³ãµã³ãã«ãè¡ããå ¬éãªãŒããŒããŒãã§0,7433ãç²åŸããŸããã
åé¡ã解決ããããã®ã¢ãããŒããç°ãªããããäºæž¬ã«ã¯åŒ·ãçžé¢é¢ä¿ã¯ãªããã¢ã³ãµã³ãã«ãå€§å¹ ã«å¢å ããŸããã é©åãªã¢ã³ãµã³ãã«ãååŸããã«ã¯ãçã®ã¢ãã«äºæž¬ã䜿çšããŠãpredict(prediction_type='RawFormulaVal') ã䜿çšããscale_pos_weight=neg_count/pos_count ãèšå®ããããšããå§ãããŸãã
ãŠã§ããµã€ãã§èŠãããšãã§ããŸã
ãã®ä»ã®è§£æ±ºç
å€ãã®ããŒã ã¯ã¬ã³ã¡ã³ã㌠ã·ã¹ãã ã¢ã«ãŽãªãºã ã®èŠç¯ã«åŸããŸããã ãã®åéã®å°é家ã§ã¯ãªãç§ã¯ããããè©äŸ¡ããããšã¯ã§ããŸããããèå³æ·±ã解決çã 2 ã€ãã£ãããšãèŠããŠããŸãã
ãã³ã©ã€ã»ã¢ããã³ã®è§£æ±ºç ã Mail.ru ã®åŸæ¥å¡ã§ãããã³ã©ã€ããã¯è³åã«å¿åããªãã£ãã®ã§ã圌ã®ç®æšã¯æ倧é床ãéæããããšã§ã¯ãªããç°¡åã«æ¡åŒµå¯èœãªãœãªã¥ãŒã·ã§ã³ãååŸããããšã§ããã- 審æ»å¡è³åè³ããŒã ã®æ±ºå®
ãã®èšäºã¯ãã§ã€ã¹ããã¯ãã ãæåäœæ¥ãªãã§éåžžã«åªããç»åã¯ã©ã¹ã¿ãªã³ã°ãå¯èœã«ãªããŸããã
ãŸãšã
ç§ã®èšæ¶ã«äžçªæ®ã£ãŠããããšïŒ
- ããŒã¿ã«ã«ããŽãªç¹åŸŽããããã¿ãŒã²ãã ãšã³ã³ãŒããæ£ããè¡ãæ¹æ³ãç¥ã£ãŠããå Žåã¯ãcatboost ãè©ŠããŠã¿ãæ¹ãè¯ãã§ãããã
- ã³ã³ãã¹ãã«åå ããŠããå Žåã¯ãlearning_rate ãš iterations 以å€ã®ãã©ã¡ãŒã¿ãŒã®éžæã«æéãç¡é§ã«ãã¹ãã§ã¯ãããŸããã ããè¿ éãªè§£æ±ºçã¯ãè€æ°ã®ã¢ãã«ã®ã¢ã³ãµã³ãã«ãäœæããããšã§ãã
- ããŒã¹ãã£ã³ã°ã¯ GPU ã§åŠç¿ã§ããŸãã Catboost 㯠GPU äžã§éåžžã«é«éã«åŠç¿ã§ããŸããã倧éã®ã¡ã¢ãªãæ¶è²»ããŸãã
- ã¢ã€ãã¢ã®éçºããã³ãã¹ãäžã¯ãå°ãã rsm~=0.2 (CPU ã®ã¿) ããã³ ctr_complexity=1 ãèšå®ããããšããå§ãããŸãã
- ä»ã®ããŒã ãšã¯ç°ãªããç§ãã¡ã®ã¢ãã«ã®ã¢ã³ãµã³ãã«ã¯å€§å¹ ãªåäžããããããŸããã ç§ãã¡ã¯ã¢ã€ãã¢ã亀æããç°ãªãèšèªã§æžããã ãã§ãã ããŒã¿ã®åå²ã«ã¯ç°ãªãã¢ãããŒãããããããããã«ç¬èªã®ãã°ããã£ããšæããŸãã
- ã©ã³ãã³ã°ã®æé©åã®ããã©ãŒãã³ã¹ãåé¡ã®æé©åãããæªãã£ãçç±ã¯æããã§ã¯ãããŸããã
- ç§ã¯ããã¹ããæ±ãçµéšãç©ã¿ãã¬ã³ã¡ã³ã㌠ã·ã¹ãã ãã©ã®ããã«äœããããã«ã€ããŠç解ããŸããã
æåãç¥èããããŠè³åãäžããŠãã ãã£ãäž»å¬è ã«æè¬ããŸãã
åºæïŒ habr.com