1

Я ищу некоторые предложения по проблеме, с которой я сейчас сталкиваюсь.Уменьшение размера для SVM в сети датчиков

У меня есть набор датчиков S1-S100, который срабатывает, когда выполняется какое-то событие E1-E20. Предположим, что обычно E1 запускает S1-S20, E2 триггеры S15-S30, E3 триггеры S20-s50 и т. Д., А E1-E20 - полностью независимые события. Иногда событие E может запускать любой другой несвязанный датчик.

Я использую ансамбль из 20 svm для анализа каждого события отдельно. Мои функции - это частота датчика F1-F100, количество срабатываний каждого датчика и несколько других связанных функций.

Я ищу технику, которая может уменьшить размерность функции датчика (F1-F100)/или некоторые методы, которые охватывают весь датчик и также уменьшают размер (я искал некоторую теорию теории информации для последних несколько дней) . Я не думаю, что усреднение, максимизация - хорошая идея, поскольку я рискую потерять информацию (это не дало мне хорошего результата).

Может кто-нибудь, пожалуйста, подумайте, что мне здесь не хватает? Бумага или какая-то стартовая идея ...

Заранее спасибо.

ответ

2

Возможно, вам понравится начать с Linear Discriminant Analysis, это довольно простой алгоритм и делает более или менее то, что вы ищете: уменьшение размерности и/или классификация. Он предполагает, что каждый класс является гауссовым, распределенным различными способами, но той же ковариацией. Вероятно, неплохо задуматься над некоторыми из данных, чтобы убедиться, что это предположение разумно. Раньше я использовал реализацию LDA в R. Однако это было около десятка функций. Я не уверен, как он масштабируется до 100 измерений.

Это также может помочь узнать, почему вы хотите уменьшить размер данных. SVM обычно используются с сотнями тысяч (редких) функций, так в чем же проблема?

+0

спасибо за ответ .. я постараюсь LDA .. я хочу, чтобы уменьшить размер, потому что в большинстве случаев, если E1 запускает S1-S15, значение для остальной части частотного датчика F16-F100 будет быть нулевым, иногда другой датчик говорит, что S45, S50 также может срабатывать несколько раз ... в основном я хочу исключить все эти нули из вектор-функции – iinception

+0

Слово предупреждения, LDA также является скрытым распределением Дирихле, связанным, но очень другим алгоритмом. – Stompchicken

0

Это большая статья, связанная с вашим вопросом: http://en.wikipedia.org/wiki/Nonlinear_dimensionality_reduction

Кроме того, как @StompChicken упоминает вы не должны иметь каких-либо проблем, произведя SVM работу с несколькими сотнями функций. Вы должны начать видеть (операционные) проблемы с десятками тысяч функций.

Carlos