2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Какой алгоритм классификации использовать?
Сообщение23.12.2020, 12:36 
Здравствуйте! Прошу помощи в указании пути куда копать.
Имеются исторические данные произошедших событий по большому кол-ву устройств (каждое устройство имеет свой набор уникальных характеристик/свойств). Кол-во возможных различных событий для каждого устройства - N. Цель: построить модель, которая будет предсказывать тип будущего события. Тут важно, предсказывать не время, а тип события (которых N), зная время его наступления.
То есть предсказательная модель должна учитывать не только цепочку прошлых событий устройства (их тип), но и время их наступления, а также время наступления будущего события (представим, что мы знаем когда оно произойдет).
Как я понимаю, задача звучит как задача классификации (с N классами), но пробежавшись по основным алгоритмам классификации, я так и не нашёл ни один, который бы мог быть применен сходу.
Прошу помощи в нащупывании верного пути.

 
 
 
 Re: Какой алгоритм классификации использовать?
Сообщение23.12.2020, 12:43 
Ну... как вариант сделать дискретное время и далее GRU/LSTM для обработки последовательностей.

 
 
 
 Re: Какой алгоритм классификации использовать?
Сообщение23.12.2020, 12:49 
Аватара пользователя
Алгоритм тут может быть какой угодно, вопрос в признаках. Как правило для бейзлайна хватает даже простых вида "число событий каждого вида раньше", "типы 5 последних событий и времена до них" и подобные.
Ключевые слова для поиска - time series. Неплохой туториал https://towardsdatascience.com/ml-time- ... f3678845ff, но вообще тысячи их.
Сходу тут могли бы быть применены рекуррентные нейросети, но они очень чувствительны к гиперпараметрам, так что обычно даже обогнать градиентный бустинг на простых фичах бывает сложно.
Какого, кстати, порядка у вас $N$?

 
 
 
 Re: Какой алгоритм классификации использовать?
Сообщение23.12.2020, 12:51 
mustitz, спасибо!
А есть ли альтернатива нейронным сетям?
Что-нибудь, а-ля, построения модели процесса на кластерах устройств и т.п.

-- 23.12.2020, 15:00 --

mihaild, N = 10. При этом все устройства имеют общий набор возможных событий (забыл это указать).
Вообще, я изначально думал, что нужно построить модель случайного процесса, возможно, на каких-то кластерах по фичам или ветвях дерева. Но как это сделать без нейронных сетей, мне сложно представить.

 
 
 
 Re: Какой алгоритм классификации использовать?
Сообщение23.12.2020, 13:14 
Аватара пользователя
melnikoff в сообщении #1497563 писал(а):
Вообще, я изначально думал, что нужно построить модель случайного процесса, возможно, на каких-то кластерах по фичам или ветвях дерева
Не очень понятно, о каких кластерах и моделях речь.
Но в целом тут главный вопрос в том, используете ли вы модель, которая сама умеет работать с последовательностями (в первую очередь рекуррентные нейросети; еще, возможно, сверточные), или сводите задачу к обычной supervised classification - во втором случае вам нужно будет придумывать признаки самостоятельно, зато модель можно брать любую. Я очень рекомендую сначала попробовать второй вариант.

 
 
 
 Re: Какой алгоритм классификации использовать?
Сообщение23.12.2020, 13:31 
mihaild, ну, то есть я могу перевести мозг в режим штурма и сгенерить фичей 30, которые бы учитывали:
1) виды цепочек событий (множества прошлых значений, повторяющиеся серии событий, повторяющиеся серии событий),
2) характерные временные интервалы между событиями,
3) частоты событий,
4) характеристики устройств,
5) что-то ещё.
и применить, например, алгоритм N ближайших соседей?

 
 
 
 Re: Какой алгоритм классификации использовать?
Сообщение23.12.2020, 13:36 
Аватара пользователя
melnikoff в сообщении #1497566 писал(а):
и применить, например, алгоритм N ближайших соседей?
Теоретически да. Практически я бы советовал взять градиентный бустинг, или хотя бы что-то с параметрами. Ближайшие соседи с фичами разной природы работают обычно очень плохо.

 
 
 
 Re: Какой алгоритм классификации использовать?
Сообщение23.12.2020, 15:07 
mihaild, понял. Спасибо!

 
 
 [ Сообщений: 8 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group