本連載では、AutoMLを実現するさまざまなOSSを解説します。第1回は、AutoMLの概要と、次回から紹介するさまざまなOSSを実行するための環境やデータについて解説します。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
本記事で紹介したノートブックはGitHubにて公開しています。すぐに実行できますので、ぜひご利用ください。
本連載では、AutoMLを実現するオープンソースソフトウェア(OSS)を解説します。連載第1回目となる今回は、そもそもAutoMLとはどういうもので、どういった機能やメリットがあるのか解説します。そして、第2回から毎回1つずつOSSを紹介していきます。紹介予定のOSSは以下の通りです(※取り上げるOSSについては今後変更する可能性があります)。
各OSSの紹介に当たって、特徴を示せるようなテーブルデータや画像データを利用しますが、どのOSSも共通で必ずタイタニックの生存予測データを利用してAutoMLを実践していきます。タイタニックの生存予測という同じ課題に取り組むことで、各OSSのAutoML実装の差異が分かるようにしたいという意図があるためです。なお、どのOSSも基本的にGoogle Colaboratory (以下、Colab)で動作させながら解説する予定です。
この記事の最後に、Colabの使い方と、タイタニックの生存予測データの取得方法および概要を説明します。これらを使用したことがない方は、第2回以降に紹介するOSSを実行する際の参考にしてください。
本連載では、機械学習の理論などの基礎は説明しません。従って、対象読者は機械学習の基礎知識を身に付けている方を想定しています。何らかの機械学習ソフトウェアを使ってデータ分析をしたことがある人なら、読みやすい内容になっていると思います。ただし、AutoMLの特性上、中身がブラックボックスでもある程度は利用できるため、基礎知識がない人でもAutoMLは試せるような書き方を心掛けています。
AutoMLとは、機械学習を用いたデータ分析のプロセスを自動化することやその技術全般を指す言葉で、「Automated Machine Learning(自動化された機械学習)」の略称です。ただし、AutoMLに明確な定義があるわけではなく、OSS(の開発者)によって若干解釈は異なります。
「データ分析のプロセスを自動化する」とはどういうことか、もう少し具体的に説明します。データ分析のプロセスには試行錯誤を伴うような工程が幾つかあります。モデルを構築する工程では、まずロジスティック回帰で学習し、次にランダムフォレスト、多層パーセプトロン……というようにさまざまなモデルを試し、精度を比較します。それぞれに対して、さまざまなパラメーターを設定しては学習し直し、より良い結果が得られるものを抽出するといった作業を繰り返します。その後、複数のモデルを組み合わせて精度向上を目指すアンサンブル学習を試したり、組み合わせを変えてみたり手法を変更してみたりしながら、さらなる精度の向上を図っていきます。
このような作業の中には人間がやるより機械的に実行した方が効率のよいものが多くあります。それらを自動化することがAutoMLの役割です。
Copyright © ITmedia, Inc. All Rights Reserved.