old school magic

機械学習と統計とプログラミングについてちょっとずつ勉強していきます。

回帰モデルにおけるL1正則化とL2正則化の効果

概要 回帰モデルとは、与えられた入力を用いて目標変数を予測するモデルです。 回帰モデルでは過学習を防ぐため、誤差関数(二乗誤差関数など)に次の式で表される正則化項を加えて最小化します。この形の正則化項を用いる回帰をブリッジ回帰と呼びます。 特に…

MacでPythonの機械学習環境構築(2015年2月版)

概要 MacでPythonの管理と機械学習環境構築の備忘録です。 2015年2月版です。簡単にまとめるとこんな感じです。 パッケージ管理システム : homebrew Pythonの導入・管理 : pyenv 機械学習ライブラリの構築 : Anaconda 前回は結構めんどくさかったのですが、…

ディリクレ過程ガウス混合モデルの Python 実装(「続・わかりやすいパターン認識」ノート)

続・わかりやすいパターン認識―教師なし学習入門―作者: 石井健一郎,上田修功出版社/メーカー: オーム社発売日: 2014/08/26メディア: 単行本(ソフトカバー)この商品を含むブログ (2件) を見る「続・わかりやすいパターン認識」12章のディリクレ過程ガウス混…

【書評】続・わかりやすいパターン認識 -教師なし学習入門-

続・わかりやすいパターン認識―教師なし学習入門―作者: 石井健一郎,上田修功出版社/メーカー: オーム社発売日: 2014/08/26メディア: 単行本(ソフトカバー)この商品を含むブログ (2件) を見る 概要 「続・わかりやすいパターン認識 -教師なし学習入門-」の…

機械学習を初めて勉強する人におすすめの入門書

概要 私が機械学習の勉強を始めた頃、何から手を付ければ良いのかよく分からず、とても悩んだ覚えがあります。同じような悩みを抱えている方の参考になればと思い、自分が勉強していった方法を記事にしたいと思います。目標としては、機械学習全般について、…

「パターン認識と機械学習」への遠回り その7 「データ解析のための統計モデリング入門」

データ解析のための統計モデリング入門――一般化線形モデル・階層ベイズモデル・MCMC (確率と情報の科学)作者: 久保拓弥出版社/メーカー: 岩波書店発売日: 2012/05/19メディア: 単行本購入: 16人 クリック: 163回この商品を含むブログ (21件) を見る機械学習…

PyStanでMCMC入門

概要 PyStan は Stan というMCMC計算用言語の Python インターフェイスです。Stan http://mc-stan.org/PyStan http://pystan.readthedocs.org/en/latest/index.htmlMCMCを計算できるソフトはいくつかあるのですが、Stan は C++で実装されているため高速 最近…

PyMC3でMCMC入門(2)

概要 前回は、PyMC2 向けのチュートリアルを PyMC3 に書き換えることでPyMC3 に入門してみました。 今回は、PyMC3 のチュートリアルを見て、実際にモデルを記述する時どういった流れになるか見てみようと思います。 チュートリアル PyMC3 チュートリアル htt…

PyMC3でMCMC入門(1)

概要 先日、Tokyo.scipy というイベントがありました。Tokyo.scipyPython で科学技術計算を用いる方々の勉強会だそうです。 私は参加していないのですが、PyMC に関するセッションがあったそうです。 PyMCがあれば,ベイズ推定でもう泣いたりなんかしない サ…

LDAで日本語PDF分析

概要 最近、LDAを(pythonで)実装する機会がありました。 サンプリングを用いる実装だったので、Python等のスクリプト言語だとどうしても計算時間が問題になってしまいます(特に大規模なデータに対して)。 せっかくなのでコンパイル系の言語であるJavaで実装…

Pythonで主成分分析

概要 主成分分析(Principal Component Analysis, PCA)とは、 データの無相関化 データの次元の削減 を行う手法です。 簡単に言うと、データを分析しやすいように再構成し、可能なら次元を下げることです。なぜ次元を削減する必要があるかと言うと、機械学習…

AnacondaがPython3に標準で対応しているので試してみました

概要 AnacondaはPythonの機械学習ライブラリです。 Anaconda Scientific Python DistributionPythonの機械学習ライブラリだと、 numpy scipy matplotlib scikit-learn pandas あたりが定番なのですが、Anacondaはここらへんをひとまとめにしてインストールし…

Python3でPyMCのインストール

概要 PyMCはPythonのベイズ統計用ライブラリです。特にMCMCに重点を置いています。 Python3にPyMCを導入するのに割りと手こずったのでメモします。 参考になれば幸いです。 インストールの前準備 今回はPyMC version 3を試します。(まだalpha版です。) Pytho…

Pythonで一般化線形モデル

概要 統計の勉強の一環で、最近はこの本を読んでます。かなり分かりやすいです。データ解析のための統計モデリング入門――一般化線形モデル・階層ベイズモデル・MCMC (確率と情報の科学)作者: 久保拓弥出版社/メーカー: 岩波書店発売日: 2012/05/19メディア: …

MacでPythonの機械学習環境構築(2014年5月版)

この記事は古くなっています。 最新版の記事はこちらになります。 MacでPythonの機械学習環境構築(2015年2月版) - old school magic MacでPythonの機械学習環境構築(2015年2月版) - old school magic 概要 MacでPythonの管理と環境構築の備忘録です。 色々試…

「パターン認識と機械学習」への遠回り 幕間 「統計を学ぶ際に心がけること」

統計学の目的の一つとして、「確率分布を推測する」というものがあります。 その確率分布を予測する方法として、最尤推定やベイズ推定などがあります。統計を学んでいると、 対数尤度を最大化すると良い予測になる 対数周辺尤度*1を最大化すると良い予測にな…

「パターン認識と機械学習」への遠回り その6 「図解・ベイズ統計「超」入門」

その1 フリーソフトで作る音声認識システム その2 自然言語処理のための機械学習入門 その3 はじめてのパターン認識 その4 キーポイント線形代数 幕間 機械学習と統計学 その5 キーポイント確率・統計図解・ベイズ統計「超」入門 あいまいなデータから未来を…

「パターン認識と機械学習」への遠回り その5 「キーポイント確率・統計」

その1 フリーソフトで作る音声認識システム その2 自然言語処理のための機械学習入門 その3 はじめてのパターン認識 その4 キーポイント線形代数 幕間 機械学習と統計学キーポイント確率統計 (理工系数学のキーポイント 6)作者: 和達三樹,十河清出版社/メー…

「パターン認識と機械学習」への遠回り 幕間 「機械学習と統計学」

機械学習の勉強を始めた当初、統計学を学ぶ必要性をあまり感じていませんでした。 というのも、統計学自体をほとんど知らなかったので、統計学についてちょっと変なイメージを持っていたからだと思います。しかし、機械学習を勉強するにつれ、統計学と機械学…

「パターン認識と機械学習」への遠回り その4 「キーポイント線形代数」

その1 フリーソフトで作る音声認識システム その2 自然言語処理のための機械学習入門 その3 はじめてのパターン認識キーポイント線形代数 (理工系数学のキーポイント 2)作者: 薩摩順吉,四ツ谷晶二出版社/メーカー: 岩波書店発売日: 1992/10/22メディア: 単行…

【書評】統計学 (サイエンス・パレット)

統計学 (サイエンス・パレット)作者: 上田修功出版社/メーカー: 丸善出版発売日: 2014/01/25メディア: 新書この商品を含むブログを見る統計学について、数式を用いないで説明した一冊です。統計(と確率)の基礎からデータの集め方・実験・結果の考察といった…

Python 3.4.0でscikit-learnがインストールできない?

Python 3.4.0でscikit-learnをインストールしようとしたらこんなエラーが出ました。 sklearn/cluster/_k_means.c:7955:19: error: no member named 'f_tstate' in 'struct _frame' (*frame)->f_tstate = tstate; ~~~~~~~~ ^調べてみたところCythonのエラー?…

変分ベイズについての資料まとめ(随時更新)

変分ベイズとは? 平均場近似、変分推論、ベイズ学習など様々な呼び方があります。フリーで読める解説だとこれが一番わかりやすかったです。 自然言語処理のための変分ベイズ法 http://www.ism.ac.jp/~daichi/paper/vb-nlp-tutorial.pdfCiNiiユーザならこのシ…

Python環境をhomebrew + pipで構築した時の注意事項

私はMac(今はOS X Mavericks)でPython環境を構築する時、 Python本体はhomebrew 各ライブラリ(numpy, scipy, matplotlib, scikit-learn等)をpip で管理しています。 この方式だと、homebrewでpythonをアップグレードした時、各ライブラリが読み込めなくなる…

Windows/Macで英語論文(pdf)を読む時に便利なこと

私は英語が苦手です。勉強も極力日本語文献でしています。 しかし、どうしても英語論文を読まなければいけないときが多々あります。理系の英語論文を読む時、一番やっかいに思うのは「専門用語が分からない」ことです。 いちいちコピペして辞書引くのが大変…

MacのSublime Text 2でCtrl + Bでのビルドをpython3に変更する

homebrewでpython3をインストールして、コマンド名が"python3"になってくれてるとします。1. 設定ファイルの表示 # メニューからPackageフォルダを(Finderで)表示する "Preferences" -> "Browse Packages..." # Finderから設定ファイルを開く Python -> Pyth…

OS X Mavericksにpyreadlineがうまく入らない(けどよく考えたら必要なかった)話

python3でiPyhtonをインストールしようとした時に、適当にググって「windowsだとpyreadlineがいるのか、とりあえずmacでも入れよう」と思いインストールし、iPythonを入れたら起動時にエラーが出ました。 Traceback (most recent call last): File "/usr/loc…

OS X Mavericksにアップデートしたらhomebrewでインストールしたscipyがアップデートできなくなった話

問題 前までhomebrewを使ってpython2/numpy/scipyをインストールしていたのですが、Mavericksにしてからscipyのアップデートができなくなりました。 Error: scipy dependency tbb was built with the following C++ standard library: libc++ (from clang) T…

OS X Mavericksにpython3.3/numpy/scipy/matplotlib/scikit-learnをインストールする

この記事は古くなっています。 最新版の記事はこちらになります。 MacでPythonの機械学習環境構築(2015年2月版) - old school magic MacでPythonの機械学習環境構築(2015年2月版) - old school magic 内容はタイトル通りです。 OS X Mavericksにアップデート…

ディリクレ過程混合モデルへの変分推論適用について

この記事について ノンパラメトリックベイズは分かりやすいチュートリアルは良く見かけるのですが、そこから一歩進んだ(日本語の)資料に行きつけなかったので、色々と論文読んで簡単に(数式を出さないで)まとめてみます。 ぶっちゃけるとCollapsed Variation…