この章はエントロピーと情報の尺度 に続き、結合エントロピー、条件付きエントロピー、相互情報量を理解した後に読むことができる。第2章への必須前提条件ではない。本文では有限離散変数を扱い、単位は bit を使用する。
一見すると矛盾する2つの問題がここで出会う。条件を加えると依存関係が強くなる可能性があるが、データを処理しても情報が凭空(無から)に増えることはない。 違いは、我々がどのような利用可能な情報を加えたのか、そしてどの変数同士を比較しているのかという点にある。
条件付き相互情報文:各文脈内で比較し、平均化する
Z が既知のとき、X と Y はどの程度の情報を共有しているか?まず Z = z を固定し、その条件付き分布内で相互情報量を計算し、その後文脈の確率で平均化する:
I ( X ; Y ∣ Z ) = z ∑ p ( z ) I ( X ; Y ∣ Z = z ) .
同様に、
I ( X ; Y ∣ Z ) = H ( Y ∣ Z ) − H ( Y ∣ X , Z ) .
第1項は文脈を既知としたあとの不確実性であり、第2項は X も既知としたあとの残存量である。条件付き相互情報量は非負だが、Z が与えられていない場合の I ( X ; Y ) との間に固定された大小関係はない 。
図を準備しています 再読み込み
Z が与えられると、依存関係は強化も消滅もする 4つのX、Yの組み合わせを固定し、Zでフィルタリングして再正規化する。XOR(排他的論理和)の例では独立から完全相関に、共通源の例では完全相関から条件付き独立になる。
{"id":"information-context","title":"Z が与えられると、依存関係は強化も消滅もする","summary":"4つのX、Yの組み合わせを固定し、Zでフィルタリングして再正規化する。XOR(排他的論理和)の例では独立から完全相関に、共通源の例では完全相関から条件付き独立になる。","height":850,"html":"<p class=\"eyebrow\" data-i18n=\"eyebrow\"></p><h2 data-i18n=\"heading\"></h2><p class=\"intro\" data-i18n=\"intro\"></p>\n<div class=\"presets\" role=\"group\" data-i18n-label=\"examples\"><button data-model=\"xor\" data-i18n=\"xor\"></button><button data-model=\"common\" data-i18n=\"common\"></button></div>\n<div class=\"presets\" role=\"group\" data-i18n-label=\"filter\"><button data-filter=\"all\" data-i18n=\"all\"></button><button data-filter=\"0\">Z=0</button><button data-filter=\"1\">Z=1</button></div>\n<div class=\"pairs\" id=\"pairs\"></div><p class=\"note\" data-i18n=\"gridNote\"></p><div class=\"formula\" id=\"selection\"></div>\n<div class=\"metric-pair\"><div><span data-i18n=\"before\"></span><strong id=\"before\"></strong></div><div><span data-i18n=\"after\"></span><strong id=\"after\"></strong></div></div><div class=\"formula\"><div id=\"branch-formula\"></div><div id=\"average-formula\"></div></div><div class=\"copy-stack\"><p id=\"explanation\"></p><p class=\"reserve\" aria-hidden=\"true\" data-i18n=\"xorNote\"></p><p class=\"reserve\" aria-hidden=\"true\" data-i18n=\"commonNote\"></p></div>\n","css":".intro { margin:8px 0 18px; color:var(--muted); font-size:14px; }\n.control { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:18px; }\n.control output { min-width:4em; flex-shrink:0; text-align:center; background:var(--accent-soft); color:var(--accent); padding:2px 8px; border-radius:6px; font-weight:600; }\n.formula { margin-top:18px; padding:14px 0; border-block:1px solid var(--rule); font-size:16px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }\n.copy-stack { display:grid; margin-top:14px; color:var(--muted); font-size:14px; }\n.copy-stack > * { grid-area:1/1; }\n.copy-stack .reserve { visibility:hidden; }\n.note { margin-top:14px; color:var(--muted); font-size:12px; }\n.metric-pair { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:18px; }\n.metric-pair > div { min-width:0; }\n.metric-pair span { display:block; font-size:12px; color:var(--muted); }\n.metric-pair strong { display:block; font-size:24px; font-weight:500; font-variant-numeric:tabular-nums; }\n.scale { display:flex; justify-content:space-between; color:var(--muted); font-size:12px; font-variant-numeric:tabular-nums; }\n@media(max-width:480px) { .metric-pair strong { font-size:21px; } }\n.presets { display:flex; }\n.plot { position:relative; margin-top:18px; height:190px; border-left:1px solid var(--rule); border-bottom:1px solid var(--muted); }\n.plot svg { width:100%; height:100%; overflow:hidden; }\n.plot .curve { fill:none; stroke:var(--accent); stroke-width:2.5; vector-effect:non-scaling-stroke; }\n.plot .curve.secondary { stroke:var(--second); stroke-dasharray:5 4; }\n.scale { position:relative; }.scale .middle { position:absolute; left:50%; transform:translateX(-50%); }\n.formula { font-size:14px; }.formula div+div { margin-top:6px; }\n@media(max-width:480px) { .plot { height:170px; } }\n.plot .curve { transition:d .28s cubic-bezier(.22,1,.36,1); }\n.band { display:flex; height:28px; border-radius:5px; overflow:hidden; background:var(--surface); margin-top:10px; }\n.band > div { background:var(--accent); transition:width .28s ease; }\n.band > .gold { background:var(--second); }\n.legend { display:flex; flex-wrap:wrap; gap:6px 18px; margin-top:10px; font-size:12px; color:var(--muted); }\n.legend .blue::before,.legend .gold::before { content:''; display:inline-block; width:9px; height:9px; border-radius:2px; margin-right:6px; background:var(--accent); }\n.legend .gold::before { background:var(--second); }\n.rows { margin-top:18px; display:grid; gap:12px; }\n.row { display:grid; grid-template-columns:32px 1fr 60px; align-items:center; gap:10px; font-size:13px; }\n.row > div { min-width:0; }.row output { text-align:right; font-variant-numeric:tabular-nums; }\n.track { height:14px; background:var(--surface); border-radius:3px; overflow:hidden; }\n.fill { height:100%; width:0; background:var(--accent); transition:width .28s ease; }\n.presets { flex-wrap:wrap; gap:4px; }.presets button { min-width:0; }\n.metric-pair strong { overflow-wrap:anywhere; }\n.presets button { flex:1 1 auto; min-width:min-content; }\n.presets { margin-top:10px; }.pairs { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:22px; }.pair { border:1px solid var(--accent); background:var(--accent-soft); border-radius:8px; padding:16px; min-width:0; transition:opacity .28s,background .28s; }.pair.excluded { opacity:.22; background:var(--surface); border-color:var(--rule); }.pair strong { display:block; font-size:22px; }.pair span { display:block; font-size:13px; color:var(--muted); margin-top:6px; }.pair output { display:block; font-size:18px; margin-top:10px; font-variant-numeric:tabular-nums; }\n@media(max-width:480px){.pair{padding:12px}.pair strong{font-size:18px}}\n","js":"const $=s=>document.querySelector(s);let model='xor',filter='all';for(let i=0;i<4;i++)$('#pairs').insertAdjacentHTML('beforeend','<div class=\"pair\"><strong>X='+Math.floor(i/2)+', Y='+(i%2)+'</strong><span></span><output></output></div>');\nfunction draw(){const xor=model==='xor',base=xor?[.25,.25,.25,.25]:[.5,0,0,.5],z=xor?[0,1,1,0]:[0,null,null,1],selected=base.map((p,i)=>filter==='all'||z[i]===+filter?p:0),mass=selected.reduce((a,b)=>a+b),p=selected.map(v=>v/mass),before=xor?0:1,after=1-before;\n document.querySelectorAll('.pair').forEach((e,i)=>{e.classList.toggle('excluded',!p[i]);e.querySelector('span').textContent=z[i]===null?'Z = —':'Z = '+z[i];e.querySelector('output').textContent=viz.number(p[i],2);});$('#selection').textContent=filter==='all'?'P(X,Y)': 'P(X,Y | Z='+filter+') = P(X,Y,Z='+filter+') / '+viz.number(mass,1);$('#before').textContent=before+' bit';$('#after').textContent=after+' bit';$('#branch-formula').textContent='I(X;Y | Z=0) = I(X;Y | Z=1) = '+after+' bit';$('#average-formula').textContent='I(X;Y|Z) = 0.5 × '+after+' + 0.5 × '+after+' = '+after+' bit';$('#explanation').textContent=viz.t(xor?'xorNote':'commonNote');document.querySelectorAll('[data-model]').forEach(e=>e.setAttribute('aria-pressed',String(e.dataset.model===model)));document.querySelectorAll('[data-filter]').forEach(e=>e.setAttribute('aria-pressed',String(e.dataset.filter===filter)));}\ndocument.querySelectorAll('[data-model]').forEach(e=>e.addEventListener('click',()=>{model=e.dataset.model;draw();}));document.querySelectorAll('[data-filter]').forEach(e=>e.addEventListener('click',()=>{filter=e.dataset.filter;draw();}));draw();\n","audio":false,"strings":{"after":"Z について平均化:I(X;Y|Z)","all":"全サンプル","before":"Z が与えられていない:I(X;Y)","common":"共通源 X=Y=Z","commonNote":"共通源:Z は公平なビットであり、X=Y=Z である。全体として X、Y は完全に相関しているが、Z が与えられると両方が確定し、互いに追加情報を提供しなくなる。2つのグループの相互情報量はともに 0 であり、条件付き相互情報量も 0 となる。","examples":"結合分布","eyebrow":"条件は比較の範囲を変える","filter":"観察範囲","gridNote":"グリッド内の数字は現在の範囲内の確率であり、合計は1になる。フィルタリングはサンプルを変更するものではなく、条件を変更するものである。","heading":"Z が与えられると、依存関係は強化も消滅もする","intro":"結合分布を1つ選び、Zの2つのグループを確認する。グリッドの位置は常に不変で、薄色のグリッドは現在のグループに属さない。","xor":"XOR Z=X⊕Y","xorNote":"XOR:X、Y は独立な公平なビットである。フィルタリングしない場合、4つのセルは等確率である。Z のいずれかが与えられると、2つの組み合わせのみが残る。X が分かれば Y が確定するため、2つのグループの相互情報量はともに 1 bit となり、条件付き相互情報量も 1 bit となる。"}}
XOR:全体では独立だが、グループ分けされると完全相関
独立な公平なビット X , Y を取り、Z = X ⊕ Y と定義する。Z を観察しない場合、4つの組み合わせはそれぞれ 1/4 の確率を持ち、I ( X ; Y ) = 0 である。
Z = 0 が与えられると、( 0 , 0 ) と ( 1 , 1 ) のみが残る。Z = 1 が与えられると、( 0 , 1 ) と ( 1 , 0 ) のみが残る。各グループにおいて Y 単独では 1 bit の不確実性が残るが、X が分かれば Y が確定するため、各グループの相互情報量は 1 bit であり、平均も 1 bit となる。
これは「条件付きエントロピーは平均で減少しない」という事実と矛盾しない。ここで H ( Y ∣ Z ) = H ( Y ) = 1 であり、H ( Y ∣ X , Z ) = 0 である。変化しているのは、追加情報 Z が X と組み合わさって提供する予測能力であり、元のサンプルを凭空に変化させているわけではない。
共通源:文脈を知ると、相関は追加情報をもたらさない
公平なビット Z を取り、X = Y = Z とする。全体として X , Y は完全に同一であり、I ( X ; Y ) = 1 である。しかし、Z が与えられると両方が確定するため、I ( X ; Y ∣ Z ) = 0 となる。
これらの2つの例は、それぞれ条件付き相互情報量が通常の相互情報量より大きい場合と小さい場合を示している。「条件を加えると依存関係が常に弱まる」と単純に言うことはできず、両者の差を必ず非負の第3のベイン図の面積と見なすこともできない。
データ処理:既存の観測のみを使用する場合にのみ、この境界が成り立つ
X → Y → Z がマルコフ連鎖を形成する場合、すなわち
p ( x , y , z ) = p ( x , y ) p ( z ∣ y ) ,
であれば、Z を生成するプロセスは Y のみを参照し、Y が与えられた時点で X から追加の情報を受け取らない。このときデータ処理不等式 は
I ( X ; Z ) ≤ I ( X ; Y ) .
となる。
これは各ステップで厳密な情報の損失が必要であることを意味しない。可逆変換はすべての情報を保持できる。また、処理後の表現が必ずしも使いにくいことを意味するものでもない。同じ情報を、制限のある予測子が読み取りやすいように整理できる場合があり、タスクの精度と総相互情報量は同じ尺度ではない。
図を準備しています 再読み込み
データ処理で失われた情報はどこへ? 4つの等確率のXが可逆な再ラベリングを経てYになり、さらにYを保持して奇偶のみを残すか、すべてをマージする。線はどの元の値が区別できなくなったかを示し、ストリップ分解は保持情報と損失情報を示す。
{"id":"information-processing","title":"データ処理で失われた情報はどこへ?","summary":"4つの等確率のXが可逆な再ラベリングを経てYになり、さらにYを保持して奇偶のみを残すか、すべてをマージする。線はどの元の値が区別できなくなったかを示し、ストリップ分解は保持情報と損失情報を示す。","height":850,"html":"<p class=\"eyebrow\" data-i18n=\"eyebrow\"></p><h2 data-i18n=\"heading\"></h2><p class=\"intro\" data-i18n=\"intro\"></p><div class=\"presets\" role=\"group\" data-i18n-label=\"processing\"><button data-mode=\"keep\" data-i18n=\"keep\"></button><button data-mode=\"merge\" data-i18n=\"merge\"></button><button data-mode=\"erase\" data-i18n=\"erase\"></button></div>\n<div class=\"metric-pair\"><div><span>I(X;Y)</span><strong>2 bit</strong></div><div><span>I(X;Z)</span><strong id=\"retained\"></strong></div></div><div class=\"band\" role=\"img\" data-i18n-label=\"strip\"><div id=\"kept\"></div><div class=\"gold\" id=\"lost\"></div></div><div class=\"legend\"><span class=\"blue\" data-i18n=\"retained\"></span><span class=\"gold\" data-i18n=\"lost\"></span></div><div class=\"mapping\"><svg viewBox=\"0 0 320 270\" role=\"img\" data-i18n-label=\"chart\"><g id=\"edges\"></g><g id=\"nodes\"></g></svg></div><p class=\"note\" data-i18n=\"legend\"></p><section class=\"recovery\"><h3 data-i18n=\"recovery\"></h3><label class=\"observe\" for=\"observed\"><span data-i18n=\"observe\"></span><select id=\"observed\"></select><output id=\"processed-label\"></output></label><label class=\"relabel\"><input type=\"checkbox\" id=\"relabel\"><span data-i18n=\"relabel\"></span></label><div class=\"reconstruction\" aria-live=\"polite\"><span data-i18n=\"candidates\"></span><strong id=\"possible-x\"></strong><span data-i18n=\"success\"></span><strong id=\"recovery-success\"></strong></div></section><details class=\"audit-details\"><summary data-i18n=\"detailLabel\"></summary><div class=\"formula\" id=\"decomposition\"></div><p class=\"note\" data-i18n=\"recoveryNote\"></p><p class=\"note\" data-i18n=\"note\"></p></details>\n","css":".intro { margin:8px 0 18px; color:var(--muted); font-size:14px; }\n.control { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:18px; }\n.control output { min-width:4em; flex-shrink:0; text-align:center; background:var(--accent-soft); color:var(--accent); padding:2px 8px; border-radius:6px; font-weight:600; }\n.formula { margin-top:18px; padding:14px 0; border-block:1px solid var(--rule); font-size:16px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }\n.copy-stack { display:grid; margin-top:14px; color:var(--muted); font-size:14px; }\n.copy-stack > * { grid-area:1/1; }\n.copy-stack .reserve { visibility:hidden; }\n.note { margin-top:14px; color:var(--muted); font-size:12px; }\n.metric-pair { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:18px; }\n.metric-pair > div { min-width:0; }\n.metric-pair span { display:block; font-size:12px; color:var(--muted); }\n.metric-pair strong { display:block; font-size:24px; font-weight:500; font-variant-numeric:tabular-nums; }\n.scale { display:flex; justify-content:space-between; color:var(--muted); font-size:12px; font-variant-numeric:tabular-nums; }\n@media(max-width:480px) { .metric-pair strong { font-size:21px; } }\n.presets { display:flex; }\n.plot { position:relative; margin-top:18px; height:190px; border-left:1px solid var(--rule); border-bottom:1px solid var(--muted); }\n.plot svg { width:100%; height:100%; overflow:hidden; }\n.plot .curve { fill:none; stroke:var(--accent); stroke-width:2.5; vector-effect:non-scaling-stroke; }\n.plot .curve.secondary { stroke:var(--second); stroke-dasharray:5 4; }\n.scale { position:relative; }.scale .middle { position:absolute; left:50%; transform:translateX(-50%); }\n.formula { font-size:14px; }.formula div+div { margin-top:6px; }\n@media(max-width:480px) { .plot { height:170px; } }\n.plot .curve { transition:d .28s cubic-bezier(.22,1,.36,1); }\n.band { display:flex; height:28px; border-radius:5px; overflow:hidden; background:var(--surface); margin-top:10px; }\n.band > div { background:var(--accent); transition:width .28s ease; }\n.band > .gold { background:var(--second); }\n.legend { display:flex; flex-wrap:wrap; gap:6px 18px; margin-top:10px; font-size:12px; color:var(--muted); }\n.legend .blue::before,.legend .gold::before { content:''; display:inline-block; width:9px; height:9px; border-radius:2px; margin-right:6px; background:var(--accent); }\n.legend .gold::before { background:var(--second); }\n.rows { margin-top:18px; display:grid; gap:12px; }\n.row { display:grid; grid-template-columns:32px 1fr 60px; align-items:center; gap:10px; font-size:13px; }\n.row > div { min-width:0; }.row output { text-align:right; font-variant-numeric:tabular-nums; }\n.track { height:14px; background:var(--surface); border-radius:3px; overflow:hidden; }\n.fill { height:100%; width:0; background:var(--accent); transition:width .28s ease; }\n.presets { flex-wrap:wrap; gap:4px; }.presets button { min-width:0; }\n.metric-pair strong { overflow-wrap:anywhere; }\n.presets button { flex:1 1 auto; min-width:min-content; }\n.mapping { margin-top:20px; }.mapping svg { display:block; width:100%; max-height:280px; }.edge { stroke:var(--muted); opacity:.5; fill:none; stroke-width:1.6; transition:d .28s ease; }.node { fill:var(--paper); stroke:var(--rule); }.node-text { fill:var(--ink); font-size:17px; text-anchor:middle; }.column { fill:var(--muted); font-size:16px; text-anchor:middle; }.target { transition:transform .28s ease,opacity .28s ease; }\n\n.mapping { margin-top:12px; }.mapping svg{height:205px;max-height:none}.mapping + .note{font-size:12px;margin-top:8px}.metric-pair{margin-top:12px}.band{height:16px}.recovery{margin-top:14px}.recovery h3{font-size:14px}.observe{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px;font-size:13px}.observe select{font:inherit;background:var(--paper);color:var(--ink);border:1px solid var(--rule);border-radius:5px;padding:6px;min-height:36px}.relabel{display:flex;align-items:center;gap:8px;margin:6px 0;font-size:13px;min-height:40px}.relabel input{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0}.reconstruction{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:4px 8px;font-size:13px}.reconstruction strong{text-align:right;font-variant-numeric:tabular-nums;font-weight:500}.reconstruction span{color:var(--muted)}\n@media(max-width:480px){.mapping svg{height:180px}.intro{font-size:13px;margin-bottom:12px}.legend{font-size:11px;gap:4px 10px}.metric-pair strong{font-size:21px}.recovery{margin-top:10px}.observe select{min-height:44px}}\n\n.audit-details { border-top:1px solid var(--rule); margin-top:14px; padding-top:8px; }\n.audit-details summary { cursor:pointer; color:var(--accent); font-size:13px; min-height:36px; padding:6px 0; }\n.audit-details summary:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }\n.audit-details .formula { border:0; margin-top:8px; padding:8px 0; }\n","js":"const $=s=>document.querySelector(s),ns='http://www.w3.org/2000/svg';let mode='merge';function node(tag,attrs,parent,text){const e=document.createElementNS(ns,tag);for(const [k,v]of Object.entries(attrs))e.setAttribute(k,v);if(text!==undefined)e.textContent=text;parent.append(e);return e;}\nfor(const [x,label]of [[35,'X'],[155,'Y'],[275,'Z']])node('text',{x,y:20,class:'column'},$('#nodes'),label);\nfor(let i=0;i<4;i++){const y=60+55*i;node('path',{d:'M55,'+y+' L135,'+y,class:'edge'},$('#edges'));node('path',{d:'M175,'+y+' L255,'+y,class:'edge process'},$('#edges'));for(const [x,label]of [[35,i],[155,(i+1)%4]]){node('rect',{x:x-20,y:y-18,width:40,height:36,rx:8,class:'node'},$('#nodes'));node('text',{x,y:y+6,class:'node-text'},$('#nodes'),label);}const g=node('g',{class:'target'},$('#nodes'));node('rect',{x:255,y:-18,width:40,height:36,rx:8,class:'node'},g);node('text',{x:275,y:6,class:'node-text'},g,i);}\nfunction draw(){const map=mode==='keep'?[1,2,3,0]:mode==='merge'?[1,0,1,0]:[0,0,0,0],count=Math.max(...map)+1,info=Math.log2(count),y=i=>count===4?60+55*i:count===2?100+85*i:142.5;document.querySelectorAll('.process').forEach((e,i)=>e.setAttribute('d','M175,'+(60+55*i)+' C210,'+(60+55*i)+' 220,'+y(map[i])+' 255,'+y(map[i])));document.querySelectorAll('.target').forEach((e,i)=>{e.style.transform='translateY('+y(i<count?i:0)+'px)';e.style.opacity=i<count?'1':'0';});syncRecovery(map);$('#retained').textContent=info+' bit';$('#kept').style.width=info/2*100+'%';$('#lost').style.width=(2-info)/2*100+'%';$('#decomposition').textContent='I(X;Y) = I(X;Z) + I(X;Y|Z) = '+info+' + '+(2-info)+' = 2 bit';document.querySelectorAll('[data-mode]').forEach(e=>e.setAttribute('aria-pressed',String(e.dataset.mode===mode)));}\ndocument.querySelectorAll('[data-mode]').forEach(e=>e.addEventListener('click',()=>{mode=e.dataset.mode;draw();}));draw();\n\nfunction syncRecovery(map){const count=Math.max(...map)+1,old=+$('#observed').value||0;$('#observed').replaceChildren(...Array.from({length:count},(_,i)=>{const e=document.createElement('option');e.value=i;e.textContent='Z='+i;return e;}));$('#observed').value=Math.min(old,count-1);const z=+$('#observed').value,possible=map.map((v,x)=>v===z?x:null).filter(x=>x!==null);$('#processed-label').textContent=$('#relabel').checked?'W = '+(3-z):'Z = '+z;$('#possible-x').textContent='{ '+possible.join(', ')+' }';$('#recovery-success').textContent=viz.number(100/possible.length,0)+'%';}\n$('#observed').addEventListener('change',draw);$('#relabel').addEventListener('change',draw);\n","audio":false,"strings":{"candidates":"依然としてあり得る X","chart":"X、Y、Z の3列のマッピング。線が合流しているのは、元の状態が区別できなくなったことを示す。","detailLabel":"情報の分解と適用条件","erase":"すべてマージ","eyebrow":"マージ後、元の値をまだ区別できるか","heading":"データ処理で失われた情報はどこへ?","intro":"X は 0、1、2、3 を等確率で取り、Y=(X+1) mod 4 となる。この可逆変換は 2 bit を完全に保持する。後の Z は Y のみを参照できる。","keep":"完全保持","legend":"左から右へ線に沿って読む:再ラベリングは情報を失わない。異なる経路が合流した後、Z だけを見てもそれらを区別できない。","lost":"I(X;Y|Z) をすでに損失","merge":"奇偶のみ保持","note":"ストリップは常に 2 bit に合計される。可逆処理は等号を満たす。奇偶マージは 1 bit のみを保持する。定数出力は情報を保持しない。これは決定論的処理の有限の例であり、データ処理不等式は同じマルコフ条件を満たす確率的な処理にも適用される。","observe":"観測された Z を選択","processing":"Y に対する処理","recovery":"処理結果から X を復元しようとする","recoveryNote":"同じグループの元の値は等確率である。結果のラベルを書き換えても、すでにマージされた経路は分離されない。成功率は依然として候補数の逆数である。","relabel":"再加工:Z を W=3−Z というラベルに変更","retained":"I(X;Z) をまだ保持","strip":"固定された 2 bit のストリップ:保持された I(X;Z) と失われた I(X;Y|Z) の合計。","success":"最適な復元成功率"}}
観測された Z をもう1つ選び、X の復元を試みる。可逆処理は候補を1つだけ残し、成功率は 1 である。奇偶マージは2つの等確率の候補を残し、最適な成功率は 1/2 である。定数処理は4つを残し、成功率は 1/4 である。結果を W = 3 − Z と再命名しても、候補集合は完全に不変である。処理結果のみを読み取れば、すでにマージされた元の値を再び分離することはできない。ここでの成功率は、この一様で決定論的なグループ分けの例における結論であり、相互情報量の数値のみから導き出される一般的な公式ではない。
図において Y = ( X + 1 ) mod 4 は可逆な再ラベリングであり、X の 2 bit を完全に保持する。Y の奇偶性のみを保持すると、4つの元の値は2つのグループに分けられ、1 bit のみが残る。すべての値を定数に写像すると、残存情報はゼロになる。失われたのは、以前は区別可能だったが、現在は区別できない差異である。
不等式の差は、ちょうど1つの条件付き相互情報量に等しい
同じ I ( X ; Y , Z ) に対して、2つの異なる順序で相互情報量の連鎖則を使用する:
I ( X ; Y , Z ) = I ( X ; Y ) + I ( X ; Z ∣ Y ) , = I ( X ; Z ) + I ( X ; Y ∣ Z ) .
マルコフ条件により I ( X ; Z ∣ Y ) = 0 であるため、
I ( X ; Y ) − I ( X ; Z ) = I ( X ; Y ∣ Z ) ≥ 0.
右辺が示すのは:処理結果 Z を見た後、古い観測 Y が X についてさらにどの程度の情報を教えてくれるかである。 これが処理で失われた部分であり、図におけるストリップの金色の部分である。等号が成立するのは、この部分がゼロの場合のみである。可逆処理は等号を満たす十分条件の一つであるが、唯一の方法ではない。
なぜ XOR の例はデータ処理不等式に違反しないのか?
前述の XOR の例では、Z は X と Y の両方から計算されており、「Y のみから Z を生成する」という連鎖には書けない。これは不等式を適用するために必要な条件を満たしていない。
同様に、処理ステップが元のデータ、追加の関連検索結果、または X に関する他の情報にアクセスできる場合、これらの入力を観測変数に含め、正しいマルコフ関係を再確認する必要がある。追加入力を省略した状態で、アルゴリズムがデータ処理不等式に違反していると誤判断してはならない。
問題 正しい比較
追加の文脈が与えられた後、2変数の間に相関は残っているか? I ( X ; Y ∣ Z ) ;I ( X ; Y ) より大きくなったり小さくなったりする可能性がある
既存の観測のみを処理し、元の情報をどれだけ保持したか? X → Y → Z の下で、I ( X ; Z ) ≤ I ( X ; Y )
処理によってどれだけの情報が失われたか? 同じ条件下で、差は I ( X ; Y ∣ Z ) である
表現学習における関連する応用については情報ボトルネック を参照のこと。連続変数については密度と微分エントロピーが含まれるため、ガウスチャネル で別途紹介する。
参考文献