2Dバイナリマトリックスのエントロピー/情報/パターンの測定


53

2次元バイナリマトリックスのエントロピー/情報密度/パターンらしさを測定したい。説明のためにいくつかの写真を見せてください:

このディスプレイには、かなり高いエントロピーが必要です。

A)

ここに画像の説明を入力してください

これには中程度のエントロピーが必要です:

B)

ここに画像の説明を入力してください

最後に、これらの写真はすべてエントロピーがゼロに近いはずです。

C)

ここに画像の説明を入力してください

D)

ここに画像の説明を入力してください

E)

ここに画像の説明を入力してください

エントロピー、それぞれをキャプチャするインデックスがあります。これらのディスプレイの「パターンらしさ」?

もちろん、各アルゴリズム(たとえば、圧縮アルゴリズム、またはttnphnsによって提案され回転アルゴリズム)は、ディスプレイの他の機能に敏感です。次のプロパティをキャプチャしようとするアルゴリズムを探しています:

  • 回転対称および軸対称
  • クラスタリングの量
  • 繰り返し

より複雑かもしれませんが、アルゴリズムは心理的な「ゲシュタルト原理」の特性に敏感である可能性があります。特に、

  • 近接の法則: 近接の法則
  • 対称性の法則:対称的な画像は、距離があっても集合的に知覚されます:対称

これらのプロパティを持つディスプレイには、「低エントロピー値」が割り当てられます。かなりランダム/非構造化されたポイントを持つディスプレイには、「高いエントロピー値」が割り当てられます。

ほとんどの場合、単一のアルゴリズムでこれらの機能をすべてキャプチャすることはありません。したがって、一部の機能または単一の機能のみに対処するアルゴリズムの提案も大歓迎です。

具体的には、具体的な既存のアルゴリズム、または具体的な実装可能なアイデアを探しています(これらの基準に従って賞金を授与します)。


いい質問です!しかし、単一のメジャーを必要とする動機は何ですか?顔の3つのプロパティ(対称性、クラスタリング、および繰り返し)は、個別の測定値を保証するのに十分に独立しているように見えます。
アンディW

これまでのところ、ゲシュタルトの原則を実装する普遍的なアルゴリズムを見つけることができるということは、やや懐疑的です。後者は、主に既存のプロトタイプの認識に基づいています。あなたの心にはこれらがあるかもしれませんが、あなたのコンピューターにはないかもしれません。
ttnphns

両方に同意します。実際、私は単一のアルゴリズムを探していませんでした-以前の言葉遣いは実際にこれを示唆していましたが。質問を更新して、単一のプロパティのアルゴリズムを明示的に許可しました。多分誰かが複数のアルゴの出力を結合する方法についてのアイデアを持っているかもしれません(例えば、「アルゴのセットの最低エントロピー値を常に取得する」)
Felix S

1
バウンティは終わりました。すべての貢献者と素晴らしいアイデアに感謝します!この恩恵により、多くの興味深いアプローチが生まれました。いくつかの答えには多くの頭の働きが含まれており、時には報奨金を分割できないのは残念です。最後に、@ whuberに賞金を与えることにしました。彼の解決策は、それがキャプチャする機能に関して最も包括的で、実装が簡単だと思えたアルゴリズムだったからです。また、それが私の具体例に適用されたことにも感謝しています。最も印象的なのは、「直感的なランキング」の正確な順序で番号を割り当てる機能です。ありがとう、F
Felix S

回答:


35

心理的および幾何学的要素を含むすべての直観をキャプチャする簡単な手順があります。これは、知覚の基礎である空間的近接性の使用に依存しており、対称性によって不完全にしか測定されないものをキャプチャするための本質的な方法を提供します。

これを行うには、これらのアレイの「複雑さ」をさまざまなローカルスケールで測定する必要があります。これらのスケールを選択し、「近接」を測定する意味を選択する柔軟性がありますが、小さな正方形の近傍を使用し、その中の平均(または同等に、合計)を調べるのに十分簡単で効果的です。この目的のために、アレイの配列は、任意のものから誘導することができるによってアレイ用いて動画近傍和を形成することによりによって次に、近傍をによって等、最大によって(ただし、通常は値が少なすぎて信頼できるものを提供できません)。mnk=2233min(n,m)min(n,m)

これがどのように機能するかを見るために、上から下にからと呼ぶ、問題の配列の計算を行いましょう。適用される(はもちろん元の配列)の移動合計のプロットです。a1a5k=1,2,3,4k=1a1

図1

左上から時計回りに、等しく、、、、および。アレイは、により、次いでによって、によって、及びによってそれぞれ。それらはすべて一種の「ランダム」に見えます。このランダム性をベース2エントロピーで測定してみましょう。ため、これらのエントロピーの配列である。これを「プロファイル」と呼びましょう。k124355442233a1(0.97,0.99,0.92,1.5)a1

対照的に、移動合計はです。a4

図2

以下のために少し変化、そこ低いエントロピーがあります。プロファイルはです。その値はの値より一貫して低く、強い「パターン」が存在するという直感的な感覚を確認し。k=2,3,4(1.00,0,0.99,0)a1a4

これらのプロファイルを解釈するための参照フレームが必要です。バイナリ値の完全にランダムなアレイは、ちょうどその値に等しい約半分になります及び他の半分に等しいのエントロピーのために、。内移動合計によって近傍は、それらに予測可能なエントロピーを与え、二項分布を有する傾向があるであろうによって近似することができる(大アレイの少なくとも):011kk1+log2(k)

エントロピープロット

これらの結果は、までの配列を使用したシミュレーションによって裏付けられています。しかし、それらは、小さな(例えば、アレイの分解によって隣接ウィンドウ間の相関に起因ここで配列)(ウィンドウサイズはアレイの半分の大きさ程度で一度)と少量のデータに起因します。ここで、ランダムの基準プロファイルでによって一部の実際のプロファイルのプロットと共にシミュレーションによって生成された配列は:m=n=1005555

プロファイルプロット

このプロットでは、参照プロファイルは青一色です。配列プロファイルは、:赤、:金、:緑、:水色に対応しています。(含める、それが近くのプロフィールにあるため、画像を不明瞭にする。)全体プロファイルは、問題の順序に対応する:それらはの最も低い値で取得見かけの順序増加します。例外はです。最後まで、場合、その移動合計は最低のエントロピーになりがちです。これは驚くべきことで規則性を明らかに:すべてのによる近所でa1a2a3a4a5a4ka1k=422a1はつまたは黒い正方形があり、多かれ少なかれありません。思っているよりもはるかに「ランダム」ではありません。(これは、各近傍の値の合計に伴う情報の損失、可能な近傍構成を異なる可能な合計に凝縮する手順に一部起因します。具体的に説明したい場合各近傍内のクラスタリングおよび配向のために、その後の代わりに、我々は連結を移動使用する移動和を用いて、すなわち、各によって近傍を有する122k2k2+1kk2k2可能な異なる構成。それらをすべて区別することにより、エントロピーのより詳細な測定値を取得できます。私は、そのような手段が他の画像と比較してのプロファイルを高めると疑っています。a1

移動する近傍内の値を合計(または連結またはその他の組み合わせ)することにより、制御されたスケールの範囲でエントロピーのプロファイルを作成するこの手法は、画像の分析に使用されています。テキストを最初に一連の文字として、次に一連の有向グラフ(2文字のシーケンス)、次にトライグラフなどとして分析するというよく知られている考え方の2次元一般化です。また、フラクタルとの明らかな関係もあります。分析(より細かいスケールで画像のプロパティを調査します)。ブロック移動和またはブロック連結を使用するように注意を払うと(したがって、ウィンドウ間にオーバーラップがない場合)、連続するエントロピー間の単純な数学的関係を導き出すことができます。しかしながら、

さまざまな拡張が可能です。たとえば、回転不変プロファイルの場合、正方形ではなく円形の近傍を使用します。もちろん、すべてがバイナリ配列を超えて一般化されます。十分に大きい配列では、局所的に変化するエントロピープロファイルを計算して、非定常性を検出することさえできます。

プロファイル全体ではなく、単一の数値が必要な場合は、空間的なランダム性(またはその欠如)が対象となるスケールを選択します。これらの例では、その規模がに最高相当するによって、またはで彼らはパターン化するため、彼らはすべてのグループスパン3〜5細胞(およびそれに依存しているため、近傍を移動するによって離れた近所だけで平均値のすべてのバリエーションを配列などは無意味です)。後者のスケールで、ためのエントロピースルーある、、、、および3 4 4 5 5 a 1 a 5 1.50 0.81 0 0 0 1.34 a 1 a 3 a 4 a 5334455a1a51.500.81000 ; このスケールで予想されるエントロピー(一様にランダムな配列の場合)はです。これは、「かなり高いエントロピーを持つべきである」という意味を正当化します。区別する、、及びと結ばれる、このスケールでエントロピー、次のより微細な分解能(見によって近傍を):彼らのエントロピーは、、、ランダムグリッドが期待される一方、それぞれ、(値は)。これらの手段により、元の質問は配列を正確に正しい順序に並べます。1.34a1a3a4a50331.390.990.921.77


申し訳ありませんが、移動合計プロットの作成方法を理解できませんでした。移動合計の計算方法について詳しく説明してください。
ttnphns

1
@ttnphns ここで話題に人気の図示ヘルプページです。
whuber

4
PythonのNumPyとmatplotlibを使用して、@ whuberによるこの素晴らしい回答から結果を再現しました。こちらから入手できます:github.com/cosmoharrigan/matrix-entropy
Cosmo Harrigan

(+1)ここに非常に一般的な原則があります:任意のマルチセット 、その個別要素の多重度、つまりによって決定される確率分布のエントロピーが自然に関連付けられています、ここではの異なる要素のセットです。例は、さまざまな次元のオブジェクトのさまざまな形状のサイズ近傍によって形成されるマルチセットです。(ちょうど長さ部分文字列に1Dアプリケーションを投稿しまし。)Mμ(e)eSMKKp(e):=μ(e)eSμ(e)  (eS)SMkk
res

@whuberすばらしい答え。それは直感的に理解できますが、これの元の派生について引用できる記事や教科書はありますか(これがあなたの元の作品であるなら、あなたはそれを正式にジャーナルに出版したと仮定しています)?
サブハコム

10

まず、私の提案は純粋に直感的です。パターン認識の分野では何も知りません。第二に、私のような代替の数十の提案を行うことができます。

私は、通常の構成(つまり、低エントロピー)が何らかの形で対称的であり、これまたはその形質転換体と同型であるべきだという考えから始めます。たとえば、ローテーションで。

構成が元の構成と一致するまで、マトリックスを回転(180度よりも90度にフリップなど)できます。常に4回転(360度)で一致しますが、それよりも早く一致する場合もあります(図のマトリックスEのように)。

回転するたびに、元の構成と回転した構成の値が同じではないセルの数をカウントします。たとえば、元のマトリックスAと90度の回転を比較すると、1つのマトリックスにスポットがあり、もう1つのマトリックスに空白があるセルが10個見つかります。次に、元のマトリックスとその180度回転を比較します。このようなセルが11個見つかります。10個のセルは、元の行列Aとその270度の回転の不一致です。10 + 11 + 10 = 31は、行列Aの全体的な「エントロピー」です。

行列Bの「エントロピー」は20で、行列Eの場合は12のみです。行列CDの「エントロピー」は0です。なぜなら、回転は90度後に停止するからです。

ここに画像の説明を入力してください


ご提案ありがとうございます!回転変換に不変ではないいくつかの「簡単な」ディスプレイを考えることができますが、これは素晴らしく簡単な(そして拡張可能!)アプローチです。どのような変革を望んでいるかを考えなければなりません。また、各変換でポイントをカウントするアプローチが気に入っています。
フェリックスS

感謝します。しかし、このアプローチは初期のスタブであり、一般的なアイデアであり、あなたはそれが拡張可能であると言っています。
ttnphns

私はあなたのアプローチが好きです。ただし、より一般的な答えを得るには、同一性、3回転、4反射(つまり、en.wikipedia.org/ / Dihedral_group)のように、少し大きな対称グループをとる価値があります。次に、すべてのペア(すなわち)の間の差()を数え、ランダム性の尺度として、ここでは黒い石の数です。純粋にランダムな形状の場合は取得し、非常に対称的なを取得する必要が。良いことは、の公式がボード上の異なる数の石を保持し、BW対称性を持つことです。D4d87r=k187252n(25n))nr1r0r
ピョートルミグダル

複雑すぎてすみません。それは、元のパターンを比較することで十分でアイデンティティと異なっその対称性。次に、正規化係数にはではなくがあります。7778
ピョートルミグダル

5

情報は一般にとして定義され。は、を使用してをコーディングするために必要なビットの量であることを説明する優れた理論があります。これについてもっと知りたい場合は、算術コーディングについて読んでください。h(x)=logp(x)log2p(x)xp

では、どうすれば問題を解決できますか?簡単です。いくつかの検索データと使用を表しそれに遭遇する驚きや情報の尺度として新しいサンプルです。plogp(x)x

難しいのは、モデルを見つけてデータを生成することです。たぶん、「可能性が高い」とみなす行列を生成するアルゴリズムを思いつくことができます。p

を近似するためのいくつかのアイデア。p

  1. 5x5マトリックスのみを見る場合、ビットだけですべての可能なマトリックスを保存できるので、それらをすべて列挙し、それぞれに特定の確率を割り当てることができます。225
  2. 制限付きボルツマンマシンを使用してデータに適合します(情報の代わりに自由エネルギーを使用する必要がありますが、それは問題ありません)。
  3. 代わりにzipを使用し、上記の確率ストーリー全体を気にしません。正式には大丈夫です。これは、zipをコルモゴロフの複雑さの近似値として使用し、これは正規化された圧縮距離につながる情報理論家によって行われているためですlogp(x)
  4. グラフィカルモデルを使用して空間的な事前の信念を組み込み、ベルヌーイ変数をローカルで使用することもできます。
  5. 並進不変性をエンコードするには、たたみ込みネットワークを使用したエネルギーベースのモデルを使用できます

上記のアイデアのいくつかは非常に重く、機械学習から来ています。さらにアドバイスが必要な場合は、コメントを使用してください。


コルモゴロフのエントロピーは、「抽象的なパターンの単純さ」を考え、それが人間の心にどれだけ単純になるかを予測しようとしないなら、哲学的な意味で最良のアプローチです。エントロピーを「そのパターンを生成できる最短のプログラムの長さ」として単純に述べています。もちろん、コンピューターの言語を指定する必要はありますが、抽象的なチューリングマシンに頼ってトリックをプレイすることもできます。
ハビエルロドリゲスラグナ

プログラミング言語はあまり重要ではありません。言語Aから言語Bにコンパイルするプログラムの追加部分は、一定のビット増加(コンパイラー)を必要とするため、無視できます。
バイエルジ

4

私の次の提案は推測よりもむしろ洞察力があるので、私はそれを証明することはできませんが、少なくともいくつかの理論的根拠を提供することができます。スポットの構成の「エントロピー」を評価する手順は次のとおりです。

  1. スポットをデジタル化します。
  2. 直交Procrustes分析により、構成自体と置換された構成を何回も比較します。
  3. 比較の結果(同一性係数)をプロットし、プロットのギザギザを評価します。

スポットをデジタル化します。つまり、座標を取得します。たとえば、以下は、番号付きのスポット(番号付けの順序は任意)を使用した構成Dとその座標です。 ここに画像の説明を入力してください

spot x   y
1   1   1
2   3   1
3   5   1
4   2   2
5   4   2
6   1   3
7   3   3
8   5   3
9   2   4
10  4   4
11  1   5
12  3   5
13  5   5

順列を行い、プロクラステス分析を実行します。スポット(データの行)をランダムに並べ替え、元の(並べ替えられていない)データと並べ替えられたデータのプロクラステス比較を実行します。記録アイデンティティ係数(分析による2つの構成の類似性の尺度、出力)。順列の繰り返し-Procrustes-係数を何回も保存します(例:1000回以上)。

通常の構造で上記の操作を行った後に取得したID係数(IDc)から何を待つことができますか?たとえば、上記の構成Dを検討してください。元の座標セットをそれ自体と比較すると、もちろんIDc = 1になります。しかし、いくつかのスポットを置換すると、元のセットと置換されたものの間のIDcは1未満の値になります。代わりに、スポット3と5を入れ替えます。興味深いことに、IDcは再び.964になります。同じ値、なぜですか?スポット3と5は1と4に対して対称であるため、90度の回転がそれらを重ね合わせます。Procrustesの比較は回転や反射の影響を受けないため、ペア1-4内の順列はペア5-3内の順列と同じです。さらに例を追加すると、スポット4と7だけを並べ替えると、IDcは再び.964になります!Procrustesの場合、ペア4-7内の順列は「同じ」ようです (IDcで測定される)同程度の類似性を提供するという意味で、上記の2つとして。明らかに、これはすべて、構成Dが規則的であるためです。通常の構成では、順列/比較実験でIDcのかなり離散的な値を取得することが期待されます。不規則な構成の場合、値は連続する傾向があると予想されます。

記録されたIDc値をプロットします。たとえば、値を並べ替えて折れ線グラフを作成します。私は実験を行った-5000の順列-あなたの構成A、B(両方とも非常に不規則)、D、E(両方とも定期的)のそれぞれで、ここにラインプロットがあります:

ここに画像の説明を入力してください

ラインDとE(特にD)がさらにギザギザになっていることに注意してください。これは、値の離散性のためです。AとBの値はずっと連続しています。プロットする代わりに、離散性/連続性の程度を推定する何らかの統計を選択できます。AはBより連続的ではないようです(構成Aの規則性はやや劣りますが、私のラインプロットはそれを実証していないようです)。どのような別のパターン?これはまだ私の答えの範囲を超えています。Aが実際にBよりも規則性が低いかどうかという大きな問題:それはあなたの目のためかもしれませんが、必ずしもプロクラステス分析または他の人の目のためではありません。

ちなみに、順列/プロクラステスの実験全体は非常に迅速に行いました。SPSSに独自のProcrustes分析マクロ(Webページにあります)を使用し、順列を実行するコードをいくつか追加しました。


3

相互情報は、各次元をランダム変数として、したがって各行列を数値のペアのセットとみなして、すべての場合に役立つはずです。ただし、Cは結果がわかりません。

TMVAマニュアルまたは対応するarxivエントリの回帰パフォーマンス分析に関する図8(p24以降)の説明を参照してください。

分布ごとに異なるメトリック


リンクされたドキュメントを開くときに問題があります。
ttnphns

代替リンクを追加しました。しかし、最初のものは私のために動作します(テストされたばかりです)。
adavid

3

パターンのグローバルプロパティ(対称性など)を調べる代わりに、ローカルのプロパティ、たとえば各石(=黒丸)の隣接数を調べることができます。石の総​​数をで示しましょう。s

石がランダムに投げられた場合、隣人の分布は ここでは石の密度です。場所の数は、石が内部にあるか()、端にあるか()、または角にあるかによって異なります。

Prand,p(k neighbors|n places)=(nk)pk(1p)nk,
p=s/25nn=8n=5(n=3)

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)

または、関数空間で距離を測定することもできます。例: 有する点の測定された比であり、隣接するスペースとはランダムパターンの予測値です。つまり、 、および。

n={3,5,8}k=0n[Pmeasured(k|n)Pmeasured(n)Prand,p(k|n)Prand,p(n)]2,
Pmeasured(n)nPrand,p(n)Prand,p(3)=4/25Prand,p(5)=12/25Prand,p(8)=9/25

2

確率と遷移確率を使用してテキスト文字列の最も冗長な表現を見つけるシャノンの(確かに1次元の)アイデアに似た情報コンテンツを概念化するための本当に簡単な方法があります。画像(この特定の場合、正方行列で定義されたバイナリ画像)の場合、xおよびy導関数(-1,0、+ 1)の知識から一意に再構築できます。3x3の遷移確率とグローバルな確率密度関数、3x3も定義できます。シャノン情報は、3x3で適用される古典的な対数加算式から取得されます。これは2次シャノン情報測定であり、3x3 pdfの空間構造をうまくキャプチャします。

このアプローチは、2つ(バイナリ)レベル以上のグレースケール画像に適用すると、より直感的 です。詳細については、https://arxiv.org/abs/1609.01117を参照してください。


1

これを読むと、2つのことが思い浮かびます。1つ目は、ゲシュタルトプロパティの多くは予測が非常に困難であり、PhDレベルの作業の多くは、グループ化がどのように行われるかをモデル化しようとすることです。私の本能は、あなたが考えることができる最も簡単なルールが反例になることです。

今のところ、ゲシュタルトグループの説明を脇に置いておくことができれば、有用な抽象化は、入力を画像の特殊なケースと考えることです。コンピュータービジョンには、スケール不変およびフィーチャー不変の一連の特徴に基づいて画像に署名を割り当てることを目的とする多くのアルゴリズムがあります。最もよく知られているのはSIFT機能です。

http://en.wikipedia.org/wiki/Scale-invariant_feature_transform

基本的に、出力はこれらの機能の重みを与える新しいベクトルになります。このベクトルを使用し、ヒューリスティックを適用して(おそらく標準を見つけて)、探しているものを説明することを期待できます。または、分類器をトレーニングして、入力として特徴ベクトルを取り、その「エントロピー」の印象を伝えるだけです。これの利点は、適切なSIFT機能(これは間違いなくあなたの問題にとってはやりすぎです)を使用し、非常に適切な何らかのマッピングを構築することです。欠点は、自分でラベル付けを多く行う必要があり、使用する分類器によっては、解釈が難しくなる場合があることです。

これがお役に立てば幸いです!ここでは、多くの従来のコンピュータービジョンアルゴリズムも適切です。そのポータルでウィキペディアをすばやく閲覧すると、さらに洞察が得られる場合があります。


0

あなたの例は、ブール代数とデジタル回路からの真理値表を思い出させます。この領域では、カルノーマップ(http://en.wikipedia.org/wiki/Karnaugh_map)をツールとして使用して、グリッド全体を表す最小限のブール関数を提供できます。または、ブール代数のアイデンティティを使用すると、関数を最小形式に減らすことができます。最小化されたブール関数の項の数を数えることは、エントロピー測定として使用できます。これにより、隣接する隣接ピクセルを圧縮するとともに、垂直および水平の対称性が得られますが、斜めの対称性はありません。

ブール代数を使用して、両方の軸に左上隅から始まるAEのラベルが付けられます。この方法で、例Cはブール関数(!A&!E)にマップされます。他の例では、軸に個別にラベルを付ける必要があります(つまり、AE、FJ)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.