ゼファーネットのロゴ

自動機械学習の概要

日付:

自動機械学習の概要

AutoMLを使用すると、MLの専門知識(およびコーディングの経験)が限られている開発者は、ビジネスニーズに固有の高品質モデルをトレーニングできます。 この記事では、日常のビジネスおよびテクノロジーアプリケーションに対応するAutoMLシステムに焦点を当てます。


automl への紹介.png

AutoMLシステムとは何ですか?

 
 
機械学習(ML)は、人工知能(AI)のより広いドメインのサブフィールドとして、あらゆる種類の業界とビジネスドメインを引き継いでいます。 これには、小売、ヘルスケア、自動車、金融、エンターテインメントなどが含まれます。 あらゆる種類の操作でこのように広く採用され、多様なスキルを備えた従業員が採用するにつれ、機械学習の操作方法を学ぶことがますます重要になっています。

このML使用の拡大により、 組織内の従業員の断面積は増え続けています、あらゆる種類のバックグラウンドのビジネス専門家が使用できるシステムを開発することが重要になっています。 そしてそれはこれらのシステムを意味します コーディングやプログラミング指向だけにすることはできません ソフトウェアエンジニアやデータサイエンティストが使用するもののように。

ここで、AutoMLシステムが登場します。

つまり、AutoMLは MLの専門知識が限られている開発者 (およびコーディング経験)彼らに固有の高品質モデルをトレーニングする ビジネスニーズ。 学術研究の観点からAutoMLには他の側面があります(つまり、特定のデータ型に最適なMLアルゴリズムを検索し、そのようなシステムに関する理論的特性を証明します)。 ただし、この記事では、日常のビジネスおよびテクノロジーアプリケーションに対応するAutoMLシステムに焦点を当てます。

AutoMLシステムが人気を博しているのはなぜですか?

 
 
前述のように、あらゆる種類のバックグラウンドとスキルセットの専門家が、それぞれのビジネスまたはR&D活動のためにデータサイエンスと機械学習の分野に参入しています。 それらのすべてが、統計科学または機械学習理論の厳密な背景または正式なトレーニングを持っているわけではありません.

データセットを調達または取り込み、完全なデータ探索とモデルトレーニングワークフローに従い、MLアプリケーションのトレーニング済みモデルをダウンストリームで生成できる必要があります。

それはもっと 時間がかかる 彼らがこれらすべてを自分でしなければならない場合、彼らの側で:

  • 可能なすべてのMLアルゴリズムを検索し、
  • トレーニングデータセットでそれらを評価し、
  • 検証セットのパフォーマンスを厳密にチェックし、
  • 追加の判断(メモリとCPUフットプリント)を適用して、エンドアプリケーションに最適なモデルを選択します。

AutoMLシステムは、大部分、これをすべて行います データサイエンティストのための重労働 またはアナリストが、本番環境ですぐに使用できるように高度に最適化されたトレーニング済みMLモデルの生成を自動化または合理化します。

その結果、これらのシステムは、次の理由でデータサイエンスを多用している組織の間で人気を集めています。

  • 比較的リーンな労働力がそのようなシステムを利用して多数のMLモデルをトレーニングおよび最適化できるため、組織の人件費と人員を節約できます。
  • モデルのトレーニングと最適化だけでなく、データサイエンスのいわゆる退屈な側面(つまり、データの取り込み、解析、ラングリング、機能の探索を大幅に)を自動化することで、エラーの可能性を減らします。
  • 比較的高性能な標準を使用して、MLを利用したアプリケーションの大部分の市場投入までの時間を短縮します

市場投入までの時間に関しては、AutoMLシステムによって生成された最終結果は、熟練したMLエンジニアによって設計されたもの(手作りの特徴エンジニアリングまたは深層学習チューニングを使用)と比較して、パフォーマンスが低く、最適化されていない可能性があると主張できます。 )。

ただし、この種の手動調整は時間のかかるプロセスであることが多く、ほとんどの場合、比較的短い時間で適切なMLモデルを使用して本番環境に対応できる状態にすることは、時間を無駄にするよりも組織にとってはるかに重要です。絶対に最高のパフォーマンスを発揮するモデルの作成について。 AutoMLシステムは、組織がこの重要なビジネス目標を達成するのに役立ちます。そのため、その人気が高まり、広く採用されています。

今、組織は簡単に得ることができます カスタム機械学習ワークステーション 従業員のために、AutoMLなどのツールをインストールして、稼働中の機械学習ベースのシステムをすばやく起動し、AI対応の生産の次のステップに進んで、これまでにない速さで結果を市場に投入します。

AutoMLシステムの種類といくつかの著名な例

 
 
AutoMLシステムには、データサイエンスまたはMLワークフローのさまざまなカテゴリのタスクに対応するため、かなりの数の種類があります。

AutoMLシステムのいくつかのタイプは次のとおりです。

  • 自動化されたパラメータ調整のためのAutoML(比較的基本的なタイプ)
  • たとえば、非深層学習用のAutoML 自動Sklearn。 このタイプは主に、データの前処理、自動化された特徴分析、自動化された特徴検出、自動化された特徴選択、および自動化されたモデル選択に適用されます。
  • ディープラーニング/ニューラルネットワーク用のAutoML。ニューラルアーキテクチャ検索(NAS)用に特別に設計されたシステムや、次のようなユーティリティパッケージが含まれます。 オートケラ 非常に人気のあるディープラーニングフレームワークの上に構築されています。

自動Sklearn

 
名前が示すように、Auto-Sklearnはscikit-learn上に構築された自動機械学習ソフトウェアパッケージです。 Auto-Sklearnは、データサイエンティストをアルゴリズムの選択とハイパーパラメーターの調整のタスクから解放します。 基本的に、新しい機械学習データセットに適した学習アルゴリズムを自動的に検索し、ハイパーパラメータを最適化します。

これは、で導入された効率的な大域的最適化を使用して一般的な機械学習フレームワークを構成するという考えを拡張します。 オートWEKA。 一般化を改善するために、Auto-Sklearnは すべてのモデルのアンサンブル グローバル最適化プロセス中にテストされました。 最適化プロセスをスピードアップするために、Auto-Sklearnは メタ学習 類似のデータセットを識別し、 過去に集めた知識.

これには、次のような特徴エンジニアリング手法が含まれます。 ワンホットエンコーディング、デジタル機能の標準化、および主成分分析(PCA)。 中核となるライブラリは、scikit-learn推定量を使用して、分類と回帰の問題を処理します。

フィギュア
Auto-Sklearnのワークフローと図

 

ドキュメンテーション:あなたは見つけることができます 詳細なドキュメントはこちら.

コード例:ここでは、Auto-Sklearnを使用した基本的な分類タスクのコード例を示します。 scikit-learnパッケージの組み込みデータセットを使用して、数字を分類するためのMLモデルを構築します。

import autosklearn.classification
import sklearn.model_selection
import sklearn.datasets
import sklearn.metrics if __name__ == "__main__": X, y = sklearn.datasets.load_digits(return_X_y=True) X_train, X_test, y_train, y_test = sklearn.model_selection.train_test_split(X, y, random_state=1) automl = autosklearn.classification.AutoSklearnClassifier() automl.fit(X_train, y_train) y_hat = automl.predict(X_test) print("Accuracy score", sklearn.metrics.accuracy_score(y_test, y_hat))

OSに関する注意:Auto-SklearnはPythonモジュールリソースに大きく依存しています。 このモジュールはPythonのUnix固有のサービスの一部であり、Windowsマシンでは使用できません。 したがって、現在のところ、Windowsマシンでauto-sklearnを実行することはできません。

可能な解決策:

  • Windows 10 bashシェル(提案については431および860を参照)
  • 仮想マシン
  • Dockerイメージ

MLボックス

 

MLBoxは、強力な自動機械学習Pythonライブラリです。 公式ドキュメントによると、次の機能を提供します。

  • 高速読み取りと分散データの前処理/クリーニング/フォーマット
  • 非常に堅牢な特徴選択とリーク検出、および正確なハイパーパラメータの最適化
  • 分類と回帰のための最先端の予測モデル(ディープラーニング、スタッキング、LightGBM)
  • モデル解釈による予測
  • MLBoxはKaggleでテストされており、優れたパフォーマンスを示しています
  • パイプラインの建物

TPOT

 
TPOT AutoML

TPOTは、遺伝的プログラミングを使用して機械学習パイプラインを最適化するPython自動機械学習ツールです。 また、scikit-learnの上に構築されています。

フィギュア
TPOTパイプラインの例( https://epistasislab.github.io/tpot/)

 

ドキュメンテーション:これが ドキュメントリンク.

コード例: 

from tpot import TPOTClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
import numpy as np iris = load_iris()
X_train, X_test, y_train, y_test = train_test_split(iris.data.astype(np.float64), iris.target.astype(np.float64), train_size=0.75, test_size=0.25, random_state=42) tpot = TPOTClassifier(generations=5, population_size=50, verbosity=2, random_state=42)
tpot.fit(X_train, y_train)
print(tpot.score(X_test, y_test))
tpot.export('tpot_iris_pipeline.py')

オートケラ

 
AutoKerasは、によって開発された自動機械学習用のオープンソースソフトウェアライブラリです。 テキサスA&M大学のデータラボ。 ディープラーニングフレームワークの上に構築 ケラス、AutoKerasは、深層学習モデルのアーキテクチャとハイパーパラメータを自動的に検索する機能を提供します。

AutoKerasは、従来のscikit-learn API設計に従っているため、使いやすいです。 このフレームワークの目標は、自動を使用してMLの実践と研究を簡素化することです ニューラルアーキテクチャ検索(NAS) アルゴリズム

ドキュメンテーション:詳細はこちら ドキュメントリンク.

コード例: MNIST画像分類タスクのサンプルコード例を次に示します。

import numpy as np
import tensorflow as tf
from tensorflow.keras.datasets import mnist
import autokeras as ak # Data loading
(x_train, y_train), (x_test, y_test) = mnist.load_data() # Initialize the image classifier.
clf = ak.ImageClassifier(overwrite=True, max_trials=1)
# Feed the image classifier with training data.
clf.fit(x_train, y_train, epochs=10) # Predict with the best model.
predicted_y = clf.predict(x_test)
print(predicted_y) # Evaluate the best model with testing data.
print(clf.evaluate(x_test, y_test))

AutoMLシステムとその重要性の要約

 
 
この記事では、自動化されたMLフレームワーク、いわゆるAutoMLシステムの背後にあるコアアイデアを説明することから始めました。 それらの有用性と、さまざまなビジネスおよびテクノロジー組織で注目を集めている理由について説明しました。 また、いくつかの著名なAutoMLライブラリとフレームワークを、必要に応じて関連するコード例とアーキテクチャの図とともに紹介しました。

これらの強力なフレームワークについて学ぶことは、機能と広範な使用法が成長し続けるため、今後のデータサイエンティストにとって有益です。

以下にコメントをドロップして、興味のあるトピックについてお知らせください。または、お気軽に Rescale Support あなたが持っている質問でいつでも。

 
バイオ: ケビン・ヴ Exxact Corpブログを管理し、ディープラーニングのさまざまな側面について書いている才能のある著者の多くと協力しています。

元の。 許可を得て転載。

関連する


PlatoAi。 Web3の再考。 増幅されたデータインテリジェンス。
アクセスするには、ここをクリックしてください。

出典:https://www.kdnuggets.com/2021/09/introduction-automated-machine-learning.html

スポット画像

最新のインテリジェンス

スポット画像