Logo Zephyrnet

Probabilitas Face-off, bagian dari NHL Edge IQ: Memprediksi pemenang face-off secara real time selama pertandingan yang disiarkan televisi

Tanggal:

Probabilitas Face-off adalah Liga Hoki Nasional (NHL) statistik lanjutan pertama menggunakan pembelajaran mesin (ML) dan kecerdasan buatan. Ini menggunakan data Pelacakan Pemain dan Puck (PPT) real-time untuk menunjukkan kepada pemirsa pemain mana yang kemungkinan akan memenangkan pertandingan tatap muka sebelum keping dijatuhkan, dan memberikan kesempatan kepada penyiar dan pemirsa untuk menyelami lebih dalam pentingnya pertandingan tatap muka. dan perbedaan kemampuan pemain. Berdasarkan data historis 10 tahun, ratusan ribu face-off digunakan untuk merekayasa lebih dari 70 fitur yang dimasukkan ke dalam model untuk memberikan probabilitas real-time. Penyiar sekarang dapat mendiskusikan bagaimana kemenangan tatap muka utama oleh seorang pemain menghasilkan gol atau bagaimana peluang memenangkan pertandingan tatap muka berkurang karena spesialis tatap muka tim dibebaskan dari hasil imbang. Fans dapat melihat visual, prediksi real-time yang menunjukkan pentingnya bagian penting dari permainan.

Dalam postingan ini, kami berfokus pada bagaimana model ML untuk Probabilitas Face-off dikembangkan dan layanan yang digunakan untuk memasukkan model ke dalam produksi. Kami juga berbagi tantangan teknis utama yang diselesaikan selama konstruksi model Probabilitas Face-off.

Cara kerjanya

Bayangkan skenario berikut: Ini adalah permainan dasi antara dua tim NHL yang akan menentukan siapa yang maju. Kami berada di periode ketiga dengan waktu tersisa 1:22 detik. Dua pemain dari tim yang berlawanan berbaris untuk mengambil hasil imbang di pertandingan terdekat yang lebih dekat ke salah satu jaring. Penjaga garis melihat seorang pemain bertahan masuk ke dalam lingkaran tatap muka dan melepaskan pemain mereka dari pertandingan karena pelanggaran tersebut. Seorang pemain bertahan yang kurang berpengalaman datang untuk mengambil undian sebagai penggantinya. Tim penyerang memenangkan pertarungan, menguasai keping, dan segera mencetak skor untuk memimpin. Skor bertahan untuk menit yang tersisa dari permainan dan memutuskan siapa yang bergerak maju. Siapa pemain yang diunggulkan untuk memenangkan pertarungan sebelum duet awal diubah? Berapa probabilitas tim bertahan untuk memenangkan pertandingan tatap muka berkurang karena pelanggaran yang memaksa pemain lain untuk mengambil undian? Probabilitas Face-off, statistik NHL Edge IQ terbaru yang didukung oleh AWS, sekarang dapat menjawab pertanyaan-pertanyaan ini.

Ketika ada penghentian dalam permainan, Probabilitas Face-off menghasilkan prediksi siapa yang akan memenangkan pertandingan mendatang berdasarkan pemain di atas es, lokasi pertandingan, dan situasi permainan saat ini. Prediksi dihasilkan sepanjang penghentian hingga jam permainan mulai berjalan lagi. Prediksi terjadi pada latensi sub-detik dan dipicu setiap kali ada perubahan pada pemain yang terlibat dalam pertarungan.

Bidikan faceoff NHL dari atas

Mengatasi hambatan utama untuk kemungkinan tatap muka

Memprediksi probabilitas tatap muka dalam siaran waktu nyata dapat dipecah menjadi dua sub-masalah khusus:

  • Memodelkan peristiwa tatap muka sebagai masalah ML, memahami persyaratan dan batasan, menyiapkan data, merekayasa sinyal data, menjelajahi algoritme, dan memastikan keandalan hasil
  • Mendeteksi acara tatap muka selama pertandingan dari aliran acara PPT, mengumpulkan parameter yang diperlukan untuk prediksi, memanggil model, dan mengirimkan hasil ke penyiar

Memprediksi kemungkinan seorang pemain memenangkan pertandingan secara real time di siaran televisi memiliki beberapa tantangan teknis yang harus diatasi. Ini termasuk menentukan fitur yang diperlukan dan metode pemodelan untuk memprediksi peristiwa yang memiliki sejumlah besar ketidakpastian, dan menentukan cara menggunakan data sensor PPT streaming untuk mengidentifikasi di mana pertarungan terjadi, pemain yang terlibat, dan probabilitas setiap pemain. memenangkan pertarungan, semuanya dalam ratusan milidetik.

Pemain berkerumun dalam bidikan Faceoff selama pertandingan

Membangun model ML untuk peristiwa yang sulit diprediksi

Memprediksi peristiwa seperti probabilitas menang secara langsung selama pertandingan langsung adalah tugas kompleks yang membutuhkan sejumlah besar data historis berkualitas dan kemampuan streaming data. Untuk mengidentifikasi dan memahami sinyal penting dalam lingkungan data yang kaya, pengembangan model ML membutuhkan keahlian materi pelajaran yang luas. Itu Lab Solusi Pembelajaran Mesin Amazon bermitra dengan ahli hoki dan data NHL untuk bekerja mundur dari sasaran target mereka untuk meningkatkan pengalaman penggemar mereka. Dengan terus mendengarkan keahlian NHL dan menguji hipotesis, para ilmuwan AWS merekayasa lebih dari 100 fitur yang berkorelasi dengan peristiwa tatap muka. Secara khusus, tim mengklasifikasikan kumpulan fitur ini ke dalam salah satu dari tiga kategori:

  • Statistik historis tentang penampilan pemain seperti jumlah face-off yang dilakukan dan dimenangkan pemain dalam lima musim terakhir, jumlah face-off yang dilakukan dan dimenangkan pemain di pertandingan sebelumnya, persentase kemenangan pemain selama beberapa jendela waktu, dan persentase kemenangan head-to-head untuk setiap pemain dalam pertandingan tatap muka
  • Karakteristik pemain seperti tinggi, berat, tangan, dan tahun di liga
  • Data situasional dalam game yang mungkin memengaruhi performa pemain, seperti skor game, waktu yang telah berlalu dalam game hingga titik tersebut, lokasi pertarungan, kekuatan masing-masing tim, dan pemain mana yang harus bermain tongkat mereka untuk berhadapan terlebih dahulu

Ilmuwan ML AWS menganggap masalah tersebut sebagai masalah klasifikasi biner: baik pemain tuan rumah memenangkan pertandingan tatap muka atau pemain tandang memenangkan pertandingan tatap muka. Dengan data dari lebih dari 200,000 pertemuan historis, mereka menggunakan CahayaGBM model untuk memprediksi mana dari dua pemain yang terlibat dengan acara tatap muka yang kemungkinan akan menang.

Menentukan apakah pertarungan akan segera terjadi dan pemain mana yang terlibat

Ketika peluit ditiup dan permainan dihentikan, Probabilitas Face-off mulai membuat prediksi. Namun, Probabilitas Face-off harus terlebih dahulu menentukan di mana face-off terjadi dan pemain mana dari masing-masing tim yang terlibat dalam face-off. Aliran data menunjukkan peristiwa saat terjadi tetapi tidak memberikan informasi tentang kapan suatu peristiwa kemungkinan akan terjadi di masa mendatang. Dengan demikian, data sensor pemain di atas es diperlukan untuk menentukan kapan dan di mana pertarungan akan terjadi.

Sistem PPT menghasilkan lokasi dan kecepatan real-time untuk pemain di atas es hingga 60 peristiwa per detik. Lokasi dan kecepatan ini digunakan untuk menentukan di mana face-off terjadi di atas es dan apakah itu akan segera terjadi. Dengan mengetahui seberapa dekat para pemain dengan lokasi pertarungan yang diketahui dan seberapa stasioner para pemain, Probabilitas Face-off dapat menentukan bahwa pertarungan kemungkinan besar akan terjadi dan dua pemain yang akan terlibat dalam pertarungan tersebut. .

Menentukan jarak cut-off yang benar untuk kedekatan dengan lokasi face-off dan kecepatan cut-off yang sesuai untuk pemain stasioner dilakukan dengan menggunakan model pohon keputusan. Dengan data PPT dari musim 2020-2021, kami membuat model untuk memprediksi kemungkinan terjadinya pertarungan di lokasi tertentu dengan mempertimbangkan jarak rata-rata setiap tim ke lokasi dan kecepatan para pemain. Pohon keputusan menyediakan batas untuk setiap metrik, yang kami sertakan sebagai logika berbasis aturan dalam aplikasi streaming.

Dengan penentuan lokasi pertandingan yang benar, pemain dari setiap tim yang mengambil pertandingan dihitung dengan mengambil pemain yang paling dekat dengan lokasi yang diketahui dari masing-masing tim. Ini memberi aplikasi fleksibilitas untuk mengidentifikasi pemain yang benar sementara juga dapat menyesuaikan diri dengan pemain baru yang harus berhadapan jika pemain saat ini dikeluarkan karena pelanggaran. Membuat dan memperbarui prediksi untuk pemutar yang tepat adalah fokus utama untuk kegunaan model secara real-time dalam siaran, yang akan kami jelaskan lebih lanjut di bagian berikutnya.

Pengembangan dan pelatihan model

Untuk mengembangkan model, kami menggunakan lebih dari 200,000 titik data historis tatap muka, bersama dengan kumpulan fitur rekayasa khusus yang dirancang dengan bekerja sama dengan pakar materi pelajaran. Kami melihat fitur-fitur seperti situasi dalam game, performa historis para pemain yang bertanding, karakteristik khusus pemain, dan penampilan head-to-head dari para pemain yang bertanding, baik di musim saat ini maupun untuk musim mereka. karir. Secara kolektif, ini menghasilkan lebih dari 100 fitur yang dibuat menggunakan kombinasi teknik yang tersedia dan diturunkan.

Untuk menilai fitur yang berbeda dan bagaimana mereka dapat mempengaruhi model, kami melakukan analisis fitur ekstensif sebagai bagian dari fase eksplorasi. Kami menggunakan campuran tes univariat dan tes multivariat. Untuk pengujian multivariat, untuk interpretasi, kami menggunakan teknik visualisasi pohon keputusan. Untuk menilai signifikansi statistik, kami menggunakan Uji Chi dan uji KS untuk menguji ketergantungan atau perbedaan distribusi.

Pohon keputusan yang menunjukkan bagaimana model memperkirakan berdasarkan data dan fitur yang mendasarinya

Kami mengeksplorasi teknik dan model klasifikasi dengan harapan bahwa probabilitas mentah akan diperlakukan sebagai prediksi. Kami menjelajahi tetangga terdekat, pohon keputusan, jaringan saraf, dan juga pemfilteran kolaboratif dalam hal algoritme, sambil mencoba berbagai strategi pengambilan sampel (penyaringan, pengambilan sampel acak, bertingkat, dan berbasis waktu) dan mengevaluasi kinerja di Area Under the Curve (AUC) dan distribusi kalibrasi bersama dengan hilangnya skor Brier. Pada akhirnya, kami menemukan bahwa model LightGBM bekerja paling baik dengan metrik akurasi yang dikalibrasi dengan baik.

Untuk mengevaluasi kinerja model, kami menggunakan beberapa teknik. Kami menggunakan set tes yang model terlatihnya tidak pernah terpapar. Selain itu, tim melakukan penilaian manual ekstensif dari hasil, melihat kasus tepi dan mencoba memahami nuansa bagaimana model terlihat untuk menentukan mengapa pemain tertentu harus menang atau kalah dalam acara tatap muka.

Dengan informasi yang dikumpulkan dari peninjau manual, kami akan menyesuaikan fitur bila diperlukan, atau menjalankan iterasi pada model untuk melihat apakah kinerja model seperti yang diharapkan.

Menyebarkan Probabilitas Face-off untuk penggunaan waktu nyata selama siaran televisi nasional

Salah satu tujuan dari proyek ini bukan hanya untuk memprediksi pemenang dari pertandingan tatap muka, tetapi untuk membangun fondasi untuk memecahkan sejumlah masalah serupa secara real-time dan hemat biaya. Tujuan itu membantu menentukan komponen mana yang akan digunakan dalam arsitektur akhir.

diagram arsitektur untuk aplikasi faceoff

Komponen penting pertama adalah Aliran Data Amazon Kinesis, layanan data streaming tanpa server yang bertindak sebagai pemisah antara implementasi spesifik penyedia data PPT dan aplikasi yang digunakan, sehingga melindungi penyedia data terakhir dari perubahan yang mengganggu pada penyedia data sebelumnya. Ini juga telah meningkatkan fitur fan-out, yang menyediakan kemampuan untuk menghubungkan hingga 20 konsumen paralel dan mempertahankan latensi rendah 70 milidetik dan throughput yang sama sebesar 2MB/s per shard di antara mereka semua secara bersamaan.

Acara PPT tidak datang untuk semua pemain sekaligus, tetapi tiba secara terpisah untuk setiap pemain serta acara lain dalam permainan. Oleh karena itu, untuk mengimplementasikan algoritma deteksi face-off yang akan datang, aplikasi perlu mempertahankan status.

Komponen penting kedua dari arsitektur adalah Analisis Data Amazon Kinesis untuk Flash Apache. Apache Flink adalah mesin aliran data streaming terdistribusi, throughput tinggi, latensi rendah yang menyediakan cara yang nyaman dan mudah untuk menggunakan Data Stream API, dan mendukung fungsi pemrosesan stateful, checkpointing, dan pemrosesan paralel di luar kotak. Ini membantu mempercepat pengembangan dan menyediakan akses ke rutinitas dan komponen tingkat rendah, yang memungkinkan desain dan implementasi aplikasi yang fleksibel.

Kinesis Data Analytics menyediakan infrastruktur dasar untuk aplikasi Apache Flink Anda. Ini menghilangkan kebutuhan untuk menyebarkan dan mengonfigurasi kluster Flink di Cloud komputasi elastis Amazon (Amazon EC2) atau Kubernetes, yang mengurangi kerumitan dan biaya pemeliharaan.

Komponen penting ketiga adalah Amazon SageMaker. Meskipun kami menggunakan SageMaker untuk membangun model, kami juga perlu membuat keputusan pada tahap awal proyek: apakah penilaian harus diterapkan di dalam aplikasi pendeteksi face-off itu sendiri dan memperumit implementasi, atau haruskah aplikasi pendeteksi face-off memanggil SageMaker dari jarak jauh dan mengorbankan beberapa latensi karena komunikasi melalui jaringan? Untuk membuat keputusan yang tepat, kami melakukan serangkaian tolok ukur untuk memverifikasi latensi dan skalabilitas SageMaker, dan memvalidasi bahwa latensi rata-rata kurang dari 100 milidetik di bawah beban, yang sesuai dengan harapan kami.

Dengan memutuskan bagian utama arsitektur tingkat tinggi, kami mulai mengerjakan desain internal aplikasi pendeteksi wajah. Model komputasi aplikasi digambarkan dalam diagram berikut.

diagram yang mewakili diagram alur/model komputasi dari aplikasi faceoff

Model komputasi dari aplikasi pendeteksi face-off dapat dimodelkan sebagai mesin keadaan terbatas sederhana, di mana setiap pesan masuk mentransisikan sistem dari satu keadaan ke keadaan lain sambil melakukan beberapa perhitungan bersama dengan transisi itu. Aplikasi memelihara beberapa struktur data untuk melacak hal-hal berikut:

  • Perubahan status permainan – Nomor periode saat ini, status dan nilai jam permainan, dan skor
  • Perubahan status pemain – Jika pemain saat ini berada di atas es atau di bangku cadangan, koordinat arus di lapangan, dan kecepatan arus
  • Perubahan statistik tatap muka pribadi pemain – Tingkat keberhasilan satu pemain vs. yang lain, dan seterusnya

Algoritme memeriksa setiap acara pembaruan lokasi pemain untuk memutuskan apakah prediksi tatap muka harus dibuat dan apakah hasilnya harus diserahkan ke penyiar. Mempertimbangkan bahwa setiap lokasi pemain diperbarui kira-kira setiap 80 milidetik dan pemain bergerak jauh lebih lambat selama jeda permainan daripada selama permainan, kita dapat menyimpulkan bahwa situasi antara dua pembaruan tidak berubah secara drastis. Jika aplikasi memanggil SageMaker untuk prediksi dan mengirim prediksi ke penyiar setiap kali acara pembaruan lokasi baru diterima dan semua persyaratan terpenuhi, SageMaker dan penyiar akan kewalahan dengan sejumlah permintaan duplikat.

Untuk menghindari semua gangguan yang tidak perlu ini, aplikasi melacak kombinasi parameter yang prediksinya sudah dibuat, bersama dengan hasil prediksi, dan menyimpannya di memori untuk menghindari permintaan duplikat yang mahal ke SageMaker. Selain itu, ini melacak prediksi apa yang sudah dikirim ke penyiar dan memastikan bahwa hanya prediksi baru yang dikirim atau prediksi yang dikirim sebelumnya dikirim lagi hanya jika perlu. Pengujian menunjukkan bahwa pendekatan ini mengurangi jumlah lalu lintas keluar lebih dari 100 kali.

Teknik pengoptimalan lain yang kami gunakan adalah mengelompokkan permintaan ke SageMaker dan menjalankannya secara paralel secara asinkron. Misalnya, jika kita memiliki empat kombinasi baru parameter face-off yang kita perlukan untuk mendapatkan prediksi dari SageMaker, kita tahu bahwa setiap permintaan akan memakan waktu kurang dari 100 milidetik. Jika kami melakukan setiap permintaan secara sinkron satu per satu, total waktu respons akan di bawah 400 milidetik. Tetapi jika kami mengelompokkan keempat permintaan, mengirimkannya secara asinkron, dan menunggu hasilnya untuk seluruh grup sebelum melanjutkan, kami secara efektif memparalelkan permintaan dan total waktu respons akan di bawah 100 milidetik, sama seperti hanya untuk satu permintaan.

Kesimpulan

NHL Edge IQ, didukung oleh AWS, membawa penggemar lebih dekat ke aksi dengan analitik canggih dan statistik ML baru. Dalam postingan ini, kami menunjukkan wawasan tentang pembuatan dan penerapan model Probabilitas Face-off baru, statistik ML on-air pertama untuk NHL. Pastikan untuk mengawasi probabilitas yang dihasilkan oleh Probabilitas Face-off di game NHL mendatang.

Untuk menemukan contoh lengkap membangun pekerjaan pelatihan khusus untuk SageMaker, kunjungi Bawa model Anda sendiri yang sudah selesai pelatihan dengan SageMaker dengan membuat wadah khusus. Untuk contoh penggunaan Amazon Kinesis untuk streaming, lihat Mempelajari Pengembangan Amazon Kinesis.

Untuk mempelajari lebih lanjut tentang kemitraan antara AWS dan NHL, kunjungi NHL Berinovasi dengan AWS Cloud Services. Jika Anda ingin berkolaborasi dengan para ahli untuk menghadirkan solusi ML ke organisasi Anda, hubungi Lab Solusi Amazon ML.


Tentang Penulis

Ryan Gillespie adalah Sr. Data Scientist dengan AWS Professional Services. Dia memiliki gelar MSc dari Northwestern University dan MBA dari University of Toronto. Beliau memiliki pengalaman sebelumnya di industri ritel dan pertambangan.

Yash Shah adalah Manajer Sains di Lab Solusi Amazon ML. Dia dan timnya yang terdiri dari ilmuwan terapan dan insinyur pembelajaran mesin mengerjakan berbagai kasus penggunaan pembelajaran mesin dari perawatan kesehatan, olahraga, otomotif, dan manufaktur.

Alexander Egorov adalah Arsitek Streaming Utama, yang berspesialisasi dalam teknologi streaming. Dia membantu organisasi untuk merancang dan membangun platform untuk memproses dan menganalisis data streaming secara real time.

Miguel Romero Calvo adalah Ilmuwan Terapan di Lab Solusi Amazon ML di mana ia bermitra dengan tim internal AWS dan pelanggan strategis untuk mempercepat bisnis mereka melalui adopsi ML dan cloud.

Erick martinez adalah Arsitek Aplikasi Sr. Media dengan pengalaman lebih dari 25 tahun, dengan fokus pada Media dan Hiburan. Dia berpengalaman dalam semua aspek siklus hidup pengembangan sistem mulai dari penemuan, pengumpulan persyaratan, desain, implementasi, pengujian, penyebaran, dan operasi.

tempat_img

Intelijen Terbaru

tempat_img