ageung Hadron Collider sareng Odnoklassniki

Nuluykeun téma kompetisi pembelajaran mesin dina Habré, kami hoyong ngenalkeun pamiarsa kana dua platform deui. Aranjeunna pasti moal sakumaha badag salaku kaggle, tapi aranjeunna pasti pantes perhatian.

ageung Hadron Collider sareng Odnoklassniki

Sacara pribadi, kuring henteu resep kaggle kusabab sababaraha alesan:

  • kahiji, kompetisi aya mindeng lumangsung salila sababaraha bulan, jeung partisipasi aktif merlukeun loba usaha;
  • kadua, kernels umum (solusi umum). Penganut Kaggle mamatahan ngarawat aranjeunna kalayan katenangan sami-sami Tibét, tapi dina kanyataanana éta éra pisan nalika hal anu anjeun usahakeun salami sabulan atanapi dua ujug-ujug aya dina piring pérak pikeun sadayana.

Untungna, kompetisi pembelajaran mesin dilaksanakeun dina platform anu sanés, sareng sababaraha kompetisi ieu bakal dibahas.

IDAO SNA Hackathon 2019
Basa resmi: Inggris,
panitia: Yandex, Sberbank, HSE
Basa Rusia resmi,
panitia: Mail.ru Grup
Babak Online: 15 Jan — 11 Pebruari 2019;
Pamungkas di Situs: 4-6 Apr 2019
online - ti 7 Pébruari nepi ka 15 Maret;
offline - ti 30 Maret nepi ka 1 April.
Ngagunakeun sakumpulan data nu tangtu ngeunaan hiji partikel dina Large Hadron Collider (lintasan, moméntum, jeung parameter fisik rada kompléks séjénna), nangtukeun naha éta muon atawa henteu.
Tina pernyataan ieu, 2 tugas diidentifikasi:
- dina hiji anjeun ngan kedah ngirim prediksi anjeun,
- sareng anu sanésna - kode lengkep sareng modél pikeun prediksi, sareng palaksanaan éta tunduk kana larangan anu cukup ketat dina waktos jalan sareng panggunaan mémori.
Pikeun kompetisi SNA Hackathon, log eusi tina grup kabuka dina feed warta pamaké pikeun Pébruari-Maret 2018 dikumpulkeun. Set test ngandung minggu panungtungan sarta satengah Maret. Unggal éntri dina log ngandung émbaran ngeunaan naon anu dipidangkeun sareng ka saha, kitu ogé kumaha pangguna ngaréspon kana eusi ieu: dipeunteun, koméntar, dipaliré, atanapi nyumputkeunana tina feed.
Intina tugas SNA Hackathon nyaéta pikeun pangkat unggal pangguna jaringan sosial Odnoklassniki eupanna, ngangkat saluhur mungkin tulisan anu bakal nampi "kelas".
Dina tahap online, tugas dibagi kana 3 bagian:
1. pangkat tulisan nurutkeun rupa ciri kolaborasi
2. pangkat tulisan dumasar kana gambar anu dikandungna
3. rarangken tulisan dumasar kana téks anu dikandungna
métrik custom kompléks, hal kawas ROC-AUC Rata ROC-AUC ku pamaké
Hadiah pikeun tahap kahiji - kaos pikeun N tempat, petikan ka tahap kadua, dimana akomodasi jeung hidangan dibayar salila kompetisi.
Fase kadua -??? (Kanggo alesan nu tangtu, kuring teu hadir dina upacara pangajén jeung teu bisa manggihan naon hadiah dina tungtungna). Aranjeunna jangji laptop ka sadaya anggota tim unggul
Hadiah pikeun tahap kahiji - kaos pikeun 100 pamilon pangalusna, petikan ka tahap kadua, dimana lalampahan ka Moskow, akomodasi jeung hidangan salila kompetisi dibayar. Ogé, nuju tungtung tahap kahiji, hadiah diumumkeun pikeun pangalusna dina 3 tugas dina tahap 1: dulur meunang kartu vidéo RTX 2080 TI!
Tahap kadua mangrupa tahap tim, tim diwangun ku 2 nepi ka 5 urang, hadiah:
tempat 1st - 300 rubles
tempat 2st - 200 rubles
tempat 3st - 100 rubles
hadiah juri - 100 rubles
Grup telegram resmi, ~190 pamilon, komunikasi dina basa Inggris, patarosan kedah ngantosan sababaraha dinten kanggo jawaban Grup resmi dina telegram, ~ 1500 pamilon, diskusi aktif tugas antara pamilon jeung panitia
Panitia nyayogikeun dua solusi dasar, sederhana sareng canggih. Basajan diperlukeun kirang ti 16 GB RAM, sarta mémori canggih teu cocog kana 16. Dina waktos anu sami, ningali payun sakedik, para pamilon henteu tiasa sacara signifikan outperform solusi canggih. Teu aya kasusah dina ngaluncurkeun solusi ieu. Perlu dicatet yén dina conto canggih aya koméntar sareng petunjuk dimana ngamimitian ningkatkeun solusi. Solusi primitif dasar disayogikeun pikeun masing-masing tugas, anu gampang dilangkungan ku pamilon. Dina poé mimiti kompetisi, pamilon encountered sababaraha kasusah: firstly, data dirumuskeun dina format Apache Parquet, sarta teu sakabeh kombinasi Python jeung pakét parquet digawé tanpa kasalahan. Kasusah kadua nyaéta ngunduh gambar tina méga surat; ayeuna teu aya cara anu gampang pikeun ngaunduh sajumlah ageung data sakaligus. Hasilna, masalah ieu nyangsang pamilon pikeun sababaraha poé.

IDAO. Tahap kahiji

Tugasna nya éta pikeun mengklasifikasikan partikel muon/non-muon dumasar kana karakteristikna. Fitur konci tugas ieu ayana kolom beurat dina data latihan, nu panitia sorangan diinterpretasi salaku kapercayaan dina jawaban pikeun garis ieu. Masalahna éta rada sababaraha baris ngandung beurat négatip.

ageung Hadron Collider sareng Odnoklassniki

Sanggeus mikir sababaraha menit ngeunaan garis kalawan hint (hint saukur Drew perhatian ka fitur ieu kolom beurat) jeung ngawangun grafik ieu, urang mutuskeun pikeun pariksa 3 pilihan:

1) ngabalikeun udagan garis kalayan beurat négatip (sareng beuratna sasuai)
2) mindahkeun beurat ka nilai minimum ambéh maranéhanana mimitian ti 0
3) ulah make beurat string

Pilihan katilu tétéla jadi nu awon, tapi kahiji dua ningkat hasilna, nu pangalusna éta pilihan No.
ageung Hadron Collider sareng Odnoklassniki
Lengkah saterusna urang nya éta marios data pikeun nilai leungit. Panitia masihan kami data anu parantos disisir, dimana aya sababaraha nilai anu leungit, sareng aranjeunna diganti ku -9999.

Kami mendakan nilai anu leungit dina kolom MatchedHit_{X,Y,Z}[N] sareng MatchedHit_D{X,Y,Z}[N], sareng ngan nalika N = 2 atanapi 3. Sakumaha urang ngartos, sababaraha partikel henteu lulus sadayana 4 detéktor, sarta dieureunkeun boh dina 3 atawa 4 plat. Data ogé ngandung kolom Lextra_{X,Y}[N], anu katingalina ngajelaskeun hal anu sami sareng MatchedHit_{X,Y,Z}[N], tapi nganggo sababaraha jinis ekstrapolasi. Duka-duga anu sakedik ieu nunjukkeun yén Lextra_{X,Y}[N] tiasa diganti ku nilai anu leungit dina MatchedHit_{X,Y,Z}[N] (pikeun koordinat X sareng Y wungkul). MatchedHit_Z[N] ieu ogé ngeusi median. Manipulasi ieu ngamungkinkeun urang pikeun ngahontal tempat panengah 1 dina dua tugas.

ageung Hadron Collider sareng Odnoklassniki

Tempo yén maranéhna teu masihan nanaon pikeun meunang tahap kahiji, urang bisa geus dieureunkeun aya, tapi urang terus, Drew sababaraha gambar geulis tur datang nepi ka fitur anyar.

ageung Hadron Collider sareng Odnoklassniki

Contona, urang manggihan yén lamun urang plot titik simpang partikel kalawan unggal opat pelat detektor, urang bisa nempo yén titik dina unggal pelat dikelompokkeun kana 5 rectangles kalawan rasio aspék 4 nepi ka 5 sarta dipuseurkeun di titik (0,0), sarta di Aya euweuh titik dina sagi opat munggaran.

No. plat / dimensi sagi opat 1 2 3 4 5
Lempeng 1 500h625 1000h1250 2000h2500 4000h5000 8000h10000
Lempeng 2 520h650 1040h1300 2080h2600 4160h5200 8320h10400
Lempeng 3 560h700 1120h1400 2240h2800 4480h5600 8960h11200
Lempeng 4 600h750 1200h1500 2400h3000 4800h6000 9600h12000

Sanggeus nangtukeun dimensi ieu, urang ditambahkeun 4 fitur categorical anyar pikeun tiap partikel - jumlah sagi opat nu intersects unggal piring.

ageung Hadron Collider sareng Odnoklassniki

Urang ogé noticed nu partikel seemed paburencay ka sisi ti pusat jeung gagasan timbul pikeun kumaha bae evaluate nu "kualitas" scattering ieu. Ideally, eta meureun bakal mungkin mun datang nepi ka sababaraha jenis "ideal" parabola gumantung kana titik take-off jeung estimasi simpangan ti dinya, tapi urang ngawatesan diri kana "ideal" garis lempeng. Sanggeus ngawangun garis lempeng idéal pikeun tiap titik asupna, urang bisa ngitung simpangan baku tina lintasan unggal partikel tina garis lempeng ieu. Kusabab simpangan rata-rata pikeun udagan = 1 nyaéta 152, sareng pikeun udagan = 0 éta 390, urang samentawis ngevaluasi fitur ieu saé. Sareng memang, fitur ieu langsung dugi ka puncak anu paling mangpaat.

Kami delighted sarta ditambahkeun simpangan sadaya 4 titik simpang pikeun tiap partikel tina garis lempeng idéal salaku tambahan 4 fitur (sarta maranéhna ogé digawé ogé).

Tumbu ka artikel ilmiah dina topik kompetisi, dibikeun ka kami ku panitia, ditanya gagasan yén urang jauh ti mimiti pikeun ngajawab masalah ieu, sarta meureun aya sababaraha jenis software husus. Saatos mendakan gudang di github dimana metodeu IsMuonSimple, IsMuon, IsMuonLoose dilaksanakeun, kami ngalihkeunana ka situs kami kalayan modifikasi leutik. Métodena sorangan saderhana pisan: contona, upami énergina kirang tina ambang anu tangtu, maka éta sanés muon, upami henteu éta muon. Fitur saderhana sapertos kitu écés henteu tiasa masihan paningkatan dina kasus ngagunakeun gradién naekeun, ku kituna kami nambihan "jarak" anu signifikan kana bangbarung. fitur ieu ogé geus rada ningkat. Panginten, ku cara nganalisa metode anu tos aya langkung jero, éta tiasa mendakan metode anu langkung kuat sareng nambihanana kana tanda.

Dina ahir kompetisi, urang rada tweaked solusi "gancang" pikeun masalah kadua; dina tungtungna, éta béda ti dasar dina titik di handap ieu:

  1. Dina barisan kalawan beurat négatip udagan ieu inverted
  2. Eusian nilai anu leungit dina MatchedHit_{X,Y,Z}[N]
  3. Jero diréduksi jadi 7
  4. Ngurangan laju diajar jadi 0.1 (éta 0.19)

Hasilna, kami nyobian langkung seueur fitur (henteu suksés pisan), parameter anu dipilih sareng catboost dilatih, lightgbm sareng xgboost, nyobian campuran prediksi anu béda-béda sareng sateuacan muka swasta kami yakin meunang dina tugas kadua, sareng anu munggaran kami diantara pamingpin.

Saatos muka swasta kami di tempat ka-10 pikeun tugas 1 jeung 3 pikeun kadua. Sadaya pamimpin dicampurkeun, sareng kacepetan sacara pribadi langkung luhur tibatan dina libboard. Sigana yén data ieu kirang stratified (atawa contona aya euweuh barisan kalawan beurat négatip di swasta) jeung ieu bit frustrating.

SNA Hackathon 2019 - Téks. Tahap kahiji

Tugasna nyaéta pangkat tulisan pangguna dina jaringan sosial Odnoklassniki dumasar kana téks anu dikandungna; salian ti téks, aya sababaraha deui karakteristik tulisan (basa, pamilik, tanggal sareng waktos nyiptakeun, tanggal sareng waktos ningali. ).

Salaku pendekatan klasik pikeun damel sareng téks, kuring bakal nyorot dua pilihan:

  1. Mapping unggal kecap kana spasi vektor n-dimensi sahingga kecap sarupa mibanda vektor sarupa (baca deui dina artikel urang), teras milarian kecap rata-rata pikeun téks atanapi nganggo mékanisme anu merhatikeun posisi relatif kecap (CNN, LSTM/GRU).
  2. Ngagunakeun modél anu langsung tiasa dianggo sareng sadayana kalimat. Contona, Bert. Dina tiori, pendekatan ieu kedah dianggo langkung saé.

Kusabab ieu pangalaman munggaran kuring jeung téks, éta bakal salah mun ngajarkeun batur, jadi kuring bakal ngajarkeun sorangan. Ieu mangrupikeun tip anu kuring bakal masihan sorangan dina awal kompetisi:

  1. Saméméh lumpat ngajar hiji hal, titénan datana! Salian téks sorangan, data miboga sababaraha kolom jeung ieu mungkin squeeze kaluar leuwih ti aranjeunna ti kuring. Hal pangbasajanna nyaéta pikeun ngalakukeun encoding target pikeun sababaraha kolom.
  2. Entong diajar tina sadaya data! Aya seueur data (sakitar 17 juta jajar) sareng leres pisan henteu kedah dianggo sadayana pikeun nguji hipotesis. Latihan sarta preprocessing éta rada slow, sarta kuring écés bakal boga waktu pikeun nguji hipotesis leuwih metot.
  3. <Saran kontroversial> Teu kudu neangan model killer. Kuring spent lila figuring kaluar Elmo na Bert, miharep yén maranéhna bakal geuwat nyandak kuring ka tempat luhur, sarta salaku hasilna kuring dipaké FastText pre-dilatih embeddings pikeun basa Rusia. Abdi teu bisa ngahontal speed hadé kalawan Elmo, sarta kuring masih teu boga waktu pikeun angka kaluar kalawan Bert.
  4. <Saran kontroversial> Teu perlu néangan hiji fitur killer. Ningali datana, kuring perhatikeun yén sakitar 1 persén téks henteu leres-leres ngandung téks! Tapi aya tumbu ka sababaraha sumber, sarta kuring nulis parser basajan nu muka situs na ditarik kaluar judul na déskripsi. Éta sigana mangrupikeun ide anu saé, tapi kuring teras-terasan sareng mutuskeun pikeun nga-parse sadaya tautan pikeun sadaya téks sareng deui kaleungitan seueur waktos. Sadaya ieu teu nyadiakeun pamutahiran signifikan dina hasil ahir (sanajan kuring ilahar kaluar stemming, contona).
  5. Fitur klasik dianggo. Urang Google, contona, "fitur téks kaggle", maca tur nambahkeun sagalana. TF-IDF nyayogikeun perbaikan, kitu ogé fitur statistik sapertos panjang téks, kecap, sareng jumlah tanda baca.
  6. Lamun aya kolom DateTime, éta patut parsing kana sababaraha fitur misah (jam, poé dina saminggu, jsb). Fitur mana anu kedah disorot kedah dianalisis nganggo grafik / sababaraha métrik. Di dieu, dina kapribadian, kuring ngalakukeun sadayana leres sareng nyorot fitur anu diperyogikeun, tapi analisa normal henteu bakal menyakiti (contona, sapertos anu urang lakukeun dina final).

ageung Hadron Collider sareng Odnoklassniki

Salaku hasil tina kompetisi, kuring ngalatih hiji modél keras sareng konvolusi kecap, sareng anu sanésna dumasar kana LSTM sareng GRU. Duanana ngagunakeun embeddings FastText tos dilatih pikeun basa Rusia (kuring nyobian sababaraha embeddings séjén, tapi ieu anu pangalusna digawé). Sanggeus rata-rata prediksi, kuring nyokot tempat 7 final ti 76 pamilon.

Sanggeus tahap kahiji ieu diterbitkeun artikel ku Nikolai Anokhin, Anu nyokot tempat kadua (anjeunna ilubiung kaluar kompetisi), sarta solusi na nepi ka sababaraha tahapan ngulang milik, tapi manéhna indit salajengna alatan mékanisme perhatian query-konci-nilai.

Tahap kadua OK & IDAO

Tahap kadua kompetisi lumangsung ampir consecutively, jadi kuring mutuskeun pikeun nempo aranjeunna babarengan.

Kahiji, kuring jeung tim karek kaala réngsé nepi di kantor impressive sahiji parusahaan Mail.ru, dimana tugas urang nya éta ngagabungkeun model tilu lagu ti tahap kahiji - téks, gambar jeung collab. Saeutik langkung ti 2 dinten disayogikeun pikeun ieu, anu ternyata sakedik pisan. Kanyataanna, kami ngan ukur tiasa ngulang hasil tina tahap kahiji tanpa nampi hasil tina ngahiji. Tungtungna, kami nyandak tempat ka-5, tapi kami henteu tiasa nganggo modél téks. Saatos ningali solusi pamilon anu sanés, sigana éta patut nyobian gugusan téks sareng nambihanana kana modél kolaborasi. Épék samping tina tahap ieu nyaéta tayangan anyar, rapat sareng komunikasi sareng pamilon sareng panitia anu tiis, ogé kakurangan sare parah, anu tiasa mangaruhan hasil tina tahap ahir IDAO.

Tugas dina tahap Akhir IDAO 2019 nyaéta pikeun ngaduga waktos ngantosan pesenan supir taksi Yandex di bandara. Dina tahap 2, 3 tugas = 3 bandara diidentifikasi. Pikeun unggal bandara, data menit-demi-menit ngeunaan jumlah pesenan taksi salila genep bulan dibikeun. Sareng salaku data uji, data bulan sareng menit-menit dina pesenan salami 2 minggu katukang dipasihkeun. Aya sakedik waktos (1,5 dinten), tugasna rada spésifik, ngan hiji jalma ti tim anu sumping ka kompetisi - sareng salaku hasilna, éta tempat anu hanjelu nuju tungtungna. Gagasan anu pikaresepeun kalebet usaha ngagunakeun data éksternal: cuaca, macét lalu lintas sareng statistik pesenan taksi Yandex. Sanajan panitia teu nyebutkeun naon bandara ieu, loba pamilon nganggap yén éta Sheremetyevo, Domodedovo na Vnukovo. Sanajan asumsi ieu refuted sanggeus kompetisi, fitur, contona, tina data cuaca Moscow ningkat hasil duanana dina validasi jeung dina leaderboard.

kacindekan

  1. Kompetisi ML keren sareng pikaresepeun! Di dieu Anjeun baris manggihan pamakéan kaahlian dina analisis data, sarta dina model licik jeung téhnik, sarta saukur common sense wilujeng sumping.
  2. ML parantos janten badan ageung pangaweruh anu sigana ngembang sacara éksponénsial. Kuring netepkeun tujuan kuring pikeun kenal sareng daérah anu béda (sinyal, gambar, tabel, téks) sareng parantos sadar sabaraha seueur anu diajar. Contona, sanggeus kompetisi ieu kuring mutuskeun pikeun diajar: algoritma clustering, téhnik canggih pikeun gawé bareng gradién boosting perpustakaan (khususna, gawé bareng CatBoost on GPU), jaringan kapsul, mékanisme perhatian query-konci-nilai.
  3. Henteu ku kaggle nyalira! Aya loba kompetisi séjén dimana leuwih gampang pikeun meunangkeun sahenteuna kaos oblong, tur aya leuwih kasempetan pikeun hadiah séjén.
  4. Komunikasi! Geus aya komunitas badag dina widang mesin learning jeung analisis data, aya grup tematik dina telegram, slack, jeung jalma serius ti Mail.ru, Yandex jeung pausahaan séjén ngajawab patarosan jeung mantuan beginners jeung nu neraskeun jalur maranéhanana dina widang ieu. pangaweruh.
  5. Kuring mamatahan dulur anu diideuan ku titik saméméhna nganjang datafest - konferensi bébas utama di Moscow, nu bakal lumangsung dina Méi 10-11.

sumber: www.habr.com

Tambahkeun komentar