洋食の日記

「だ・である」調ではなく「です・ます」調で書きはじめれば良かったなと後悔してる人のブログです

Rumaleからdeprecatedにしてた分類器などを削除した

はじめに

RumaleからFactorization MachineやNadamなど、deprecatedにしていたものを削除して version 0.20.0 としてリリースした。本 version で分類器などの追加はない。シンプルに削除だけでバージョンを切った。

rumale | RubyGems.org | your community gem host

徒然なるままに

Rumaleを良い意味で普通の機械学習ライブラリにするため、過去に個人的な興味で追加したものをdeprecatedにして、時間をおいて削除した。Factorization Machine(FM)は、Rumale(SVMKit)の初期からあるもので、派生アルゴリズムを追加するつもりだった。また、最近の確率的勾配降下法(Stochastic Gradient Descent, SGD)の発展を上手く利用して、FMを実装できないかという興味もあった。ただ、多くの包括的な機械学習ライブラリで、FMは外部ライブラリで拡張するものだったりするので、これにあわせることにした。同じくOptimizerも、Yellow Finなんかを実装したりもしたが、ここをいたずらに増やしてもな、というところで削除した。ちなみに、Rumaleでは、ロジスティック回帰やLassoなどは標準的なSGDで、多層パーセプトロンはAdamで学習するようになっている。Optimizerの削除は、これらには影響しない。FMは色んなバリエーションがあっておもしろいので、Rumale-FMとかそういう名前で、ライブラリを作ってみたい。

おわりに

Rumaleは、機械学習ライブラリとして、それなりにアルゴリズムが充実してきた。それをうけて、最近のRumaleの開発は、ユーティリティ的なモノの追加を進めている。やみくもに大きくしたくないのもある。また、Rumaleを中心として周辺ライブラリの作成もガンバらないとな、と思っている。

github.com