Факториальный код
Большинство наборов реальных данных состоят из векторов данных, отдельные компоненты которых не являются статистически независимыми . Другими словами, знание значения элемента предоставит информацию о значении элементов в векторе данных. В этом случае может оказаться желательным создать факториальный код данных, т. е. новое векторное представление каждого вектора данных, чтобы он однозначно кодировался результирующим кодовым вектором (кодирование без потерь), но код компоненты статистически независимы.
Позднее обучение с учителем обычно работает намного лучше, когда необработанные входные данные сначала преобразуются в такой факторный код. Например, предположим, что конечная цель — классифицировать изображения с сильно избыточными пикселями. Наивный байесовский классификатор предполагает, что пиксели являются статистически независимыми случайными величинами и, следовательно, не дает хороших результатов. Однако если данные сначала кодируются факториалом, то наивный байесовский классификатор достигнет своей оптимальной производительности (сравните Schmidhuber et al. 1996).
Для создания факториальных кодов Хорас Барлоу и его коллеги предложили минимизировать сумму битовых энтропий кодовых компонентов двоичных кодов (1989). Юрген Шмидхубер (1992) переформулировал проблему в терминах предикторов и двоичных признаков детекторов , каждый из которых получает на вход необработанные данные. Для каждого детектора существует предиктор, который видит другие детекторы и учится прогнозировать выходные данные своего собственного детектора в ответ на различные входные векторы или изображения. Но каждый детектор использует алгоритм машинного обучения , чтобы стать максимально непредсказуемым. Глобальный оптимум этой целевой функции соответствует коду факториала, представленному распределенным образом по выходам детекторов признаков.
Паинский, Россет и Федер (2016, 2017) дополнительно изучили эту проблему в контексте анализа независимых компонентов в алфавитах конечных размеров. С помощью ряда теорем они показывают, что проблема факторного кодирования может быть точно решена с помощью алгоритма дерева поиска ветвей и границ или тщательно аппроксимирована серией линейных задач. Кроме того, они вводят простое преобразование (а именно, перестановку порядка), которое обеспечивает жадную, но очень эффективную аппроксимацию оптимального решения. На практике они показывают, что при тщательной реализации благоприятные свойства перестановки порядка могут быть достигнуты при асимптотически оптимальной вычислительной сложности. Важно отметить, что они предоставляют теоретические гарантии, показывая, что, хотя не каждый случайный вектор можно эффективно разложить на независимые компоненты, большинство векторов разлагаются очень хорошо (то есть с небольшой постоянной стоимостью) по мере увеличения размерности. Кроме того, они демонстрируют использование факториальных кодов для сжатия данных в нескольких установках (2017).
См. также
[ редактировать ]- Слепое разделение сигналов (BSS)
- Анализ главных компонентов (PCA)
- Факторный анализ
- Обучение без присмотра
- Обработка изображений
- Обработка сигналов
Ссылки
[ редактировать ]- Гораций Барлоу , Т.П. Каушал и Г.Дж. Митчисон. Нахождение минимальных энтропийных кодов. Нейронные вычисления, 1:412-423, 1989.
- Юрген Шмидхубер . Изучение факториальных кодов путем минимизации предсказуемости. Нейронные вычисления, 4(6):863-879, 1992 г.
- Дж. Шмидхубер, М. Эльдрахер и Б. Фолтин. Минимизация полулинейной предсказуемости позволяет получить хорошо известные детекторы признаков. Нейронные вычисления, 8(4):773-786, 1996 г.
- А. Паинский, С. Россе и М. Федер. Обобщенный анализ независимых компонент по конечным алфавитам. Транзакции IEEE по теории информации, 62(2):1038-1053, 2016 г.
- А. Паинский, С. Россе и М. Федер. Исходное кодирование с использованием большого алфавита с использованием независимого анализа компонентов. Транзакции IEEE по теории информации, 63(10):6514–6529, 2017 г.