確率とベイズの定理
同時確率、条件付き確率、独立性、実際の AI 例を用いたベイズの定理を学びます。
「確率とベイズの定理」はCoddyKit上の無料Learn AI with Pythonレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはLearn AI with Python学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Learn AI with Pythonコースには全4レッスンが含まれています。
確率の基礎
確率は、ある事象がどの程度起こりやすいかを表す0から1までの数値です。条件付き確率P(A|B)は、Bが起こった場合にAが起こる確率です。
条件付き確率
P(A|B) = P(A and B) / P(B)です。条件付けを行うと、Bが真となるケースに標本空間を絞り込めます。
p_a_and_b = 0.12
p_b = 0.30
print(p_a_and_b / p_b) # P(A | B) = 0.4ベイズの定理
ベイズの定理は条件付き確率を逆向きにします。P(A|B) = P(B|A) * P(A) / P(B)です。証拠Bを観測した後、事前の信念P(A)を事後の信念に更新します。
各要素の名称
事前確率 P(A):証拠を得る前の信念です。尤度 P(B|A):Aが証拠をどの程度うまく説明するかです。事後確率 P(A|B):更新後の信念です。エビデンス P(B):正規化に使う合計値です。
全確率の法則
分母P(B)は、すべてのケースについて合計して求めます。P(B) = P(B|A)*P(A) + P(B|not A)*P(not A)です。これにより、証拠を既知の要素に分解できます。
p_a = 0.01 # prior
p_b_given_a = 0.99 # likelihood
p_b_given_not_a = 0.05
p_not_a = 1 - p_a
p_b = p_b_given_a * p_a + p_b_given_not_a * p_not_a
print(p_b)医療検査の例
ある病気は人口の1パーセントに影響します。ある検査の感度は99パーセントですが、偽陽性率は5パーセントです。検査結果が陽性だった場合、病気にかかっている確率はいくらでしょうか。
posterior = (p_b_given_a * p_a) / p_b
print(round(posterior, 3)) # about 0.167意外な結果
検査の正確度が99パーセントであっても、陽性結果が出たときに病気である確率はわずか17パーセントです。まれな事象のベースレート(1パーセントの事前確率)が大きく影響する、典型的なベースレートの誤謬です。
独立性
2つの事象が独立しているとは、P(A|B) = P(A)が成り立つ場合です。このとき、Bを観測してもAについて何も分かりません。また、P(A and B) = P(A) * P(B)が成り立ちます。
p_a, p_b = 0.5, 0.5
print(p_a * p_b) # 0.25 if independent (e.g. two fair coins)モンティ・ホール問題
3つのドアのうち1つの後ろに車があります。1つを選ぶと、司会者は別のドアを開けてヤギを見せ、選択を変えるか尋ねます。直感に反して、選択を変えると2/3の確率で勝てます。
モンティ・ホールのシミュレーション
シミュレーションでこの数学的な結果を確認できます。最初の選択が間違っていた場合は必ず選択変更が勝利し、それは3回に2回起こります。
import random
def trial(switch):
car = random.randint(0, 2)
pick = random.randint(0, 2)
if switch:
return pick != car # switching wins if first pick was wrong
return pick == car
wins = sum(trial(True) for _ in range(100000))
print(wins / 100000) # about 0.667選択を変えると勝てる理由
最初の選択が正しい確率は1/3です。司会者がドアを開けることで、残りの2/3の確率が、開けられていない1つのドアに集約されます。そのため、選択を変えるとその2/3の確率を得られます。
理解度チェック
確率に関する推論を確認しましょう。
まとめ
確率の要点:
- 条件付き確率:
P(A|B) = P(A and B)/P(B) - ベイズの定理:
P(A|B) = P(B|A)P(A)/P(B)で事前確率を事後確率に更新します - 全確率の法則でP(B)を分解します
- ベースレートの誤謬:正確な検査でも、まれな条件では事後確率が低くなります
- モンティ・ホール問題:選択を変えると2/3の確率で勝てます
よくある質問
「確率とベイズの定理」レッスンは無料ですか?
はい。「確率とベイズの定理」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Learn AI with Pythonコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Learn AI with Pythonコースには全4レッスンが含まれています。
「確率とベイズの定理」で何を学びますか?
同時確率、条件付き確率、独立性、実際の AI 例を用いたベイズの定理を学びます。 ブラウザで直接実行するハンズオンコードでLearn AI with Pythonを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Learn AI with Pythonを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのLearn AI with Pythonは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「確率とベイズの定理」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このLearn AI with Pythonレッスンでコードを書いて実行できますか?
はい。すべてのLearn AI with Pythonレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。