В конкретном приложении мне было необходимо машинное обучение (я знаю то, что изучал в своем учебном курсе). Я использовал Машины поддержки Vector и решил проблему. Прекрасно работает.
Теперь мне нужно улучшить систему. Проблемы здесь
-
Я получаю дополнительные учебные примеры каждую неделю. Сейчас система начинает обучение только с обновленными примерами (старые примеры + новые примеры). Я хочу сделать это постепенным обучением. Используя предыдущие знания (вместо предыдущих примеров) с новыми примерами для получения новой модели (знаний)
-
В моих учебных примерах есть 3 класса. Таким образом, каждый пример обучения помещается в один из этих трех классов. Я хочу функциональность класса "Неизвестный". Все, что не соответствует этим 3 классам, должно быть помечено как "неизвестное". Но я не могу рассматривать "Unknown" как новый класс и приводить примеры для этого тоже.
-
Предполагая, что реализован "неизвестный" класс. Когда класс "неизвестен", пользователь приложения вводит то, что, по его мнению, может быть классом. Теперь мне нужно включить пользовательский ввод в обучение. Я даже не знаю, как это сделать. Будет ли иметь значение, если пользователь вводит новый класс (т.е. Класс, который еще не находится в наборе обучения)?
Нужно ли мне выбирать новый алгоритм, или поддержка Vector Machines может это сделать?
PS: Я использую реализацию libsvm для SVM.