Головна ШІ та Машинне навчання Аналізатор Продуктивності Гравців — Кластеризація Траєкторій Наживо

⚽ Аналізатор Продуктивності Гравців — Кластеризація Траєкторій Наживо

Кластеризуйте симульовані траєкторії руху гравців методом k-means за просторовими ознаками, спостерігаючи, як тактичні кластери ролей проявляються наживо в міру розгортання матчу.

ШІ та Машинне навчання3DСередній60 FPS
ai-sports-analytics-performance ↗ Відкрити окремо
DRAG · SCROLL · CLICK — керуйте прямо у вікні симуляції.

Про цю симуляцію

Цей аналізатор розміщує склад синтетичних гравців на полі, дозволяє простій логіці керування й володіння м'ячем керувати їхнім рухом протягом симульованого матчу й безперервно зводить історію траєкторії кожного гравця до п'яти тактичних ознак: середня позиція на полі, площа покриття переміщень, частота спринтів і центральність у пасовій мережі. Справжній цикл кластеризації k-means — ініціалізація k-means++, евклідове призначення, оновлення центроїда, повторюване до збіжності — потім групує склад у тактичні ролі, які оновлюються наживо в міру розвитку матчу, а не слідують якійсь заздалегідь заскриптованій формації.

🔬 Що показано

3D поле вигляду згори, де кожен гравець — справжня сфера Three.js, розфарбована за поточним кластером, що підстрибує зі швидкістю спринту й відкидає тінь на газон. Поряд точковий графік простору ознак (відрендерений через площину на основі CanvasTexture під ортографічною камерою) наносить стандартизований вектор ознак кожного гравця, з білими перехрестями, що позначають центроїд кожного кластера, — той самий простір, у якому насправді кластеризує цикл k-means.

🎮 Як користуватись

Налаштуйте кількість гравців (15–22), кількість тактичних кластерів k (2–6) і як часто матч перекластеризується. Перемикайте точковий графік простору ознак між осями Спринт/Покриття та Позиція/Центральність пресингу, примусово запустіть негайну перекластеризацію, змініть швидкість матчу або почніть новий матч з новими архетипами гравців. Бічна панель перелічує поточний розмір кожного кластера та його автоматично згенерований тактичний ярлик.

💡 Чи знали ви?

K-means ніколи не бачить призначений архетип гравця — захисники, вінгери, нападники — лише виведені числа. Ярлики «Високий Пресинг», «Глибокий Блок» і «Широкий Оверлап», показані на екрані, реконструюються зворотно після кожного проходу кластеризації порівнянням середньої позиції на полі, частоти спринтів, покриття й пасової центральності кожного кластера зі статистикою всього складу — точно так, як реальні команди спортивної аналітики перетворюють сирі дані відстеження на читабельний тактичний інсайт.

Часті питання

Що таке кластеризація k-means?

K-means — це алгоритм навчання без учителя, що розбиває точки даних на k груп так, щоб кожна точка належала кластеру, чий центроїд (середнє) до неї найближчий, вимірюваний евклідовою відстанню. Він чергує крок призначення, де кожна точка приєднується до найближчого центроїда, і крок оновлення, де кожен центроїд рухається до середнього призначених йому точок, повторюючи, доки призначення не перестануть змінюватися чи центроїди ледь рухаються.

Чому кластеризувати тактичні ознаки замість сирих позицій гравців?

Сирі координати x,y описують лише те, де гравець перебуває в один момент, що домінується тим, яка фаза гри відбувається саме зараз. Виведення ознак з історії траєкторії — середня позиція на полі, площа покриття переміщень, частота спринтів і центральність у пасовій мережі — фіксує, як гравець поводиться з часом, що насправді відрізняє тактичні ролі, такі як нападник високого пресингу від глибоко розташованого захисника, навіть коли їхні миттєві позиції коротко перекриваються.

Що робить ініціалізація k-means++ і чому це важливо?

Простий k-means обирає початкові центроїди рівномірно випадково, що може дати погані кластери чи повільну збіжність, якщо два початкові центроїди опиняться близько один до одного. K-means++ натомість обирає перший центроїд випадково, а потім обирає кожен наступний центроїд з ймовірністю, пропорційною квадрату відстані від найближчого вже обраного центроїда, поширюючи початкові насіння по даних. Це майже завжди дає швидшу збіжність і нижчу фінальну інерцію, ніж наївна випадкова ініціалізація.

Що таке інерція (WCSS) і чому вона важлива тут?

Інерція, або внутрішньокластерна сума квадратів, — це загальна квадратична евклідова відстань між кожною точкою й призначеним їй центроїдом кластера, обчислена в стандартизованому просторі ознак. Нижча інерція означає щільніші, внутрішньо узгодженіші кластери. Спостереження за падінням інерції протягом ітерацій призначення/оновлення щоразу, коли матч перекластеризується, показує, що алгоритм справді сходиться, а не просто перефарбовує точки випадково.

Як обираються назви тактичних ролей на кшталт «Високий Пресинг» чи «Глибокий Блок»?

Сам k-means видає лише пронумеровані кластери — він не має уявлення, що таке «глибокий блок». Після кожного проходу кластеризації симуляція розглядає середні сирі значення ознак кожного кластера відносно статистики всього складу за той прохід і застосовує прості, прозорі правила, щоб приєднати зрозумілий людині тактичний ярлик, тож кластер 2 сьогодні може читатися як «Широкий Оверлап», а кластер 2 завтра — як «Високий Пресинг», якщо поведінка базових гравців змінилася.

Схожі симуляції