アブダクションは、事実Cの観察からそれを説明しうると考えらえる仮説Hを推論するため「遡及推論(retroduction)」とも呼ばれる。A->B))の真理値表。教科書には以下のように書いている。AがTrueの場合は分かるが、AがFalseの時はなぜA→BがTrueになるのだろう?答えとしては、A→Bは「Aが成り立つ前提が満たされればBが成り立つ(Trueとなる)」ことを示しており、Aが成り立たたないケースのことは何も規定していないことが重要。前提が満たされない(つまりAがFalseの場合)は、A→BはBが何であろうが成立する。Bと等価であることがよく使われる。真理値表を自分で書いて確かめてみよう。(Unidic辞書編)日本語の自然言語処理には形態素解析が欠かせない。そこでよく使われるのがMecab。辞書として標準のipadicではなくUnidicを使おうとするといくつか落とし穴がある。今回はそんな落とし穴に落ちずにインストールからmecabで品詞解析をするまでの手順を書いておく。/usr/local/lib/python3.9/site-packages/unidic/dicdir/mecabrc`のエラーが発生。落とし穴2:`Mecab.Tagger("-Ochasen")`とするとエラーが発生。python3-mecabのインストールする。unidicただしUnidicはpipだけでは辞書本体がダウンロードされないため下記コマンドで辞書本体をダウンロードする。実行すると「chasenというようなフォーマットは無い」という趣旨のエラーが発生する。仮説検定に関するメモ統計学入門で、仮説検定について再学習したのでメモ。勉強すると曖昧な部分が整理されて良い。仮説検定とは母集団について仮定された命題を標本で検証すること。帰無仮説を立ててその仮説が正しいとした場合に得られた標本が実現する確率の大きさで帰無仮説を採択するか棄却するかを決める。20回コインを投げて14回表が出た時このコインに偏りがあるかを検討したい。この時、帰無仮説として「コインに偏りは無い」という仮説を立てる。p=0.5)に従うはずである。このとき表が14回以上出る確率を計算すると0.0577程度となる。これは有意水準10%で仮説が棄却される。「コインに偏りは無いとは言えない」という結果となる。ちなみに帰無仮説の「帰無」は特に意味がなく単なる仮説と言っても差し障りないとのこと。はじめに確率的に起きる事象に関して、限られた情報から正しく意思決定するためにはベイジアンネットワークは非常に強力なツールになる。ここでは、ベイジアンネットワークとは何か?pythonで実装するにはどうすれば良いか?を解説したい。実際のデータを用いてベイジアンネットワークの計算結果から意思決定を行う例も示す。DAG)を用いて表現しようとするモデルだ。ここでDAGとは、ノードとそれらを繋ぐ有向エッジから構成され、ループ構造が存在しないグラフ構造のことをいう。下の図のようにベイジアンネットワークでは、DAGの各ノードを確率変数とし、ノード間が有向エッジで繋がれている場合は子の確率変数を親の確率変数の「条件付き確率」で表せると考える。同時確率と条件付き確率ここで同時確率と条件付き確率について復習しておきたい。複数の事象を考えるときに、それらが同時に起きる確率を「同時確率」という。B=b)\)というように表す。一方で「条件付き確率」とは、「既にある事象が起きたと確定した条件下で」他の事象が起きる確率を示す。確率変数Aがaの値をとった「条件下」でBがbの値をとる確率を示し\(P(B=b|A=a)\)と表す。Rule)より下式が成り立つ。B=b)=P(B=b|A=a)P(A=a)\]※以降、簡略化のため\(P(A=a)\)などは\(P(A)\)のように確率変数の実現値は省略して表記する。X_2)P(X_1)P(X_2)\]となる。\(X_1=x_1\)、\(X_2=x_2\)と確定した時の\(X_3\)の条件付き確率。\(P(X_1)\)、\(P(X_2)\)はそれぞれ、\(X_1=x_1\)、\(X_2=x_2\)の実現値をとる確率。X_3)\)は、親である\(X_3\)が(\(X_3=x_3\)と)確定した時の\(X_4\)、\(X_5\)の条件付き確率。\tag{1}\]の形に書けることが容易に想像がつく。ここで\(Parents(X_i)\)は確率変数\(X_i\)の親ノードを表している。簡単なベイジアンネットワークの具体例で同時確率を求めることをしていこう。ここでは下図のような仮想的なシチュエーションの因果関係の例として考えていく。火事)が発生すると警報サイレンが鳴り、それを聞いた近所の人が警察もしくは消防に連絡することになるという因果関係を示している。それぞれの事象の確率変数は事象が発生(1)するか否(0)かの2値をとる。強盗や火事が発生する可能性は極めて低いが、若干火事の発生確率の方が大きい。強盗や火事が発生すると高確率でサイレンが鳴るようになっているが、強盗や火事以外の異常でなる可能性もある。サイレンが鳴るとそれを聞いた近所の人が警察もしくは消防に連絡をする確率が高まる。\\\\=0.99*0.96*0.9*0.99*0.98=0.83\]と計算ができる。ここまででベイジアンネットワークでの同時確率を求めることまでできた。ベイジアンネットワークの強力なところは、このモデルを用いると、ある事象が発生した場合に、その要因の分析が可能であることである。上の例では警察に通報が行き(P=1)消防に通知が行かない(D=0)という事象が発生したときにその要因が火事である確率、もしくは強盗である確率を求めることができる(要因推定)。次回は、要因推定について詳しく見ていきたい。行列の冪乗と固有値の関係についてメモ。