[PYTHON] [Wahrscheinlichkeit] Ich werde erklären, weil das Roboterproblem von Center 2020 Mathematics 1 ・ A interessant war.

Einführung

Dieser Artikel ist ein Artikel, der die Bayes'sche Folgerung für diejenigen erklärt, die an Wahrscheinlichkeitsstatistiken mit Kenntnissen der Universität bis zur Graduiertenschule interessiert sind.

Ich habe einen Artikel geschrieben, weil das Problem des Roboters, das in Mathematik 1 / A der 2020 Center-Prüfung auftauchte, schwierig war. Ich habe das Gefühl, dass ich in der High School keine bedingten Wahrscheinlichkeiten gelernt habe, deshalb war ich neugierig, dass Schüler heutzutage schwierige Dinge tun.

Tatsächlich ist es sehr einfach, die richtige Antwort auf diese Frage zu geben. Vielleicht ist dieses Roboterproblem selbst für einen sanftmütigen Schüler einfach.

Frage 3 [1]

Diese Frage ist sehr einfach, wenn Sie nur eine Antwort geben. Wenn Sie von oben lösen, wissen Sie, dass 0 und 2 korrekt sind, sodass das Roboterproblem von 3 automatisch falsch ist. Ich würde diese Frage nicht einmal lesen, wenn ich an der Prüfung teilnehmen würde.

Die Problemstellung lautet wie folgt.

③ Es gibt zwei Roboter, die auf die Münze schauen und nur "vorne (vorne)" oder "hinten (hinten)" sagen. Beide Roboter haben jedoch eine Wahrscheinlichkeit, auf der angezeigten Oberfläche richtig zu sprechen, 0,9 und eine Wahrscheinlichkeit, nicht richtig zu sprechen, 0,1, und es wird angenommen, dass diese beiden Körper sprechen, ohne voneinander beeinflusst zu werden. Jetzt wirft eine Person eine Münze. Wenn die beiden Körper, die die exponierte Seite sahen, beide "vorne" sagten und die Wahrscheinlichkeit, dass die Tabelle tatsächlich erschien, $ p $ war, wäre dies $ p \ leq0.9 $.

問題.PNG

Antwort des Schülers

Lösen wir es zunächst mit Mathematik, die Schüler verwenden können. Ich weiß jedoch nicht, wie ich in der eigentlichen Klasse unterrichten soll, da ich es anscheinend nur gelöst habe, indem ich mir die Referenzseite von Schülern angesehen habe. .. ..

(Wenn Sie in intuitivem Japanisch schreiben, ohne Angst vor mathematischen Missverständnissen zu haben) Bedingte Wahrscheinlichkeit ist

\frac{Wahrscheinlichkeit gleichzeitiger Ereignisse und Bedingungen}{Wahrscheinlichkeit des Auftretens eines Zustands}

Gegeben in. Mathematisch gesehen

\frac{P(A \cap B)}{P(B)}

Es wird sein. Jetzt, wo A das Ereignis ist, bei dem die Münze tatsächlich die Vorderseite ist, und B das Ereignis ist, bei dem die beiden Roboter gleichzeitig die Vorderseite sagen.

\begin{align}
& \frac{P(A \cap B)}{P(B)} \\
=& \frac{P(Die Münze ist eigentlich die Front) \cap (Zwei Roboter sprechen gleichzeitig mit dem Tisch)}{P(Zwei Roboter sprechen gleichzeitig mit dem Tisch)} \\
=& \frac{0.5*0.9*0.9}{0.5*0.1*0.1+0.5*0.9*0.9} \\
=& 0.9878\cdots
\end{align}

Die Antwort ist, dass diese Frage "falsch" ist. Der Nenner ist schwierig, aber die Wahrscheinlichkeit, dass zwei Roboter gleichzeitig die Front sagen, wird dahingehend interpretiert, dass die Wahrscheinlichkeit von zwei Robotern, die nicht von Münzen abhängen, durch Hinzufügen des Falls, in dem die Münze vorne ist, und des Falls, in dem sie zurück ist, erhalten werden kann. .. Um diese Zeit haben Schüler, die nichts über Marginalisierung wissen, möglicherweise Schwierigkeiten, den Nenner zu verstehen. Ich kann die Absicht des Fragestellers spüren, "andere Fragen zu lösen und diese Frage zu beantworten".

Löse genauer

Die Geschichte von hier wird im Bereich nach der Universität sein.

Problemdefinition und Modellierung

Stellt das Problem in einem grafischen Modell dar und präsentiert eine CPT (Conditional Probability Table).

モデル図.PNG

Wenn die Wahrscheinlichkeitsvariablen auf der Vorder- und Rückseite der Münze $ C $ sind, ist die Rückseite $ C = 0 $ und die Vorderseite ist $ C = 1 $.

P(C=0) = 0.5 \\
P(C=1) = 0.5

Kann ausgedrückt werden als. Angenommen, die Wahrscheinlichkeitsvariable der Sprache des n-ten Roboters ist $ R_n $, die Rückseite ist $ R_n = 0 $ und die Vorderseite ist $ R_n = 1 $.

P(R_n=0|C=0) =  0.9\\
P(R_n=1|C=0) =  0.1\\
P(R_n=0|C=1) =  0.1\\
P(R_n=1|C=1) =  0.9

Kann ausgedrückt werden als. Außerdem sprechen die Roboter unberührt voneinander, sodass die Münzflächen unter bestimmten Bedingungen unabhängig (bedingt unabhängig) sind.

P(R_1, R_2|C) = P(R_1|C)P(R_2|C)

Ist festgelegt. Dies sind die in der Frage angegebenen Voraussetzungen. Es ist ein einfaches Beispiel für ein Becken-Netzwerk.

Hier ist $ P (R_n = 1) $ auf Marginalisierung zurückzuführen

\begin{align}
& P(R_n=1) \\ 
=& P(R_n=1|C=0)P(C=0) + P(R_n=1|C=1)P(C=1) \Quad (Peripherisierung)\\
=& 0.1\cdot0.5 +0.9\cdot0.5 \\
=& 0.5
\end{align}

Kann leicht erhalten werden.

Einfach zu lösen

Was Sie finden sollten, ist $ P (C = 1 | R_1 = 1, R_2 = 1) $. Durch die vollständige Nutzung des Bayes-Theorems und der Marginalisierung kann es leicht nur durch bekannte Variablen ausgedrückt werden.

\begin{align}
 & P(C=1|R_1=1, R_2=1) \\
=& \frac{P(C=1, R_1=1, R_2=1)}{P(R_1=1, R_2=1)} \quad (Satz von Bayes)\\
=& \frac{P(R_1=1, R_2=1|C=1)P(C=1)}{P(R_1=1, R_2=1)} \\
=& \frac{P(R_1=1|C=1)P(R_2=1|C=1)P(C=1)}{P(R_1=1, R_2=1)} \quad (Nutzen Sie die bedingte Unabhängigkeit) \\
=& \frac{P(R_1=1|C=1)P(R_2=1|C=1)P(C=1)}{P(R_1=1, R_2=1|C=0)(C=0) + P(R_1=1, R_2=1|C=1)(C=1)} \quad (Peripherisierung) \\
=& \frac{0.5\cdot0.9\cdot0.9}{0.5\cdot0.1\cdot0.1+0.5\cdot0.9\cdot0.9} \\
=& 0.9878\cdots
\end{align}

Die Antwort der High School ist nur ein Ausdruck davon auf Japanisch. High-School-Antworten können vielmehr sprachliche Missverständnisse enthalten, daher wäre es ideal, auf diese Weise rigoros zu denken.

Roboterparadoxon

Nun, das Hauptthema ist von hier. Teilen Sie Geschichten, die Sie gelöst und als etwas interessant empfunden haben.

Diese Roboter haben keine Auswirkungen aufeinander. ** Unabhängig davon, was Roboter 2 sagt, sollten sich die Bemerkungen von Roboter 1 nicht ändern. ** **. Unter bestimmten Umständen scheinen sich ** Roboter jedoch gegenseitig zu beeinflussen **. Wie beim Monty Hall-Problem weichen die menschliche Intuition und die tatsächliche theoretische Antwort voneinander ab.

[Monty Hall-Problem](https://ja.wikipedia.org/wiki/%E3%83%A2%E3%83%B3%E3%83%86%E3%82%A3%E3%83%BB% E3% 83% 9B% E3% 83% BC% E3% 83% AB% E5% 95% 8F% E9% A1% 8C)

Roboterunabhängigkeit

Fühlen Sie sich unwohl mit der Entwicklung des Nenners der im Kapitel "Leicht zu lösen" eingeführten Formel? Weil sich die Roboter nicht gegenseitig beeinflussen

\begin{align}
P(R_1=1, R_2=1) = P(R_1=1)P(R_2=1)
\end{align}

Scheint zu halten, und kann es damit leicht berechnet werden?

** Aber diese Formeltransformation ist falsch. $ P (R_1 = 1, R_2 = 1) \ neq P (R_1 = 1) P (R_2 = 1) . ** **. Roboter sind "bedingt unabhängig". Nur unter der Bedingung, dass Münze C aufgedeckt wurdeP(R_1, R_2|C) = P(R_1|C)P(R_2|C)$Ist festgelegt. Die korrekte Erweiterung von $ P (R_1 = 1, R_2 = 1) $ ist

\begin{align}
&P(R_1=1, R_2=1) \\
=& P(R_1=1|R_2=1)P(R_2=1) \\
\end{align}

Und $ P (R_1 = 1 | R_2 = 1) $ ist

\begin{align}
& P(R_1=1|R_2=1) \\ 
=& P(R_1=1|R_2=1, C=0)P(C=0|R_2=1) + P(R_1=1|R_2=1, C=1)P(C=1|R_2=1) \\
=& P(R_1=1|C=0)P(C=0|R_2=1) + P(R_1=1|C=1)P(C=1|R_2=1) \\
=& 0.1\cdot0.1 +0.9\cdot0.9 \\
=& 0.82
\end{align}

Kann berechnet werden als.

Dies ist ein beängstigendes Ergebnis. Da $ P (R_1) = 0,5 $ ist, hat sich die Wahrscheinlichkeit, dass Roboter 1 "Front" sagt, von 0,5 auf 0,82 erhöht, wenn Roboter 2 "Front" sagt. Ich habe das Gefühl, dass sich die Bemerkungen von Roboter 1 mit den Bemerkungen von Roboter 2 geändert haben. Roboter 1 und Roboter 2 sollten nicht miteinander verwandt sein, aber es fühlt sich seltsam an.

Warum hängt die Bemerkung von Roboter 1 von Roboter 2 ab?

Dieses Paradoxon wird durch die unsichtbaren Münzen verursacht. Wie ich zuvor erklärt habe, sind die Bemerkungen des Roboters unter der Bedingung, dass die Münze sichtbar ist, bedingt unabhängig und beeinflussen sich nicht gegenseitig. Aber was ist, wenn Roboter 2 spricht, wenn die Münzen nicht sichtbar sind? Wenn Roboter 2 "vorne" sagt, erhöht sich die Wahrscheinlichkeit, dass die Münze vorne ist. Tatsächlich stammt $ P (C = 1 | R_2 = 1) $ aus dem Satz von Bayes

\begin{align}
& P(C=1|R_2=1) \\ 
=& \frac{P(R_2=1|C=1)P(C=1)}{P(R_2=1)} \\
=& \frac{0.9\cdot0.5}{0.5} \\
=& 0.9
\end{align}

Es wird sein. Wenn Roboter 2 vorne sagt, steigt die Wahrscheinlichkeit, dass eine Münze vorne ist, von 0,5 auf 0,9. Wenn Roboter 2 vorne ist, steigt die Wahrscheinlichkeit, dass Münzen vorne sind, und damit auch die Wahrscheinlichkeit, dass Roboter 1 vorne ist.

Kannst du immer noch nicht intuitiv verstehen? Erhöhen Sie dann die Anzahl der Roboter und denken Sie darüber nach. Wenn man N Roboter betrachtet, kommt es der menschlichen Intuition näher.

Betrachten Sie N Roboter.

Betrachten Sie den Fall, in dem es N Roboter gibt, von denen jeder die Rückseite der Münze separat beurteilt.

ロボットN.PNG

Weil der Roboter bedingt unabhängig von der Münzrolle ist,

P(R_1, R_2, \dots, R_N|C) = \prod_{i=1}^N P(R_i|C)

Ist festgelegt. Wenn alle N Roboter "vorne" sagen, ist die Wahrscheinlichkeit, dass die Münze tatsächlich vorne ist, dieselbe Berechnung wie bei zwei.

\begin{align}
& P(C=1|R_1=1, R_2=1, \dots, R_N=1) \\
= & \frac{P(C=1)\prod_{i=1}^N P(R_i=1|C=1)}{P(R_1=1, R_2=1, \dots, R_N=1)} \\
= & \frac{P(C=1)\prod_{i=1}^N P(R_i=1|C=1)}{P(R_1=1, R_2=1, \dots, R_N=1 | C=0)P(C=0) + P(R_1=1, R_2=1, \dots, R_N=1 | C=1)P(C=1)} \\
= & \frac{P(C=1)\prod_{i=1}^N P(R_i=1|C=1)}{P(C=0)\prod_{i=1}^N P(R_i=1|C=0) + P(C=1)\prod_{i=1}^N P(R_i=1|C=1)} \\
= & \frac{0.5\cdot0.9^N}{0.5\cdot0.1^N + 0.5\cdot0.9^N} \\
= & \frac{0.9^N}{0.1^N + 0.9^N}
\end{align}

Es wird sein. Es wurde eine sehr schöne Zeremonie. Tatsächlich entspricht das Ersetzen von $ N = 2 $ der Antwort für die beiden Roboter. Diese Formel ist 1 an der Grenze von $ N \ rightarrow \ infty $. Wenn es unendlich viele Roboter gibt und alle "vorne" sagen, können Sie erkennen, dass sie vorne sind, ohne auf die Münzen zu schauen.

Als nächstes, wenn die Roboter 2 bis N Front sagen, ist die Wahrscheinlichkeit $ P (R_1 = 1 | R_2 = 1, R_2 = 1, \ Punkte, R_N = 1) $, dass Roboter 1 Front sagt

\begin{align}
& P(R_1=1|R_2=1, R_3=1, \dots, R_N=1) \\ 
=& P(R_1=1|C=0)P(C=0|R_2=1, R_3=1, \dots, R_N=1) \\
 &+ P(R_1=1|C=1)P(C=1|R_2=1, R_3=1, \dots, R_N=1) \\
=& P(R_1=1|C=0) \frac{0.1^{N-1}}{0.1^{N-1} + 0.9^{N-1}} + P(R_0=1|C=1) \frac{0.9^{N-1}}{0.1^{N-1} + 0.9^{N-1}} \\
=& \frac{0.1^N}{0.1^{N-1} + 0.9^{N-1}} + \frac{0.9^N}{0.1^{N-1} + 0.9^{N-1}} \\
=& \frac{0.1^N + 0.9^N}{0.1^{N-1} + 0.9^{N-1}} \\
\end{align}

Es wird sein. Dies ist auch eine schöne Formel. Dies entspricht sicherlich auch dem Fall von zwei Robotern mit der Substitution von $ N = 2 $. Diese Formel ist 0,9 an der Grenze von $ N \ rightarrow \ infty $. Wenn es unendlich viele Roboter gibt und alle "vorne" sagen, sind sie "vorne", ohne auf die Münzen zu schauen. Das Ergebnis, dass die Wahrscheinlichkeit, "Roboter 1" zu sagen, 0,9 beträgt, ist also angemessen. Die Ergebnisse beim Ändern der Anzahl der Roboter sind wie folgt.

\begin{align}
&P(R_1=1) &=& 0.5 \\
&P(R_1=1|R_2=1) &=& 0.820 \\
&P(R_1=1|R_2=1, R_3=1) &=& 0.890 \\
&P(R_1=1|R_2=1, R_3=1, R_4=1) &=& 0.899 \\
\end{align}

In diesem Fall "Ich kann die Münze nicht sehen, aber da viele andere Roboter vorne sind, ist die Münze wahrscheinlich vorne. Daher sollte die Wahrscheinlichkeit, dass Roboter 1 vorne ist, intuitiv höher als 0,5 sein". Ich denke du kannst es verstehen.

Der Grund, warum Sie sich mit zwei Robotern unwohl fühlen, kann sein, dass Ihr Gehirn denkt, dass die beiden Roboter gleichberechtigt sind. Während ich denke, dass Roboter 1 nicht von den Aussagen von Roboter 2 beeinflusst wird, ist es wahrscheinlich, dass die Aussagen vieler Roboter Roboter 1 beeinflussen werden. Es kann eine Tier-Saga sein, die die Mehrheit der Stimmen schätzt.

Die Frage, warum zwei Roboter nicht intuitiv sind, hat etwas mit dem Monty Hall-Problem zu tun. Auch wenn Sie das Monty Hall-Problem nicht intuitiv verstehen, können Sie das Monty Hall-Problem mit 100 Türen leicht verstehen.

Grafisches Modell

Natürlich ist die Diskussion, die ich bisher geführt habe, nicht das erste Mal, dass ich darüber nachgedacht habe. Es ist nur ein Sonderfall eines grafischen Modells oder eines Feldes namens Basian Network. Insbesondere kann dieses Roboterproblem als Beispiel für die Inferenz von Tail-to-Tail-Graphen bezeichnet werden. Ich bin müde und werde es nicht mehr erklären. .. .. Wenn Sie interessiert sind, googeln Sie bitte mit dem grafischen Modell.

Monte-Carlo-Simulation

Führen Sie eine Monte-Carlo-Simulation durch, um festzustellen, ob die bisherige Diskussion korrekt ist. Ich habe 100.000 Mal eine Münze mit Python geworfen.

Monte-Carlo-Simulationsquellcode (gefaltet, weil er lang ist)
# -*- coding: utf-8 -*-

# %%
import numpy as np
import pandas as pd

# %%


N = 100000

robot_num = 2

result = []

# %%

coin = np.zeros((N, 1), dtype = int)
robot = np.zeros((N, robot_num), dtype = int)

for i in range(N):
    coin[i] = np.random.randint(0, 2)
    robot_rand = np.random.random(robot_num)
   
    for n_robot, tmp in enumerate(robot_rand):
        if tmp <= 0.9 :
            robot[i, n_robot] = coin[i]
        else :
            robot[i, n_robot] = coin[i] ^ 1
    

# %%
            
result = pd.DataFrame(np.concatenate([coin, robot], axis = 1), columns = ["coin", "robot1", "robot2"])

all_1 = result[(result.robot1 == 1) & (result.robot2 == 1)]

p = (all_1.coin == 1).sum()/all_1.shape[0]

# %%

p_truth = (0.5*0.9*0.9)/(0.5*0.9*0.9+0.1*0.1*0.5)
print("Bedingte Wahrscheinlichkeit von Münzen, wenn zwei Roboter vorne sagen (Theorie):{}".format(p_truth))
print("Bedingte Wahrscheinlichkeit von Münzen, wenn zwei Roboter vorne sagen (Experiment):{}".format(p))

# %%

r12 = result[result.robot2 == 1]
p12 = (r12.robot1 == 1).sum() / r12.shape[0]


p12_truth = 0.9*0.9+0.1*0.1
print("Bedingte Wahrscheinlichkeit (Theorie) von Roboter 1, wenn Roboter 2 vorne sagt:{}".format(p12_truth))
print("Bedingte Wahrscheinlichkeit von Roboter 1, wenn Roboter 2 vorne sagt (Experiment):{}".format(p12))

Das Ausgabeergebnis des Programms ist wie folgt. Es gibt immer noch einen Fehler bei 100.000 Mal, aber es kann bestätigt werden, dass sie ungefähr gleich sind.

Bedingte Wahrscheinlichkeit von Münzen, wenn zwei Roboter vorne sagen (Theorie): 0.9878048780487805
Bedingte Wahrscheinlichkeit von Münzen, wenn zwei Roboter vorne sagen (Experiment): 0.988986730708585
Bedingte Wahrscheinlichkeit von Roboter 1, wenn Roboter 2 Front sagt (Theorie): 0.8200000000000001
Bedingte Wahrscheinlichkeit von Roboter 1, wenn Roboter 2 vorne sagt (Experiment): 0.8214371114299378

Unten verschiedene Dinge

Zum Schluss werde ich aufschreiben, was ich mir ausgedacht habe.

M-facettierte Würfel

Es war ein Problem im Umgang mit Münzen, dh der Bernoulli-Verteilung, aber wenn man so etwas wie einen Würfel in der M-Ebene betrachtet, kann das gleiche Argument auch im Fall der kategorialen Verteilung vorgebracht werden. Sei $ P (C = m ^ \ prime | R_1 = r_1, R_2 = r_2, \ dots, R_N = r_N) $ die Wahrscheinlichkeit, dass $ m ^ \ prime $ auf einer bestimmten Oberfläche erscheint.

\begin{align}
& P(C=m^\prime|R_1=r_1, R_2=r_2, \dots, R_N=r_N) \\
= & \frac{P(C=m^\prime)\prod_{i=1}^N P(R_i=r_i|C=m^\prime)}{P(R_1=r_1, R_2=r_2, \dots, R_N=r_N)} \\
= & \frac{P(C=m^\prime)\prod_{i=1}^N P(R_i=r_i|C=m^\prime)}{\sum_{m=1}^M P(R_1=r_1, R_2=r_2, \dots, R_N=r_N | C=m)P(C=m)} \\
= & \frac{P(C=m^\prime)\prod_{i=1}^N P(R_i=r_i|C=m^\prime)}{\sum_{m=1}^M P(C=m)\prod_{i=1}^N P(R_i=r_i|C=m)}
\end{align}

Es wird sein.

Bayesianische Inferenzüberlegung

Wenn Sie sich das Hinzufügen eines Roboters als Hinzufügen eines Datenpunkts vorstellen, können Sie sehen, dass das Argument genau mit dem allgemeinen Bayes'schen Inferenzmodell übereinstimmt. Das Schätzen der Parameter des Regressionsmodells aus den rauschbeladenen Datenpunkten der Gaußschen Verteilung und das Schätzen der Vorder- und Rückseite der Münze von einem skurrilen Roboter führen dieselbe Berechnung durch.

\begin{align}
& P(C=m^\prime|R_1=r_1, R_2=r_2, \dots, R_{N+1}=r_{N+1}) \\
\propto & P(C=m^\prime) \prod_{i=1}^{N+1} P(R_i=r_i|C=m^\prime) \\
= & P(C=m^\prime) \prod_{i=1}^N P(R_i=r_i|C=m^\prime)) \times P(R_{N+1}=r_{N+1}|C=m^\prime) \\
\propto & P(C=m^\prime|R_1=r_1, R_2=r_2, \dots, R_N=r_N) \times P(R_{N+1}=r_{N+1}|C=m^\prime)
\end{align}

Kann geschrieben werden. Wenn $ P (C = m ^ \ prime | R_1 = r_1, R_2 = r_2, \ dots, R_N = r_N) $ berechnet werden kann, multiplizieren Sie einfach mit der Wahrscheinlichkeit eines zusätzlichen Roboters $ {N + 1} $ und allem Dies bedeutet, dass Sie die Gesamtwahrscheinlichkeit berechnen können, ohne sie neu berechnen zu müssen. Dies entspricht der Diskussion beim Hinzufügen von Datenpunkten und beim Ableiten von Parametern.

Schließlich

Bitte geben Sie als Prüfling Ihr Bestes.

Was ich getan habe

Unten werde ich einen Artikel schreiben, wenn ich motiviert bin.

  1. Wenn zwei Münzen und ein Roboter vorhanden sind Eine Diskussion über Kopf-an-Kopf-Modelle. Es wird schwieriger sein als dieses Problem.

  2. Wann die Wahrscheinlichkeit, dass die Vorder- und Rückseite der Münze erscheint, und die Wahrscheinlichkeit, dass der Roboter spricht, unbekannt sind Es ist eine Methode zur Schätzung der Wahrscheinlichkeit mit MCMC. Die Erklärung ist sehr schwierig, daher scheine ich nicht motiviert zu sein.

Recommended Posts

[Wahrscheinlichkeit] Ich werde erklären, weil das Roboterproblem von Center 2020 Mathematics 1 ・ A interessant war.
Ich war in Schwierigkeiten, weil sich das Verhalten des Docker-Containers nicht geändert hat
Ich habe das tiefste Problem von Hiroshi Yuki gelöst.
Berechnen Sie die Wahrscheinlichkeit von Ausreißern auf den Box-Whiskern
Die Leistung von PHP war besser als ich erwartet hatte
Zip 4 Gbyte Problem ist eine Geschichte der Vergangenheit
Ich dachte ein wenig nach, weil Trace Plot von Stan's Parameter schwer zu sehen ist
Ich schrieb einen Test in "Ich habe versucht, die Wahrscheinlichkeit eines Bingospiels mit Python zu simulieren".