Mu February-Marichi 2019, mpikisano udachitika kuti asankhe chakudya cha pa intaneti , momwe gulu lathu lidatenga malo oyamba. M'nkhaniyi ndilankhula za bungwe la mpikisano, njira zomwe tidayesera, ndi makonzedwe a catboost ophunzitsira pa data yayikulu.

SNA Hackathon
Aka ndi kachitatu kuti hackathon yomwe ili pansi pa dzina ili yachitika. Imakonzedwa ndi malo ochezera a pa Intaneti ok.ru, motero, ntchitoyo ndi deta zimagwirizana mwachindunji ndi malo ochezera a pa Intaneti.
SNA (kusanthula kwa malo ochezera a pa Intaneti) pankhaniyi kumamveka bwino osati monga kusanthula kwa ma graph ochezera, koma monga kusanthula kwa malo ochezera.
- Mu 2014, ntchito inali yolosera kuchuluka kwa zokonda zomwe positi ipeza.
- Mu 2016 - ntchito ya VVZ (mwinamwake mukudziwa), pafupi ndi kusanthula graph chikhalidwe.
- Mu 2019, sankhani chakudya cha wogwiritsa ntchito potengera mwayi woti wosuta angakonde positi.
Sindinganene za 2014, koma mu 2016 ndi 2019, kuwonjezera pa luso losanthula deta, luso logwira ntchito ndi deta yaikulu linafunikanso. Ndikuganiza kuti kunali kuphatikizika kwa kuphunzira kwamakina ndi zovuta zazikulu zosinthira deta zomwe zidandikopa ku mpikisanowu, ndipo zomwe ndakumana nazo m'malo awa zidandithandiza kupambana.
mlbootcamp
Mu 2019, mpikisano udakonzedwa papulatifomu .
Mpikisanowu unayamba pa intaneti pa February 7 ndipo unali ndi ntchito zitatu. Aliyense atha kulembetsa patsamba, tsitsani ndikunyamula galimoto yanu kwa maola angapo. Pamapeto pa siteji yapaintaneti pa Marichi 15, otsogola 15 pamwambo uliwonse wodumpha adaitanidwa ku ofesi ya Mail.ru pagawo lopanda intaneti, lomwe lidachitika kuyambira pa Marichi 30 mpaka Epulo 1.
Cholinga
Zomwe zimayambira zimapereka ma ID (userId) ndi ma ID (objectId). Ngati wogwiritsa ntchito adawonetsedwa positi, ndiye kuti datayo ili ndi mzere wokhala ndi userId, objectId, zomwe ogwiritsa ntchito positiyi (mayankhidwe) ndi gulu lazinthu zosiyanasiyana kapena maulalo azithunzi ndi zolemba.
| Dzina Lolowera | objectId | mwiniId | ndemanga | zithunzi |
|---|---|---|---|---|
| 3555 | 22 | 5677 | [adakonda, adadina] | [hash1] |
| 12842 | 55 | 32144 | [sanakonde] | [hash2,hash3] |
| 13145 | 35 | 5677 | [adadina, adagawana] | [hash2] |
Seti ya data yoyeserera ili ndi mawonekedwe ofanana, koma gawo la ndemanga lilibe. Ntchito ndikulosera za kukhalapo kwa zomwe 'zimakonda' mu gawo la ndemanga.
Fayilo yotumiza ili ndi dongosolo ili:
| Dzina Lolowera | SortedList[objectId] |
|---|---|
| 123 | 78,13,54,22 |
| 128 | 35,61,55 |
| 131 | 35,68,129,11 |
Metric ndiye pafupifupi ROC AUC kwa ogwiritsa ntchito.
Kufotokozera mwatsatanetsatane deta angapezeke pa. Mukhozanso kutsitsa deta kumeneko, kuphatikizapo mayesero ndi zithunzi.
Online siteji
Pa intaneti, ntchitoyi idagawidwa m'magawo atatu
- - kumaphatikizapo zonse kupatula zithunzi ndi zolemba;
- - kumaphatikizapo zambiri zokhudza zithunzi;
- - kumaphatikizapo zambiri za malemba okha.
Offline siteji
Pa siteji yapaintaneti, deta idaphatikizapo zonse, pomwe zolemba ndi zithunzi zinali zochepa. Panali mizere yochulukirapo ka 1,5 mu dataset, yomwe inalipo kale yambiri.
Yankho la vuto
Popeza ndimapanga CV kuntchito, ndinayamba ulendo wanga pampikisanowu ndi ntchito ya "Zithunzi". Deta yomwe idaperekedwa inali userId, objectId, ownerId (gulu lomwe positi idasindikizidwa), masitampu opangira ndikuwonetsa positi, komanso, chithunzi cha positiyi.
Pambuyo popanga zinthu zingapo kutengera masitampu anthawi, lingaliro lotsatira linali kutenga gawo lomaliza la neuron lophunzitsidwa kale pa imagenet ndikutumiza zoyika izi kuti ziwonjezeke.

Zotsatira zake sizinali zochititsa chidwi. Zoyika kuchokera ku imagenet neuron ndizosafunika, ndinaganiza, ndiyenera kupanga autoencoder yanga.

Zinatenga nthawi yambiri ndipo zotsatira zake sizinasinthe.
Kupanga mawonekedwe
Kugwira ntchito ndi zithunzi kumatenga nthawi yambiri, choncho ndinaganiza zopanga zinthu zosavuta.
Monga mukuwonera nthawi yomweyo, pali magawo angapo mu dataset, ndipo kuti ndisavutike kwambiri, ndangotenga catboost. Yankho lake linali labwino kwambiri, popanda zoikamo zilizonse ndidafika pamzere woyamba wa boardboard.
Pali zambiri zambiri ndipo zimayikidwa mu mawonekedwe a parquet, kotero popanda kuganiza kawiri, ndinatenga scala ndikuyamba kulemba chirichonse mu spark.
Zinthu zosavuta zomwe zidapangitsa kukula kwambiri kuposa kuyika zithunzi:
- kangati objectId, userId ndi ownerId zidawonekera mu data (ziyenera kugwirizana ndi kutchuka);
- ndi zolemba zingati zomwe userId wawona kuchokera kwa mwiniId (ziyenera kugwirizana ndi chidwi cha wogwiritsa ntchito pagulu);
- ndi ma userId angati apadera omwe adawonera zolemba kuchokera kwa eni ake (amawonetsa kukula kwa omvera a gulu).
Kuchokera pazidindo zanthawi zinali zotheka kupeza nthawi yatsiku yomwe wogwiritsa ntchito adawonera chakudya (m'mawa / masana / madzulo / usiku). Mwa kuphatikiza magulu awa, mutha kupitiliza kupanga mawonekedwe:
- kangati userId adalowa madzulo;
- nthawi yomwe positiyi imawonetsedwa nthawi zambiri (objectId) ndi zina zotero.
Zonsezi zinasintha pang'onopang'ono ma metric. Koma kukula kwa dataset yophunzitsira ndi pafupifupi 20M zolemba, kotero kuwonjezera zinthu kunachepetsa kwambiri maphunziro.
Ndaganiziranso njira yanga yogwiritsira ntchito deta. Ngakhale detayo imadalira nthawi, sindinawone zodziwika bwino "m'tsogolomu", komabe, ndikanaziphwanya motere:

Maphunziro operekedwa kwa ife (February ndi masabata a 2 a March) adagawidwa m'magawo awiri.
Chitsanzocho chinaphunzitsidwa pa data ya masiku a N otsiriza. Zophatikizira zomwe zafotokozedwa pamwambapa zidapangidwa pa data yonse, kuphatikiza mayeso. Panthawi imodzimodziyo, deta yawonekera yomwe ndizotheka kupanga ma encodings osiyanasiyana azomwe mukufuna. Njira yosavuta ndiyo kugwiritsanso ntchito kachidindo komwe kakupanga zatsopano, ndikungodyetsa zomwe sizingaphunzitsidwe ndikuwongolera = 1.
Chifukwa chake, tili ndi mawonekedwe ofanana:
- Ndi kangati userId adawonapo positi mu gulu la eni ake;
- Ndi kangati userId adakonda zomwe zili mugulu la eni ake;
- Maperesenti a zolemba zomwe userId adakonda kuchokera kwa ownerId.
Ndiko kuti, zinapezeka kutanthauza kabisidwe chandamale pa gawo la dataset pazophatikizika zosiyanasiyana zamagulu. M'malo mwake, catboost imapanganso encoding chandamale ndipo kuchokera pamenepo palibe phindu, koma, mwachitsanzo, zidakhala zotheka kuwerengera kuchuluka kwa ogwiritsa ntchito apadera omwe adakonda zolemba mugululi. Panthawi imodzimodziyo, cholinga chachikulu chinakwaniritsidwa - deta yanga inachepetsedwa kangapo, ndipo zinali zotheka kupitiriza kupanga zinthu.
Ngakhale catboost imatha kupanga encoding potengera zomwe mumakonda, mayankho amakhala ndi machitidwe ena: ogawananso, osakonda, osakonda, odina, osanyalanyazidwa, ma encodings omwe amatha kuchitidwa pamanja. Ndinawerengeranso mitundu yonse ya ma aggregates ndikuchotsa zinthu zosafunika kwenikweni kuti ndisawonjezere deta.
Panthaŵiyo ndinali pamalo oyamba m’mbali yaikulu. Chokhacho chomwe chinali chosokoneza chinali chakuti zithunzi zojambulidwa zinasonyeza pafupifupi kukula konse. Lingaliro linabwera kuti apereke chilichonse kuti chiwonjezeke. Timaphatikiza zithunzi za Kmeans ndikupeza chithunzi chatsopano chamtundu waCat.
Nawa makalasi ena pambuyo pa kusefa pamanja ndikuphatikiza masango omwe atengedwa kuchokera ku KMeans.

Kutengera imageCat timapanga:
- Zatsopano zamagulu:
- Ndi imageCat iti yomwe nthawi zambiri imawonedwa ndi userId;
- Ndi chithunzi chitiCat yomwe nthawi zambiri imawonetsa mwiniId;
- Ndi chithunzi chiti chomwe chinkakondedwa kwambiri ndi userId;
- Zowerengera zosiyanasiyana:
- Ndi zithunzi zingati zapadera zaCat zomwe zimayang'ana pa userId;
- Pafupifupi zinthu 15 zofananira kuphatikiza ma encoding monga tafotokozera pamwambapa.
Malemba
Zotsatira za mpikisano wazithunzi zinandikwanira ndipo ndinaganiza zoyesa dzanja langa pamalemba. Sindinagwirepo zambiri ndi zolemba kale ndipo, mopusa, ndinapha tsikulo pa tf-idf ndi svd. Kenako ndidawona maziko ndi doc2vec, omwe amachita ndendende zomwe ndikufunika. Nditasintha pang'ono magawo a doc2vec, ndidalemba zolemba.
Ndiyeno ndinangogwiritsanso ntchito kachidindo ka zithunzizo, mmene ndinasinthira zoikamo zithunzizo ndi zoikamo mawu. Zotsatira zake, ndinatenga malo a 2 pampikisano wa malemba.
Dongosolo lothandizira
Panatsala mpikisano umodzi womwe ndinali ndisanakhalepo ndi ndodo, ndipo poweruza ndi AUC pa bolodi, zotsatira za mpikisano umenewu ziyenera kukhala ndi chiyambukiro chachikulu pa siteji ya intaneti.
Ndinatenga zinthu zonse zomwe zinali mu deta yochokera, ndinasankha zamagulu ndikuwerengera zofanana ndi zithunzi, kupatulapo mawonekedwe okhudzana ndi zithunzi zomwezo. Kungoyika izi mu catboost kwandifikitsa pa 2nd.
Njira zoyamba za catboost optimization
Malo amodzi oyamba ndi awiri achiwiri adandisangalatsa, koma panali kumvetsetsa kuti sindinachite chilichonse chapadera, zomwe zikutanthauza kuti ndingathe kuyembekezera kutaya udindo.
Ntchito ya mpikisano ndikuyika zolemba mkati mwa wogwiritsa ntchito, ndipo nthawi yonseyi ndimathetsa vuto lamagulu, ndiye kuti, kukhathamiritsa ma metric olakwika.
Ndiroleni ndikupatseni chitsanzo chophweka:
| Dzina Lolowera | objectId | kuneneratu | mfundo zoona |
|---|---|---|---|
| 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 |
Tiyeni tikonzenso pang'ono
| Dzina Lolowera | objectId | kuneneratu | mfundo zoona |
|---|---|---|---|
| 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 |
Timapeza zotsatirazi:
| lachitsanzo | AUC | Wogwiritsa1 AUC | Wogwiritsa2 AUC | ndi AUC |
|---|---|---|---|---|
| Zosankha 1 | 0,8 | 1,0 | 0,0 | 0,5 |
| Zosankha 2 | 0,7 | 0,75 | 1,0 | 0,875 |
Monga mukuwonera, kuwongolera ma metric onse a AUC sikutanthauza kukweza ma metric wa AUC mkati mwa wogwiritsa ntchito.
Kulimbikitsa kuchokera ku bokosi. Ndinawerenga za masanjidwe a metrics, mukamagwiritsa ntchito catboost ndikukhazikitsa YetiRankPairwise kuphunzitsa usiku wonse. Zotsatira zake sizinali zochititsa chidwi. Posankha kuti sindinaphunzitsidwe bwino, ndinasintha zolakwikazo kukhala QueryRMSE, zomwe, poyang'ana zolemba za catboost, zimasintha mofulumira. Pamapeto pake, ndinapeza zotsatira zofanana ndi maphunziro a magulu, koma ma ensembles a zitsanzo ziwirizi anawonjezera bwino, zomwe zinandipangitsa kukhala woyamba pamipikisano yonse itatu.
Mphindi 5 isanatseke siteji ya intaneti ya mpikisano wa "Collaborative Systems", Sergey Shalnov anandipititsa kumalo achiwiri. Tinayenda limodzi njira yotalikirapo.
Kukonzekera siteji yapaintaneti
Tinatsimikiziridwa kuti tipambana pa intaneti ndi khadi la kanema la RTX 2080 TI, koma mphoto yaikulu ya 300 rubles ndipo, mwinamwake, ngakhale malo omaliza adatikakamiza kugwira ntchito kwa masabata awiriwa.
Monga momwe zinakhalira, Sergey nayenso amagwiritsa ntchito catboost. Tinakambirana maganizo ndi zinthu zina, ndipo ndinaphunzira limene linali ndi mayankho a mafunso anga ambiri, ngakhalenso amene ndinali ndisanawafunse panthaŵiyo.
Kuwona lipotilo kunanditsogolera ku lingaliro lakuti tiyenera kubwezera magawo onse ku mtengo wokhazikika, ndikuchita zoikidwiratu mosamala kwambiri ndipo pokhapokha titakonza ndondomeko ya zinthu. Tsopano maphunziro amodzi adatenga pafupifupi maola 15, koma mtundu umodzi udatha kupeza liwiro labwino kuposa lomwe linapezedwa mu gululo ndi kusanja.
Kupanga mawonekedwe
Pampikisano wa Collaborative Systems, zinthu zambiri zimayesedwa kuti ndizofunika kwambiri pa chitsanzocho. Mwachitsanzo, auditweights_spark_svd - chizindikiro chofunika kwambiri, koma palibe chidziwitso cha zomwe zikutanthauza. Ndinaganiza kuti zingakhale bwino kuwerengera magulu osiyanasiyana okhudzana ndi zofunikira. Mwachitsanzo, pafupifupi auditweights_spark_svd ndi wosuta, ndi gulu, ndi chinthu. Zomwezo zikhoza kuwerengedwa pogwiritsa ntchito deta yomwe palibe maphunziro omwe amachitidwa ndi cholinga = 1, ndiko kuti, pafupifupi auditweights_spark_svd pogwiritsa ntchito zinthu zomwe amakonda. Zizindikiro zofunika nazonso auditweights_spark_svd, panali angapo. Nazi zina mwa izo:
- auditweightsCTrGender
- auditweightsCTrHigh
- userOwnerCounterCreateLikes
Mwachitsanzo, avareji auditweightsCTrGender malinga ndi userId zidakhala zofunikira, monga mtengo wapakati userOwnerCounterCreateLikes ndi userId+ownerId. Izi ziyenera kukupangitsani kale kuganiza kuti muyenera kumvetsetsa tanthauzo la minda.
Zinanso zofunikira zinali auditweightsLikesCount и auditweightsShowsCount. Kugawikana wina ndi mzake, chinthu china chofunika kwambiri chinapezedwa.
Kutayikira kwa data
Mpikisano ndi kupanga zitsanzo ndi ntchito zosiyana kwambiri. Pokonzekera deta, ndizovuta kwambiri kuganizira zonse komanso kusapereka zidziwitso zina zosagwirizana ndi zomwe mukufuna kuyesa. Ngati tikupanga njira yopangira, tidzayesetsa kupewa kugwiritsa ntchito kutayikira kwa data pophunzitsa chitsanzo. Koma ngati tikufuna kupambana mpikisano, ndiye kutayikira deta ndi mbali zabwino kwambiri.
Mutaphunzira zambiri, mutha kuwona kuti molingana ndi mfundo za objectId auditweightsLikesCount и auditweightsShowsCount kusintha, zomwe zikutanthauza kuti chiŵerengero chapamwamba kwambiri chazinthuzi chidzawonetsa kutembenuka kwa positi bwino kwambiri kuposa chiŵerengero pa nthawi yowonetsera.
Kutayikira koyamba komwe tidapeza ndi auditweightsLikesCountMax/auditweightsShowsCountMax.
Koma bwanji ngati tiyang'ana deta mosamala kwambiri? Tiyeni tisankhe ndi tsiku lawonetsero ndikupeza:
| objectId | Dzina Lolowera | auditweightsShowsCount | auditweightsLikesCount | cholinga (chimakondedwa) |
|---|---|---|---|---|
| 1 | 1 | 12 | 3 | mwina ayi |
| 1 | 2 | 15 | 3 | mwina inde |
| 1 | 3 | 16 | 4 |
Zinali zodabwitsa nditapeza chitsanzo choyamba chotere ndipo zinapezeka kuti zomwe ndinalosera sizinachitike. Koma, poganizira kuti zikhalidwe zazikuluzikulu zomwe zili mkati mwa chinthucho zidawonjezeka, sitinali aulesi ndipo tinaganiza zopeza. auditweightsShowsCountNext и auditweightsLikesCountNext, ndiye kuti, zikhalidwe panthawi yotsatira. Powonjezera chinthu
(auditweightsShowsCountNext-auditweightsShowsCount)/(auditweightsLikesCount-auditweightsLikesCountNext) tinalumpha mwachangu.
Kutulutsa kofananirako kungagwiritsidwe ntchito popeza zotsatirazi za userOwnerCounterCreateLikes mkati mwa userId+ownerId ndi, mwachitsanzo, auditweightsCTrGender mkati mwa objectId+userGender. Tinapeza minda 6 yofanana ndi kutayikira ndikuchotsa zambiri momwe tingathere kuchokera kwa iwo.
Pofika nthawi imeneyo, tinali titatulutsa zambiri momwe tingathere kuchokera kuzinthu zogwirira ntchito, koma sitinabwerere ku mpikisano wazithunzi ndi zolemba. Ndinali ndi lingaliro labwino loti ndifufuze: ndi zingati zomwe zimaperekedwa molunjika pazithunzi kapena zolemba pamipikisano yoyenera?
Panalibe kutayikira mumpikisano wazithunzi ndi zolemba, koma panthawiyo ndinali nditabweza magawo okhazikika a catboost, ndikuyeretsa kachidindo ndikuwonjezera zinthu zingapo. Zonse zinali:
| chisankho | posachedwa |
|---|---|
| Zolemba malire ndi zithunzi | 0.6411 |
| Zithunzi zopanda malire | 0.6297 |
| Chotsatira chachiwiri | 0.6295 |
| chisankho | posachedwa |
|---|---|
| Kuchuluka ndi malemba | 0.666 |
| Zolemba malire popanda malemba | 0.660 |
| Chotsatira chachiwiri | 0.656 |
| chisankho | posachedwa |
|---|---|
| Maximum mu mgwirizano | 0.745 |
| Chotsatira chachiwiri | 0.723 |
Zinakhala zodziwikiratu kuti sitingathe kufinya zambiri m'malemba ndi zithunzi, ndipo titayesa malingaliro angapo osangalatsa, tinasiya kugwira nawo ntchito.
Kupititsa patsogolo machitidwe ogwirizana sikunapereke chiwonjezeko, ndipo tinayamba kusanja. Pa siteji ya intaneti, magulu ndi gulu lophatikizana linandipatsa chiwonjezeko pang'ono, monga momwe zinakhalira chifukwa ndidachepetsa gululo. Palibe cholakwika chilichonse, kuphatikiza YetiRanlPairwise, chomwe chidapanga pafupi ndi zotsatira zomwe LogLoss idachita (0,745 vs. 0,725). Panali chiyembekezo cha QueryCrossEntropy, chomwe sichinayambike.
Offline siteji
Pagawo lopanda intaneti, mawonekedwe a data adakhalabe chimodzimodzi, koma panali zosintha zazing'ono:
- zozindikiritsa userId, objectId, ownerId zidasinthidwanso;
- zizindikiro zingapo zinachotsedwa ndipo zingapo zinasinthidwa;
- deta yawonjezeka pafupifupi nthawi 1,5.
Kuphatikiza pazovuta zomwe zidatchulidwa, panalinso chimodzi chachikulu: gululo linapatsidwa seva yayikulu ndi RTX 2080TI. Ndasangalala ndi htop kwa nthawi yayitali.

Panali lingaliro limodzi lokha - kungochulukitsa zomwe zilipo kale. Titatha maola angapo tikukhazikitsa chilengedwe pa seva, pang'onopang'ono tinayamba kutsimikizira kuti zotsatira zake zinali zobwerezabwereza. Vuto lalikulu lomwe tikukumana nalo ndi kuchuluka kwa data. Tinaganiza zochepetsera katunduyo pang'ono ndikuyika chizindikiro cha catboost ctr_complexity=1. Izi zimachepetsa liwiro pang'ono, koma chitsanzo changa chinayamba kugwira ntchito, zotsatira zake zinali zabwino - 0,733. SERGEY, mosiyana ndi ine, sanagawanitse deta mu magawo awiri ndikuphunzitsidwa pazidziwitso zonse, ngakhale kuti izi zinapereka zotsatira zabwino kwambiri pa intaneti, pa siteji ya intaneti panali zovuta zambiri. Ngati titatenga zinthu zonse zomwe tidapanga ndikuyesa kuzikankhira kuti zitheke, ndiye kuti palibe chomwe chingagwire ntchito pa intaneti. Sergey adalemba kukhathamiritsa, mwachitsanzo, kusintha mitundu ya float2 kukhala float64. Mutha kupeza zambiri pakukhathamiritsa kukumbukira mu pandas. Zotsatira zake, Sergey adaphunzitsidwa pa CPU pogwiritsa ntchito deta yonse ndipo adapeza pafupifupi 0,735.
Zotsatirazi zinali zokwanira kuti tipambane, koma tinabisa liwiro lathu lenileni ndipo sitinatsimikize kuti matimu ena sakuchita chimodzimodzi.
Menyani mpaka komaliza
Kusintha kwa Catboost
Yankho lathu lidapangidwanso kwathunthu, tidawonjezera mawonekedwe amtundu wamawu ndi zithunzi, kotero zomwe zidatsala ndikuwongolera magawo a catboost. Sergey adaphunzitsidwa pa CPU ndikubwereza pang'ono, ndipo ndidaphunzitsa pa imodzi yokhala ndi ctr_complexity=1. Panatsala tsiku limodzi, ndipo ngati mungowonjezera kubwereza kapena kuchulukitsa ctr_complexity, ndiye kuti m'mawa mutha kupeza liwiro labwinoko ndikuyenda tsiku lonse.
Pansi pa intaneti, kuthamanga kumatha kubisika mosavuta posankha osati njira yabwino patsamba. Tinkayembekezera kusintha kwakukulu mu boardboard mphindi zomaliza zotumizira zisanatseke ndipo tidaganiza zosiya.
Kuchokera pavidiyo ya Anna, ndinaphunzira kuti kupititsa patsogolo khalidwe lachitsanzo, ndi bwino kusankha magawo awa:
- kuphunzira_rate - Mtengo wokhazikika umawerengedwa kutengera kukula kwa dataset. Kuchulukitsa kuphunzira_rate kumafuna kuchulukitsa kuchuluka kwa kubwereza.
- l2_leaf_reg - Regularization coefficient, 3 yokhazikika, makamaka kusankha kuchokera ku 2 mpaka 30. Kuchepetsa mtengo kumabweretsa kuwonjezeka kwa overfit.
- kutentha_kutentha - amawonjezera randomization ku zolemera za zinthu mu chitsanzo. Mtengo wokhazikika ndi 1, pomwe zolemera zimatengedwa kuchokera pakugawa kwachangu. Kuchepetsa mtengo kumabweretsa kuwonjezeka kwa kuchuluka kwa ndalama.
- mwachisawawa_mphamvu - Zimakhudza kusankha kwa magawano panthawi yobwereza. Kukwera kwa random_strength, kumapangitsanso mwayi wosankha kugawidwa kofunikira kwambiri. Pakubwereza kulikonse kotsatira, kusasinthika kumachepa. Kuchepetsa mtengo kumabweretsa kuwonjezeka kwa kuchuluka kwamafuta.
Magawo ena amakhala ndi zotsatira zochepa kwambiri pazotsatira zomaliza, chifukwa chake sindinayese kuzisankha. Kubwereza kamodzi kophunzitsira pa data yanga ya GPU yokhala ndi ctr_complexity=1 kunatenga mphindi 20, ndipo magawo osankhidwa pa dataset yochepetsedwa anali osiyana pang'ono ndi omwe ali pagulu lathunthu. Pamapeto pake, ndidachita pafupifupi 30 kubwereza pa 10% ya data, kenako pafupifupi 10 kubwerezanso pa data yonse. Zinachitika motere:
- kuphunzira_rate Ndinawonjezeka ndi 40% kuchoka pa kusakhulupirika;
- l2_leaf_reg anasiya momwemo;
- kutentha_kutentha и mwachisawawa_mphamvu yachepetsedwa kufika pa 0,8.
Tikhoza kunena kuti chitsanzocho chinachepetsedwa ndi magawo osasintha.
Ndinadabwa kwambiri nditawona zotsatira pa bolodi:
| lachitsanzo | lachitsanzo 1 | lachitsanzo 2 | lachitsanzo 3 | pamodzi |
|---|---|---|---|---|
| Popanda ikukonzekera | 0.7403 | 0.7404 | 0.7404 | 0.7407 |
| Ndi kukonza | 0.7406 | 0.7405 | 0.7406 | 0.7408 |
Ndinadzitsimikizira ndekha kuti ngati kugwiritsa ntchito mwamsanga kwachitsanzo sikofunikira, ndiye kuti ndibwino kuti musinthe masankhidwe a magawo ndi gulu lamitundu ingapo pogwiritsa ntchito magawo osakometsedwa.
Sergey anali kukulitsa kukula kwa dataset kuti ayendetse pa GPU. Njira yosavuta ndiyo kudula gawo la deta, koma izi zitha kuchitika m'njira zingapo:
- chotsani pang'onopang'ono deta yakale kwambiri (kuyambira February) mpaka deta ikayamba kulowa m'mtima;
- chotsani mawonekedwe omwe ali otsika kwambiri;
- chotsani ma userId omwe pali cholowa chimodzi chokha;
- siyani ma userId omwe ali muyeso.
Ndipo pamapeto pake, pangani ensemble pazosankha zonse.
Gulu lomaliza
Pofika madzulo a tsiku lomaliza, tinali titayala gulu lathu lamitundu yonse yomwe idatulutsa 0,742. Usiku wonse ndidayambitsa chitsanzo changa ndi ctr_complexity=2 ndipo m'malo mwa mphindi 30 idaphunzitsidwa kwa maola 5. Pokhapokha pa 4 koloko adawerengedwa, ndipo ndidapanga gulu lomaliza, lomwe linapereka 0,7433 pagulu la anthu.
Chifukwa cha njira zosiyanasiyana zothetsera vutoli, zolosera zathu sizinali zogwirizana kwambiri, zomwe zinapereka kuwonjezeka kwabwino kwa gululo. Kuti mupeze kuphatikiza kwabwino, ndikwabwino kugwiritsa ntchito zolosera zaposachedwa (prediction_type='RawFormulaVal') ndikukhazikitsa scale_pos_weight=neg_count/pos_count.

Pa webusayiti mutha kuwona .
Njira zina
Magulu ambiri amatsatira ma canon a recommender system algorithms. Ine, osakhala katswiri pankhaniyi, sindingathe kuwawunika, koma ndikukumbukira mayankho osangalatsa a 2.
- . Nikolay, pokhala wantchito wa Mail.ru, sanapemphe mphotho, kotero cholinga chake sichinali kukwaniritsa liwiro lalikulu, koma kupeza yankho losavuta.
- Chisankho cha gulu lopambana la Jury Prize kutengera , amaloledwa kusonkhanitsa zithunzi zabwino kwambiri popanda ntchito yamanja.
Pomaliza
Zomwe zidandikumbukira kwambiri:
- Ngati pali magawo amtundu wa data, ndipo mukudziwa momwe mungasinthire chandamale molondola, ndibwino kuyesa catboost.
- Ngati mukuchita nawo mpikisano, musataye nthawi posankha magawo ena kupatula learning_rate ndi kubwereza. Yankho lachangu ndikupanga gulu lamitundu ingapo.
- Zowonjezera zimatha kuphunzira pa GPU. Catboost imatha kuphunzira mwachangu pa GPU, koma imadya kukumbukira kwambiri.
- Pakukulitsa ndi kuyesa malingaliro, ndikwabwino kukhazikitsa rsm~=0.2 (CPU yokha) ndi ctr_complexity=1.
- Mosiyana ndi magulu ena, kuphatikiza kwa zitsanzo zathu kunapereka kuwonjezeka kwakukulu. Tinkangosinthana maganizo n’kulemba zinenero zosiyanasiyana. Tinali ndi njira yosiyana yogawa deta ndipo, ndikuganiza, aliyense anali ndi nsikidzi zake.
- Sizikudziwika chifukwa chake kukhathamiritsa kwa masanjidwe kudachita zoyipa kuposa kukhathamiritsa kwamagulu.
- Ndidakhala ndi chidziwitso chogwira ntchito ndi zolemba komanso kumvetsetsa momwe ma recommender systems amapangidwira.

Chifukwa cha okonza malingaliro, chidziwitso ndi mphotho zomwe adalandira.
Source: www.habr.com
