Как определить важные функции в LSTM - PullRequest
2 голосов
/ 06 ноября 2019

У меня есть проблема двоичной классификации, когда для каждой точки данных у меня есть 3 временных ряда следующим образом.

data_point,   time_series1,      time_series2,      time_series3,  label
d1,         [0.1, ....., 0.5], [0.8, ....., 0.6], [0.8, ....., 0.8], 1
and so on

Я использую следующий код для выполнения моей двоичной классификации.

model = Sequential()
model.add(LSTM(100, input_shape=(25,4)))
model.add(Dense(50))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

Поскольку в настоящее время я рассматриваю свою классификацию в качестве задачи черного ящика, я хотел бы покопаться глубже и посмотреть, что происходит внутри.

Более конкретно, я хотел бы узнать о функциях импоратора, используемых LSTMклассифицировать мои точки данных. Что еще более важно, я хочу ответить на следующие вопросы:

  • Какой временной ряд (т.е. time_series1, time_series2, time_series3) больше всего повлиял в классификации
  • функции, извлеченные из наиболее влиятельных временных рядов?

Я с удовольствием предоставлю более подробную информацию, если это необходимо.

1 Ответ

1 голос
/ 06 ноября 2019

Механизм внимания используется именно для этого;Программная реализация не проста, но существуют готовые к использованию репозитории - см. ниже. Пример вывода ниже.

Относительно того, что такое «внимание», см. этот ответ SE и / или этот ответ Quora ;в двух словах, это средство определения наиболее «важных» временных шагов, эффективное отображение временной «тепловой карты».

  • iNNvestigate , самоанализ классификатора (первое изображение ниже; можетприменяется к сериям времени)
  • Карты значимости , самоанализ выделенных функций
  • Визуализация LSTM / CNN , простая функция (второе изображение ниже)
  • LSTM_Attention - включает в себя специфические для исследовательских работ реализации.

Наконец, в качестве подсказки, канавы LSTM для IndRNNs ;где первый борется с 800-1000 временными шагами, последний, как показывают, преуспевает с 5000+. Возможности также более понятны, так как каждый канал независим, отсутствуют стробирующие механизмы LSTM-типа. Хотя, если важна скорость, нет CuDNNIndRNN.


image image
...