サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
TGS2024
breakbee.hatenablog.jp
概要 最近、LDAを(pythonで)実装する機会がありました。 サンプリングを用いる実装だったので、Python等のスクリプト言語だとどうしても計算時間が問題になってしまいます(特に大規模なデータに対して)。 せっかくなのでコンパイル系の言語であるJavaで実装し直し、ついでに日本語PDFファイル(というか日本語論文)をLDAで分析してみました。 全体的な手順としては、 PDFからテキスト抽出 正規表現で日本語を抽出 Mecabで形態素解析 特徴語(今回は名詞)の選択 ストップワードの除去 LDAで分析 となっています。 分析に使ったLDAの実装やスクリプトはGithubにあります。 LDAのJava実装 https://github.com/breakbee/LDA4J PDF分析のスクリプト https://github.com/breakbee/PDFAnalysis Python
概要 回帰モデルとは、与えられた入力を用いて目標変数を予測するモデルです。 回帰モデルでは過学習を防ぐため、誤差関数(二乗誤差関数など)に次の式で表される正則化項を加えて最小化します。 この形の正則化項を用いる回帰をブリッジ回帰と呼びます。 特にの時をLasso回帰、の時をRidge回帰と呼びます。また、それぞれに用いられている正則加項をL1ノルム、L2ノルムと呼びます。 L1ノルムとL2ノルムの特徴を簡単にまとめると次のようになります。 L1ノルムはパラメータの一部を完全に0にするため、モデルの推定と変数選択を同時に行うことができる 特に次元数>>データ数の状況で強力 L2ノルムは微分可能であり解析的に解けるが、L1ノルムは 解析的に計算出来ない L1ノルムには様々な推定アルゴリズムが提案されている また、L1ノルムには 次元が標本数より大きい時、高々個の変数まて
概要 MacでPythonの管理と機械学習環境構築の備忘録です。 2015年2月版です。 簡単にまとめるとこんな感じです。 パッケージ管理システム : homebrew Pythonの導入・管理 : pyenv 機械学習ライブラリの構築 : Anaconda 前回は結構めんどくさかったのですが、各ライブラリのバージョンアップのお陰でかなり簡単にインストールできるようになりました。 前準備 バージョン管理システムはhomebrewを使います。 パッケージ管理システムとは、ソフトウェアをまとめて管理(インストールやアップデート、削除等)するためのソフトです。 homebrewについては次の解説が参考になります。 公式 Homebrew — The missing package manager for OS X インストール、使い方 MacOSX - パッケージ管理システム Homebrew
概要 前回は、PyMC2 向けのチュートリアルを PyMC3 に書き換えることでPyMC3 に入門してみました。 今回は、PyMC3 のチュートリアルを見て、実際にモデルを記述する時どういった流れになるか見てみようと思います。 チュートリアル PyMC3 チュートリアル http://nbviewer.ipython.org/github/pymc-devs/pymc/blob/master/pymc/examples/tutorial.ipynb このチュートリアルを頭から見てみましょう。 まずはサンプルの生成です。 import pymc as pm import numpy as np ndims = 2 nobs = 20 xtrue = np.random.normal(scale=2., size=1) ytrue = np.random.normal(loc=np.exp(x
概要 主成分分析(Principal Component Analysis, PCA)とは、 データの無相関化 データの次元の削減 を行う手法です。 簡単に言うと、データを分析しやすいように再構成し、可能なら次元を下げることです。 なぜ次元を削減する必要があるかと言うと、機械学習や統計において、データの次元が大きすぎると認識精度が悪くなる、次元の呪いという現象を回避するためです。 (2次元や3次元に変換できると可視化できる、というメリットもあります。) 今回は、Pythonを使って主成分分析を試してみようと思います。 主成分分析の例 ライブラリとしてscikit-learn、テストデータとしてiris datasetを用います。 scikit-learnはPythonの機械学習ライブラリです。主成分分析も実装されています。 導入等については、次の記事をご参照ください。 MacでPython
続・わかりやすいパターン認識―教師なし学習入門― 作者: 石井健一郎,上田修功出版社/メーカー: オーム社発売日: 2014/08/26メディア: 単行本(ソフトカバー)この商品を含むブログ (2件) を見る 「続・わかりやすいパターン認識」12章のディリクレ過程ガウス混合モデル(DPGMM)を Python で実装してみました。 コードはこちら。 http://nbviewer.ipython.org/github/breakbee/PyNote/blob/master/Implementation_of_DPGMM.ipynb 参考 wishart and inverse wishart sampler ウィシャート分布 - MATLAB & Simulink - MathWorks 日本 掲載されているアルゴリズムでは、 中華料理店過程(CRP)で潜在変数(クラスタ)のサンプリング
続・わかりやすいパターン認識―教師なし学習入門― 作者: 石井健一郎,上田修功出版社/メーカー: オーム社発売日: 2014/08/26メディア: 単行本(ソフトカバー)この商品を含むブログ (2件) を見る 概要 「続・わかりやすいパターン認識 -教師なし学習入門-」の書評です。 本書は「教師なし学習」について、基礎から応用、最先端の内容までまとめた一冊です。 タイトルに「続」とあるように、「わかりやすいパターン認識」の続編という位置づけですが、前作を読んでいなくても理解できるような構成になっています。 わかりやすいパターン認識 作者: 石井健一郎,前田英作,上田修功,村瀬洋出版社/メーカー: オーム社発売日: 1998/08メディア: 単行本購入: 19人 クリック: 110回この商品を含むブログ (40件) を見る 内容 最初の3分の1が統計的な知識などの基礎的な内容です。 統計・ベ
データ解析のための統計モデリング入門――一般化線形モデル・階層ベイズモデル・MCMC (確率と情報の科学) 作者: 久保拓弥出版社/メーカー: 岩波書店発売日: 2012/05/19メディア: 単行本購入: 16人 クリック: 163回この商品を含むブログ (21件) を見る 機械学習の分野では統計学が大きな役割を果たします。 この本では生態学のデータ解析をテーマに、統計モデリングを一から学んでいきます。 ハードカバーでちょっと難しそうに見える本ですが、内容はかなり初学者向けで、分かりやすく書かれていると思います。 一般化線形モデルから始まり、統計学のあれこれを説明しつつ、階層ベイズモデルやMCMCといったベイズ関連の手法へと進んでいきます。 良いところ 説明が非常に丁寧な本です。 統計学は独学だとちょっと雲を掴むような感じがして勉強し辛いところがあるのですが、この本では理解度のフローチャ
この記事は古くなっています。 最新版の記事はこちらになります。 MacでPythonの機械学習環境構築(2015年2月版) - old school magic 内容はタイトル通りです。 OS X Mavericksにアップデートしてpython関係のインストールがうまく行かなくなった方に参考になれば嬉しいです。(python3に関してはあんまりMavericks関係ないかも。) pythonは2系と3系を両方使いたいので、Homebrewを使ってインストールします。 公式 Homebrew — The missing package manager for OS X インストール、使い方 MacOSX - パッケージ管理システム Homebrew - Qiita アンインストール Homebrewのアンインストールと再インストール: 黄昏てなんかいられない brewでPythonすると嬉
概要 私が機械学習の勉強を始めた頃、何から手を付ければ良いのかよく分からず、とても悩んだ覚えがあります。同じような悩みを抱えている方の参考になればと思い、自分が勉強していった方法を記事にしたいと思います。 目標としては、機械学習全般について、コンパクトなイメージを持てるようになることです。 そのためにも、簡単な本から始めて、少しずつ難しい本に挑戦して行きましょう。 入門書 何はともあれ、まずは機械学習のイメージを掴むことが大切です。 最初の一冊には、フリーソフトでつくる音声認識システムがおすすめします。 フリーソフトでつくる音声認識システム - パターン認識・機械学習の初歩から対話システムまで 作者: 荒木雅弘出版社/メーカー: 森北出版発売日: 2007/10/17メディア: 単行本(ソフトカバー)購入: 45人 クリック: 519回この商品を含むブログ (38件) を見るレビュー :
概要 PyStan は Stan というMCMC計算用言語の Python インターフェイスです。 Stan http://mc-stan.org/ PyStan http://pystan.readthedocs.org/en/latest/index.html MCMCを計算できるソフトはいくつかあるのですが、Stan は C++で実装されているため高速 最近のサンプリング法を実装している といった特徴があります。特に速度には目を見張るものがあります。 前回までは PyMC3 をいじっていたのですが、他のソフトにも触ってみようと思い、今回は PyStan でモデリングをしてみました。 PyStan のインストール Anaconda を入れればもれなく一緒にインストールされます。 Anaconda https://store.continuum.io/cshop/anaconda/ 参考
概要 先日、Tokyo.scipy というイベントがありました。 Tokyo.scipy Python で科学技術計算を用いる方々の勉強会だそうです。 私は参加していないのですが、PyMC に関するセッションがあったそうです。 PyMCがあれば,ベイズ推定でもう泣いたりなんかしない サンプル1(単純なガウス分布の平均パラメータの推定) サンプル2(1入力,1出力のガウス単純ベイズ) 機械学習やデータマイニングで有名な神嶌先生の発表資料です。 非常に分かりやすいスライドでした。 このセッションで用いている PyMC は PyMC2 ですが、せっかくなので PyMC3 で書き換えてみました。PyMC3 の入門にちょうどいいのではないかと思います。 PyMC3 のインストール こちらの記事をご参照ください。 Python3でPyMCのインストール - old school magic サンプル1
概要 回帰モデルとは、与えられた入力を用いて目標変数を予測するモデルです。 回帰モデルでは過学習を防ぐため、誤差関数(二乗誤差関数など)に次の式で表される正則化項を加えて最小化します。この形の正則化項を用いる回帰をブリッジ回帰と呼びます。 特に…
機械学習の入門書として、代表的なのが「パターン認識と機械学習」という本です(通称PRML)。 先日、上巻を読み終わりました。 僕には少し早かったみたいです。。。 数式を追うのに必死になって、機械学習の概要がつかめなかったのが敗因かなーと思います。 というわけで、ちゃんと遠回りしてからPRMLに挑もうと思います。 「機械学習ってこういうのだよ!」、「こんな感じの手順だよ!」、「こういうタスクがあるよ!」、「基本的な考え方はこんな感じだよ!」、「こんな手法があるよ!」といった感じのふわっとした概要に関する本から、ちょっとずつ詳しいところに踏み込んでいくような感じで勉強していきたいと思います。 というわけで「この本を読むぞ!」という意思表明として、読もうと考えている入門書を紹介したいと思います。 (いくつか読み終えた本もあります。) フリーソフトでつくる音声認識システム - パターン認識・機械学
この記事は古くなっています。 最新版の記事はこちらになります。 MacでPythonの機械学習環境構築(2015年2月版) - old school magic 概要 MacでPythonの管理と環境構築の備忘録です。 色々試してみて今の形に落ち着いたのですが、コロコロ変わりそうな気もするので日付をつけときます。 簡単にまとめるとこんな感じです。 Pythonの導入・管理 : pyenv 機械学習ライブラリの構築 : Anaconda 前回はこんな感じだったのでだいぶ変わりました。 前準備 バージョン管理システムはhomebrewを用います。 ソフトウェアをまとめて管理(インストールやアップデート、削除等)するためのソフトです。 homebrewについては次の解説が参考になります。 公式 Homebrew — The missing package manager for OS X インス
概要 PyMCはPythonのベイズ統計用ライブラリです。特にMCMCに重点を置いています。 Python3にPyMCを導入するのに割りと手こずったのでメモします。 参考になれば幸いです。 インストールの前準備 今回はPyMC version 3を試します。(まだalpha版です。) Python 2.7もしくは3.3に対応しています。 PyMC3 https://github.com/pymc-devs/pymc 依存しているライブラリは Theano NumPy SciPy Matplotlib です。これらを事前にインストールします。 参考 MacでPythonの機械学習環境構築(2014年5月版) - old school magic Theano Anaconda(Python用の機械学習パッケージ)で一発です。 と言いたいところですが、Theanoでちょっと引っかかりました。
概要 統計の勉強の一環で、最近はこの本を読んでます。かなり分かりやすいです。 データ解析のための統計モデリング入門――一般化線形モデル・階層ベイズモデル・MCMC (確率と情報の科学) 作者: 久保拓弥出版社/メーカー: 岩波書店発売日: 2012/05/19メディア: 単行本購入: 16人 クリック: 163回この商品を含むブログ (19件) を見る統計モデリングに関する本です。一般化線形モデルを中心に話が進んでいきます。 この本はRを中心に話が進んでいきますが、せっかくなのでPythonで一般化線形モデルを試してみようと思います。 Pythonの統計ライブラリ 一般化線形モデルとは、線形回帰を(正規分布以外でも使えるように)拡張した統計モデルです。 詳しい説明は教科書に譲るとして、Pythonでのライブラリについてお話します。 Pythonで一般化線形モデル、というか統計全般のライブラ
結論から言うと「可能ではあるけどやめたほうがいい」って感じです。 僕はJavaが好きです。eclipseの支援は素晴らしいです。研究やってると過去のコードが動かないことが結構あるので、「write once, run anywhere」の精神が大好きです。いちいち例外投げるところやエラーを吐きまくってくれるところが口うるさい恋人のように愛おしいです。javadocは人類最大の発明だと思っています。何より書いていて安心します。 なのでJavaで機械学習の勉強をしようと決心し、ここ一年ほど頑張ってはみました。 Javaには素晴らしいライブラリが山ほどあります。 行列であればJAMAがシンプルで便利です。 数値計算や確率分布はcommons-mathがあります。 これだけの支援があればJavaでも十分機械学習ができると確信していました。 いちいち新しい確率分布を定義するのが辛いです。common
変分ベイズとは? 平均場近似、変分推論、ベイズ学習など様々な呼び方があります。 フリーで読める解説だとこれが一番わかりやすかったです。 自然言語処理のための変分ベイズ法 http://www.ism.ac.jp/~daichi/paper/vb-nlp-tutorial.pdf CiNiiユーザならこのシリーズがおすすめです。 ベイズ学習[I] : 統計的学習の基礎 http://ci.nii.ac.jp/naid/110003230932/ PRML関連のまとめ PRMLの第10章が変分ベイズについての話です。 とても詳しく説明されているのですが、かなり難し目です。 なのでそこを解説した記事のまとめです。 PRML 読書会 #13 10章 近似推論法(変分ベイズ) - Mi manca qualche giovedi`? http://d.hatena.ne.jp/n_shuyo/201
この記事について ノンパラメトリックベイズは分かりやすいチュートリアルは良く見かけるのですが、そこから一歩進んだ(日本語の)資料に行きつけなかったので、色々と論文読んで簡単に(数式を出さないで)まとめてみます。 ぶっちゃけるとCollapsed Variational Dirichlet Process Mixture Modelsの簡単な要約です。 あまり自信がないのでもし間違ってたりしたらご指摘お願いします。 前の記事よりはまともな説明ができれば...と思います。 Infinite Gaussian Mixture Model (IGMM) の情報まとめ - old school magic 事前知識としてノンパラベイズと変分推論の知識が必要ですが、ノンパラベイズは持橋さんの分かりやすい解説があるのでご紹介します。 最近のベイズ理論の進展と応用 (III) ノンパラメトリックベイズ デ
Dirichlet Process Gaussian Mixture Model (DPGMM)とも。 Dirichlet Process Mixture Model が一番ググった時に引っかかりやすいかも。 この記事について 最近?流行りのノンパラメトリックベイズの一つで、ガウス混合モデルのノンパラメトリック版です。 混合数を自動敵に決定してくれるガウス混合モデルですね。 比較的実装が簡単だと言われるモデルですが、あまり実装例を見かけないモデルです。 IGMMの情報源と、実装している人の紹介をしようと思います。 概要 Dirichlet Process を用いたクラスタリング 最近のベイズ理論の進展と応用 (III) ノンパラメトリックベイズ Google の栗原さんや、NTTコミュニケーション科学基礎研究所の持橋さんによる解説です。(リンク切れの場合はGoogle Scholar か何
このページを最初にブックマークしてみませんか?
『old school magic』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く