第190話|古くて新しい自動機械学習(Automated Machine Learning)

第190話|古くて新しい自動機械学習(Automated Machine Learning)

似たような数理モデルはたくさんあります。

その中から、数理モデルを適切に選択し、モデル構築する必要があります。

そのようなことを自動化したのが、自動機械学習(Automated Machine Learning)というものです。

私が就職した20年以上前から、この手のものはありました。

今回は、「古くて新しい自動機械学習(Automated Machine Learning)」というお話しです。

数理モデルの構築プロセス

数理モデルを構築するプロセスは、例えば次のような感じではないでしょうか。

データ準備

前処理(データクレンジング含む)

特徴量生成・加工・選定

モデル選定・パラメータ最適化・モデル評価

デプロイ(展開)

昔からある「自動機械学習(Automated Machine Learning)」は、「モデル選定・パラメータ最適化・モデル評価」の部分です。

最近ですと、「特徴量生成・加工・選定」のフィーチャーエンジニアリングの部分も対象にしているものもあるようです。

しかし、フィーチャーエンジニアリングの自動化は、まだ難しいのではないかと思います。

有料ツール

最近は、クラウド上で使える有料の自動機械学習(Automated Machine Learning)も出始めています。

有料版のもので、よく名前を聞くのが以下です。

  • AutoML Tables(Google)
  • AutoAI(IBM)
  • Automated ML(Microsoft)
  • DataRobot(DataRobot)
  • AutoFlow(MatrixFlow)
  • Driverless AI(H20.ai)

有料版だけあって、ユーザインターフェースが綺麗です。

無料ツール

データ分析や数理モデル構築といえば、最近ではRやPython、Juliaなどの無料で使えるものが多数あります。

自動機械学習(Automated Machine Learning)も例外ではなく、幾つかあります。RやPyhton上で動かすものですが……

  • R automl
  • R RemixAutoML
  • AUTO-WEKA
  • Python auto-sklearn
  • Python TPOT

次の自動機械学習の書籍が無料で読めます
Frank Hutter • Lars Kotthoff • Joaquin Vanschoren(2019/5/28)
「Automated Machine Learning: Methods, Systems, Challenges」
(The Springer Series on Challenges in Machine Learning)
https://www.automl.org/wp-content/uploads/2019/05/AutoML_Book.pdf

AutoML.org
https://www.automl.org/

知らべると、まだ色々なものが出てきそうです(無料なのか有料なのか、よくわからないものもありますが……)。

ハイブリッドな使い方が一番いいかも

恐らく、ある程度の数理モデル構築経験のある人であれば、自動機械学習(Automated Machine Learning)で構築した数理モデルの精度を超えることはできるでしょう。

有料の自動機械学習(Automated Machine Learning)ツールの場合、安くはないです。

無料あれば、コスト面を気にする必要はないことでしょう。しかし、RやPython上で実施するため、それなりのスキルは必要になります。

そうなると、無料版を使うとき初心者にはそれなりのハードルがあります。

無料版の現状一番いい使い方は、ハイブリッドな使い方が一番いいかもしれません。

手作りのモデル構築をサポートする形で、自動機械学習の機能を活用する、という感じです。

特に、「特徴量生成・加工・選定」のフィーチャーエンジニアリングの部分は、人手が必要な気がします。

今回のまとめ

今回は、「古くて新しい自動機械学習(Automated Machine Learning)」というお話しをしました。

多くのツールは、「モデル選定・パラメータ最適化・モデル評価」の部分を自動化しています。

中には、「モデル選定・パラメータ最適化・モデル評価」の前の「特徴量生成・加工・選定」の部分も対象にしているものもあるようです。

素晴らしいことです。

現状一番いい使い方は、ハイブリッドな使い方が一番いいかもしれません。

手作りのモデル構築をサポートする形で、自動機械学習の機能を活用する、という感じです。