Как объединить две нейронные сети, которые были обучены по-разному? - PullRequest
0 голосов
/ 03 января 2019

Я создал две разные нейронные сети, которые обе предсказывают, собирается ли команда выиграть / проиграть хоккейную игру. Первый NN был обучен на 82 особенностях из игр, в которые играли. Другой был обучен 115 особенностям статистики игроков во всех играх, в которые были сыграны.

Некоторые функции одинаковы в обоих наборах, но важные метрики отличаются или представлены по-разному (агрегировано / индивидуально)

Можно ли в любом случае объединить эти NN, чтобы можно было просто передать ему набор, содержащий только две функции, подобные этой.

h_team1   h_team_2    h_team3    a_team1   a_team2    a_team3     WIN/LOSE
   1         0           0          1          0         0
   1         0           0          0          1         0
   0         1           0          0          0         1

И новой задачей NN будет классифицировать вероятность победы хозяев в игре.

Если я действительно не согласен с тем, что я пытаюсь сделать, поправьте меня.

Я добавил изображение, чтобы помочь визуализировать проблему, которую я описываю.

https://imgur.com/a/ZKnGT8N (стрелки указывают на модель, которую я хочу построить, не построили ее, потому что я не знаю, как)

EDIT:

Пример данных из game_DATA-set h = home a = away

h_Won/Lost h_powerPlayGoals h_powerPlayPercentage a_powerPlayGoals a_powerPlayPercentage h_team1    h_team 2     a_team1     a_team2     gameID
   1            2                    0.4                1              0.5                      1          0            1          0      1

Пример данных из player_DATA-set

Won/Lost   playerID    team1  team2   metric1   opponent1     opponent2    gameID
   1          5678       1       0     10       1              0          1

1 Ответ

0 голосов
/ 03 января 2019

В принципе, возможно получить это в другой NN, чтобы получить новый вывод, но это не имеет абсолютно никакого смысла с точки зрения статистики. Вы предсказываете, что ваша команда победит с вероятностью х, поэтому другая команда победит с вероятностью 1-х. Поэтому зачем вам нужна другая сеть для этого.

Используя softmax на последнем слое, вы получите, по сути, x и 1-x для первой сети и y и 1-y во второй сети. Поэтому единственная разумная вещь, которую нужно сделать для третьей сети, - это проверить, если x> y, и вывести вероятность на основе разницы между этими двумя, но вы также можете просто сделать это с разницей вместо NN, и тогда вы не сделаете этого. надо чему-нибудь научиться.

...