自動機械学習 (AutoML) は、データをモデル化するための機械学習モデルの構築プロセスを自動化する新しい分野です。 AutoML を使用すると、モデリングがより簡単かつ誰でもアクセスしやすくなります。 この記事では、auto-sklearn、TPOT、HyperOpt、AutoKeras という 4 つの自動化 ML ツールキットについて詳しく紹介します。 AutoML に興味があるなら、これら 4 つの Python ライブラリが最適です。著者は記事の最後で 4 つのツールキットを比較しています。
自動学習 auto-sklearn は、標準の sklearn インターフェースとシームレスに統合され、コミュニティの多くの人に馴染みのある自動化された機械学習ツールキットです。ベイズ最適化などの最新の手法を使用して、ライブラリは、可能なモデルの空間をナビゲートし、特定の構成が特定のタスクに対して適切に機能するかどうかを推論することを学習するために使用されます。 このライブラリは、Matthias Feurer らによって提案されました。技術的な詳細については、論文「Efficient and Robust Machine Learning」を参照してください。フェーラー氏は論文の中でこう書いている。
auto-sklearn は、おそらく AutoML を初めて使用するユーザーに最適です。データセットを検出するためのデータ準備とモデル選択に加えて、ライブラリは同様のデータセットで優れたパフォーマンスを発揮するモデルから学習することもできます。最高のパフォーマンスを発揮するモデルがアンサンブルに集められています。 画像ソース: 効率的で堅牢な自動機械学習 効率的な実装の観点から、auto-sklearn ではユーザーの操作が最小限で済みます。ライブラリをインストールするには、pip install auto-sklearn を使用します。 このライブラリで使用できる 2 つの主なクラスは、AutoSklearnClassifier と AutoSklearnRegressor で、それぞれ分類タスクと回帰タスクに使用されます。どちらにもユーザー指定の同じパラメータがあり、最も重要なのは時間制約とコレクション サイズです。
AutoSklearn 関連のドキュメントの詳細については、https://automl.github.io/auto-sklearn/master/ をご覧ください。 TPOT TPOT は、データ準備、モデリング アルゴリズム、モデル ハイパーパラメータに重点を置いた、Python ベースの自動機械学習開発ツールです。進化的ツリー構造に基づくツリー表現ワークフロー最適化ツール (TPOT) を通じて、特徴の選択、前処理、構築を自動化し、機械学習パイプラインを自動的に設計および最適化します。 画像ソース:「データ サイエンスの自動化のためのツリーベースのパイプライン最適化ツールの評価」。 プログラムまたはパイプラインはツリーとして表されます。遺伝的プログラミング (GP) は、特定のプログラムを選択して進化させ、各自動化された機械学習パイプラインの最終結果を最大化します。 ペドロ・ドミンゴス氏は、「大量のデータを扱う愚かなアルゴリズムは、限られたデータを扱う賢いアルゴリズムに勝る」と述べています。重要なのは、TPOT が複雑なデータ前処理パイプラインを生成できるということです。 潜在的なパイプライン(出典:TPOT 文書) TPOT パイプライン オプティマイザーは、多くの AutoML アルゴリズムと同様に、良好な結果を生成するのに数時間かかる場合があります (データセットが小さい場合を除く)。ユーザーは、これらの時間のかかるプログラムを Kaggle コミットまたは Google Colab で実行できます。
おそらく、TPOT の最も優れた機能は、モデルを Python コード ファイルとしてエクスポートし、後で使用できることです。詳細なドキュメントとチュートリアルの例については、次の 2 つのリンクを参照してください。
ハイパーオプト HyperOpt は、James Bergstra によって開発されたベイズ最適化用の Python ライブラリです。このライブラリは、数百のパラメータを持つモデルの大規模な最適化、特に機械学習パイプラインの最適化、およびオプションで複数のコアとマシンにわたる最適化プロセスのスケーリングを目的として設計されています。 ただし、HyperOpt は非常に技術的であり、最適化ツールとパラメータを慎重に指定する必要があるため、直接使用するのは困難です。代わりに、著者は、sklearn ライブラリの HyperOpt ラッパーである HyperOpt-sklearn の使用を推奨しています。 具体的には、HyperOpt は前処理をサポートしながらも、特定のモデルに組み込まれる数十のハイパーパラメータに重点を置いています。 HyperOpt sklearn 検索の結果、事前トレーニングなしで勾配ブースティング分類器が生成されます。
HyperOpt-sklearn モデルの構築方法については、ソース ドキュメントを参照してください。これは auto-sklearn よりもはるかに複雑で、TPOT よりも少し複雑です。しかし、ハイパーパラメータが重要な場合は、それだけの価値があるかもしれません。 ドキュメントアドレス: http://hyperopt.github.io/hyperopt-sklearn/ オートケラス ニューラル ネットワークとディープラーニングは、標準的な機械学習ライブラリよりも強力であるため、自動化がより困難になります。 AutoKeras ライブラリの機能は何ですか? 詳細は次のとおりです。
AutoKeras はテキスト、画像、構造化データをサポートし、初心者やより高度な技術知識を求める人向けのインターフェースを提供します。 AutoKeras は進化型ニューラル ネットワーク アーキテクチャ検索アプローチを使用して、研究者の負担と曖昧さを軽減します。 AutoKeras の実行には長い時間がかかりますが、ユーザーはパラメータを指定して実行時間、探索するモデルの数、検索空間のサイズなどを制御することができます。
AutoKeras の詳細については、次の 2 つのリンクを参照してください。
4 つのライブラリにはそれぞれ特徴があります。どれを選択すればよいでしょうか? ユーザーはニーズに応じて適切な Python ライブラリを選択できます。著者は次のような提案をしています。
参考リンク: https://towardsdatascience.com/4-python-automl-libraries-every-data-scientist-should-know-680ff5d6ad08 [この記事は51CTOコラム「Machine Heart」、WeChatパブリックアカウント「Machine Heart(id:almosthuman2014)」によるオリジナル翻訳です] この著者の他の記事を読むにはここをクリックしてください |
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
4月にリリースされるや否や開発者コミュニティで話題となった大規模言語モデルの概要が更新されました!こ...
[[417323]]この記事は、張張が執筆したWeChatパブリックアカウント「建築改善への道」から...
データ ポイントを特定の数の定義済みクラスに分類するように ML モデルをトレーニングすることがタス...
道路は複雑で、車両の種類も多様で、歩行者も密集しています。これが都市部の道路交通の現状であり、自動運...
C# アルゴリズムは、バイナリ ツリーの定義、既知のバイナリ ツリーの構築方法、および C# でバイ...
序文音声認識の現在の開発状況をまとめると、DNN、RNN/LSTM、CNN が音声認識における主流の...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
近年、教育業界の資金のほとんどは「AI+教育」を追い求めています。現在、「AI+教育」分野では、さま...
この記事では、畳み込みニューラル ネットワーク (CNN) の基本原理を、関連する数学理論を省き、最...