LoginSignup
396

More than 5 years have passed since last update.

PRMLのアルゴリズムをPython(ほぼNumpyだけ)で実装

Last updated at Posted at 2016-11-26

自分の勉強(機械学習のアルゴリズムやPythonの勉強)のためにPRMLに掲載されている手法をPythonで実装していきます。

原則としては、アルゴリズムの部分ではPythonの標準ライブラリに加えてNumpyだけ使用可能としていきます。scikit-learnやtensorflowなどの機械学習パッケージは使いません。matplotlibなどの結果を図示するパッケージはアルゴリズムの実装と関係がない限りは使っていきます。また、必要になったらscipyなどの他のパッケージもたまに使っていきます(すでにディガンマ関数などに使用)。ただし、最適化ツール(例えばscipy.optimizeやtensorflowの自動微分機能)などの実装を著しく簡単にするものは使いません。

基本的には、章ごとに一つの手法を実装していきます。一通り終われば二周目に入るかもしれません。自分の勉強のためのものなので、なんでもかんでも詳しく説明していくことはしません。自分で見返すのに要らないと判断した説明は省いていきます。

記事

実装済みの記事へのリンク、実装予定の手法一覧です。

PRML 記事
第1章 序論 ベイズ曲線フィッティング
第2章 確率分布 スチューデントのt分布
第3章 線形回帰モデル エビデンス近似
第4章 線形識別モデル ベイズロジスティック回帰
第5章 ニューラルネットワーク 誤差逆伝播混合密度ネットワーク
第6章 カーネル法 ガウス過程回帰
第7章 疎な解を持つカーネルマシン 関連ベクトル回帰
第8章 グラフィカルモデル 積和アルゴリズム
第9章 混合モデルとEM 混合ガウス分布の最尤推定
第10章 近似推論法 変分混合ガウス分布
第11章 サンプリング法 マルコフ連鎖モンテカルロ
第12章 連続潜在変数 ベイズ的主成分分析
第13章 系列データ 隠れマルコフモデルの最尤推定
第14章 モデルの結合 条件付き混合モデル

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
396