Я хочу измерить энтропию / плотность информации / подобие шаблона двумерной двоичной матрицы. Позвольте мне показать некоторые фотографии для уточнения:
Этот дисплей должен иметь довольно высокую энтропию:
A)
Это должно иметь среднюю энтропию:
B)
Эти фотографии, наконец, должны иметь почти нулевую энтропию:
C)
D)
E)
Есть ли какой-то индекс, который отражает энтропию? "образец подобия" этих дисплеев?
Конечно, каждый алгоритм (например, алгоритмы сжатия или алгоритм поворота, предложенный ttnphns ) чувствителен к другим функциям дисплея. Я ищу алгоритм, который пытается захватить следующие свойства:
- Вращательная и осевая симметрия
- Количество кластеров
- Повторы
Возможно, более сложный алгоритм может быть чувствительным к свойствам психологического « принципа Гештальта », в частности:
- Закон близости:
- Закон симметрии: симметричные изображения воспринимаются коллективно, даже несмотря на расстояние:
Дисплеи с этими свойствами должны получить «низкое значение энтропии»; дисплеям с довольно случайными / неструктурированными точками следует присвоить «высокое значение энтропии».
Я знаю, что, скорее всего, ни один алгоритм не сможет охватить все эти функции; поэтому предложения для алгоритмов, которые касаются только некоторых или даже только одной функции, также приветствуются.
В частности, я ищу конкретные, существующие алгоритмы или конкретные, реализуемые идеи (и я буду награждать награду в соответствии с этими критериями).
Ответы:
Существует простая процедура, которая захватывает всю интуицию, включая психологические и геометрические элементы. Он опирается на использование пространственной близости , которая является основой нашего восприятия и обеспечивает внутренний способ уловить то, что только несовершенно измеряется симметриями.
Для этого нам нужно измерить «сложность» этих массивов в разных локальных масштабах. Хотя у нас есть большая гибкость в выборе этих шкал и в том смысле, в котором мы измеряем «близость», это достаточно просто и достаточно эффективно, чтобы использовать небольшие квадратные окрестности и смотреть на средние (или, что эквивалентно, суммы) в них. С этой целью последовательность массивов может быть получена из любого массива на путем формирования сумм движущихся окрестностей с использованием на окрестности, затем на и т. Д. До на (хотя к тому времени обычно слишком мало значений, чтобы обеспечить что-либо надежное).m n k=2 2 3 3 min(n,m) min(n,m)
Чтобы увидеть, как это работает, давайте сделаем вычисления для массивов в вопросе, который я назову от до , сверху вниз. Вот графики движущихся сумм для ( конечно, - исходный массив), примененных к .a1 a5 k=1,2,3,4 k=1 a1
По часовой стрелке слева вверху равно , , и . Массивы составляют на , затем на , на и на соответственно. Все они выглядят как бы «случайными». Давайте измерим эту случайность с их энтропией по основанию-2. Для последовательность этих энтропий равна . Давайте назовем это «профиль» .k 1 2 4 3 5 5 4 4 2 2 3 3 a1 (0.97,0.99,0.92,1.5) a1
Здесь, напротив, скользящие суммы :a4
Для наблюдается небольшая вариация, поэтому низкая энтропия. Профиль . Его значения постоянно ниже, чем значения для , подтверждая интуитивное ощущение наличия сильного «паттерна» в .k=2,3,4 (1.00,0,0.99,0) a1 a4
Нам нужна система координат для интерпретации этих профилей. Совершенно случайный массив двоичных значений будет иметь примерно половину своих значений, равных а другая половина - для энтропии . Движущиеся суммы в пределах по окрестности будут иметь тенденцию иметь биномиальные распределения, давая им предсказуемые энтропии (по крайней мере, для больших массивов), которые могут быть аппроксимированы :0 1 1 k k 1+log2(k)
Эти результаты подтверждаются моделированием с массивами до . Однако они разбиваются для небольших массивов (таких как массивы на здесь) из-за корреляции между соседними окнами (когда размер окна составляет примерно половину размеров массива) и из-за небольшого объема данных. Вот эталонный профиль случайных на массивов, сгенерированных симуляцией вместе с графиками некоторых реальных профилей:m=n=100 5 5 5 5
На этом графике ссылочный профиль сплошного синего цвета. Профили массива соответствуют : красный, : золотой, : зеленый, : голубой. (Включение приведет к изображения, поскольку оно близко к профилю .) В целом, профили соответствуют порядку в вопросе: они уменьшаются при большинстве значений при увеличении видимого порядка. Исключение составляет : до конца при его движущие суммы имеют тенденцию иметь одну из самых низких энтропий. Это показывает удивительную закономерность: каждые на соседства вa1 a2 a3 a4 a5 a4 k a1 k=4 2 2 a1 имеет ровно или черных квадрата, никогда больше или меньше. Это гораздо менее «случайно», чем можно подумать. (Это отчасти связано с потерей информации, которая сопровождает суммирование значений в каждой окрестности, процедура, которая объединяет возможных конфигураций окрестности в просто различных возможных сумм. Если мы хотим учесть конкретно для кластеризации и ориентации в каждой окрестности, вместо использования движущихся сумм, мы использовали бы движущиеся конкатенации, то есть каждая окрестность на имеет1 2 2k2 k2+1 k k 2k2 возможные разные конфигурации; различая их все, мы можем получить более точную меру энтропии. Я подозреваю, что такая мера поднимет профиль по сравнению с другими изображениями.)a1
Этот метод создания профиля энтропий в контролируемом диапазоне масштабов путем суммирования (или объединения, или иного объединения) значений в движущихся окрестностях использовался при анализе изображений. Это двумерное обобщение хорошо известной идеи анализа текста сначала в виде серии букв, затем в виде последовательности графов (двухбуквенных последовательностей), затем в виде триграфов и т. Д. Оно также имеет некоторые очевидные связи с фракталом. анализ (который исследует свойства изображения в более мелких и более мелких масштабах). Если мы позаботимся о том, чтобы использовать блочную скользящую сумму или конкатенацию блоков (чтобы между окнами не было перекрытий), можно получить простые математические зависимости между последовательными энтропиями; тем не мение,
Возможны различные расширения. Например, для профиля, инвариантного к вращению, используйте круговые окрестности, а не квадратные. Конечно, все обобщается, кроме двоичных массивов. С достаточно большими массивами можно даже вычислить локально изменяющиеся профили энтропии, чтобы обнаружить нестационарность.
Если требуется одно число, а не весь профиль, выберите масштаб, в котором пространственная случайность (или ее отсутствие) представляет интерес. В этих примерах эта шкала лучше всего соответствует движущейся окрестности на или на , потому что для их формирования паттернов они все используют группировки, охватывающие от трех до пяти ячеек (а соседство на просто усредняет все вариации в массив и так бесполезен). На последнем масштабе, энтропии для через являются , , , , и3 3 4 4 5 5 a1 a5 1.50 0.81 0 0 0 ; ожидаемая энтропия в этом масштабе (для равномерно случайного массива) составляет . Это оправдывает ощущение, что «должно иметь довольно высокую энтропию». Чтобы различить , и , которые связаны с энтропией в этом масштабе, рассмотрим следующее более точное разрешение ( на окрестности): их энтропии равны , , соответственно (тогда как ожидается, что случайная сетка имеют значение ). Посредством этих мер исходный вопрос размещает массивы в правильном порядке.1.34 a1 a3 a4 a5 0 3 3 1.39 0.99 0.92 1.77
источник
Во-первых, мое предложение чисто интуитивное: я ничего не знаю в области распознавания образов. Во-вторых, могут быть сделаны альтернативные десятки предложений, подобных моему.
Я начинаю с идеи, что регулярная конфигурация (то есть с низкой энтропией) должна быть как-то симметричной, изоморфной тому или иному ее трансформанту. Например, в поворотах.
Вы можете поворачивать (поворачивать на 90 градусов, затем на 180 градусов и т. Д.) Матрицу, пока конфигурация не совпадет с исходной . Он всегда будет совпадать при 4 поворотах (360 градусов), но иногда он может совпадать и раньше (как матрица E на рисунке).
При каждом повороте подсчитайте количество ячеек с не одинаковыми значениями между исходной конфигурацией и повернутой. Например, если вы сравните исходную матрицу A с ее поворотом на 90 градусов, вы обнаружите 10 ячеек, в которых есть пятна в одной матрице и пробелы в другой матрице. Затем сравните исходную матрицу с ее поворотом на 180 градусов: будет найдено 11 таких ячеек. 10 ячеек - это несоответствие между исходной матрицей А и ее поворотом на 270 градусов. 10 + 11 + 10 = 31 является общей "энтропии" матрицы A .
Для матрицы B «энтропия» равна 20, а для матрицы E - только 12. Для матриц C и D «энтропия» равна 0, поскольку вращения прекращаются после 90 градусов: изоморфизм уже достигнут.
источник
Информация обычно определяется как . Существует некоторая теория хорошо объяснить , что является количество бит , вам нужно закодировать с помощью . Если вы хотите узнать больше об этом, прочитайте арифметическое кодирование .h(x)=logp(x) log2p(x) x p
Так как это может решить вашу проблему? Легко. Найдите какой-нибудь , представляющий ваши данные, и используйте где - это новый образец в качестве меры неожиданности или информации о встрече с ним.p −logp(x) x
Трудно найти модель для и сгенерировать ваши данные. Может быть, вы можете придумать алгоритм, который генерирует матрицы, которые вы считаете «вероятными».p
Несколько идей по примерке .p
Некоторые из представленных выше идей довольно тяжелы и происходят из машинного обучения. Если вы хотите получить дальнейшие советы, просто используйте комментарии.
источник
Мое следующее предложение скорее проницательно, чем выведено, поэтому я не могу доказать это, но могу хотя бы предложить какое-то обоснование. Процедура оценки «энтропии» конфигурации пятен включает в себя:
Оцифруйте пятна , то есть возьмите их координаты. Например, ниже приведена конфигурация D с пронумерованными точками (порядок нумерации может быть произвольным) и их координатами.
Делайте перестановки и выполняйте анализ Прокруста. Пермутируйте пятна (строки в данных) случайным образом и выполняйте сравнение Procrustes исходных (не переставленных) данных с переставленными; записать коэффициент идентичности (мера сходства двух конфигураций, выводимая анализом). Повторите перестановку - Procrustes - многократно сохраняя коэффициент (например, 1000 или более раз).
Что мы можем ожидать от единичных коэффициентов (IDc), полученных после вышеуказанной операции на регулярной структуре?Рассмотрим, например, приведенную выше конфигурацию D. Если мы сравним исходный набор координат с самим собой, мы, конечно, получим IDc = 1. Но если мы переставим некоторые пятна, то IDc между исходным набором и переставленным будет иметь значение ниже 1. Давайте переставим, например, одну пару пятен, помеченных 1 и 4. IDc = .964. Теперь вместо этого поменяйте местами 3 и 5. Интересно, что IDc снова будет 0,964. То же значение, почему? Точки 3 и 5 симметричны 1 и 4, поэтому поворот на 90 градусов накладывает их. Сравнение прокрустов нечувствительно к вращению или рефлексии, и, таким образом, перестановка в паре 1-4 является "такой же", как перестановка в паре 5-3, для него. Чтобы добавить еще пример, если вы переставляете только пятна 4 и 7, IDc будет снова 0,964! Похоже, что для Прокруста, перестановка в паре 4-7 "то же самое" как вышеупомянутые два в том смысле, что он дает ту же степень сходства (как измерено IDc). Очевидно, это все потому, что конфигурация D регулярна.Для обычной конфигурации мы ожидаем получить довольно дискретные значения IDc в нашем эксперименте по перестановке / сравнении; в то время как для неправильной конфигурации мы ожидаем, что значения будут иметь тенденцию быть непрерывными.
Построить записанные значения IDc. Например, отсортируйте значения и составьте линейный график. Я провел эксперимент - 5000 перестановок - с каждой из ваших конфигураций A, B (обе довольно неправильные), D, E (обе регулярные) и вот линейный график:
Обратите внимание, насколько неровными являются линии D и E (особенно D). Это из-за дискретности значений. Значения для A и B намного более непрерывны. Вы можете выбрать себе какую-то статистику, которая оценивает степень дискретности / непрерывности, вместо построения графика. A кажется не более непрерывным, чем B (для вас конфигурация A несколько менее регулярна, но мой линейный график, кажется, не демонстрирует это) или, если нет, возможно, демонстрирует немного другой шаблон значений IDc. Какой еще шаблон? Это выходит за рамки моего ответа еще. Большой вопрос, является ли A действительно менее регулярным, чем B: это может быть для вашего глаза, но не обязательно для анализа Прокруста или глаза другого человека.
Кстати, весь эксперимент по перестановке / прокрусту я проделал очень быстро. Я использовал свой собственный макрос анализа Procrustes для SPSS (находится на моей веб-странице) и добавил несколько строк кода для выполнения перестановок.
источник
Взаимная информация, рассматривающая каждое измерение как случайную величину, то есть каждую матрицу как набор пар чисел, должна помочь во всех случаях, кроме C, где я не уверен в результате.
См. Обсуждение на рис. 8 (начиная с p24) анализа эффективности регрессии в руководстве TMVA или соответствующей записи в arxiv .
источник
Вместо того, чтобы смотреть на глобальные свойства шаблона (такие как симметрии), можно взглянуть на локальные, например, на число соседей каждого камня (= черный круг). Обозначим общее количество камней через .s
Если камни выброшены случайным образом, то распределение соседей будет где - плотность камней. Количество мест зависит от того, находится ли камень внутри ( ), на краю ( ) или на углу .
Хорошо видно, что распределение соседей в C) , D) и E) далеко не случайно. Например, для D) все внутренние камни имеют ровно соседа (в противоположность случайному распределению, которое дает в вместо измеренных ).4 ≈(0%,2%,9%,20%,27%,24%,13%,4%,0%) (0%,0%,0%,0%,100%,0%,0%,0%,0%)
Таким образом, чтобы определить, является ли шаблон случайным, вам нужно сравнить распределение соседей и сравнить его со случайным . Например, вы можете сравнить их средства и отклонения.Pmeasured(k|n) Prand,p(k|n)
Кроме того, можно измерить их расстояния в функциональных пространствах, например: где - это измеренное соотношение точек с соседние пробелы и - это предсказанный случайный паттерн, то есть , и .
источник
Существует действительно простой способ концептуализации информационного контента, который восходит к идее Шеннона (предположительно одномерного), используя вероятности и вероятности перехода, чтобы найти наименее избыточное представление текстовой строки. Для изображения (в данном конкретном случае двоичного изображения, определенного на квадратной матрице) мы можем однозначно восстановить из знания производных x и y (-1,0, + 1). Мы можем определить вероятность перехода 3x3 и глобальную функцию плотности вероятности, также 3x3. Информация Шеннона затем получается из классической формулы логарифмического суммирования, применяемой в 3x3. Это информационная мера Шеннона второго порядка, которая хорошо отражает пространственную структуру в формате PDF 3х3.
Этот подход более интуитивно понятен при применении к изображениям в градациях серого с более чем 2 (двоичными) уровнями, см. Подробности на https://arxiv.org/abs/1609.01117 .
источник
Читая это, две вещи приходят на ум. Во-первых, многие свойства гештальта довольно сложно предсказать, и большая часть работы на уровне PhD направлена на выяснение моделей того, как происходит группировка. Мой инстинкт состоит в том, что самые простые правила, о которых вы могли подумать, заканчиваются контрпримерами.
Если вы можете пока оставить в стороне описание гештальт-группировок, я думаю, что полезной абстракцией будет думать о ваших входных данных как о частном случае изображения. В компьютерном зрении существует множество алгоритмов, которые стремятся назначить подпись изображению на основе набора функций, которые являются масштабно-инвариантными и объектно-инвариантными. Я думаю, что наиболее известными являются функции SIFT:
http://en.wikipedia.org/wiki/Scale-invariant_feature_transform
В основном ваш вывод будет новым вектором, который дает вес для этих функций. Вы можете использовать этот вектор и применить к нему эвристику (возможно, найти норму) и надеяться, что он описывает то, что вы ищете. В качестве альтернативы, вы можете обучить классификатор, чтобы принимать вектор признаков в качестве входных данных и просто сказать ему, каково ваше впечатление от его «энтропии». Преимущество этого в том, что он будет использовать соответствующие функции SIFT (которые определенно излишни для вашей проблемы) и создаст какое-то отображение, которое вполне может быть уместным. Недостатком является то, что вам придется делать большую часть этой маркировки самостоятельно, и то, что вы получите, может быть сложнее интерпретировать, в зависимости от используемого вами классификатора.
Я надеюсь, что это полезно! Здесь вам также может пригодиться множество традиционных алгоритмов компьютерного зрения - быстрый просмотр википедии на этом портале может дать вам дополнительную информацию.
источник
Ваши примеры напоминают мне таблицы истинности из булевой алгебры и цифровых схем. В этой области карты Карно (http://en.wikipedia.org/wiki/Karnaugh_map) можно использовать как инструмент для предоставления минимальной логической функции для выражения всей сетки. Кроме того, использование тождеств булевой алгебры может помочь свести функцию к ее минимальной форме. Подсчет количества членов в свернутой булевой функции может быть использован в качестве меры энтропии. Это дает вам вертикальную и горизонтальную симметрию вместе со сжатием соседних соседей, но не имеет диагональной симметрии.
Используя булеву алгебру, обе оси помечены как AE, начиная с верхнего левого угла. Таким образом, пример C будет отображаться в булеву функцию (! A &! E). В других примерах оси должны быть помечены отдельно (т.е. AE, FJ).
источник
Я хотел бы указать ранг матрицы, используемой в факторизации двоичной матрицы в качестве показателя энтропии. Хотя точное вычисление является NP-сложным , ранг может быть оценен за O (log2n) времени .
Я также хотел бы просто отметить, что сравнение с 3 вращениями и 4 отражениями имеет реальный недостаток.
Для матрицы с нечетным числом строк / столбцов будет центральная строка или столбец, которые будут перекрываться с исходными данными в поворотах / отражениях, что приведет к уменьшению величины энтропии.
Кроме того, для отражения в положении 90 и 270 градусов все диагонали будут перекрываться, что также снижает энтропию. Таким образом, эта потеря должна быть учтена.
источник