{"version":2,"relationshipURLBase":"https://codingai-lec03.pages.dev/course/notebook-blocks/c5113894a7934003bb3fd12a1d78f39c.html","relationshipResolution":"Resolve relative relationship URLs against relationshipURLBase; complete records and absolute URLs are in blocks.","title":"LAB 18 · XOR：信息保留与线性读出 · 实现代码","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/c5113894a7934003bb3fd12a1d78f39c.html","markdown":"https://codingai-lec03.pages.dev/course/notebook-blocks/c5113894a7934003bb3fd12a1d78f39c.md","pages":[{"id":"reading-opening","title":"LAB 18 · XOR：信息保留与线性读出 · 实现代码","unit":"LAB 18 · XOR：信息保留与线性读出 · 实现代码","unitId":"notebook-blocks/c5113894a7934003bb3fd12a1d78f39c","chapter":"course","number":1}],"aliases":[{"oldId":"b-9ee516574792427422bcfa82","targetId":"b-9ee516574792427422bcfa82","page":"reading-opening","operation":"move","beforeSHA256":"a5454a2eaf6526d406672cf2fd64647bf6756311358ae3b16c90564051decb92","afterSHA256":"a5454a2eaf6526d406672cf2fd64647bf6756311358ae3b16c90564051decb92","reason":"Same source body in authored semantic page"},{"oldId":"b-a66ad5ee154b086afc322372","targetId":"b-a66ad5ee154b086afc322372","page":"reading-opening","operation":"move","beforeSHA256":"cbb2e948083b2f0f021e57dc571d444242d7e113bd208359c17e8a2020a0cc98","afterSHA256":"cbb2e948083b2f0f021e57dc571d444242d7e113bd208359c17e8a2020a0cc98","reason":"Same source body in authored semantic page"},{"oldId":"b-3162b3eea7716d4e6ec14241","targetId":"b-3162b3eea7716d4e6ec14241","page":"reading-opening","operation":"move","beforeSHA256":"dc06c1e728a4b5740ba634b145bc9a1da6323031626734cb4555db5a744df806","afterSHA256":"dc06c1e728a4b5740ba634b145bc9a1da6323031626734cb4555db5a744df806","reason":"Same source body in authored semantic page"},{"oldId":"b-d4a9303889020752e9df3d6e","targetId":"b-d4a9303889020752e9df3d6e","page":"reading-opening","operation":"move","beforeSHA256":"0c53f126cdc4110054c6ebfa4ab9db714bda7e1982e0deb1f677983510645526","afterSHA256":"0c53f126cdc4110054c6ebfa4ab9db714bda7e1982e0deb1f677983510645526","reason":"Same source body in authored semantic page"},{"oldId":"b-253e5ed2aa57dc92fd614278","targetId":"b-253e5ed2aa57dc92fd614278","page":"reading-opening","operation":"move","beforeSHA256":"d9aee452ec06f68596a2209ada94de8574256f0031c7a90eb656ce270306d533","afterSHA256":"d9aee452ec06f68596a2209ada94de8574256f0031c7a90eb656ce270306d533","reason":"Same source body in authored semantic page"}],"blocks":[{"id":"b-9ee516574792427422bcfa82","type":"p","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/c5113894a7934003bb3fd12a1d78f39c.html#b-9ee516574792427422bcfa82","content":"[LAB 18 · XOR：信息保留与线性读出](/course/notebooks/33066318f5884adc8417068df0f40431.html)","sha256":"a5454a2eaf6526d406672cf2fd64647bf6756311358ae3b16c90564051decb92","chapter":{"id":"course","title":"LAB 18 · XOR：信息保留与线性读出 · 实现代码"},"unit":{"id":"notebook-blocks/c5113894a7934003bb3fd12a1d78f39c","title":"LAB 18 · XOR：信息保留与线性读出 · 实现代码"},"page":{"id":"reading-opening","title":"LAB 18 · XOR：信息保留与线性读出 · 实现代码","number":1},"sectionTitle":"LAB 18 · XOR：信息保留与线性读出 · 实现代码","currentQuestion":"LAB 18 · XOR：信息保留与线性读出 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":null,"nextBlock":"b-a66ad5ee154b086afc322372","prerequisites":[],"relatedBlocks":[]},{"id":"b-a66ad5ee154b086afc322372","type":"h1","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/c5113894a7934003bb3fd12a1d78f39c.html#b-a66ad5ee154b086afc322372","content":"# LAB 18 · XOR：信息保留与线性读出 · 实现代码","sha256":"cbb2e948083b2f0f021e57dc571d444242d7e113bd208359c17e8a2020a0cc98","chapter":{"id":"course","title":"LAB 18 · XOR：信息保留与线性读出 · 实现代码"},"unit":{"id":"notebook-blocks/c5113894a7934003bb3fd12a1d78f39c","title":"LAB 18 · XOR：信息保留与线性读出 · 实现代码"},"page":{"id":"reading-opening","title":"LAB 18 · XOR：信息保留与线性读出 · 实现代码","number":1},"sectionTitle":"LAB 18 · XOR：信息保留与线性读出 · 实现代码","currentQuestion":"LAB 18 · XOR：信息保留与线性读出 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-9ee516574792427422bcfa82","nextBlock":"b-3162b3eea7716d4e6ec14241","prerequisites":[{"id":"b-9ee516574792427422bcfa82","url":"#b-9ee516574792427422bcfa82","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-3162b3eea7716d4e6ec14241","type":"p","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/c5113894a7934003bb3fd12a1d78f39c.html#b-3162b3eea7716d4e6ec14241","content":"并入相关学习路径","sha256":"dc06c1e728a4b5740ba634b145bc9a1da6323031626734cb4555db5a744df806","chapter":{"id":"course","title":"LAB 18 · XOR：信息保留与线性读出 · 实现代码"},"unit":{"id":"notebook-blocks/c5113894a7934003bb3fd12a1d78f39c","title":"LAB 18 · XOR：信息保留与线性读出 · 实现代码"},"page":{"id":"reading-opening","title":"LAB 18 · XOR：信息保留与线性读出 · 实现代码","number":1},"sectionTitle":"LAB 18 · XOR：信息保留与线性读出 · 实现代码","currentQuestion":"LAB 18 · XOR：信息保留与线性读出 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-a66ad5ee154b086afc322372","nextBlock":"b-d4a9303889020752e9df3d6e","prerequisites":[{"id":"b-a66ad5ee154b086afc322372","url":"#b-a66ad5ee154b086afc322372","role":"section-title"},{"id":"b-9ee516574792427422bcfa82","url":"#b-9ee516574792427422bcfa82","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-d4a9303889020752e9df3d6e","type":"p","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/c5113894a7934003bb3fd12a1d78f39c.html#b-d4a9303889020752e9df3d6e","content":"XOR的任务信息/身份信息、离散互信息与线性读出算例","sha256":"0c53f126cdc4110054c6ebfa4ab9db714bda7e1982e0deb1f677983510645526","chapter":{"id":"course","title":"LAB 18 · XOR：信息保留与线性读出 · 实现代码"},"unit":{"id":"notebook-blocks/c5113894a7934003bb3fd12a1d78f39c","title":"LAB 18 · XOR：信息保留与线性读出 · 实现代码"},"page":{"id":"reading-opening","title":"LAB 18 · XOR：信息保留与线性读出 · 实现代码","number":1},"sectionTitle":"LAB 18 · XOR：信息保留与线性读出 · 实现代码","currentQuestion":"LAB 18 · XOR：信息保留与线性读出 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-3162b3eea7716d4e6ec14241","nextBlock":"b-253e5ed2aa57dc92fd614278","prerequisites":[{"id":"b-a66ad5ee154b086afc322372","url":"#b-a66ad5ee154b086afc322372","role":"section-title"},{"id":"b-9ee516574792427422bcfa82","url":"#b-9ee516574792427422bcfa82","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-253e5ed2aa57dc92fd614278","type":"pre","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/c5113894a7934003bb3fd12a1d78f39c.html#b-253e5ed2aa57dc92fd614278","content":"```\n# Writable ephemeral workspace for detached readonly cloud runs.\nimport os, tempfile\nos.chdir(tempfile.mkdtemp(prefix='lec03_lab21_'))\n\nimport numpy as np\nfrom collections import Counter\nh=[(-1,-1),(-1,1),(1,-1),(1,1)]; y=[0,1,1,0]; z=[a*b for a,b in h]; c=[0]*4\ndef mutual(a,b):\n    n=len(a); joint=Counter(zip(a,b)); ca=Counter(a); cb=Counter(b)\n    return sum(v/n*np.log2(v*n/(ca[x]*cb[t])) for (x,t),v in joint.items())\ndef fit(X,y):\n    X=np.c_[X,np.ones(len(y))]; w=np.zeros(X.shape[1]); y=np.array(y)\n    for _ in range(500):\n        p=1/(1+np.exp(-X@w)); w-=.2*X.T@(p-y)/len(y)\n    return (1/(1+np.exp(-X@w))).round(4)\nprint('I(h;y), I(z;y), I(constant;y) bits',mutual(h,y),mutual(z,y),mutual(c,y))\nprint('I(h;h), I(h;z) bits',mutual(h,h),mutual(h,z))\nprint('linear probabilities on h',fit(np.array(h),y).tolist(),'on z',fit(np.array(z)[:,None],y).tolist())\nassert mutual(h,y)==mutual(z,y)==1 and mutual(h,h)==2 and mutual(h,z)==1\nprint('z keeps XOR label, loses which corner: label sufficiency is task dependent')\n```","sha256":"d9aee452ec06f68596a2209ada94de8574256f0031c7a90eb656ce270306d533","chapter":{"id":"course","title":"LAB 18 · XOR：信息保留与线性读出 · 实现代码"},"unit":{"id":"notebook-blocks/c5113894a7934003bb3fd12a1d78f39c","title":"LAB 18 · XOR：信息保留与线性读出 · 实现代码"},"page":{"id":"reading-opening","title":"LAB 18 · XOR：信息保留与线性读出 · 实现代码","number":1},"sectionTitle":"LAB 18 · XOR：信息保留与线性读出 · 实现代码","currentQuestion":"LAB 18 · XOR：信息保留与线性读出 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-d4a9303889020752e9df3d6e","nextBlock":null,"prerequisites":[{"id":"b-a66ad5ee154b086afc322372","url":"#b-a66ad5ee154b086afc322372","role":"section-title"},{"id":"b-9ee516574792427422bcfa82","url":"#b-9ee516574792427422bcfa82","role":"problem-context"}],"relatedBlocks":[]}]}
