Μεγάλος Επιταχυντής Αδρονίων και Odnoklassniki

Συνεχίζοντας το θέμα των διαγωνισμών μηχανικής μάθησης στο Habré, θα θέλαμε να παρουσιάσουμε στους αναγνώστες δύο ακόμη πλατφόρμες. Σίγουρα δεν είναι τόσο τεράστια όσο το kaggle, αλλά σίγουρα αξίζουν την προσοχή.

Μεγάλος Επιταχυντής Αδρονίων και Odnoklassniki

Προσωπικά, δεν μου αρέσει πολύ το kaggle για διάφορους λόγους:

  • Πρώτον, οι διαγωνισμοί εκεί συχνά διαρκούν αρκετούς μήνες και η ενεργός συμμετοχή απαιτεί μεγάλη προσπάθεια.
  • δεύτερον, δημόσιοι πυρήνες (δημόσιες λύσεις). Οι οπαδοί του Kaggle συμβουλεύουν να τους συμπεριφέρεστε με την ηρεμία των Θιβετιανών μοναχών, αλλά στην πραγματικότητα είναι πολύ κρίμα όταν κάτι για το οποίο εργάζεστε για έναν ή δύο μήνες ξαφνικά αποδεικνύεται ότι είναι στρωμένο σε μια ασημένια πιατέλα για όλους.

Ευτυχώς, οι διαγωνισμοί μηχανικής μάθησης διεξάγονται σε άλλες πλατφόρμες και θα συζητηθούν μερικοί από αυτούς τους διαγωνισμούς.

IDAO SNA Hackathon 2019
Επίσημη γλώσσα: Αγγλικά,
διοργανωτές: Yandex, Sberbank, HSE
Επίσημη ρωσική γλώσσα,
διοργανωτές: Mail.ru Group
Διαδικτυακός γύρος: 15 Ιανουαρίου — 11 Φεβρουαρίου 2019.
Τελικός επιτόπου: 4-6 Απριλίου 2019
διαδικτυακά - από 7 Φεβρουαρίου έως 15 Μαρτίου.
εκτός σύνδεσης - από 30 Μαρτίου έως 1 Απριλίου.
Χρησιμοποιώντας ένα συγκεκριμένο σύνολο δεδομένων σχετικά με ένα σωματίδιο στον Μεγάλο Επιταχυντή Αδρονίων (τροχιά, ορμή και άλλες μάλλον περίπλοκες φυσικές παράμετροι), καθορίστε εάν είναι μιόνιο ή όχι
Από αυτή τη δήλωση, προσδιορίστηκαν 2 εργασίες:
— σε ένα έπρεπε απλώς να στείλετε την πρόβλεψή σας,
- και στην άλλη - ο πλήρης κώδικας και το μοντέλο για την πρόβλεψη και η εκτέλεση υπόκειτο σε αρκετά αυστηρούς περιορισμούς όσον αφορά το χρόνο εκτέλεσης και τη χρήση μνήμης
Για τον διαγωνισμό SNA Hackathon, συλλέχθηκαν αρχεία καταγραφής εμφανίσεων περιεχομένου από ανοιχτές ομάδες σε ροές ειδήσεων χρηστών για τον Φεβρουάριο-Μάρτιο 2018. Το σετ δοκιμής περιέχει την τελευταία εβδομάδα και μισή του Μαρτίου. Κάθε καταχώριση στο αρχείο καταγραφής περιέχει πληροφορίες σχετικά με το τι εμφανίστηκε και σε ποιον, καθώς και πώς αντέδρασε ο χρήστης σε αυτό το περιεχόμενο: το βαθμολόγησε, το σχολίασε, το αγνόησε ή το απέκρυψε από τη ροή.
Η ουσία των καθηκόντων του SNA Hackathon είναι να κατατάσσει κάθε χρήστη του κοινωνικού δικτύου Odnoklassniki τη ροή του, ανεβάζοντας όσο το δυνατόν ψηλότερα εκείνες τις αναρτήσεις που θα λάβουν μια "τάξη".
Στο διαδικτυακό στάδιο, η εργασία χωρίστηκε σε 3 μέρη:
1. κατατάσσει τις θέσεις σύμφωνα με διάφορα χαρακτηριστικά συνεργασίας
2. βαθμολογήστε τις αναρτήσεις με βάση τις εικόνες που περιέχουν
3. βαθμολογούν τις αναρτήσεις σύμφωνα με το κείμενο που περιέχουν
Πολύπλοκη προσαρμοσμένη μέτρηση, κάτι σαν ROC-AUC Μέσος όρος ROC-AUC ανά χρήστη
Έπαθλα για το πρώτο στάδιο - μπλουζάκια για Ν θέσεις, μετάβαση στο δεύτερο στάδιο, όπου καταβλήθηκαν διαμονή και γεύματα κατά τη διάρκεια του διαγωνισμού
Δεύτερη φάση - ??? (Για συγκεκριμένους λόγους, δεν ήμουν παρών στην τελετή απονομής και δεν μπόρεσα να μάθω ποια ήταν τελικά τα βραβεία). Υποσχέθηκαν φορητούς υπολογιστές σε όλα τα μέλη της νικήτριας ομάδας
Έπαθλα για το πρώτο στάδιο - μπλουζάκια για τους 100 καλύτερους συμμετέχοντες, μετάβαση στο δεύτερο στάδιο, όπου πληρώθηκαν το ταξίδι στη Μόσχα, η διαμονή και τα γεύματα κατά τη διάρκεια του διαγωνισμού. Επίσης, προς το τέλος του πρώτου σταδίου, ανακοινώθηκαν βραβεία για τους καλύτερους σε 3 εργασίες στο στάδιο 1: όλοι κέρδισαν μια κάρτα βίντεο RTX 2080 TI!
Το δεύτερο στάδιο ήταν ομαδικό, οι ομάδες αποτελούνταν από 2 έως 5 άτομα, έπαθλα:
1η θέση - 300 ρούβλια
2η θέση - 200 ρούβλια
3η θέση - 100 ρούβλια
βραβείο κριτικής επιτροπής - 100 ρούβλια
Επίσημη ομάδα τηλεγραφημάτων, ~190 συμμετέχοντες, επικοινωνία στα αγγλικά, ερωτήσεις έπρεπε να περιμένουν αρκετές μέρες για απάντηση Επίσημη ομάδα στο τηλεγράφημα, ~1500 συμμετέχοντες, ενεργή συζήτηση εργασιών μεταξύ συμμετεχόντων και διοργανωτών
Οι διοργανωτές έδωσαν δύο βασικές λύσεις, απλές και προηγμένες. Το Simple απαιτούσε λιγότερο από 16 GB μνήμης RAM και η προηγμένη μνήμη δεν χωρούσε στα 16. Ταυτόχρονα, κοιτάζοντας λίγο μπροστά, οι συμμετέχοντες δεν μπόρεσαν να ξεπεράσουν σημαντικά την προηγμένη λύση. Δεν υπήρχαν δυσκολίες στην έναρξη αυτών των λύσεων. Θα πρέπει να σημειωθεί ότι στο προχωρημένο παράδειγμα υπήρχε ένα σχόλιο με μια υπόδειξη για το πού να ξεκινήσετε τη βελτίωση της λύσης. Δόθηκαν βασικές πρωτόγονες λύσεις για καθεμία από τις εργασίες, τις οποίες ξεπερνούσαν εύκολα οι συμμετέχοντες. Στις πρώτες μέρες του διαγωνισμού, οι συμμετέχοντες αντιμετώπισαν αρκετές δυσκολίες: πρώτον, τα δεδομένα δόθηκαν σε μορφή Apache Parquet και δεν λειτουργούσαν όλοι οι συνδυασμοί της Python και του πακέτου παρκέ χωρίς σφάλματα. Η δεύτερη δυσκολία ήταν η λήψη εικόνων από το σύννεφο αλληλογραφίας· αυτή τη στιγμή δεν υπάρχει εύκολος τρόπος να κατεβάσετε μεγάλο όγκο δεδομένων ταυτόχρονα. Ως αποτέλεσμα, αυτά τα προβλήματα καθυστέρησαν τους συμμετέχοντες για μερικές ημέρες.

IDAO. Πρώτο στάδιο

Το καθήκον ήταν να ταξινομηθούν τα σωματίδια μιονίου/μη μιονίου σύμφωνα με τα χαρακτηριστικά τους. Το βασικό χαρακτηριστικό αυτής της εργασίας ήταν η παρουσία μιας στήλης βάρους στα δεδομένα προπόνησης, την οποία οι ίδιοι οι διοργανωτές ερμήνευσαν ως εμπιστοσύνη στην απάντηση για αυτή τη γραμμή. Το πρόβλημα ήταν ότι αρκετές σειρές περιείχαν αρνητικά βάρη.

Μεγάλος Επιταχυντής Αδρονίων και Odnoklassniki

Αφού σκεφτήκαμε για λίγα λεπτά τη γραμμή με την υπόδειξη (η υπόδειξη απλώς επέστησε την προσοχή σε αυτό το χαρακτηριστικό της στήλης βάρους) και δημιουργήσαμε αυτό το γράφημα, αποφασίσαμε να ελέγξουμε 3 επιλογές:

1) αντιστρέψτε τον στόχο των γραμμών με αρνητικά βάρη (και ανάλογα βάρη)
2) μετατοπίστε τα βάρη στην ελάχιστη τιμή ώστε να ξεκινούν από το 0
3) Μην χρησιμοποιείτε βάρη χορδών

Η τρίτη επιλογή αποδείχθηκε η χειρότερη, αλλά οι δύο πρώτες βελτίωσαν το αποτέλεσμα, η καλύτερη ήταν η επιλογή Νο. 1, η οποία μας έφερε αμέσως στη δεύτερη θέση στο πρώτο έργο και στην πρώτη στο δεύτερο.
Μεγάλος Επιταχυντής Αδρονίων και Odnoklassniki
Το επόμενο βήμα μας ήταν να εξετάσουμε τα δεδομένα για τιμές που λείπουν. Οι διοργανωτές μας έδωσαν ήδη χτενισμένα δεδομένα, όπου έλειπαν αρκετές τιμές και αντικαταστάθηκαν από -9999.

Βρήκαμε τιμές που λείπουν στις στήλες MatchedHit_{X,Y,Z}[N] και MatchedHit_D{X,Y,Z}[N] και μόνο όταν N=2 ή 3. Όπως καταλαβαίνουμε, ορισμένα σωματίδια δεν περάσει και τους 4 ανιχνευτές και σταμάτησε είτε στην 3η είτε στην 4η πλάκα. Τα δεδομένα περιείχαν επίσης στήλες Lextra_{X,Y}[N], οι οποίες προφανώς περιγράφουν το ίδιο πράγμα με το MatchedHit_{X,Y,Z}[N], αλλά χρησιμοποιώντας κάποιο είδος παρέκτασης. Αυτές οι πενιχρές εικασίες πρότειναν ότι το Lextra_{X,Y}[N] θα μπορούσε να αντικαταστήσει τις τιμές που λείπουν στο MatchedHit_{X,Y,Z}[N] (μόνο για τις συντεταγμένες X και Y). Το MatchedHit_Z[N] ήταν καλά γεμάτο με τη διάμεσο. Αυτοί οι χειρισμοί μας επέτρεψαν να φτάσουμε στην 1η ενδιάμεση θέση και στις δύο εργασίες.

Μεγάλος Επιταχυντής Αδρονίων και Odnoklassniki

Λαμβάνοντας υπόψη ότι δεν έδωσαν τίποτα για τη νίκη στο πρώτο στάδιο, θα μπορούσαμε να σταματήσουμε εκεί, αλλά συνεχίσαμε, σχεδιάσαμε μερικές όμορφες εικόνες και καταλήξαμε σε νέα χαρακτηριστικά.

Μεγάλος Επιταχυντής Αδρονίων και Odnoklassniki

Για παράδειγμα, διαπιστώσαμε ότι αν σχεδιάσουμε τα σημεία τομής ενός σωματιδίου με καθεμία από τις τέσσερις πλάκες ανιχνευτή, μπορούμε να δούμε ότι τα σημεία σε κάθε μία από τις πλάκες ομαδοποιούνται σε 5 ορθογώνια με λόγο διαστάσεων 4 προς 5 και κεντραρισμένα στο το σημείο (0,0), και στο Δεν υπάρχουν σημεία στο πρώτο ορθογώνιο.

Αρ. πιάτου / διαστάσεις ορθογωνίου 1 2 3 4 5
Πλάκα 1 500 × 625 1000 × 1250 2000 × 2500 4000 × 5000 8000 × 10000
Πλάκα 2 520 × 650 1040 × 1300 2080 × 2600 4160 × 5200 8320 × 10400
Πλάκα 3 560 × 700 1120 × 1400 2240 × 2800 4480 × 5600 8960 × 11200
Πλάκα 4 600 × 750 1200 × 1500 2400 × 3000 4800 × 6000 9600 × 12000

Έχοντας καθορίσει αυτές τις διαστάσεις, προσθέσαμε 4 νέα κατηγορικά χαρακτηριστικά για κάθε σωματίδιο - τον αριθμό του ορθογωνίου στο οποίο τέμνει κάθε πλάκα.

Μεγάλος Επιταχυντής Αδρονίων και Odnoklassniki

Παρατηρήσαμε επίσης ότι τα σωματίδια φαινόταν να διασκορπίζονται στα πλάγια από το κέντρο και προέκυψε η ιδέα να αξιολογήσουμε με κάποιο τρόπο την «ποιότητα» αυτής της σκέδασης. Στην ιδανική περίπτωση, θα ήταν πιθανώς δυνατό να καταλήξουμε σε κάποιο είδος «ιδανικής» παραβολής ανάλογα με το σημείο απογείωσης και να εκτιμήσουμε την απόκλιση από αυτό, αλλά περιοριστήκαμε στην «ιδανική» ευθεία. Έχοντας κατασκευάσει τέτοιες ιδανικές ευθείες για κάθε σημείο εισόδου, μπορέσαμε να υπολογίσουμε την τυπική απόκλιση της τροχιάς κάθε σωματιδίου από αυτή την ευθεία γραμμή. Δεδομένου ότι η μέση απόκλιση για τον στόχο = 1 ήταν 152 και για τον στόχο = 0 ήταν 390, αξιολογήσαμε προσωρινά αυτό το χαρακτηριστικό ως καλό. Και πράγματι, αυτό το χαρακτηριστικό έφτασε αμέσως στην κορυφή των πιο χρήσιμων.

Μείναμε ενθουσιασμένοι και προσθέσαμε την απόκλιση και των 4 σημείων τομής για κάθε σωματίδιο από την ιδανική ευθεία γραμμή ως επιπλέον 4 χαρακτηριστικά (και λειτούργησαν επίσης καλά).

Σύνδεσμοι σε επιστημονικά άρθρα σχετικά με το θέμα του διαγωνισμού, που μας δόθηκαν από τους διοργανωτές, ώθησαν την ιδέα ότι είμαστε μακριά από τους πρώτους που θα λύσουν αυτό το πρόβλημα και, ίσως, υπάρχει κάποιο είδος εξειδικευμένου λογισμικού. Έχοντας ανακαλύψει ένα αποθετήριο στο github όπου εφαρμόστηκαν οι μέθοδοι IsMuonSimple, IsMuon, IsMuonLoose, τις μεταφέραμε στον ιστότοπό μας με μικρές τροποποιήσεις. Οι ίδιες οι μέθοδοι ήταν πολύ απλές: για παράδειγμα, εάν η ενέργεια είναι μικρότερη από ένα ορισμένο όριο, τότε δεν είναι μιόνιο, διαφορετικά είναι μιόνιο. Τέτοια απλά χαρακτηριστικά προφανώς δεν θα μπορούσαν να δώσουν αύξηση στην περίπτωση χρήσης gradient boosting, οπότε προσθέσαμε άλλη μια σημαντική «απόσταση» στο όριο. Αυτά τα χαρακτηριστικά έχουν επίσης βελτιωθεί ελαφρώς. Ίσως, αναλύοντας πιο διεξοδικά τις υπάρχουσες μεθόδους, ήταν δυνατό να βρεθούν ισχυρότερες μέθοδοι και να προστεθούν στα σημάδια.

Στο τέλος του διαγωνισμού, τροποποιήσαμε ελαφρώς τη «γρήγορη» λύση για το δεύτερο πρόβλημα· τελικά, διέφερε από τη βασική γραμμή στα ακόλουθα σημεία:

  1. Σε σειρές με αρνητικό βάρος ο στόχος ήταν ανεστραμμένος
  2. Συμπλήρωσε τις τιμές που λείπουν στο MatchedHit_{X,Y,Z}[N]
  3. Μειωμένο βάθος σε 7
  4. Μειωμένο ποσοστό εκμάθησης στο 0.1 (ήταν 0.19)

Ως αποτέλεσμα, δοκιμάσαμε περισσότερες δυνατότητες (όχι πολύ επιτυχημένα), επιλεγμένες παραμέτρους και εκπαιδευμένο catboost, lightgbm και xgboost, δοκιμάσαμε διαφορετικές μίξεις προβλέψεων και πριν ανοίξουμε το ιδιωτικό κερδίσαμε με σιγουριά στη δεύτερη εργασία και στην πρώτη ήμασταν μεταξύ των ηγέτες.

Μετά το άνοιγμα του ιδιωτικού ήμασταν στη 10η θέση για την 1η εργασία και στην 3η για τη δεύτερη. Όλοι οι ηγέτες μπερδεύτηκαν και η ταχύτητα στο ιδιωτικό ήταν υψηλότερη από ό,τι στο libboard. Φαίνεται ότι τα δεδομένα ήταν κακώς διαστρωματωμένα (ή για παράδειγμα δεν υπήρχαν σειρές με αρνητικά βάρη στο ιδιωτικό) και αυτό ήταν λίγο απογοητευτικό.

SNA Hackathon 2019 - Κείμενα. Πρώτο στάδιο

Ο στόχος ήταν να ταξινομηθούν οι αναρτήσεις των χρηστών στο κοινωνικό δίκτυο Odnoklassniki με βάση το κείμενο που περιείχαν· εκτός από το κείμενο, υπήρχαν μερικά ακόμη χαρακτηριστικά της ανάρτησης (γλώσσα, ιδιοκτήτης, ημερομηνία και ώρα δημιουργίας, ημερομηνία και ώρα προβολής ).

Ως κλασικές προσεγγίσεις για την εργασία με κείμενο, θα επισήμανα δύο επιλογές:

  1. Αντιστοίχιση κάθε λέξης σε ένα ν-διάστατο διανυσματικό χώρο έτσι ώστε παρόμοιες λέξεις να έχουν παρόμοια διανύσματα (διαβάστε περισσότερα στο το άρθρο μας), στη συνέχεια είτε βρίσκοντας τη μέση λέξη για το κείμενο είτε χρησιμοποιώντας μηχανισμούς που λαμβάνουν υπόψη τη σχετική θέση των λέξεων (CNN, LSTM/GRU).
  2. Χρησιμοποιώντας μοντέλα που μπορούν να δουλέψουν αμέσως με ολόκληρες προτάσεις. Για παράδειγμα, ο Μπερτ. Θεωρητικά, αυτή η προσέγγιση θα πρέπει να λειτουργεί καλύτερα.

Επειδή αυτή ήταν η πρώτη μου εμπειρία με κείμενα, θα ήταν λάθος να διδάξω κάποιον, οπότε θα διδάξω τον εαυτό μου. Αυτές είναι οι συμβουλές που θα έδινα στον εαυτό μου στην αρχή του διαγωνισμού:

  1. Πριν τρέξεις να διδάξεις κάτι, δες τα δεδομένα! Εκτός από το ίδιο το κείμενο, τα δεδομένα είχαν πολλές στήλες και ήταν δυνατό να συμπιεστούν πολύ περισσότερες από αυτές από ό,τι εγώ. Το πιο απλό πράγμα είναι να σημαίνει κωδικοποίηση στόχου για ορισμένες από τις στήλες.
  2. Μην μαθαίνετε από όλα τα δεδομένα! Υπήρχαν πολλά δεδομένα (περίπου 17 εκατομμύρια σειρές) και δεν ήταν απολύτως απαραίτητο να χρησιμοποιηθούν όλα για τον έλεγχο υποθέσεων. Η εκπαίδευση και η προεπεξεργασία ήταν αρκετά αργές και προφανώς θα είχα χρόνο να δοκιμάσω πιο ενδιαφέρουσες υποθέσεις.
  3. <Αμφιλεγόμενη συμβουλή> Δεν χρειάζεται να ψάξετε για μοντέλο δολοφόνο. Πέρασα πολύ χρόνο για να ανακαλύψω τον Έλμο και τον Μπερτ, ελπίζοντας ότι θα με πήγαιναν αμέσως σε ένα υψηλό σημείο, και ως αποτέλεσμα χρησιμοποίησα προ-εκπαιδευμένες ενσωματώσεις FastText για τη ρωσική γλώσσα. Δεν μπορούσα να πετύχω καλύτερη ταχύτητα με τον Elmo, και ακόμα δεν είχα χρόνο να το καταλάβω με τον Bert.
  4. <Αμφιλεγόμενη συμβουλή> Δεν χρειάζεται να ψάξετε για ένα χαρακτηριστικό. Κοιτάζοντας τα δεδομένα, παρατήρησα ότι περίπου το 1 τοις εκατό των κειμένων δεν περιέχουν στην πραγματικότητα κείμενο! Αλλά υπήρχαν σύνδεσμοι προς ορισμένους πόρους και έγραψα έναν απλό αναλυτή που άνοιξε τον ιστότοπο και έβγαλε τον τίτλο και την περιγραφή. Μου φάνηκε καλή ιδέα, αλλά μετά παρασύρθηκα και αποφάσισα να αναλύσω όλους τους συνδέσμους για όλα τα κείμενα και πάλι έχασα πολύ χρόνο. Όλα αυτά δεν παρείχαν σημαντική βελτίωση στο τελικό αποτέλεσμα (αν και κατάλαβα το stemming, για παράδειγμα).
  5. Τα κλασικά χαρακτηριστικά λειτουργούν. Εμείς στο Google, για παράδειγμα, «τα χαρακτηριστικά κειμένου kaggle», διαβάζουμε και προσθέτουμε τα πάντα. Το TF-IDF παρείχε μια βελτίωση, όπως και τα στατιστικά χαρακτηριστικά όπως το μήκος του κειμένου, οι λέξεις και η ποσότητα των σημείων στίξης.
  6. Εάν υπάρχουν στήλες DateTime, αξίζει να τις αναλύσετε σε πολλές ξεχωριστές λειτουργίες (ώρες, ημέρες της εβδομάδας, κ.λπ.). Ποια χαρακτηριστικά πρέπει να επισημανθούν θα πρέπει να αναλυθούν χρησιμοποιώντας γραφήματα/μερικές μετρήσεις. Εδώ, από μια ιδιοτροπία, τα έκανα όλα σωστά και τόνισα τα απαραίτητα χαρακτηριστικά, αλλά μια κανονική ανάλυση δεν θα έβλαπτε (για παράδειγμα, όπως κάναμε στον τελικό).

Μεγάλος Επιταχυντής Αδρονίων και Odnoklassniki

Ως αποτέλεσμα του διαγωνισμού, εκπαίδευσα ένα μοντέλο keras με συνέλιξη λέξεων και ένα άλλο βασισμένο σε LSTM και GRU. Και οι δύο χρησιμοποίησαν προ-εκπαιδευμένες ενσωματώσεις FastText για τη ρωσική γλώσσα (δοκίμασα μια σειρά από άλλες ενσωματώσεις, αλλά αυτές ήταν αυτές που λειτούργησαν καλύτερα). Μετά τον μέσο όρο των προβλέψεων, κατέκτησα την τελική 7η θέση σε 76 συμμετέχοντες.

Μετά το πρώτο στάδιο δημοσιεύτηκε άρθρο του Nikolai Anokhin, που πήρε τη δεύτερη θέση (συμμετείχε εκτός συναγωνισμού) και η λύση του μέχρι κάποιο στάδιο επαναλάμβανε τη δική μου, αλλά προχώρησε περισσότερο λόγω του μηχανισμού προσοχής query-key-value.

Δεύτερο στάδιο OK & IDAO

Τα δεύτερα στάδια των διαγωνισμών έγιναν σχεδόν διαδοχικά, οπότε αποφάσισα να τα δούμε μαζί.

Πρώτα, εγώ και η νεοαποκτηθείσα ομάδα καταλήξαμε στο εντυπωσιακό γραφείο της εταιρείας Mail.ru, όπου το καθήκον μας ήταν να συνδυάσουμε τα μοντέλα τριών κομματιών από το πρώτο στάδιο - κείμενο, εικόνες και συνεργασία. Λίγο περισσότερες από 2 ημέρες διατέθηκαν για αυτό, το οποίο αποδείχθηκε ότι ήταν πολύ λίγες. Στην πραγματικότητα, μπορέσαμε να επαναλάβουμε τα αποτελέσματά μας μόνο από το πρώτο στάδιο χωρίς να λάβουμε κέρδη από τη συγχώνευση. Τελικά, πήραμε την 5η θέση, αλλά δεν μπορέσαμε να χρησιμοποιήσουμε το μοντέλο κειμένου. Αφού εξετάσαμε τις λύσεις άλλων συμμετεχόντων, φαίνεται ότι άξιζε να προσπαθήσουμε να ομαδοποιήσουμε τα κείμενα και να τα προσθέσουμε στο μοντέλο συνεργασίας. Μια παρενέργεια αυτού του σταδίου ήταν οι νέες εντυπώσεις, η συνάντηση και η επικοινωνία με δροσερούς συμμετέχοντες και διοργανωτές, καθώς και η έντονη έλλειψη ύπνου, που μπορεί να επηρέασε το αποτέλεσμα του τελικού σταδίου του IDAO.

Η αποστολή στο τελικό στάδιο του IDAO 2019 ήταν να προβλέψει τον χρόνο αναμονής για μια παραγγελία για τους οδηγούς ταξί Yandex στο αεροδρόμιο. Στο στάδιο 2, προσδιορίστηκαν 3 εργασίες = 3 αεροδρόμια. Για κάθε αεροδρόμιο, δίνονται στοιχεία λεπτό προς λεπτό για τον αριθμό των παραγγελιών ταξί για έξι μήνες. Και ως δεδομένα δοκιμής, δόθηκαν δεδομένα του επόμενου μήνα και λεπτό προς λεπτό για παραγγελίες για τις τελευταίες 2 εβδομάδες. Ο χρόνος ήταν λίγος (1,5 ημέρα), το έργο ήταν αρκετά συγκεκριμένο, μόνο ένα άτομο από την ομάδα ήρθε στον διαγωνισμό - και ως αποτέλεσμα, ήταν ένα θλιβερό μέρος προς το τέλος. Οι ενδιαφέρουσες ιδέες περιλάμβαναν προσπάθειες χρήσης εξωτερικών δεδομένων: καιρός, μποτιλιαρίσματα και στατιστικά στοιχεία παραγγελιών ταξί Yandex. Αν και οι διοργανωτές δεν είπαν ποια ήταν αυτά τα αεροδρόμια, πολλοί συμμετέχοντες υπέθεσαν ότι ήταν το Sheremetyevo, το Domodedovo και το Vnukovo. Αν και αυτή η υπόθεση διαψεύστηκε μετά τον διαγωνισμό, χαρακτηριστικά, για παράδειγμα, από τα δεδομένα καιρού της Μόσχας βελτίωσαν τα αποτελέσματα τόσο στην επικύρωση όσο και στον πίνακα κατάταξης.

Συμπέρασμα

  1. Οι διαγωνισμοί ML είναι δροσεροί και ενδιαφέροντες! Εδώ θα βρείτε τη χρήση δεξιοτήτων στην ανάλυση δεδομένων, και σε πονηρά μοντέλα και τεχνικές, και απλά η κοινή λογική είναι ευπρόσδεκτη.
  2. Η ML είναι ήδη ένα τεράστιο σύνολο γνώσεων που φαίνεται να αυξάνεται εκθετικά. Έθεσα ως στόχο να εξοικειωθώ με διάφορους τομείς (σήματα, εικόνες, πίνακες, κείμενο) και ήδη συνειδητοποίησα πόσα πολλά πρέπει να μελετήσω. Για παράδειγμα, μετά από αυτούς τους διαγωνισμούς αποφάσισα να μελετήσω: αλγόριθμους ομαδοποίησης, προηγμένες τεχνικές για εργασία με βιβλιοθήκες ενίσχυσης διαβάθμισης (ιδίως, εργασία με CatBoost στη GPU), δίκτυα καψουλών, μηχανισμός προσοχής ερωτήματος κλειδιού-τιμής.
  3. Όχι μόνο με καγκελό! Υπάρχουν πολλοί άλλοι διαγωνισμοί όπου είναι πιο εύκολο να αποκτήσεις τουλάχιστον ένα μπλουζάκι και υπάρχουν περισσότερες πιθανότητες για άλλα βραβεία.
  4. ΕΠΙΚΟΙΝΩΝΩ! Υπάρχει ήδη μια μεγάλη κοινότητα στον τομέα της μηχανικής μάθησης και της ανάλυσης δεδομένων, υπάρχουν θεματικές ομάδες στο τηλεγράφημα, το slack και σοβαροί άνθρωποι από τη Mail.ru, την Yandex και άλλες εταιρείες απαντούν σε ερωτήσεις και βοηθούν αρχάριους και όσους συνεχίζουν την πορεία τους σε αυτόν τον τομέα της γνώσης.
  5. Συμβουλεύω όλους όσους εμπνεύστηκαν από το προηγούμενο σημείο να επισκεφθούν datafest — ένα μεγάλο δωρεάν συνέδριο στη Μόσχα, το οποίο θα πραγματοποιηθεί στις 10-11 Μαΐου.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο