Как обучать нейронную сеть для предсказаний действия агента?
==============================================================

 Я начал изучать машинное обучение. Для этого я использую python и scikit-learn.  
  

Есть задача в которой мне нужно предсказать действие агента. Входные данные описывают ситуацию. У агента есть два возможных действия, которые являются реакцией на описываемую ситуацию. Агент может совершить только одно действие.   

1 0 - агент совершил первое действие.  

0 1 - агент совершил второе действие.  
  

После обучения я хочу получить вероятности совершения действия агента на событие. Т.е. если я на событие получу ответ - 0.3 0.7, это означает предсказание действий агента в котором предсказывается что 1 действие агент совершит с вероятностью 30%, а второе действие соответственно с вероятностью 70%.  
  

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

Так вот вопрос, какие модели обучения правильно применять для такой задачи. И самое главное как оценивать результат выполнения. Ведь если ответом будет предсказание 0.02 0.98, а агент все таки совершит первое действие (1 0), то это не ошибка, просто событие с малой вероятностью. Для моделей я как понимаю применяется оценка среднеквадратической ошибки. Такая оценка ведь не подходит для данной задачи? 

 Вот здесь посмотрите:  

<https://habr.com/ru/company/ods/blog/323890/>  
  

Похоже на логистическую регрессию. 

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

Т.о. ваша сеть может предсказать 1% за одно действие и 99% за другое .. но если произойдет первое, это не значит что сеть "ошиблась", просто она предсказала данный исход с вероятностью не 95% .. а 1% )