Нейронная сеть. Как предсказать победу одной из трех команд?
Здравствуйте.
Давно пытаюсь сделать нейронную сеть, которая предскажет победу одной из трех команд.
Итак, представьте, что есть матчи, в которых принимают участие 3 команды, причем выиграть может только одна(ничьих нет).
Нам нужно спрогнозировать победу одной из 3 команд.
Для обучения нейронной сети будут вводиться характеристики каждой команды(например, процент выигрыша команды, какое место в топе и т.д.;какие-то текстовые значения?), а так же номер команды, которая выиграет.
Просмотрев множество сайтов, не нашел такого исполнения нейронной сети. Обычно просто по данным ввода что-то определяется(например, вводим рост, вес, температуру животного, а нам показывает, что именно это за животное). А у нас должно происходить какое-то сравнение между 3 командами.
Очень прошу помочь и не вводить в ответ сложных терминологий, так как я новичок в этом. Если есть готовые реализации (открытые библиотеки), то было бы хорошо, если бы вы скинули на них ссылку.
Да, распознавание - это конёк нейронных сетей, поэтому много примеров с животными. А у вас задача из другой области.
Недавно была статья на хабре, где авторы хвастались, что сделали сеть для финансовой организации. На простой вопрос о том, куда можно будет засунуть их сеть после того, как параметры поплывут (а именно это происходит в те моменты ради которых, эту сеть делали) они мне ответить не смогли. И всяческий матан там там тоже бессилен по тем же причинам.
Вот представьте, что у вас сеть распознаёт котиков, чтобы не пропустить в дом котика-мутанта в мире где котики мутируют каждый день то в собак, то в ворон. Один день такая сеть проработает :)
Так что, оставьте эту затею и посмотрите фильм Big Short, там интересно на схожую проблему рассказано.
P.S. За деньги инвестора я бы привлек статистику и теорию игр. Но с условием, что отвечать за результаты ставок по этой программе я не буду.
Задача предсказания победителя в матче ничем не отличается от задачи классификации животного. Только в спортивной задаче объектом классификации выступает "матч" который включает описание команд, в нем принявших участие. Результат классификации - соответственно не "кошки"/"собачки", а "победа команды 1"/ "победа команды 2".
Соответствующие "готовые реализации" есть и в Python, и в R, да и в практической любой библиотеке по Machine Learning.
Что вы хотели сказать, говоря о "примере библиотеки"? Если вы имели ввиду саму библиотеку, то сообщите для начала, каким инструментом - R или Python - вы владеете.
tixonmavrin, может лучше самому попробывать написать такую сетку? Благо там просто нужно парочку слоёв и в конце софтмакс. Просто нужно понять, как с матрицами работать и как производные от функции ошибки считать(для обучения самой сетки).
Если не хотите, то можно просто tensorflow скачать. Попробывать сперва использовать нейросеть для решения задачи с ирисами( там три вида ирисов и нужно предсказывать правильный класс по нескольким параметрам). Когда поймёте, как всё в tensorflow/tensorflow.keras работает, то можно просто такой же нейросети скормить данные по вашим командам. Ну и всё. Вроде так.
tixonmavrin, Если Python - то в scikit-learn точно есть все, что вам нужно. Без всяких нейросетей.
А если уж очень хочется именно на нейросети, то TensorFlow.
Самый простой вариант с нейронными сетями -просто сконкатенировать вектора характеристик этих трех команд, и дальше - как обычно, fully connected слои, в конце softmax и 3 выхода 0/1 для каждой команды.
Но вообще такие задачи вроде как ощутимо лучше решаются градиентным бустингом.
На мой взгляд наиболее верно в данной постановке решать задачу восстановления регрессии. То есть определение вероятности победы одного из участников.
Скиньте ссылку на данные и я посмотрю, чем можно помочь.