diff --git a/MyIA.AI.Notebooks/Complexity/Complexity-05-AaronsonArkhipov-PermanenteBosonSampling.ipynb b/MyIA.AI.Notebooks/Complexity/Complexity-05-AaronsonArkhipov-PermanenteBosonSampling.ipynb index 64b51011e5..395a3d1d5b 100644 --- a/MyIA.AI.Notebooks/Complexity/Complexity-05-AaronsonArkhipov-PermanenteBosonSampling.ipynb +++ b/MyIA.AI.Notebooks/Complexity/Complexity-05-AaronsonArkhipov-PermanenteBosonSampling.ipynb @@ -1261,7 +1261,7 @@ "| Exécuter la définition | §1 | $n!$ compté exactement ; perm(0/1) = couplages parfaits vérifié contre énumération brute (règle d'or du comptage) |\n", "| Mesurer le fossé | §2 | Comptes canoniques par formules fermées validées par instrumentation ($n \\le 7$) ; à $n=20$ : définition $4{,}9 \\times 10^{19}$ opérations, Gauss 5 149 ; Ryser/det $\\approx 1{,}6 \\times 10^4$ en temps à $n=16$ |\n", "| Nommer la théorie | §3 | #P-difficulté (Valiant 1979) maintenue au niveau **Cité** ; FPRAS non négatif (JSV 2004) comme exception qui désigne les signes |\n", - "| Faire tourner la loi | §4 | Distribution $\u000bert \\mathrm{perm} \u000bert^2$ exacte sur 56 / 924 / 12 870 sorties ; TV(échantillon, exact) $\\to 0$ ; coût d'énumération extrapolé $6 \\times 10^{13}$ opérations à $(14, 28)$ |\n", + "| Faire tourner la loi | §4 | Distribution $\\vert \\mathrm{perm} \\vert^2$ exacte sur 56 / 924 / 12 870 sorties ; TV(échantillon, exact) $\\to 0$ ; coût d'énumération extrapolé $6 \\times 10^{13}$ opérations à $(14, 28)$ |\n", "| Sonder Mathlib | §5 | `Matrix.permanent` **existe** (114 lignes, forme $n!$) contre un dossier `Determinant/` entier — l'objet du notebook vit dans Mathlib à l'état de définition, sans sa couche algorithmique ni complexité |\n", "\n", "**Ce que 2011 a fondé ici.** Deux formules sœurs séparées par des signes : l'une est le\n", @@ -1317,8 +1317,8 @@ "end_time": "2026-09-19T09:10:44.972522", "environment_variables": {}, "exception": null, - "input_path": "D:\\Dev\\CoursIA-complexity03\\MyIA.AI.Notebooks\\Complexity\\Complexity-03-AaronsonArkhipov-PermanenteBosonSampling.ipynb", - "output_path": "D:\\Dev\\CoursIA-complexity03\\MyIA.AI.Notebooks\\Complexity\\Complexity-03-AaronsonArkhipov-PermanenteBosonSampling_output.ipynb", + "input_path": "Complexity-05-AaronsonArkhipov-PermanenteBosonSampling.ipynb", + "output_path": "Complexity-05-AaronsonArkhipov-PermanenteBosonSampling.ipynb", "parameters": { "BATCH_MODE": "true" }, diff --git a/MyIA.AI.Notebooks/IIT/ICT-Series/ICT-16-MDLTwoPartCode.ipynb b/MyIA.AI.Notebooks/IIT/ICT-Series/ICT-16-MDLTwoPartCode.ipynb index 72202badad..f93caf4710 100644 --- a/MyIA.AI.Notebooks/IIT/ICT-Series/ICT-16-MDLTwoPartCode.ipynb +++ b/MyIA.AI.Notebooks/IIT/ICT-Series/ICT-16-MDLTwoPartCode.ipynb @@ -927,7 +927,7 @@ "« compression implies understanding ». On le rend ici **explicite et falsifiable**.\n", "\n", "**Hypothèse** : le modèle qui atteint le MDL minimal sur le train doit aussi minimiser le coût de codage\n", - "(*negative log-likelihood*, NLL) d'un **held-out** de même loi — autrement dit, l'ordre $k^\\*$ sélectionné\n", + "(*negative log-likelihood*, NLL) d'un **held-out** de même loi — autrement dit, l'ordre $k^*$ sélectionné\n", "par le MDL doit coïncider avec celui qui généralise. On fait varier l'ordre du modèle $k$ (le coût de\n", "code du modèle croît comme $k_{states}^k$) et on confronte $\\mathrm{MDL}_{train}(k)$ à\n", "$\\mathrm{NLL}_{held-out}(k)$.\n", diff --git a/MyIA.AI.Notebooks/ML/DataScienceWithAgents/03-DeepLearning/3.6d-Modeles-Generatifs-Score-SDE-from-scratch.ipynb b/MyIA.AI.Notebooks/ML/DataScienceWithAgents/03-DeepLearning/3.6d-Modeles-Generatifs-Score-SDE-from-scratch.ipynb index 09d05724bb..e4fb922ce6 100644 --- a/MyIA.AI.Notebooks/ML/DataScienceWithAgents/03-DeepLearning/3.6d-Modeles-Generatifs-Score-SDE-from-scratch.ipynb +++ b/MyIA.AI.Notebooks/ML/DataScienceWithAgents/03-DeepLearning/3.6d-Modeles-Generatifs-Score-SDE-from-scratch.ipynb @@ -1400,7 +1400,7 @@ "prédicteur ne peut battre.\n", "\n", "Ce plancher se calcule en forme fermée. Le meilleur prédicteur possible est\n", - "$\\varepsilon^\\*(x_t, t) = \\big(x_t - \\sqrt{\\bar\\alpha(t)}\\,\\mathbb{E}[x_0 \\mid x_t]\\big)/\\sqrt{1-\\bar\\alpha(t)}$,\n", + "$\\varepsilon^*(x_t, t) = \\big(x_t - \\sqrt{\\bar\\alpha(t)}\\,\\mathbb{E}[x_0 \\mid x_t]\\big)/\\sqrt{1-\\bar\\alpha(t)}$,\n", "et comme $p(x_t \\mid x_0)$ est gaussienne en $x_0$, la loi a posteriori\n", "$p(x_0 \\mid x_t)$ reste un **mélange de gaussiennes** : la précision de chaque composante\n", "du prior s'ajoute à celle de la vraisemblance. C'est cette forme fermée qu'on implémente\n", @@ -1646,7 +1646,7 @@ "Ce profil est **imposé par le problème**, pas par l'optimisation. À chaque $t$, $x_t$ ne\n", "détermine pas $\\varepsilon$ : il subsiste une variance conditionnelle irréductible, dont la\n", "cellule précédente donne la forme fermée — avec son contrôle indépendant\n", - "$\\varepsilon^\\* = -\\sqrt{1-\\bar\\alpha}\\,s$, vérifié à $10^{-13}$. C'est ce plancher que\n", + "$\\varepsilon^* = -\\sqrt{1-\\bar\\alpha}\\,s$, vérifié à $10^{-13}$. C'est ce plancher que\n", "trace la colonne `plancher` du tableau, et le rapport `mesuree/plancher` est la seule\n", "lecture qui ait un sens :\n", "\n", diff --git a/MyIA.AI.Notebooks/ML/DataScienceWithAgents/03-DeepLearning/3.6e-Modeles-Generatifs-Conditionnels-from-scratch.ipynb b/MyIA.AI.Notebooks/ML/DataScienceWithAgents/03-DeepLearning/3.6e-Modeles-Generatifs-Conditionnels-from-scratch.ipynb index b5a026c852..4e1cde9727 100644 --- a/MyIA.AI.Notebooks/ML/DataScienceWithAgents/03-DeepLearning/3.6e-Modeles-Generatifs-Conditionnels-from-scratch.ipynb +++ b/MyIA.AI.Notebooks/ML/DataScienceWithAgents/03-DeepLearning/3.6e-Modeles-Generatifs-Conditionnels-from-scratch.ipynb @@ -1311,7 +1311,7 @@ "\n", "3. **La diversité doit baisser.** Si elle ne baisse pas, la guidance mesurée n'extrapole rien. Une interpolation strictement entre $w=0$ et $w=1$ ne peut pas non plus expliquer une adhérence qui monte *au-delà* de celle de $w=1$ : c'est la signature de l'extrapolation.\n", "\n", - "4. **La MMD est un compromis, pas un classement.** Elle agrège fidélité et variété dans un seul nombre. Il est normal — et attendu — que son minimum ne tombe pas au même $w$ que le maximum d'adhérence. Un notebook qui ne présenterait que la MMD conclurait « $w^\\*$ est optimal » ; les trois axes ensemble disent « $w^\\*$ arbitre entre deux biens ».\n", + "4. **La MMD est un compromis, pas un classement.** Elle agrège fidélité et variété dans un seul nombre. Il est normal — et attendu — que son minimum ne tombe pas au même $w$ que le maximum d'adhérence. Un notebook qui ne présenterait que la MMD conclurait « $w^*$ est optimal » ; les trois axes ensemble disent « $w^*$ arbitre entre deux biens ».\n", "\n", "5. **Le rang dépend du noyau, et il faut le dire.** La dernière boucle revérifie le classement à trois bandes passantes. Si le meilleur $w$ change avec $\\sigma$, alors **le classement des poids est sous-déterminé par l'instrument** — exactement la limite que le 3.6c a rencontrée sur les schedules et qui a ouvert l'issue #16137. Ici, elle est mesurée dès le premier passage au lieu d'être découverte après coup.\n", "\n", @@ -1410,8 +1410,8 @@ "end_time": "2026-09-19T13:47:17.561591", "environment_variables": {}, "exception": null, - "input_path": "D:\\Dev\\CoursIA-16795-qc\\MyIA.AI.Notebooks\\ML\\DataScienceWithAgents\\03-DeepLearning\\3.6e-Modeles-Generatifs-Conditionnels-from-scratch.ipynb", - "output_path": "D:\\Dev\\CoursIA-16795-qc\\MyIA.AI.Notebooks\\ML\\DataScienceWithAgents\\03-DeepLearning\\3.6e-Modeles-Generatifs-Conditionnels-from-scratch_output.ipynb", + "input_path": "3.6e-Modeles-Generatifs-Conditionnels-from-scratch.ipynb", + "output_path": "3.6e-Modeles-Generatifs-Conditionnels-from-scratch.ipynb", "parameters": {}, "start_time": "2026-09-19T13:45:31.356815", "version": "2.7.0" diff --git a/MyIA.AI.Notebooks/ML/ML.Net/ML-1-Introduction-Python.ipynb b/MyIA.AI.Notebooks/ML/ML.Net/ML-1-Introduction-Python.ipynb index 7e9aaee6ec..d70a0e5e02 100644 --- a/MyIA.AI.Notebooks/ML/ML.Net/ML-1-Introduction-Python.ipynb +++ b/MyIA.AI.Notebooks/ML/ML.Net/ML-1-Introduction-Python.ipynb @@ -591,9 +591,9 @@ "source": [ "### Interprétation : perfection apparente et sur-apprentissage\n", "\n", - "L'accuracy de 100 % et l'AUC de 1,000 sont **parfaits** — et c'est précisément le problème. Avec 12 exemples et 2 features (montant, heure), les classes sont **linéairement séparables par construction** : les transactions suspectes ont toutes un montant > 2000 $ et une heure < 6 h, les normales < 500 $ et > 8 h. La régression logistique n'a aucune difficulté à trouver une frontière qui les sépare sans erreur.\n", + "L'accuracy de 100 % et l'AUC de 1,000 sont **parfaits** — et c'est précisément le problème. Avec 12 exemples et 2 features (montant, heure), les classes sont **linéairement séparables par construction** : les transactions suspectes ont toutes un montant > 2000 \\$ et une heure < 6 h, les normales < 500 \\$ et > 8 h. La régression logistique n'a aucune difficulté à trouver une frontière qui les sépare sans erreur.\n", "\n", - "Ce score parfait sur le **jeu d'entraînement** ne dit rien sur la généralisation : en production, une transaction à 1 800 $ à 7 h du matin (proche de la frontière) serait classée avec une probabilité bien inférieure à 100 %, et potentiellement mal. La leçon : un score parfait sur des données synthétiques séparables est un **signal d'alerte**, pas de succès. Il faut des données plus bruitées, ou une évaluation sur un jeu de test indépendant, pour mesurer la performance réelle." + "Ce score parfait sur le **jeu d'entraînement** ne dit rien sur la généralisation : en production, une transaction à 1 800 \\$ à 7 h du matin (proche de la frontière) serait classée avec une probabilité bien inférieure à 100 %, et potentiellement mal. La leçon : un score parfait sur des données synthétiques séparables est un **signal d'alerte**, pas de succès. Il faut des données plus bruitées, ou une évaluation sur un jeu de test indépendant, pour mesurer la performance réelle." ] }, { diff --git a/MyIA.AI.Notebooks/Probas/DecisionTheory/Causal-Bridges/CausalBridges-01-Do-Calculus.ipynb b/MyIA.AI.Notebooks/Probas/DecisionTheory/Causal-Bridges/CausalBridges-01-Do-Calculus.ipynb index 1ba741e0a9..9adb10c12c 100644 --- a/MyIA.AI.Notebooks/Probas/DecisionTheory/Causal-Bridges/CausalBridges-01-Do-Calculus.ipynb +++ b/MyIA.AI.Notebooks/Probas/DecisionTheory/Causal-Bridges/CausalBridges-01-Do-Calculus.ipynb @@ -1284,9 +1284,7 @@ "source": [ "### Lecture — l'attribution L3 est propre à l'unité, l'attribution L2 est une moyenne\n", "\n", - "Les deux unités reçoivent le **même** effet interventionnel moyen (+0.50 : c'est une propriété du modèle, pas de l'individu) mais des **L3 SV différentes** : l'unité à SES élevé et l'unité à SES faible ne doivent pas la même chose à $A$ — leur contexte $Z^*$ et leurs bruits $\u000b\n", - "arepsilon_W, \u000b\n", - "arepsilon_Y$, conservés par l'abduction, pèsent dans la décomposition. C'est exactement la hiérarchie de Pearl rendue visible dans l'attribution : **L2 ne peut pas dire ça** (le `do` moyen efface l'unité), L1 non plus (le conditionnement mélange association et effet — écart +0.34 de la section 8).\n", + "Les deux unités reçoivent le **même** effet interventionnel moyen (+0.50 : c'est une propriété du modèle, pas de l'individu) mais des **L3 SV différentes** : l'unité à SES élevé et l'unité à SES faible ne doivent pas la même chose à $A$ — leur contexte $Z^*$ et leurs bruits $\\varepsilon_W, \\varepsilon_Y$, conservés par l'abduction, pèsent dans la décomposition. C'est exactement la hiérarchie de Pearl rendue visible dans l'attribution : **L2 ne peut pas dire ça** (le `do` moyen efface l'unité), L1 non plus (le conditionnement mélange association et effet — écart +0.34 de la section 8).\n", "\n", "La vérification imprimée (somme des $\\phi^{L3}$ = $NTE(Z,A,W \\mid v)$ à la précision Monte-Carlo) est le Théorème 6.2.1 en action : la décomposition en GDE est exacte pour **chaque** ordre, la moyenne sur les ordres hérite de l'exactitude — la propriété d'efficacité de Shapley, obtenue causalement.\n", "\n", diff --git a/MyIA.AI.Notebooks/Probas/DecisionTheory/Causal-Bridges/CausalBridges-08-Causal-Fairness.ipynb b/MyIA.AI.Notebooks/Probas/DecisionTheory/Causal-Bridges/CausalBridges-08-Causal-Fairness.ipynb index 7b86689ef2..50774540b9 100644 --- a/MyIA.AI.Notebooks/Probas/DecisionTheory/Causal-Bridges/CausalBridges-08-Causal-Fairness.ipynb +++ b/MyIA.AI.Notebooks/Probas/DecisionTheory/Causal-Bridges/CausalBridges-08-Causal-Fairness.ipynb @@ -539,7 +539,7 @@ "Les effets directs/indirects **naturels** (Pearl ; R-90 déf. 4.2) sont des contrefactuels **imbriqués** —\n", "X prend deux valeurs différentes dans le même contraste :\n", "\n", - "$$NDE_{x_0,x_1}(y) = P(y_{x_1, W_{x_0}}) - P(y_{x_0}) \\qquad \\text{(Eq. 4.7 : direct, médiateur figé « comme si x_0 »)}$$\n", + "$$NDE_{x_0,x_1}(y) = P(y_{x_1, W_{x_0}}) - P(y_{x_0}) \\qquad \\text{(Eq. 4.7 : direct, médiateur figé « comme si } x_0 \\text{ »)}$$\n", "$$NIE_{x_1,x_0}(y) = P(y_{x_1, W_{x_0}}) - P(y_{x_1}) \\qquad \\text{(Eq. 4.8 : indirect, par différence)}$$\n", "\n", "$y_{x_1, W_{x_0}}$ se lit : « le score si $A{:=}1$ **et** si la formation restait celle qu'elle aurait\n", diff --git a/MyIA.AI.Notebooks/Probas/Infer/Infer-2-Gaussian-Mixtures.ipynb b/MyIA.AI.Notebooks/Probas/Infer/Infer-2-Gaussian-Mixtures.ipynb index 1c64917d88..256abd27e0 100644 --- a/MyIA.AI.Notebooks/Probas/Infer/Infer-2-Gaussian-Mixtures.ipynb +++ b/MyIA.AI.Notebooks/Probas/Infer/Infer-2-Gaussian-Mixtures.ipynb @@ -8828,9 +8828,9 @@ "\n", "Le choix du nombre de composantes K est un problème central en melange de Gaussiennes. Le **BIC (Bayesian Information Criterion)** penalise la vraisemblance par le nombre de paramètres :\n", "\n", - "865BIC_K = -2 \\ln(\\hat{L}_K) + p_K \\ln(n)865\n", + "$$BIC_K = -2 \\ln(\\hat{L}_K) + p_K \\ln(n)$$\n", "\n", - "ou $\\hat{L}_K$ est la vraisemblance maximisee, $ le nombre de paramètres du modèle a K composantes, et $ le nombre de données.\n", + "ou $\\hat{L}_K$ est la vraisemblance maximisee, $p_K$ le nombre de paramètres du modèle a K composantes, et $n$ le nombre de données.\n", "\n", "**Objectif** : Pour un jeu de données melange, comparer le BIC pour K=1,2,3,4 et identifier le K optimal.\n", "\n", diff --git a/MyIA.AI.Notebooks/RL/rl_12_distributional_rl.ipynb b/MyIA.AI.Notebooks/RL/rl_12_distributional_rl.ipynb index eddf5bdec3..0847c44d65 100644 --- a/MyIA.AI.Notebooks/RL/rl_12_distributional_rl.ipynb +++ b/MyIA.AI.Notebooks/RL/rl_12_distributional_rl.ipynb @@ -244,7 +244,7 @@ "\n", "L'opérateur de Bellman distributionnel transporte la distribution de retour :\n", "\n", - "$$T Z(s,a) \\;\\stackrel{D}{=}\\; R(s,a) + \\gamma\\, Z(s', a^\\*),\\qquad a^\\* = \\arg\\max_{a'} Q(s', a').$$\n", + "$$T Z(s,a) \\;\\stackrel{D}{=}\\; R(s,a) + \\gamma\\, Z(s', a^*),\\qquad a^* = \\arg\\max_{a'} Q(s', a').$$\n", "\n", "Problème : appliquer $z \\mapsto r + \\gamma z$ **deplace les atomes hors du support fixe** $\\{z_i\\}$. C51 resout cela par une **projection categorielle** $\\Phi$ : on clippe chaque atome transforme $\\hat{T}z_j = \\mathrm{clip}(r + \\gamma z_j,\\, V_{\\min}, V_{\\max})$, on calcule sa position fractionnaire $b_j = (\\hat{T}z_j - V_{\\min})/\\Delta z$, et on **repartit sa masse de probabilite** sur les deux atomes voisins $\\lfloor b_j\\rfloor$ et $\\lceil b_j\\rceil$ au prorata de la distance. La perte est ensuite l'**entropie croisee** entre la cible projetee et la distribution predite.\n", "\n", @@ -530,8 +530,8 @@ "### 4.3 La perte distributionnelle\n", "\n", "A chaque pas d'apprentissage :\n", - "1. on choisit l'action greedy $a^\\*$ a l'etat suivant **selon l'esperance du target network** ;\n", - "2. on recupere sa distribution $p(s', a^\\*)$ et on la **projette** via $\\Phi$ pour obtenir la cible $m$ ;\n", + "1. on choisit l'action greedy $a^*$ a l'etat suivant **selon l'esperance du target network** ;\n", + "2. on recupere sa distribution $p(s', a^*)$ et on la **projette** via $\\Phi$ pour obtenir la cible $m$ ;\n", "3. la perte est l'**entropie croisee** $-\\sum_i m_i \\log p_i(s,a)$ entre cible projetee et distribution predite pour l'action jouee." ] }, @@ -876,7 +876,7 @@ "| Aspect | DQN ([RL-6](rl_6_dqn_policy_gradient.ipynb)) | C51 (ce notebook) |\n", "|--------|------|-----|\n", "| Sortie par action | un scalaire $Q(s,a)$ | une distribution $p(s,a)$ sur 51 atomes |\n", - "| Cible de Bellman | $r + \\gamma \\max_{a'} Q(s',a')$ | $\\Phi\\big(r + \\gamma Z(s',a^\\*)\\big)$ (projetee) |\n", + "| Cible de Bellman | $r + \\gamma \\max_{a'} Q(s',a')$ | $\\Phi\\big(r + \\gamma Z(s',a^*)\\big)$ (projetee) |\n", "| Perte | erreur quadratique (Huber) | entropie croisee distributionnelle |\n", "| Information apprise | esperance seule | esperance **+ variance, modes, asymetrie** |\n", "| Politique greedy | $\\arg\\max_a Q$ | $\\arg\\max_a \\mathbb{E}[Z]$ (mais on peut faire mieux : voir Exercice 3) |\n", @@ -1234,8 +1234,8 @@ "end_time": "2026-09-19T10:03:45.684465", "environment_variables": {}, "exception": null, - "input_path": "D:\\Dev\\CoursIA-16795\\MyIA.AI.Notebooks\\RL\\rl_12_distributional_rl.ipynb", - "output_path": "D:\\Dev\\CoursIA-16795\\MyIA.AI.Notebooks\\RL\\rl_12_distributional_rl_output.ipynb", + "input_path": "rl_12_distributional_rl.ipynb", + "output_path": "rl_12_distributional_rl.ipynb", "parameters": {}, "start_time": "2026-09-19T10:02:02.475771", "version": "2.7.0" diff --git a/scripts/notebook_tools/twin_pairs.d/ml-1-introduction.yaml b/scripts/notebook_tools/twin_pairs.d/ml-1-introduction.yaml index 5bebb34270..41e0aec261 100644 --- a/scripts/notebook_tools/twin_pairs.d/ml-1-introduction.yaml +++ b/scripts/notebook_tools/twin_pairs.d/ml-1-introduction.yaml @@ -6,6 +6,7 @@ bridge_verdict: SOTA-OK bridge_verdict_reason: "Modele nominal lib-vs-lib #10382 (moteurs distincts, chacun prod) : C# = Microsoft.ML (NuGet officiel Microsoft.ML, native .NET : Microsoft.ML.Transforms/Regression/Clustering/TimeSeries) et Python = scikit-learn (pip sklearn, native Python) -- chaque cote atteint le moteur SOTA ML de son ecosysteme, ni pont intermediaire ni reimplementation. Aucune asymetrie de machinerie a corriger. Verifie firsthand : C# Microsoft.ML refs + execution_count, Python sklearn imports." known_differences: + - "2026-09-25 (drift unilateral myia-po-2026:CoursIA, PR #17755) : tranche « residuel » du rollout de rendu mathematique #17498, markdown-only cote Python. Trois devises non echappees (1 800 $, > 2000 $, < 500 $) corrigees en devise echappee : le dollar de devise ouvrait un scope math que rien ne fermait (un orphelin mesure, plus un faux scope de prose forme par les deux autres, invisibles a la detection d'orphelins de l'organe). Le jumeau C# (ML-1-Introduction.ipynb) mesure 0 defaut de check_math_render, jambe KaTeX on, et n'a pas ete touche : la correction est unilaterale a juste titre. Aucun strip outile en attente (probe banner 0, papermill 0, machine paths 0)." - "2026-08-15 : correction d'auteurs falsifies (issue #11044, tranche W3C SPARQL / ML.NET KDD) — citations remises a leurs auteurs reels (Amizadeh S., DOI KDD, Protocol et al., etc.), markdown-only, aucun changement d'engine/outputs. Parite semantique conservee ; rebaseline content SHA (re-audit 2026-08-15, myia-po-2026:CoursIA-2)." - "Socle pedagogique commun : regression lineaire (R2, MAE) + regression logistique (accuracy, ROC-AUC). Dataset : prediction de prix / classification binaire." - "Idiomes framework : C# = `Microsoft.ML` (API imperative MLContext -> PredictionEngine, schema via classes [ColumnName]). Python = `sklearn.linear_model` (LinearRegression, LogisticRegression) fonctionnel (estimator.fit/predict), metrics `r2_score, mean_absolute_error, accuracy_score, roc_auc_score`." diff --git a/scripts/notebook_tools/twin_pairs.d/ml-1-introduction/0008-2026-09-25-myia-po-2026-CoursIA.yaml b/scripts/notebook_tools/twin_pairs.d/ml-1-introduction/0008-2026-09-25-myia-po-2026-CoursIA.yaml new file mode 100644 index 0000000000..073f5e5858 --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/ml-1-introduction/0008-2026-09-25-myia-po-2026-CoursIA.yaml @@ -0,0 +1,6 @@ +date: '2026-09-25' +by: myia-po-2026:CoursIA +python_sha: d70a0e5e02956f260512db3eae72a9b1e24f9db5 +csharp_sha: 0aa813e2da6ef0fa5afac9ad7e98d557cc2d9dd4 +content_python_sha: 39d4d8b2b65e605e276f44b9eb56cf442716d87bd6d7b7341c7cf35fa28fd434 +content_csharp_sha: b52736f474751642d6afac107f15c3b7d83ce6a8e33d962895c61948381e6d62 diff --git a/scripts/notebook_tools/twin_pairs.d/probas-2-gaussian-mixtures.yaml b/scripts/notebook_tools/twin_pairs.d/probas-2-gaussian-mixtures.yaml index 2575a04855..475c9cbca0 100644 --- a/scripts/notebook_tools/twin_pairs.d/probas-2-gaussian-mixtures.yaml +++ b/scripts/notebook_tools/twin_pairs.d/probas-2-gaussian-mixtures.yaml @@ -7,6 +7,7 @@ bridge_verdict: SOTA-OK bridge_verdict_reason: "Modele nominal lib-vs-lib cite par owner #10382 (\"PyMC vs Infer, 2 moteurs qui brillent\") : C# = Microsoft Infer.NET (Microsoft.ML.Probabilistic, NuGet officiel, native .NET, inférence variationnelle EP/VMP) et Python = PyMC (pip pymc, native Python, NUTS/HMC + ADVI). Chaque cote atteint le moteur SOTA de son ecosysteme probabiliste -- ni pont intermediaire ni reimplementation. Aucune asymetrie de machinerie a corriger. Verifie firsthand : C# Microsoft.ML.Probabilistic refs + execution_count, Python pymc imports." known_differences: + - "2026-09-25 (drift unilateral myia-po-2026:CoursIA, PR #17755) : tranche « residuel » du rollout de rendu mathematique #17498, markdown-only cote C# (Infer-2-Gaussian-Mixtures.ipynb, le cote csharp de cette paire). Trois corrections dans la meme cellule : une formule nue encadree en affichage, le retrait du marqueur d'ecriture 865 (une seule occurrence dans tout le corpus balaye, 11 608 carnets) et les deux symboles p_K puis n reperdus par la phrase voisine (reconstruction declaree au body de la PR). Le jumeau Python (PyMC-02-Gaussian-Mixtures.ipynb) mesure 0 defaut d'organe et ne porte aucun bloc BIC : la correction est unilaterale a juste titre. Aucun strip outile en attente (probe banner 0, papermill 0, machine paths 0)." - '2026-08-21 (rebaseline asymetrique myia-po-2024:CoursIA-2) : PR #12065 corrige heading_in_list cote C# (Infer-2-Gaussian-Mixtures.ipynb, 1 finding) tandis que le jumeau Python (PyMC-02-Gaussian-Mixtures.ipynb) etait deja a 0 finding. La convergence unilaterale est legitime (cf ai-01 arbitrage 2026-08-21 15:00Z, DM msg-20260821T130006-lc9u2c) : la parite reelle s''ameliore, elle n''est pas enshrinee. Aucun strip outille en attente (probe banner 0, papermill 0, machine paths 0).' - 'Socle pedagogique commun : melanges de distributions gaussiennes (GMM) modelise dans les deux stacks.' - 'Moteurs d''inference distincts : C# Infer.NET = inference deterministe approchee (Expectation Propagation / Variational diff --git a/scripts/notebook_tools/twin_pairs.d/probas-2-gaussian-mixtures/0016-2026-09-25-myia-po-2026-CoursIA.yaml b/scripts/notebook_tools/twin_pairs.d/probas-2-gaussian-mixtures/0016-2026-09-25-myia-po-2026-CoursIA.yaml new file mode 100644 index 0000000000..cd64a67b1a --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/probas-2-gaussian-mixtures/0016-2026-09-25-myia-po-2026-CoursIA.yaml @@ -0,0 +1,6 @@ +date: '2026-09-25' +by: myia-po-2026:CoursIA +python_sha: 7001a984014ec790b09ea947cf0ded17647630e9 +csharp_sha: 256abd27e087bfec399fc01d9783c1a2531c4309 +content_python_sha: 07c3c57571e9fe14f7cb4e7da6298b7316b8540ed55b425a165188f5abc81bdc +content_csharp_sha: 6ad93d79962c259841b8d992a652c10fd9f885e064188ff95d513cad2cb91d11