autoML综述:自動機械学習フレームワークのベンチマークと調査

自動機械学習フレームワークのベンチマークと調査

記事のリンク

ここに写真の説明を挿入

概要:

1.現在のautoMLメソッドの概要と実際のデータに対する一般的なautomlフレームワークのベンチマーク
2.重要なautomlの重要なテクノロジーを要約して、機械学習パイプラインを構築します

前書き:

MLパイプラインには次のものが必要です
。1。深いMLアルゴリズムと統計スキルを持つデータサイエンティスト
2.特定の分野で長期的な経験を持つドメインエキスパート
これら2つを組み合わせることで、カスタマイズされたデータ前処理とドメイン主導の意味を含む合理的なMLパイプラインを作成できます機能エンジニアリング、および十分な予測力を備えた微調整されたモデル。しかし、これは非常に複雑な問題であり、絶え間ない試行錯誤が必要なため、優れたMLパイプラインを作成することは依然として長期的であり、多大な労力を必要とします。開業医は通常、デフォルトの次善のMLパイプラインのみを使用します。

記事の寄稿:

1.プロセス全体をカバーするautomlパイプラインの数式定義
2.オープンソースフレームワークのautomlパイプラインを確認し
ます3.
さまざまなハイパーパラメーター調整アルゴリズムライブラリのエクスペリエンス評価4.さまざまなautomlフレームワークのエクスペリエンス評価

2.問題の定式化

3.パイプライン構造の作成

3.1固定形状に
は2つの固定パイプラインがあります:プロトタイプMLパイプラインと固定MLパイプライン
-w578
[外部リンク画像の転送に失敗しました。ソースサイトにリーチ防止リンクメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-gfiMcjSM-1583023864585)(http ://anki190912.xuexihaike.com/mweb/15813263917669-2020-03-01.jpg)]

3.2可変形状
より柔軟なMLパイプラインを作成する他の方法は、遺伝子プログラミング、階層タスクネットワーク、モンテカルロツリー検索、セルフプレイです。

4.アルゴリズムの選択とハイパーパラメータの最適化アルゴリズムの選択とハイパーパラメータの最適化

アルゴリズム選択とハイパーパラメーター最適化(CASH)アルゴリズム選択とパラメーター調整の組み合わせ

難しさ:1。2
つのステップが同時に実行されます
。2 ブラックボックス最適化の問題
です。3。検索スペースが大きすぎて複雑
です。4。ハイパーパラメータに離散値と実数値の両方が含まれています。混合整数非線形最適化の問題です
。5。ハイパーパラメータ必須ハイパーパラメータと条件付きハイパーパラメータの2つのカテゴリが含まれます

提案されたスキーム:パラメータ空間をツリーとして理解し、ハイパーパラメータを子ノードに強制し、条件付きハイパーパラメータは強制ハイパーパラメータの子ノードになります
[外部リンク画像の転送に失敗しました。ソースサイトにリーチ防止メカニズムがある可能性があります。画像を直接保存することをお勧めします。アップロード(img-VXlJL2aw-1583023864586)(http://anki190912.xuexihaike.com/mweb/15816064033401-2020-03-01.jpg)]

4.1グリッド検索

可能なすべての構成
リストされています。長所:実装が簡単で並列。
短所:
1。パラメーターの組み合わせはパラメーターの数とともに指数関数的に増加します
。2。階層構造のスーパーパラメーターは冗長なスーパーパラメーターの組み合わせを考慮しません。3
。十分に検討されていません。パフォーマンスは良いが、部分的に削除できるスペース。解決策は、最初に大まかなグリッドを検索してから、適切な場所を細かく検索することです。

4.2ランダム検索

利点:実装が簡単で並列であり、多くのローカル最適値を持つ勾配のない関数に適しています。収束速度はグリッド検索よりも高速です。既知の適切な検索スペースがない場合に必要です。
欠点:検索時間が長い

4.3シーケンシャルモデルベースの最適化(SMBO)

研究すべき重要なポイント
は、ガウスプロセスとプロキシ関数としてのランダムフォレスト回帰に基づいています

4.4進化的アルゴリズム

利点:目的関数に関する仮定がないため、多くの最適化問題に適しています。
粒子群の最適化は便利ですが、離散および整数のハイパーパラメーターを連続空間にマッピングする必要があります。

4.5多腕バンディット学習

グリッド検索には個別のハイパーパラメーターしか含めることができないため、多くのSMBOメソッドは混合検索スペースと条件付き検索スペースに制限されています。このメソッドは、グリッド検索の個別ハイパーパラメーターに基づいて、ハイパーパラメータースペース全体を有限の小さなパラメータースペースに分割します。これはハイパーパーティションと呼ばれ、連続したハイパーパラメータのみが含まれ、ベイジアン最適化が各パーティションで使用されます。
この方法は通常、他の最適化方法と組み合わされます。

4.6勾配降下

目的関数が区別可能で閉じている場合に使用可能

5.自動データクリーニング

データクリーニングの目的は、誤ったデータを削除してコードの品質を向上させることです。一般的なデータエラーには、データの欠落、冗長データ、無効な値、複数のデータセット間のリンクの切断などがあります。
データクリーニングには、エラー検出とエラー修復の2つのタスクが含まれます。

ほとんどの方法の目標は、データサイエンティストがデータをクリーニングするのを支援することであり、自動データクリーニングを実行することはできません。

通常、固定データのクリーニング手順は次のとおりです。不足している値を入力し、無限の値や異常値などの間違った値でサンプルを削除し、機能を正規化します
。MLパイプラインの後続の手順では、現在のautoMLフレームワークが要求しないように特定のデータが必要になる場合があります。高度なデータクリーニング研究作業を検討する

ドメインの知識を含むデータクリーニングは、データ品質を大幅に向上させます

6.自動機能エンジニアリング

特徴抽出、特徴構築、特徴選択の3つのサブタスクに分けられます。
特徴エンジニアリングにおける特徴構築は、ドメインの知識に大きく依存しており、一般的な知識として使用するのは非常に困難です。

6.1機能の生成

新しい機能を生成するための機能生成の方法は、元の機能(機能抽出)を関数を介して新しい機能にマッピングするか、ソース機能で欠落している関係を見つけることです。このステップはドメインの知識に大きく依存しており、自動化が困難です。

自動機能生成フローチャート:通常、一連の候補機能を生成して並べ替えるためのソースデータに基づいて、ランクの高い評価の機能がデータセットに配置されます
[外部リンクの画像転送が失敗し、ソースサイトにリーチ防止メカニズムがある可能性があるため、画像を保存して直接アップロードすることをお勧めします(img-ytxTOdF0-1583023864587)(http://anki190912.xuexihaike.com/mweb/15816411215647-2020-03-01.jpg)]

事前定義された新しい機能の生成方法:
unary:一次元機能、離散化、標準化、正規化、日付抽出、ログ
バイナリ:相関テストと新しい機能の生成(調査が必要)
高次:通常はSQLグループ化、すべてのデータは特定の機能に従ってグループ化され、最大および最小の平均や数量などの統計が使用されます

通常は、一連のフィーチャ生成メソッドを事前に定義します。このメソッドによってフィーチャが抽出および生成された後、新しいフィーチャを使用して、新しいフィーチャが実際にモデルのパフォーマンスを向上させることができるかどうかを判断し、ソースデータに追加します。
このメソッドの反復ラウンドには非常に時間がかかります。そして、ほとんどのメソッドには有用な情報が含まれていません

6.2機能の選択

冗長で誤解を招く機能を削除して、トレーニングモデルの解釈可能性を向上させます。
最新のautoMLによって統合された方法には、単変量選択、分散選択、機能の重要性、相関行列、または安定性の選択が含まれます。

機能の選択では、ラッパー関数を使用して特定のMLモデルのパフォーマンスが向上するかどうかをテストします。最適な機能のサブセット
見つける簡単な方法は、ランダムに検索するか、サブセットを詳細にテストすることです。ヒューリスティックな方法は、単一の機能を徐々に追加するか、組み合わせて使用​​することです。前方および後方選択のほか、強化問題としてのサブセット選択の使用、および遺伝子プログラミング(調査予定)

値の多様性や他の機能との相互情報など、新しい機能ごとにメタ機能の計算もあります(調査対象)

7パフォーマンスの向上

7.1マルチフィデリティ近似(調査予定)

autoMLおよびCASHの問題の主な問題の1つは、ターンアラウンドタイムが非常に長いことです。この問題を回避する1つの方法は、マルチフィデリティ近似です。つまり、データサイエンティストは通常​​、トレーニングデータのサブセットまたはサブ機能を使用して、選択したパラメータを最初にテストします。この場合、不良パラメータはすぐに破棄できます。

簡単な方法は、トレーニングセットの複数のランダムなサブセットをランダムに選択することです。より洗練された方法は

7.2早期打ち切り

autoMLフレームワークは通常、早期停止を使用します。つまり、次の相互検証の最初の妥協のパフォーマンスが大幅に低下すると、停止します。
また、2つの方法についても説明します。1。
反復手順で複数の構成を同時に検討することにより、各ステップで最も有望な構成を最適化できます。反復手順で複数の構成を
同時に観察することで、各ステップで最も有望な構成を最適化できます。ハイパーパラメータ構成は、各ステップで最適化できます
。2。複数の問題インスタンスを並行して実行します一部の問題インスタンスは時間がかかる場合があり、実行プロセス中に動的時間しきい値を取得でき、長期インスタンスを中断できます。

7.3スケーラビリティ

マルチコアまたはクラスターの並列処理を使用して、過剰な計算の問題を解決します。autoMLには多くのモデリング手順があるため、
ランダム検索、グリッド検索、および進化的アルゴリズムで並列に各クラスターに異なるインスタンスを割り当てるのは比較的簡単ですが、SMBOはより困難です。
可能な解決策は、すべての評価後に構成内の構成ではなく最適なtopk構成を選択することであるため、一連の手順です。プロキシモデルが更新され、評価が開始されます。次のバッチで
は、サービスautoML方式を追加で使用できます
[外部チェーン画像の転送に失敗しました。ソースサイトにリーチ防止チェーンメカ​​ニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-W5W2jgFG-1583023864588)(http://anki190912.xuexihaike.com/mweb/15816537047503-2020-03-01.jpg )]

7.4アンサンブル学習

複数のモデルの予測を
組み合わせて、モデルのスタッキングを改善します

7.5メタラーニング(調査予定)

機械学習アルゴリズムを学習する学習プロセスの
利点は次のとおり
です。1。個々のハイパーパラメータの重要性を評価することにより、重要でないハイパーパラメータをハイパーパラメータ空間から削除できます
。2。経験的パフォーマンスが低い候補は、予測パフォーマンスからフィルタリングできます。構成
3を参照してください。ホットスタート
4.パイプライン構造検索の構築に適しています

8.選択されたフレームワーク

8.1現金アルゴリズム

[外部リンク画像の転送に失敗しました。元のサイトにリーチ防止リンクメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-Tly95P4J-1583023864588)(http://anki190912.xuexihaike.com/mweb/15816607573240-2020-03-01 .jpg)]

8.1.1ベースラインメソッド

ダミー分類子は、階層化されたサンプリングを使用してランダムな結果を生成します
ランダムフォレスト

8.1.2グリッド検索

scikit-learnでGRIDSEARCHCVを使用します。これは、単一のマシンで並列化できます。

8.1.3ランダム検索

scikit-learn、スタンドアロン並列でRamdomSearchCVを使用する

8.1.4 RoBO

ベイジアン最適化の一般的なフレームワーク、サポートされているプロキシモデルには、ガウスプロセス、ランダムフォレスト、ベイジアンニューラルネットワークが含まれます
。1つの制限は、個別のハイパーパラメータがサポートされていないことです。

8.1.5 BTB

BTBは、マルチアームバンディット学習を使用して、RoBOが個別のスーパーパラメーターをサポートしないという制限を回避します。

8.1.6 Hyperopt

代理モデルTPEを使用するSMBOは、複数のインスタンスを使用して階層ハイパーパラメーターをモデル化し、反復回数は時間ではなく数に制限されるため、
並列化容易です。配布を通じて多くの新しい候補ハイパーパラメータ構成を生成し、それによって効率を向上させます

8.1.7 SMAC

離散変数を明示的にサポートする最初のフレームワークは、時間と時間による反復をサポートでき、ランダムフォレスト回帰モデリングの
組み込みサポートを使用して、一定時間後にハイパーパラメーターの最適化を停止します。このメソッドは、特定の時間後に特定のパフォーマンスをすばやく停止できます。貧弱なモデル(重要)
は並列化できます

8.1.8 BOHB

ベイジアン最適化とハイパーバンドの組み合わせ。ハイパーバンドの制限は、テストするハイパーパラメータをランダムに生成することです。BOHBは、このプロセスの代わりにSMBO(TPE)を使用します。

8.1.9機会

多くのソルバーがあります。ここでは粒子群アルゴリズムが使用されます。離散スーパーパラメーターは整数スーパーパラメーターにマップされます(つまり、連続スーパーパラメーター処理)。

8.2Automlフレームワーク

-w750

8.2.1ベースラインメソッド

ダミー分類子は、階層化されたサンプリングを使用してランダムな結果を生成します。
単純なパイプラインには、欠落値の入力とランダムなフォレストが含まれます。

8.2.2 TPOT

遺伝子プログラミングを使用して、パイプラインを柔軟に作成し、パイプラインの各段階でアルゴリズムを選択します。
使用できるのは離散変数のみです。グリッド検索と同様に、すべての連続変数を最初に離散化する必要があります。違いは、遺伝子プログラミング
使用してアルゴリズムを微調整できることです。パイプラインを作成する機能は、非常に簡単にオーバーフィットできます。これを補うために、TPOTは、高性能と低いパイプラインの複雑さの組み合わせを最適化します。したがって、パイプラインは、多目的選択戦略を使用してパレートフロントから選択されます。すべてのパフォーマンスの評価単一世代の個人は、最適化を高速化するために並列化されます。最終的に、TPOTは単一の最高のパフォーマンスのパイプラインを返します
パイプラインを任意に作成する機能に制限はありません。ルールを満たさないパイプラインに制限はありません。RECPIEは改善を提案し、すべてのscikit-learnメソッドをサポートします。

8.2.3 Hyperopt-sklearn(HPSKLEARN)

固定パイプラインには、1つの前処理と1つの分類または回帰モデルのみがあります。モデルはすべてsklearnであり、hyperoptがチューニングに使用されます。過剰適合
前処理を防ぐための相互検証の使用は、PCA、標準または最小-最大スケーリングおよび正規化のみをサポートします。コーディングと文字列の前処理はデフォルトで無効になっています。

8.2.4自動sklearn

固定パイプライン、固定データクリーニング手順:オプションのカテゴリエンコーディング、インピュテーション、低分散の変数の削除、オプションのスケーリング、
オプションの前処理、必須のモデリングアルゴリズムが選択され、SMACによって調整されます

単一のマシンまたはクラスターで並列化することで改善され、各チューニングには時間制限があり
ます。メタラーニングは
、統合された方法を使用して、追加の140データセットで実行される最適化プロセスを初期化するために使用されます。

8.2.5ランダム検索

auto-sklearnのランダム検索を別のベースラインとして使用する

8.2.6 ATM

これは、並列化に重点を置いて単一の評価をクラスターに分散できるようにする共同サービスです
。n個の
オプションのPCA、オプションの標準または最小-最大スケーリングとそれに続く調整可能な分類アルゴリズムを含む単純なパイプライン結果を
使用します。sklearnおよびその他のアルゴリズムを使用します。 BTBチューニングで
は、中央データベースを使用してすべてのデータセットを保存します。テストされた構成とパフォーマンス
もメタラーニングを使用します。

8.2.7 H2O AUTOML

H2Oは分散MLフレームワークです
。H2Oautomlは、前処理をスキップして分類アルゴリズムを選択および調整し、(カルテシアン)カルテシアンまたはランダムグリッド検索を使用して、
最終的に良好な結果を統合できます。

10将来の研究のための議論と機会

1.グリッド検索のすべてのCASHアルゴリズムを除いて、パフォーマンスは非常に類似しており、ランダム検索のパフォーマンスは悪くありません。最終結果は、すべてのデータセットの最高のパフォーマンスの差が1%以下であることを示しています
。2。autoMLフレームワークのパフォーマンスも、単一のデータで非常に類似しています。セットの最大の違いは6%です。3
。特殊なパイプラインの可能性は現在まったく利用されていません
。4。現在autoMLは監視された学習のみに焦点を当てています。5。CASH
はドメインに関連しておらず、1つのデータであるため、現在CASHの問題のみが自動化されています。科学者は実際のデータクリーニングと機能エンジニアリングの60〜80%を費やし、モデルの調整に費やす時間はわずか4%です。6
。高度なデータクリーニング、機能構築、柔軟なパイプライン構築の3つの領域があります。現在、論文は多くありませんが、これはautoMLのパフォーマンスを向上させるための重要な3つの方向性です。7。
動的パイプライン+自動機能エンジニアリング+高度なCASHメソッドの組み合わせのみが現在のautoMLフレームワークを打ち負かすことができますが、長期的な目標は完全なパイプラインを自動的に構築することであり、すべてのコンポーネントは最適化

8. autoMLを使用する経験の浅いユーザーの2つの主な欠点:
(1)ドメインエキスパートのデータセットに関する深い知識により、検索スペースが大幅に削減される可能性があります
(2)MLの解釈可能性がよりわかりにくくなります

11結論


1.114の公開データセットでCASHアルゴリズムのテストを提供しました2.autoMLフレームワークをテストしました
3.これらのフレームワークで使用されているテクノロジーを要約しました
4.現在の問題の定義を拡張しました

現在の高度なautomlフレームワークは、ドメインの専門家が面倒な作業を回避するためにMLパイプラインを構築するのに役立ちますが、一般的なフレームワークの自動構築は依然として非常に基本的であり、人間の経験と比較することはできません。

おすすめ

転載: blog.csdn.net/u011703187/article/details/104586791