推論の方法とそれぞれの弱点 : 適切な推論は遠くまで見ることができる
既知の事柄から未知の事柄を考えることを推論と呼びます。
カラスを無数に観測して、サンプル数のパターンからカラスは黒いと推論することを、帰納法と言います。どんなに観察しても、白いカラスが存在する可能性が限界です。
「人は笑う。トラガラは人だ。トラガラは笑う」という三段論法で、抽象的な事柄を具体的に絞り込む推論は演繹法。演繹法は推論の推論も行えるから効果的な反面、「トラガラは鎌倉が好き」とすると、結論が「人は鎌倉が好き」のように、必ず間違える点が弱点です。
アブダクションは推理と似て、限られた状態で、それらを推理し、最も効果的に説明出来る仮説を選びます。仮に窓が割れているとして、「石が落ちている。おそらくこの石が当たったのだろう」と考える時に、石が落ちていることを見落とすと、推論を誤ります。
どれもフレームワークだから、適切に使えると、遠くまで見えます。天文学者のように。
①帰納法
# カラスの色のデータ(サンプル)
観測したカラスの色 = ["黒", "黒", "黒", "黒", "黒"]
# 全てのカラスが黒いかどうかを確認する関数
def すべてのカラスが黒いか(カラスの色のリスト):
for 色 in カラスの色のリスト:
if 色 != "黒":
return False
return True
# 帰納法による仮説の検証
帰納法の結果 = すべてのカラスが黒いか(観測したカラスの色)
②演繹法
# 前提
人は笑う = True
トラガラは人 = True
# 演繹法による結論
トラガラは笑う = 人は笑う and トラガラは人
③アブダクション
# 状況の設定
窓が割れている = True
近くに石がある = True
# アブダクションによる推測
if 窓が割れている and 近くに石がある:
石が窓を割った可能性が高い = True
else:
石が窓を割った可能性が高い = False
コースコードはChatGPTが書き、Bardがチェックしました。誤りがあれば私の責任なので、何かあればご指摘ください。
推論の構造をPythonで可視化しやすくする取り組みです。
サポートする値打ちがあると考えて下さって感謝します! 画像生成AI学んでるので、その費用にさせて下さい。 新書を一冊読むことよりお得なnote目指してます。