検索
連載

機械学習モデル構築作業の煩雑さを解消する「AutoML」とは――歴史、動向、利用のメリットを整理するAutoML OSS入門(1)

本連載では、AutoMLを実現するさまざまなOSSを解説します。第1回は、AutoMLの概要と、次回から紹介するさまざまなOSSを実行するための環境やデータについて解説します。

PC用表示 関連情報
Share
Tweet
LINE
Hatena

本記事で紹介したノートブックはGitHubにて公開しています。すぐに実行できますので、ぜひご利用ください。


 本連載では、AutoMLを実現するオープンソースソフトウェア(OSS)を解説します。連載第1回目となる今回は、そもそもAutoMLとはどういうもので、どういった機能やメリットがあるのか解説します。そして、第2回から毎回1つずつOSSを紹介していきます。紹介予定のOSSは以下の通りです(※取り上げるOSSについては今後変更する可能性があります)。

  • auto-sklearn
  • TPOT
  • AutoGluon(Amazon)
  • H2O(H2O.ai)
  • PyCaret
  • AutoKeras
  • Ludwig(Uber)
  • Neural Network Intelligence(Microsoft)
  • Model Search(Google)

 各OSSの紹介に当たって、特徴を示せるようなテーブルデータや画像データを利用しますが、どのOSSも共通で必ずタイタニックの生存予測データを利用してAutoMLを実践していきます。タイタニックの生存予測という同じ課題に取り組むことで、各OSSのAutoML実装の差異が分かるようにしたいという意図があるためです。なお、どのOSSも基本的にGoogle Colaboratory (以下、Colab)で動作させながら解説する予定です。

 この記事の最後に、Colabの使い方と、タイタニックの生存予測データの取得方法および概要を説明します。これらを使用したことがない方は、第2回以降に紹介するOSSを実行する際の参考にしてください。

注記:本連載の対象読者について

 本連載では、機械学習の理論などの基礎は説明しません。従って、対象読者は機械学習の基礎知識を身に付けている方を想定しています。何らかの機械学習ソフトウェアを使ってデータ分析をしたことがある人なら、読みやすい内容になっていると思います。ただし、AutoMLの特性上、中身がブラックボックスでもある程度は利用できるため、基礎知識がない人でもAutoMLは試せるような書き方を心掛けています。


AutoMLとは

 AutoMLとは、機械学習を用いたデータ分析のプロセスを自動化することやその技術全般を指す言葉で、「Automated Machine Learning(自動化された機械学習)」の略称です。ただし、AutoMLに明確な定義があるわけではなく、OSS(の開発者)によって若干解釈は異なります。

 「データ分析のプロセスを自動化する」とはどういうことか、もう少し具体的に説明します。データ分析のプロセスには試行錯誤を伴うような工程が幾つかあります。モデルを構築する工程では、まずロジスティック回帰で学習し、次にランダムフォレスト、多層パーセプトロン……というようにさまざまなモデルを試し、精度を比較します。それぞれに対して、さまざまなパラメーターを設定しては学習し直し、より良い結果が得られるものを抽出するといった作業を繰り返します。その後、複数のモデルを組み合わせて精度向上を目指すアンサンブル学習を試したり、組み合わせを変えてみたり手法を変更してみたりしながら、さらなる精度の向上を図っていきます。

図1 AutoMLを使わない機械学習の例
図1 AutoMLを使わない機械学習の例

 このような作業の中には人間がやるより機械的に実行した方が効率のよいものが多くあります。それらを自動化することがAutoMLの役割です。

AutoML利用のメリットとデメリット

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る