Приветствую. Уже некоторое время плотно интересуюсь машинным обучением, нейронными сетями и всем тем, что с этим связанно, для выполнения задач мультиклассификации и регрессии. Имеются следующие условия:
1. Датасет в котором содержится входные данные для мультиклассификации и регрессии, причем
классификация должна происходить на данных полученных после выполнения регрессии и при этом учитывать прошлый "опыт".
2. Ввод данных, по которым нейронная сеть должна выполнить регрессию и мультиклассификацию, и возвращать вычисленные значения. Классификация формата a<-b<-c где a - класс=-1, b - класс=0, с - класс=1.
Примерное представление топологии нейронной сети. Звездочками отмечены основные значения(x1,x2,x1_nn,x2_nn) на основе которых должна происходить мультиклассификация(x6,x6_nn):
Желательные функции, но необязательные на данном этапе:
1. Самообучение, основанное на разнице между прогнозируемыми(xn_nn) и фактическими значениями(xn).
2. Добавление входных данных как отдельной ветки (xn) для улучшения результатов прогнозирования.
Основой язык С++. Слышал про R, но с ним не знаком. Python можно вроде как использовать через костыли (ZeroMq), но в самих костылях еще не разобрался. В идеале обученная нейросеть подключается через .dll, вызывается функция, происходит расчет, и так до следующего вызова. В машинном обучении я недавно, поэтому возможны ошибки как и в представлении, так и в поставленных задачах.
Хочется понять, возможно ли это сделать, как организовать всё правильно, с хорошей производительностью и желательно простой реализацией=) Какая топология лучше подходит под приведенные задачи? Какие библиотеки, пакеты использовать (смотрю в сторону CatBoost от Яндекса, но там тоже не все так просто)? Книги, туторы, статьи, видео, всё что может быть полезно готов изучить вдоль и поперёк, только скажите где(много информации уже перерыл). Спасибо, что дочитали до конца.