Hatena::ブログ(Diary)

盆栽日記

2014-05-03

Rで一行でディープラーニング

ディープラーニング、Rで deeplearning(y~., data) とかいう感じで一行で書けたらなあと思ったことありませんか、私は常々思っていました。

だが実装するのはめんどい。

というころで探したらありました。

まあRで実装されているわけではなく、h2oというオープンソースの機械学習のソフトウェアを立ち上げてRからそこに計算を投げる感じです。

H2Oをダウンロードして立ち上げた上で以下のような感じで書けます。

deeplearningってそのままなのが潔くて良いですね。

library(h2o)
localH2O = h2o.init(ip = "localhost", port = 54321, startH2O = TRUE)
# データの読み込み(今回はiris)
irisPath = system.file("extdata", "iris.csv", package = "h2o")
iris.hex = h2o.importFile(localH2O, path = irisPath)
h2o.deeplearning(x = 1:4, y = 5, data = iris.hex, activation = "Tanh")
# H2Oのシャットダウン
h2o.shutdown(localH2O)

H2Oのダウンロード

下記のようなコードでRから簡単にH2Oも込みの安定版のパッケージをインストールできます。

install.packages("h2o", repos=(c("http://s3.amazonaws.com/h2o-release/h2o/rel-kahan/5/R", getOption("repos"))))

ですが、安定版のパッケージはdeeplearningがまともに動いてくれないので、下記のBleeding edge Developer Buildをクリックして最新版をインストールする必要があります。

http://0xdata.com/downloadtable/

H2Oとは

H2Oについては色々と英語記事が充実しているのでそちらを読んでください。

revolution analyticsのH2Oの紹介はこちら。

http://blog.revolutionanalytics.com/2014/04/a-dive-into-h2o.html

deeplearningとして実装されているアルゴリズムの説明はこちら。

http://docs.0xdata.com/datascience/deeplearning.html

H2Oのアーキテクチャはこちら。

http://0xdata.com/blog/2014/03/h2o-architecture/

最後に

H2O作ってる0xdataって会社、TibshiraniとかHastieがアドバイザリーボードにいるらしいです。

https://github.com/0xdata/h2o

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。

トラックバック - http://d.hatena.ne.jp/dichika/20140503/p1