Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions MyIA.AI.Notebooks/IIT/ICT-Series/ICT-16-MDLTwoPartCode.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,13 @@
"# `model_bits` seul. C'est le coeur du code deux parties."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Lecture de la sortie.** Trois structures, trois codelengths de modele : uniform $-23{,}359$ bits, diagonale asymetrique $-30{,}555$ bits, identite (sparse eye) $-42{,}379$ bits. Les valeurs sont *negatives* -- le prior KT code une ligne de TPM par sa likelihood marginale, et une ligne deja quasi-deterministe (un seul gros compte) coute moins que sa description raw : le signe importe moins que l'*ordre*. Et l'ordre dit exactement ce que MDL doit dire : plus la TPM est creuse (l'identite n'a qu'un non-zero par ligne), plus le modele est **court a decrire** -- $-42$ bits pour eye contre $-23$ pour uniform, dix-neuf bits d'economie de description. C'est la premiere partie du code en action : la structure se paie en bits, et la structure *absente* (des zeros la ou les autres ont des probabilites) ne coute presque rien.\n"
]
},
{
"cell_type": "markdown",
"id": "9ca54b78",
Expand Down Expand Up @@ -243,6 +250,13 @@
" f'residual/n={out_mk[\"residual_bits\"]/out_mk[\"n_heldout\"]:.4f}')\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Lecture de la sortie, chiffre par chiffre.** Le residu par symbole ($residual/n$) separe nettement les trois regimes : cycle deterministe $0{,}0836$ bit -- le modele de transition capture presque tout, il ne reste qu'une poussiere de surprise ; markov bruitee a 10 % $0{,}7011$ bit -- le bruit irreductible passe integralement dans le residu ; iid 4-categories $2{,}0528$ bits -- proche du maximum d'entropie par symbole ($\\log_2 4 = 2$), le modele n'apprend rien qui aide. La symetrie avec la ligne modele est la lecon du code deux parties : le cycle paie $-6{,}722$ bits de modele pour economiser $\\sim 2$ bits de residu par symbole, l'iid paie $+30{,}729$ bits et ne gagne rien. Entre sur-apprendre (gros modele, petit residu) et sous-apprendre (petit modele, gros residu), la trajectoire la moins couteuse *en total* n'est pas toujours la plus simple.\n"
]
},
{
"cell_type": "markdown",
"id": "3e2b025b",
Expand Down Expand Up @@ -650,6 +664,13 @@
" print(f' {n:12s} {tb:+10.2f} {zb:10.2f} {kg:+8.4f}')\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Lecture du tableau, ligne par ligne.** La correlation de rang tient : $\\tau = +0{,}786$ avec $p = 0{,}006$, au-dessus du seuil attendu ($\\geq 0{,}5$) -- les rangs MDL et zlib concordent sur les huit trajectoires. Le tableau detaille la *structure* de cette concordance : les trois cycles deterministes (k=2 a k=5) couchent a $11{,}88 \\rightarrow -29{,}83$ bits totaux contre $136 \\rightarrow 168$ bits zlib avec un $k$-gain qui monte a $0{,}9357$ ; les markoviennes bruitees glissent de $513{,}85$ a $776{,}41$ bits contre $1520 \\rightarrow 2184$ zlib ($k$-gain $0{,}3448 \\rightarrow 0{,}0733$) ; les iid finissent a $852{,}07$ et $1216{,}54$ bits contre $2312$ et $3096$ zlib, $k$-gain quasi nul ($0{,}0170$, $0{,}0031$). Deux lectures : (1) l'ordre relatif des difficultes est le meme des deux cotes -- c'est tout ce que le gate exige d'un estimateur honnete ; (2) l'*echelle* absolue ne l'est pas (zlib compresse du binaire brut, MDL code une TPM) -- comparer des rangs, pas des bits, est precisement la precaution de methode.\n"
]
},
{
"cell_type": "markdown",
"id": "b875f461",
Expand Down
14 changes: 14 additions & 0 deletions MyIA.AI.Notebooks/IIT/ICT-Series/ICT-17-EpsilonMachine.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,13 @@
"print(f\"E = log2(3) = {np.log2(3):.4f} bits (la passe complete identifie la phase).\")\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Lecture de la sortie.** Sur la sequence cyclique $0,1,2$ : 88 passes visitees se condensent en **3 etats causaux** (un par phase du cycle), de distribution stationnaire quasi egale ($0{,}341$, $0{,}33$, $0{,}33$). Les deux quantites jumelles valent $C_\\mu = 1{,}5848$ bit et $E = 1{,}5850$ bit -- toutes deux a $\\log_2 3 = 1{,}5850$ pres : il faut $\\log_2 3$ bits pour encoder *dans laquelle des trois phases on se trouve* (memoire statistique), et la passe complete n'apprend rien de plus (excess d'entropie nul, la serie $E_k$ est plate a $1{,}5848 \\pm 0{,}0001$ sur $k = 1 \\ldots 4$). Le determinisme parfait est le cas ou representation minimale et prediction complete coincident.\n"
]
},
{
"cell_type": "markdown",
"id": "c1975d39",
Expand Down Expand Up @@ -895,6 +902,13 @@
"print(f\" (E - I_uniform) = {E_s2 - I_uniform:.4f} bits (ecart au plafond)\")\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Lecture de la sortie, chiffre par chiffre.** Le plafond theorique $E = 0{,}5458$ bit domine les deux estimateurs concurrents, et le gate est PASSED : l'info mutuelle **plug-in** atteint $I = 0{,}5230$ bit -- a $0{,}0229$ bit du plafond, soit l'echelle du bruit d'estimation -- tandis que l'estimateur **uniforme** plafonne a $I = 0{,}0018$ bit, a $0{,}5441$ bit du maximum, c'est-a-dire presque toute l'information disponible gaspillee. La hierarchie des trois nombres est la lecon : le plafond $E$ n'est pas une borne abstraite, c'est la *meilleure* atteignable, et un estimateur naif (uniforme) n'en recolte que $0{,}3\\,\\%$. La difference $0{,}5458 - 0{,}5230 = 0{,}0229$ bit mesure ce qu'un modele appris manque encore face a l'epsilon-machine elle-meme.\n"
]
},
{
"cell_type": "markdown",
"id": "b33872b0",
Expand Down
Loading