t.me/oneRustnoqRust Для чего нужна данная статья? : Отказаться от GPU, tch, PyTorch для максимально быстрой компиляции, интерпретируемости, онлайн-обучения, уменьшения объёма бинарника, ясности причины перехода. Создать адаптивный парсер и лексический анализатор логов. Зачем Вам это уметь? : Реализовать переходы полностью через ML (Нейронная сеть заменяет таблицу переходов). С использованием дерева решений из библиотеки smartcore и онлайн-обучения. Получаем вектор длины 2: [state_val, signal_val].
Дерево решений работает только с числами → это обязательный шаг. Это нужно, потому что DecisionTreeClassifier работает с целыми метками классов. Это нужно, потому что DecisionTreeClassifier работает с целыми метками классов. Почему переобучаем каждый раз?
smartcore не поддерживает инкрементальное обучение деревьев, поэтому самый простой и надёжный способ — собрать все примеры и обучить дерево заново. Для десятков-сотен примеров это мгновенно. Это классический детерминированный FSM, но таблиц