Выбор функций с использованием взаимной информации в Matlab


10

Я пытаюсь применить идею взаимной информации к выбору функций, как описано в этих примечаниях к лекции (на странице 5).

Моя платформа - Matlab. Одна проблема, которую я нахожу при вычислении взаимной информации из эмпирических данных, состоит в том, что число всегда смещено вверх. Я нашел около 3 ~ 4 разных файлов для расчета MI в Matlab Central, и все они дают большие числа (например,> 0,4), когда я передаю независимые случайные величины.

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

Схожий вопрос на практике, как люди на самом деле используют МИ для выбора функций? Для меня не очевидно, как придумать пороговое значение, поскольку МИ теоретически не ограничено. Или люди просто ранжируют функции по MI и получают лучшие k функций?


Никто не заинтересован в этой теме?

У вас есть ответ на этот вопрос?
энтропия

К сожалению нет. У вас тоже есть такая же проблема?

Ответы:


3

Это проблема ограниченного смещения выборки .

Небольшие выборочные оценки плотностей зашумлены, и это изменение вызывает ложные корреляции между переменными, которые увеличивают оценочную ценность информации.

(р-1)(S-1)/2Nпер22Nпер(2)яχ2(р-1)(S-1)

Некоторые пакеты, реализующие эти методы в Matlab, включают infotoolbox и Spike Train Analysis Toolkit .

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


1

Я использовал KL-дивергенцию и с соответствующими размерами выборки получаю значения 0 для локусов, где распределения имеют равную вероятность.

Я предлагаю вам перефразировать ваш MI с точки зрения KL-дивергенции.


1

Вам следует использовать алгоритм частичной взаимной информации для выбора входной переменной (функции). Он основан на концепции МИ и оценке плотности вероятности. Например в:

  1. PMI на основе ядра : (+) имеет критерии остановки (Akaike Information Criteria) (-) более высокая сложность
  2. PMI на основе kNN : (-) не имеет критериев остановки (+) более низкая сложность

Я использовал PMI, чтобы уменьшить количество входов нейронной сети, поскольку они увеличивают сложность и создают другие проблемы. Вы можете найти полный обзор алгоритмов выбора входных переменных (IVS) в статье Обзор методов выбора входных переменных для искусственных нейронных сетей . Вы можете использовать IVS для SVM и других. Для краткости используйте PMI.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.