コメントはまだありません動機PRML1.5章(決定理論)において、予測モデルの構築方法は決定木やSVMといった手法で得られる「識別モデル」と、ベイズアプローチで得られる「生成モデル」に分かれると書いてあった。識別モデルでは、入力に説明変数x、出力に目的変数yを取る写像関数()しか得られないが、生成モデルでは、目的変数を得る確率(:事後確率)の他、説明変数自体の生起確率()から外れ値検出が可能であるとのこと。従来この「識別モデル」ばかり使っていた(さらに言えば、識別モデルの出力を試行錯誤して確率を出そうとまでしていた)ので、この「生成モデル」に非常に興味を持った。本には具体的に「生成モデル」を算出した例は記載されていなかったため、勉強がてらお馴染みIrisのデータを用いて「生成モデル」を構築しようと思った次第。生成モデルを構築するためには、学習データを用いて説明変数と目的変数の同時確率を導出する必要がある。同時確率を求めるためには、尤度関数を算出し、それを説明変数について積分することで算出する。尤度関数は1データの分布が多変量ガウス分布に従う、2各データは独立、と仮定して、最尤推定から算出する。最尤推定というと難しそうだが、本仮定においては学習データの各目的変数条件下における平均と共分散行列を算出するだけでよい。Irisデータとはこのページを見られている方にあまり説明の必要はないと考えられるが、簡単に言うと、おしべの長さ等の4種の説明変数があり、各値と説明変数である花の種類(3種)がセットになっているデータ。データ分析手法の精度のチェック等によく用いられる。上述した算出方法を用いて全データから生成モデルを構築し、訓練データと同じ150個のデータを無作為に抽出した結果。似た雰囲気が出ていることが分かる。次回は訓練データ数を変えた場合や、データの外れ値チェック、および予測精度をチェックしようと思う。スクリプト(参考)作りがイマイチなので本当に参考。コメントをキャンセルメールアドレスが公開されることはありません。*サイト上に表示された文字を入力してください。プロフィール兵庫県在住の30代データサイエンティスト。Pythonを使った機械学習等によるデータ分析や、ウェブアプリ等のシステム開発に取り組んでいます。