Мне нужно обучить регрессионную модель по большому набору тренировок примерами, с возможностью включения произвольных функций. Какие алгоритмы обучения следует учитывать и почему?Какой алгоритм (ы) обучения следует рассмотреть для обучения лог-линейной регрессионной модели?
Быстрый обзор проблемы:
- Около 5 миллионов примеров обучения
- Добавление примеров обучения в размере 2-4 млн в год
- примеры обучения в настоящее время содержат 10 функций каждый
- Примерно 400 тыс. Населенных пунктов (из гораздо большего общего пространства)
- Дополнительные функции, добавленные с течением времени
- Переподготовка или адаптации модели (по крайней мере) ежедневно включать новые примеры
- критерии оптимизации: минимальный квадрат процент ошибки
- Выход: один вещественный номер
У меня есть некоторый опыт обучения протоколирование линейные модели по задачам классификации по одинаковому размеру (с использованием SVM, усредненные и голосовые перцептроны и т. д.). Возможность добавлять произвольные функции важна, но в этом случае также полезно время обучения.
Например, мой единственный эксперимент с SVMLight занял несколько недель, чтобы сходиться к подмножеству этих данных. Мы могли бы распараллеливать многоядерную машину или (возможно) кластер, но нам нужно обучать модели за считанные минуты. Онлайн-тренинг будет еще лучше.
Я успешно обучил усредненную модель Перцептрона (и быстро). Однако, насколько мне известно, AP обычно не применяется к регрессии. Предоставляет ли AP какие-либо гарантии конвергенции для модели регрессии? Есть ли другая формальная причина, которая не должна применяться? Или это разумное соответствие моим требованиям?
Какие еще варианты я должен исследовать? SVM, вероятно, обеспечит превосходную точность, но квадратичное время обучения неприемлемо. Если доступны алгоритмы SVM с линейным временем, это может работать хорошо.
Потенциальные плюсы:
- Интернет обучение
- реализация с открытым исходным кодом доступны (в идеале в Java). В случае необходимости мы можем выполнить собственную реализацию, но, если это возможно, я избегаю этого.
Спасибо за ваш вклад.
Для классификации у меня был большой успех со стохастическими SVM с уменьшением градиента (http://leon.bottou.org/projects/sgd#) - возможно, вы захотите приспособить его для регрессии. – etarion