(57)【要約】機械学習モデルおよび／または特徴エンジニアリング・プロセスのための好適なハイパーパラメータを決定するための方法およびシステムが提供される。好適な機械学習モデルおよび関連するハイパーパラメータが、データセットを解析することによって決定される。共通の一つまたは複数のハイパーパラメータおよび互換性のあるデータセット・スキーマを有する互換性のある機械学習モデルのための好適なハイパーパラメータ値が識別される。ハイパーパラメータは、モデルのパフォーマンス・メトリックに対するそれぞれの影響に応じてランク付けされてもよく、より大きな影響をもつと識別されたハイパーパラメータ値は、より積極的に探索されてもよい。
2021533450.tif 000002
【特許請求の範囲】
【請求項１】
自動化された機械学習システムにおいて実行される、コンピュータ実装される方法であって、当該方法は：
第1のデータ・スキーマを有する第1のデータセットを受領する段階と；
前記データセットの特性に基づいてメタデータを生成する段階と；
前記メタデータに基づいて、コンピュータ・プロセッサによって、前記データセットへの適用に好適な機械学習モデルを選択する段階と；
選択された機械学習モデルに関連する複数のハイパーパラメータの各ハイパーパラメータについて、各ハイパーパラメータの、前記選択された機械学習モデルの一つまたは複数のパフォーマンス・メトリックに対する影響度を識別する段階と；
前記選択された機械学習モデルの第1のバージョンを識別する段階と；
前記選択された機械学習モデルの第1のバージョンと共通の一つまたは複数のハイパーパラメータを有する前記選択された機械学習モデルの第2のバージョンを識別し；
前記第1のデータ・スキーマと前記選択された機械学習モデルの前記第2のバージョンに関連する第2のデータセットの第2のデータ・スキーマとの間の類似性を識別することに基づいて、
前記選択された機械学習モデルの第1のバージョンに関連する複数の以前に記憶されたハイパーパラメータ値を取得する段階と；
前記以前に記憶されたハイパーパラメータ値の一つまたは複数についての値の範囲を、閾値に基づいて決定する段階と；
前記選択された機械学習モデルの前記第2のバージョンに関連する前記一つまたは複数のハイパーパラメータのうちのハイパーパラメータと共通である前記選択された機械学習モデルの前記第1のバージョンに関連する前記複数のハイパーパラメータの各ハイパーパラメータについて：
各関連するハイパーパラメータについての識別された影響度に基づいて、決定された値の範囲から、ハイパーパラメータ値の第1のグループを選択し；
前記選択された機械学習モデルの前記第2のバージョンに関連する前記一つまたは複数のハイパーパラメータのうちのハイパーパラメータと共通でない前記選択された機械学習モデルの前記第1のバージョンに関連する前記複数のハイパーパラメータの各ハイパーパラメータについて：
各関連するハイパーパラメータについての識別された影響度に基づいて、ハイパーパラメータ値の第2のグループを選択する段階と；
ハイパーパラメータ値の第1の選択されたグループ、ハイパーパラメータ値の第2の選択されたグループ、および前記データセットを使用して、前記選択された機械学習モデルの前記第1のバージョンをトレーニングする段階とを含む、
方法。
【請求項２】
前記メタデータが：
トレーニング集合のサイズ、前記データセットにおける特徴の数、前記データセットにおける諸データ・フィールドの諸タイプの割合、分類問題のタイプ、前記データセットにおける諸データ・フィールドの諸タイプの分散、および前記データセットの特徴がある統計分布に従うかどうかの指標
からなる群から選択された少なくとも1つを含む、請求項１に記載の方法。
【請求項３】
機械学習モデルを選択する段階が：
入力としての前記メタデータに基づいて二次機械学習モデルを実行することを含み、前記二次機械学習モデルは、前記選択された機械学習モデルの前記第1のバージョンの選択を返し、前記選択された機械学習モデルの前記第1のバージョンと一緒に使用するための好適な機械学習ハイパーパラメータ値を返すものである、
請求項１に記載の方法。
【請求項４】
前記一つまたは複数のパフォーマンス・メトリックは、確度、エラー、精度、再現率、受信者動作特性（ROC）曲線の下の面積、および精度再現率曲線の下の面積からなる群から選択された少なくとも1つを含む、請求項１に記載の方法。
【請求項５】
影響度を識別する段階が、さらに：
入力としての前記選択された機械学習モデルの前記第1のバージョンに関連する前記複数のハイパーパラメータを使用して二次機械学習モデルを実行することを含み、前記二次機械学習モデルは、前記選択された機械学習モデルの前記第1のバージョンの前記一つまたは複数のパフォーマンス・メトリックに対する影響度に応じて、前記複数のハイパーパラメータのランク付けを返すものである、
請求項１に記載の方法。
【請求項６】
各関連するハイパーパラメータについての識別された影響度に基づいて選択することが、さらに：
前記複数のハイパーパラメータのそれぞれについてのハイパーパラメータ値を探索に基づいて識別することを含み、前記探索は可変の粒度を有し、前記探索の粒度は、前記複数のハイパーパラメータのそれぞれの、前記選択された機械学習モデルの前記第1のバージョンの前記一つまたは複数のパフォーマンス・メトリックに対する影響度に対応する、
請求項１に記載の方法。
【請求項７】
各関連するハイパーパラメータについての識別された影響度に基づいて、決定された値の範囲から、ハイパーパラメータ値の第1のグループを選択することが、さらに：
前記選択された機械学習モデルの前記第1のバージョンのハイパーパラメータのうちの一つまたは複数について、決定された値の範囲内のハイパーパラメータ値を探索に基づいて識別することを含み、前記探索は可変の粒度を有し、前記探索の粒度は、前記複数のハイパーパラメータのそれぞれの、前記選択された機械学習モデルの前記第1のバージョンの一つまたは複数のパフォーマンス・メトリックに対する影響度に対応する、
請求項１に記載の方法。
【請求項８】
各関連するハイパーパラメータについての識別された影響度に基づいて、ハイパーパラメータ値の第2のグループを選択することが、さらに：
前記選択された機械学習モデルの前記第1のバージョンのハイパーパラメータのうちの一つまたは複数について、決定された値の範囲内のハイパーパラメータ値を探索に基づいて識別することを含み、前記探索は可変の粒度を有し、前記探索の粒度は、前記複数のハイパーパラメータのそれぞれの、前記選択された機械学習モデルの前記第1のバージョンの一つまたは複数のパフォーマンス・メトリックに対する影響度に対応する、
請求項１に記載の方法。
【請求項９】
前記閾値のサイズは、前記一つまたは複数の以前に記憶されたハイパーパラメータの、前記選択された機械学習モデルの前記第1のバージョンの一つまたは複数のパフォーマンス・メトリックに対する影響度に基づいて変わる、請求項１に記載の方法。
【請求項１０】
自動化された機械学習システムにおいて機械学習モデルのための一つまたは複数の好適なハイパーパラメータを決定するコンピュータ実装される方法であって、当該方法は：
データ・スキーマを有するデータセットを受領する段階と；
前記データセットの特性に基づいてメタデータを生成する段階と；
前記メタデータに基づいて、コンピュータ・プロセッサによって、前記データセットへの適用に好適な機械学習モデルを選択する段階と；
前記データセットを使用して、前記選択された機械学習モデルをトレーニングする段階とを含む、
方法。
【請求項１１】
機械学習モデルを選択する段階が、さらに：
入力としての前記メタデータを使って二次機械学習モデルを実行することを含み、前記二次機械学習モデルは、前記機械学習モデルの前記選択と、前記機械学習モデルと一緒に使用するための好適な機械学習ハイパーパラメータ値を返すものである、
請求項１０に記載の方法。
【請求項１２】
前記メタデータが：
トレーニング集合のサイズ、前記データセットにおける特徴の数、前記データセットにおける諸データ・フィールドの諸タイプの割合、分類問題のタイプ、前記データセットにおける諸データ・フィールドの諸タイプの分散、および前記データセットの特徴がある統計分布に従うかどうかの指標
からなる群から選択された少なくとも1つを含む、請求項１０に記載の方法。
【請求項１３】
自動化された機械学習システムにおいて機械学習モデルのための一つまたは複数の好適なハイパーパラメータを決定する方法であって、当該方法は：
機械学習モデルの選択を受領する段階と；
選択された機械学習モデルに関連する複数のハイパーパラメータの各ハイパーパラメータについて、前記選択された機械学習モデルの一つまたは複数のパフォーマンス・メトリックに対する影響度を識別する段階と；
各ハイパーパラメータについての識別された影響度に基づいて、前記選択された機械学習モデルと関連して使用するための、前記複数のハイパーパラメータのそれぞれについてのハイパーパラメータ値を選択する段階と；
前記複数のハイパーパラメータのそれぞれについて、選択されたハイパーパラメータ値を使って前記選択された機械学習モデルをトレーニングする段階とを含む、
方法。
【請求項１４】
前記一つまたは複数のパフォーマンス・メトリックは、確度、エラー、精度、再現率、受信者動作特性（ROC）曲線の下の面積、および精度再現率曲線の下の面積からなる群から選択された少なくとも1つを含む、請求項１３に記載の方法。
【請求項１５】
前記識別する段階が、さらに：
入力としての前記選択された機械学習モデルに関連する前記複数のハイパーパラメータを使用して二次機械学習モデルを実行することを含み、前記二次機械学習モデルは、前記選択された機械学習モデルの前記一つまたは複数のパフォーマンス・メトリックに対する影響度に応じて、前記複数のハイパーパラメータのランク付けを返すものである、
請求項１３に記載の方法。
【請求項１６】
前記選択することが、さらに：
前記複数のハイパーパラメータのそれぞれについてのハイパーパラメータ値を探索に基づいて識別することを含み、前記探索は可変の粒度を有し、前記探索の粒度は、前記複数のハイパーパラメータのそれぞれの、前記選択された機械学習モデルの前記一つまたは複数のパフォーマンス・メトリックに対する影響度に対応する、
請求項１３に記載の方法。
【請求項１７】
自動化された機械学習システムにおいて機械学習モデルのための一つまたは複数の好適なハイパーパラメータを決定する方法であって、当該方法は：
機械学習モデルの選択を受領する段階と；
第1のデータ・スキーマを有する第1のデータセットを受領する段階と；
前記選択された機械学習モデルの第1のバージョンを識別する段階と；
前記選択された機械学習モデルの第1のバージョンと共通の一つまたは複数のハイパーパラメータを有する前記選択された機械学習モデルの第2のバージョンを識別し；
前記第1のデータ・スキーマと前記選択された機械学習モデルの前記第2のバージョンに関連する第2のデータセットの第2のデータ・スキーマとの間の類似性を識別することに基づいて、
前記選択された機械学習モデルに関連する複数の以前に記憶されたハイパーパラメータ値を受領する段階と；
前記以前に記憶されたハイパーパラメータ値の一つまたは複数についての値の範囲を、閾値に基づいて決定する段階と；
前記選択された機械学習モデルの一つまたは複数のハイパーパラメータについての値を、決定された値の範囲から選択する段階と；
選択された値を使用して、前記選択された機械学習モデルの前記第1のバージョンをトレーニングする段階とを含む、
方法。
【請求項１８】
前記選択された機械学習モデルの一つまたは複数のハイパーパラメータについての値を選択する段階が、さらに：
前記選択された機械学習モデルのハイパーパラメータのうちの一つまたは複数について、決定された値の範囲内のハイパーパラメータ値を探索に基づいて識別することを含み、前記探索は可変の粒度を有し、前記探索の粒度は、前記複数のハイパーパラメータのそれぞれの、前記選択された機械学習モデルの一つまたは複数のパフォーマンス・メトリックに対する影響度に対応する、
請求項１７に記載の方法。
【請求項１９】
前記閾値のサイズは、前記一つまたは複数の以前に記憶されたハイパーパラメータの、前記選択された機械学習モデルの一つまたは複数のパフォーマンス・メトリックに対する影響度に基づいて変わる、請求項１７に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
いくつかの機械学習アルゴリズムは、アルゴリズムがどのように実行されるかに影響するハイパーパラメータを必要とすることがある。たとえば、ハイパーパラメータは、逐次反復の回数、サンプルのサイズ、複雑さのレベルを設定してもよく、機械学習モデルおよびトレーニング・データに関する想定を反映してもよい。ハイパーパラメータは、特徴エンジニアリング（feature  engineering）・アルゴリズムについても存在することがあり、同様に、特徴エンジニアリングがどのように実行されるかに影響しうる。データ科学者は、発見的手法および自分の経験に基づいて、与えられた機械学習アルゴリズムおよび／または特徴エンジニアリング・アルゴリズムのための最適なハイパーパラメータを発見しようと試みてもよいが、このアプローチは、さまざまなデータセット、機械学習アルゴリズム、およびデータ科学者の間で一貫性がなく、信頼できないことがある。
【０００２】
ハイパーパラメータは、力づくのアプローチを用いてアルゴリズム的に探索されてもよい。すべての可能な組み合わせの集合内で最適なハイパーパラメータを見つけるために探索アルゴリズムが実行されてもよいが、このアプローチは、ハイパーパラメータの数が増加するにつれて、指数関数的により大きな計算時間を必要とすることがある。問題を複雑にすることに、探索アルゴリズムは、それ自身のハイパーパラメータを必要とすることがあり、使用可能な探索結果を達成するためにそれらのハイパーパラメータを調整するのにかなりの時間を費やすことがある。
【発明の概要】
【課題を解決するための手段】
【０００３】
開示された主題のある実施形態によれば、コンピュータ実装されるシステム、媒体、および方法は、第1のデータ・スキーマを有する第1のデータセットを受領し、データセットの特性に基づいてメタデータを生成し、メタデータに基づいて、コンピュータ・プロセッサによって、そのデータセットへの適用に好適な機械学習モデルを選択し、選択された機械学習モデルに関連する複数のハイパーパラメータの各ハイパーパラメータについて、各ハイパーパラメータの、選択された機械学習モデルの一つまたは複数のパフォーマンス・メトリックに対する影響度を識別し、選択された機械学習モデルの第1のバージョンを識別し、選択された機械学習モデルの第1のバージョンと共通の一つまたは複数のハイパーパラメータを有する選択された機械学習モデルの第2のバージョンを識別することと、前記第1のデータ・スキーマと選択された機械学習モデルの第2のバージョンに関連する第2のデータセットの第2のデータ・スキーマとの間の類似性を識別することとに基づいて、選択された機械学習モデルの第1のバージョンに関連する複数の以前に記憶されたハイパーパラメータ値を取得し、前記以前に記憶されたハイパーパラメータ値の一つまたは複数についての値の範囲を、閾値に基づいて決定することを含んでいてもよい。
選択された機械学習モデルの第2のバージョンに関連する前記一つまたは複数のハイパーパラメータのうちのあるハイパーパラメータと共通である選択された機械学習モデルの第1のバージョンに関連する前記複数のハイパーパラメータの各ハイパーパラメータについて、本方法は、各関連するハイパーパラメータについての識別された影響度に基づいて、決定された値の範囲から、ハイパーパラメータ値の第1のグループを選択することを含んでいてもよく、選択された機械学習モデルの第2のバージョンに関連する前記一つまたは複数のハイパーパラメータのうちのあるハイパーパラメータと共通でない選択された機械学習モデルの第1のバージョンに関連する前記複数のハイパーパラメータの各ハイパーパラメータについて、本方法は、各関連するハイパーパラメータについての識別された影響度に基づいて、ハイパーパラメータ値の第2のグループを選択することを含んでいてもよい。
本方法はさらに、ハイパーパラメータ値の第1の選択されたグループ、ハイパーパラメータ値の第2の選択されたグループ、および前記データセットを使用して、選択された機械学習モデルの第1のバージョンをトレーニングすることを含んでいてもよい。
メタデータは、トレーニング集合のサイズ、データセットの形、データセット内の特徴の数、データセット内の諸データ・フィールドの諸タイプの割合、分類問題のタイプ、データセット内のデータ・フィールドの諸タイプの分散、およびデータセットがある統計分布に従うかどうかの指標から選択された少なくとも1つを含んでいてもよい。
本方法は、入力としてのメタデータに基づいて二次機械学習モデルを実行することを含んでいてもよい。二次機械学習モデルは、選択された機械学習モデルの第1のバージョンの選択を返し、選択された機械学習モデルの第1のバージョンと一緒に使用するための好適な機械学習ハイパーパラメータ値を返す。
前記一つまたは複数のパフォーマンス・メトリックは、確度（accuracy）、誤差（error）、精度（precision）、再現率（recall）、受信者動作特性（receiver  operating  characteristic、ROC）曲線の下の面積、および精度再現率曲線（precision  recall  curve）の下の面積のうちの少なくとも1つを含んでいてもよい。
本方法は、さらに、入力としての選択された機械学習モデルの第1のバージョンに関連する前記複数のハイパーパラメータを使用して二次機械学習モデルを実行することを含んでいてもよく、二次機械学習モデルは、選択された機械学習モデルの第1のバージョンの前記一つまたは複数のパフォーマンス・メトリックに対する影響度に応じて、前記複数のハイパーパラメータのランク付けを返す。
本方法は、さらに、前記複数のハイパーパラメータのそれぞれについてのハイパーパラメータ値を探索に基づいて識別することを含んでいてもよく、探索は可変の粒度を有し、探索の粒度は、前記複数のハイパーパラメータのそれぞれの、選択された機械学習モデルの第1のバージョンの前記一つまたは複数のパフォーマンス・メトリックに対する影響度に対応する。
本方法は、さらに、選択された機械学習モデルの第1のバージョンのハイパーパラメータのうちの一つまたは複数について、決定された値の範囲内のハイパーパラメータ値を探索に基づいて識別することを含んでいてもよく、探索は可変の粒度を有し、探索の粒度は、前記複数のハイパーパラメータのそれぞれの、選択された機械学習モデルの第1のバージョンの一つまたは複数のパフォーマンス・メトリックに対する影響度に対応する。
本方法は、さらに、選択された機械学習モデルの第1のバージョンのハイパーパラメータのうちの一つまたは複数について、決定された値の範囲内のハイパーパラメータ値を探索に基づいて識別することを含んでいてもよく、探索は可変の粒度を有し、探索の粒度は、前記複数のハイパーパラメータのそれぞれの、選択された機械学習モデルの第1のバージョンの一つまたは複数のパフォーマンス・メトリックに対する影響度に対応する。
閾値のサイズは、前記一つまたは複数の以前に記憶されたハイパーパラメータの、選択された機械学習モデルの第1のバージョンの一つまたは複数のパフォーマンス・メトリックに対する影響度に基づいて変わりうる。
【０００４】
開示された主題のさらなる特徴、利点、および実施形態は、以下の詳細な説明、図面、および特許請求の範囲の考察から記載され、あるいは明白になりうる。さらに、上記の概要および以下の詳細な説明はいずれも例示的なものであり、特許請求の範囲を制限することなく、さらなる説明を提供することが意図されていることが理解されるべきである。
【図面の簡単な説明】
【０００５】
開示された主題のさらなる理解を提供するために含まれる添付の図面は、本明細書に組み込まれ、本明細書の一部を構成する。図面はまた、開示された主題事項の実施形態を示し、詳細な説明とともに、開示された主題事項の実施形態の原理を説明するはたらきをする。開示された主題事項およびそれが実施されうるさまざまな仕方の基本的理解のために必要でありうる以上に詳細な構造的詳細を示そうとはしない。
【０００６】
【図１】開示された主題事項のある実施形態による、機械学習モデルのための最適なハイパーパラメータを決定するための例示的な方法を示す。
【０００７】
【図２Ａ】開示された主題事項のある実施形態による、機械学習モデルのための最適なハイパーパラメータを決定するための例示的な方法を示す。
【０００８】
【図２Ｂ】開示された主題事項のある実施形態による、機械学習モデルのための最適なハイパーパラメータを決定するための例示的な方法を示す。
【０００９】
【図３】開示された主題事項のある実施形態によるコンピューティング装置を示す。
【００１０】
【図４】開示された主題事項のある実施形態によるネットワーク構成を示す。
【００１１】
【図５】開示された主題事項のある実施形態による、例示的なネットワークおよびシステム構成を示す。
【発明を実施するための形態】
【００１２】
本明細書に開示される実施形態は、自動化されたコンピュータ化されたシステムによって効率的に実行されうる反復可能な技術に基づいて、機械学習モデルにおいて使用するためのパラメータを識別する技術を提供する。機械学習モデルのための好適なハイパーパラメータは、初期には、たとえば、機械学習モデルが作用する対象のデータを調べ、該データを他の機械学習モデルとの関連で使用された以前のデータと比較することによって、識別されうる。次いで、好適な機械学習モデルが知られている他のデータセットに対する、調べられているデータの類似性に基づいて、好適な機械学習モデルが選択されうる。代替的または追加的に、選択された機械学習モデルをトレーニングするときに探索されるべきハイパーパラメータは、モデルに関連する一つまたは複数のパフォーマンス・メトリックによって決定される、モデルのパフォーマンスに対する、諸ハイパーパラメータの相対的な寄与に基づいて識別されてもよい。代替的または追加的に、探索される値および／または個々のハイパーパラメータ値を探索する粒度が、本明細書に開示されている自動化され、コンピュータ化された技術を用いて識別されうる。
【００１３】
本明細書で使用されるところでは、用語「好適な」は、機械学習システムのようなシステムの正しい動作を達成するパラメータまたはパラメータ値を指す。好適な値は、可能な値の範囲内で最も好ましくない値であってもよいが、それでもシステムの正しい動作を達成する。好ましくは、好適な値は、可能な値の範囲内の他の値と比べ改善されたシステム動作を達成すると言われてもよいが、可能な最良の値ではないこともある。
【００１４】
本明細書で使用されるところの用語「アルゴリズム」は、単一のアルゴリズムまたは同時にまたは相次いで「積層された」仕方で使用されうる複数のアルゴリズムの両方を指す。
【００１５】
本明細書で使用されるところの用語「モデル」は、関連する一つまたは複数の好適なパラメータおよび／またはハイパーパラメータと併せた機械学習アルゴリズムを指す。
【００１６】
機械学習システムは、データ科学者が機械学習モデルを作成することを許容しうる。データ科学者は、データベースなどの多様な源から一つまたは複数のデータセットを収集することができる。特徴エンジニアリング・アルゴリズムは、データセットから関心のある特徴を抽出することができる。特徴エンジニアリング・アルゴリズムは、次いで、抽出された特徴を修正し、新しい特徴を作成し、特徴を除去して、新しい、特徴エンジニアリングされたデータセットを作成することができる。データ科学者は、次いで、該特徴エンジニアリングされたデータセットに基づいてモデルを作成する機械学習アルゴリズムを選択することができる。これは、モデルのトレーニングとしても知られている。機械学習アルゴリズムは、ハイパーパラメータとして知られる、機械学習アルゴリズムがどのように実行されるかを指定する一つまたは複数のパラメータ化された値を使用して構成されてもよい。一般に、データ科学者は、当面の問題に対処する際に、優先順位付けされた重要さのものでありうるカスタム・メトリックを開発することができる。メトリックは、たとえば、確度、誤り率、開発時間、精度、および再現率を含みうる。機械学習アルゴリズムを可能な限りデータ科学者のニーズに従って実行させるハイパーパラメータ値を選択することが重要である。前述のように、特徴エンジニアリング・アルゴリズムも、ハイパーパラメータを使用して、その実行の仕方に同様に影響するように構成されうることが理解されるべきである。
【００１７】
本主題事項は、ハイパーパラメータを識別して、機械学習および／または特徴エンジニアリング・アルゴリズムに適用するための、自動化された、コンピュータ・ベースの方法を開示する。いくつかの実施形態が開示されており、それらは個別に、共同で、またはそれらの間の任意の組み合わせで使用されうる。同様に、各実施形態内で使用される諸プロセスは、同時に、非同期的に、または図示および説明されたものとは異なる順序で実行されてもよい。
【００１８】
ある実施形態では、開示される方法は、データセットを受領し、データセットの特性に基づいてメタデータを生成するための備えを提供してもよい。次いで、メタデータは、好適なハイパーパラメータ値とともに好適な機械学習モデルの両方を識別するために使用されてもよい。次いで、識別された機械学習モデルは、識別された好適なハイパーパラメータおよび受領されたデータセットを使用してトレーニングするように構成されてもよい。
【００１９】
ある実施形態では、開示される方法は、機械学習モデルを選択し、一つまたは複数のデータセットを使用して一つまたは複数のモデルをトレーニングすることができる。一つまたは複数のその後にトレーニングされたモデルから、前記データセットのうちの一つまたは複数にわたって、モデル挙動に対して、より大きな影響をもつ一つまたは複数のハイパーパラメータが識別され、リストにまとめられてもよい。リスト上の各ハイパーパラメータについて、データ科学者によって指定されうるパフォーマンス・メトリックに従って機械学習モデルを実行させる好適な値を識別するために、値の範囲が探索されてもよい。次いで、選択された機械学習モデルは、識別された好適なハイパーパラメータ値を使用してトレーニングするように構成されてもよい。
【００２０】
ある実施形態では、開示される方法は、機械学習モデルおよびデータセットを選択することができる。データセットは、スキーマに従って構成されてもよい。本方法は、選択された機械学習モデルに関連するバージョン・データを受領してもよい。本方法は、以前に使用されたハイパーパラメータ値に関連するバージョン・データおよびデータセット・スキーマの一方または両方に基づいて、選択された機械学習モデルに対応する機械学習モデルについての、以前に使用されたハイパーパラメータ値を識別することができる。以前に使用されたハイパーパラメータ値に基づいて、データ科学者によって特定されうるパフォーマンス・メトリックに従って機械学習モデルを実行させる好適な値を識別するために、閾値範囲内で値の範囲が探索されてもよい。次いで、選択された機械学習モデルは、識別された好適なハイパーパラメータ値を使用してトレーニングするように構成されてもよい。
【００２１】
図1は、一つまたは複数のデータセットに基づいて、好適な機械学習モデルおよび関連するハイパーパラメータを選択するための方法の例示的なフロー図100を示す。105において、システムは、たとえばデータ科学者または他のユーザーによるデータセットの選択に応答して、システムからそれを受信することによって、一つまたは複数のデータセットを取得する。データセットは、たとえば、顧客データを含むテナント・データセットであってもよく、プライバシーおよびセキュリティ・プロトコルに従ってもよい。よって、機械学習システムのユーザー（たとえば、データ科学者またはコンピュータ・エンジニア）は、許可レベルに基づいて、105で受領された一つまたは複数のデータセット内に含まれるデータの一部または全部を見ることを制限されることがある。ステージ105で受領されたデータセットは、組み合わされ、ランダムに分割されて、トレーニング集合およびホールドアウト集合を作成することができる。トレーニング集合は、その後、ステージ120において、選択された機械学習モデルをトレーニングするために使用されてもよく、ホールドアウト集合は、選択された機械学習モデルの確度を評価するために使用されてもよい。110では、105で受領されたデータセットの特性を記述するメタデータが生成されてもよく、前記データセット、システムにとって利用可能な他のデータ、およびシステム・ユーザーによって入力されるデータに基づいていてもよい。メタデータは、すべてのデータセットに基づいて合同的に、またはデータセットごとに生成されうる。メタデータは、別個のデータセット前処理ステージによって、または本明細書にさらに詳細に記載される別の機械学習プロセスと組み合わせて生成されうる。メタデータは、たとえば、データセットのサイズおよび形、データセット内のフィールドの数、データセット内の諸フィールドの諸タイプの割合内訳（たとえば、カテゴリー、数値、テキスト）、分類問題のタイプ、データセット分散、データとラベルの間に相関があるかどうか、データセットが統計的分布に従うかどうかなどを記述するデータを含みうる。ステージ110におけるメタデータの生成に続いて、メタデータは、従来の諸方法に従ってデータベースまたは他のデータ構造に保存されてもよい。
【００２２】
ステージ115では、複数の機械学習モデルから好適な機械学習モデルが、少なくとも110で生成されたメタデータに基づいて、選択されうる。機械学習モデルは、その既知の利点に従って部分的に選択されてもよく、別の機械学習モデルではなくある機械学習モデルを、前記データセットの内容およびそれを記述するメタデータに基づいて、選択してもよい。たとえば、メタデータが、データセットがカテゴリー・データの大きな部分を含むことを明らかにする場合、カテゴリー・データに対して良好に機能することが知られている機械学習モデルが選択されてもよい。ステージ115は、二次機械学習モデルによって実行されてもよい。二次機械学習モデルは、一つまたは複数のデータセットおよび関連するメタデータを受け入れ、該一つまたは複数のデータセットおよびメタデータに基づいて、選択された機械学習モデルおよび該選択された機械学習モデルに関連するハイパーパラメータについての好適なハイパーパラメータ値を返すことができる。ハイパーパラメータ値は、数値であっても非数値であってもよいことが理解されるべきである。二次機械学習モデルは、グリッド探索、ランダム探索、ベイズ法などの任意の従来の機械学習アルゴリズムに従って動作することができる。120では、115で選択された好適な機械学習モデルは、選択された好適なハイパーパラメータ値および105で受領されたデータセットを使用してトレーニングされうる。
【００２３】
図2Aは、機械学習モデルのハイパーパラメータについての一つまたは複数の好適な値を選択するための例示的なフロー図200を示す。205では、本方法は、機械学習モデルの選択および一つまたは複数のデータセットを受領する。機械学習モデルは、ステージ115において二次機械学習モデルを介して方法100に従って選択されてもよく、ユーザーによって選択されてもよく、または当技術分野で既知の他の従来の方法に従って選択されてもよい。205で選択された機械学習モデルは、複数のデータセットを横断してあらかじめトレーニングされていてもよく、選択された機械学習モデルに関連する各ハイパーパラメータについてパフォーマンス・メトリックに関する影響度を決定するのに有用なデータを生成していてもよい。パフォーマンス・メトリックは、自動的にまたはデータ科学者によって決定されてもよく、たとえば、確度、エラー、精度、再現率、精度再現率曲線の下の面積（area  under  the  precision-recall  curve、AuPR）、受信者動作特性曲線の下の面積（area  under  the  receiver  operating  characteristic  curve、AuROC）などを含んでいてもよい。一つまたは複数のパフォーマンス・メトリックの選択は、あるハイパーパラメータ値が別の値よりもよいかどうかを評価することにおいて重要である可能性があり、すべてのパフォーマンス・メトリックの観点で他のすべてのハイパーパラメータ値よりも性能がよい1つのハイパーパラメータ値はない可能性があることが理解されるべきである。
【００２４】
ステージ210では、方法200は、ステージ205で選択された機械学習モデルに関連するハイパーパラメータを、一つまたは複数のパフォーマンス・メトリックに対するそれらのそれぞれの影響に従って識別し、ランク付けすることができる。これは、複数のデータセットを横断して、選択された機械学習モデルをトレーニングすることから帰結する前述のデータと、一つまたは複数の選択されたパフォーマンス・メトリックとを受領し、一つまたは複数の選択されたパフォーマンス・メトリックに対するそれぞれの影響に従って、関連するハイパーパラメータのランキングを返す二次機械学習モデルを使用して達成されてもよい。二次機械学習モデルは、ランダムフォレストアルゴリズムまたはモデルにおけるハイパーパラメータ重要度を計算することができる他の従来の機械学習アルゴリズムを利用することができる。
【００２５】
ステージ210において、影響に従ってハイパーパラメータを識別しランク付けすると、ステージ215は、任意の従来の機械学習アルゴリズムを使用して、好適なハイパーパラメータ値を探索することができる。好ましくは、各ハイパーパラメータについての探索のサイズおよび／または粒度を指定することを許容するグリッド探索アルゴリズムが使用されてもよい。パフォーマンス・メトリックに対して、より強い影響をもつと判断されたハイパーパラメータは、より大きな粒度で好適な値を求めて探索されうる。パフォーマンス・メトリックに対する、より弱い影響をもつと判断されたハイパーパラメータは、より小さな粒度で好適な値を求めて探索されてもよい。このようにして、結果がより生産的でありうる探索のために時間を割り当てることによって、コンピューティング資源が、より効率的に利用されうる。たとえば、強い影響力をもつと判定されたハイパーパラメータについては、50個の可能なハイパーパラメータ値を調べてもよく、一方、弱い影響力をもつハイパーパラメータについては、5個のハイパーパラメータ値を調べるのでもよい。次いで、探索プロセス215は、ステージ205で選択された機械学習アルゴリズムに関連する各ハイパーパラメータについて一つまたは複数のハイパーパラメータ値を返すことができる。
【００２６】
ステージ220では、ステージ215で決定されたハイパーパラメータ値は、任意の従来のメモリデバイスを使用して実装されうるハイパーパラメータ記憶部に記憶されてもよい。ハイパーパラメータ記憶部は、モデルによってインデックス付けされ、たとえば、モデルがトレーニングされた時刻および日付、モデルによって用いられたアルゴリズムのためのコードのバージョン、モデルがトレーニングされたデータセットのスキーマ、前述のパフォーマンス・メトリックに従ったモデルの性能〔パフォーマンス〕、モデルの各ハイパーパラメータの値などを記述するデータを含んでいてもよい。将来のハイパーパラメータ選択は、好適なハイパーパラメータ値をみつけるためにハイパーパラメータ記憶部を使用することによって加速されうる。この場合、ステップ210〜215のそれぞれを実行するのではなく、一致するデータを見出すことができる。
ステージ225では、205で選択された機械学習モデルが、205で選択されたデータセットと、ステージ215で決定された選択された好適なハイパーパラメータ値とを用いてトレーニングされてもよい。
【００２７】
図2Bは、機械学習モデルのハイパーパラメータのための一つまたは複数の好適な値を選択するための例示的なフロー図250を示す。255では、本方法は、機械学習モデルの選択および一つまたは複数のデータセットを受領する。機械学習モデルは、ステージ115において二次機械学習モデルを介して方法100に従って選択されてもよく、ユーザーによって選択されてもよく、または当技術分野で既知の他の従来の方法に従って選択されてもよい。ステージ255で選択された機械学習モデルは、260において識別されうる関連したバージョンを有していてもよい。バージョンは、たとえば、モデルが用いる機械学習アルゴリズムのバージョンに対応してもよい。機械学習アルゴリズムの、より新しいバージョンは、以前のバージョンにはなかった新しいハイパーパラメータを利用してもよく、および／または他のハイパーパラメータをなくしていてもよい。一般に、ハイパーパラメータ記憶部内に以前に使用された好適なハイパーパラメータを記憶し、想起することによる利点を保証するよう、機械学習アルゴリズムの複数のバージョンにわたって、ハイパーパラメータの全部または大部分は同じままであってもよい。
【００２８】
ステージ265では、方法250は、先に説明したハイパーパラメータ記憶部から、選択された機械学習モデルで以前に使用されたハイパーパラメータおよびそれらの関連する値を取り出してもよい。取り出されたハイパーパラメータおよびそれらの関連する値は、選択された機械学習モデルと同じバージョンまたは異なるバージョンで以前に使用されたことがあってもよい。ステージ220に関して前述したように、機械学習アルゴリズムのバージョンは、ハイパーパラメータ記憶部に記憶されてもよい。ハイパーパラメータ記憶部はまた、モデルがトレーニングされたデータセットのスキーマを関連付けてもよい。データセットは、ハイパーパラメータの好適さに影響を与える可能性があるため、ステージ265は、255で選択されたデータセットのスキーマを、ハイパーパラメータ記憶部に記憶されたデータセットのスキーマと比較して、類似点および相違点を評価することもできる。
【００２９】
ステージ270では、選択された機械学習モデルのそのバージョンのハイパーパラメータと共通であると決定された、以前に使用された各ハイパーパラメータについてのハイパーパラメータ値が、閾値に基づいて探索されてもよい。たとえば、以前に使用されたハイパーパラメータ値が10である場合、ステージ270は、5の閾値範囲を選択してもよく、その結果、5から15までの間の値が、好適さについて試験される。先に論じたように、好適なハイパーパラメータ値の探索は、任意の従来の機械学習アルゴリズムを用いて実行されうる。好ましくは、各ハイパーパラメータについての探索のサイズおよび／または粒度を指定することを許容するグリッド探索または同等のアルゴリズムが使用されうる。
【００３０】
ステージ275では、パフォーマンス・メトリックに対して、より強い影響をもつと判定されたハイパーパラメータが、好適な値を求めて、より大きな粒度で探索されてもよい。パフォーマンス・メトリックに対する、より弱い影響をもつと判定されたハイパーパラメータは、好適な値を求めて、より小さな粒度で探索されてもよい。このようにして、結果がより生産的でありうる探索のために時間を割り当てることによって、コンピューティング資源がより効率的に利用されうる。たとえば、強い影響力をもつと判定されたハイパーパラメータについては、5から15までの間の50個の可能なハイパーパラメータ値を調べてもよく、一方、弱い影響力をもつハイパーパラメータについては、5から15までの間で5個のハイパーパラメータ値を調べるのでもよい。前述のように、ハイパーパラメータ値は、数値であっても非数値であってもよいことが理解されるべきである。探索の粒度に加えて、閾値のサイズは、選択された機械学習モデルのバージョンと、ハイパーパラメータ記憶部において以前に使用されたハイパーパラメータが利用可能な機械学習モデルのバージョンとの間の類似性に基づいて変化させてもよい。類似性は、たとえば、以前に使用されたハイパーパラメータ値に関連するデータセット・スキーマの諸データ・フィールドに一致する、255で受領されたデータセットのスキーマのデータ・フィールドの数に基づいて決定されてもよい。代替的または追加的に、類似性は、以前に使用されたハイパーパラメータ値に関連する機械学習モデルのバージョンのハイパーパラメータと共通であるまたは異なるハイパーパラメータの数に基づいて決定されてもよい。類似性が同一であるか、またはそうではなく実質的である場合、閾値は、サイズがより小さくなるように選択されてもよく、類似性がない場合は、閾値はサイズがより大きくなるように選択されてもよい。このようにして、以前に使用されたハイパーパラメータ値が現在の使用に好適であるかことがそれほど確実でないかもしれない場合は、より多数のハイパーパラメータ値が、好適さについて試験されてもよい。
ステージ280では、255で選択された機械学習モデルが、255で選択されたデータセットとステージ275で決定された選択された好適なハイパーパラメータ値とを用いてトレーニングされてもよい。
【００３１】
前述のように、本明細書に開示されたさまざまな実施形態は、個別に、共同で、またはそれらの間の任意の組み合わせで使用されうる。たとえば、方法100、200、および250は、一つまたは複数の選択されたデータセットを与えられた場合に、好適な機械学習モデルおよび好適なハイパーパラメータを決定するために必要とされる全体的な計算労力を低減するために、一緒に使用されてもよい。この例では、所与のデータセットについて、好適な機械学習モデルおよび好適なハイパーパラメータ値を選択するために方法100が利用されてもよい。方法100で決定されたハイパーパラメータ値に関連するハイパーパラメータは、図2Aおよび2Bのいずれかまたは両方に適用されてもよい。図2Bの例では、方法100で識別されたハイパーパラメータについての関連する値は、以前に使用されたハイパーパラメータ値が存在するハイパーパラメータ記憶部から取り出されてもよい。閾値サイズは、データセット・スキーマおよび機械学習モデル・ハイパーパラメータの間の類似性の両方に基づいて設定されてもよい。以前に使用されたハイパーパラメータと共通の選択された機械学習モデルのハイパーパラメータについては、ハイパーパラメータ値は、以前に使用されたハイパーパラメータ値の閾値サイズによって定義される範囲内で、かつ、方法200で実行されたときのそれらの影響に従って定義される粒度で探索されてもよい。以前に使用されたハイパーパラメータと共通でないハイパーパラメータについては、ハイパーパラメータ値は、方法200で実施されたときのそれらの影響に氏が違って定義される粒度で探索されてもよい。方法100のステージ115で決定された好適な機械学習モデルは、その後、ステージ105で選択されたデータセットおよび前記ハイパーパラメータ値を使用してトレーニングされてもよく、前記ハイパーパラメータ値は、方法200のステージ215でのようにパフォーマンス・メトリックに対するそれらの影響と、方法250のステージ275で決定されたような、ハイパーパラメータ記憶部に記憶されたデータセット・スキーマおよび機械学習モデル・バージョンの類似性との両方に基づいて選択される。
【００３２】
本明細書に開示される実施形態は、機械学習モデルおよび特徴エンジニアリングのための好適なハイパーパラメータの、従来の技法を使って達成できるよりも効率的な選択を許容しうる。たとえば、開示された実施形態は、好適な機械学習モデルおよび関連するハイパーパラメータを、比較可能な従来の機械学習技術が達成しうるよりも効率的に、および／または従来の技術を使用して可能であるよりも少ない計算資源を使用して決定することができる。これは、本明細書に開示された技術の使用によるものである。本明細書に開示された技術は、一般性または正確さを損なうことなく、所与の用途について、好適な機械のハイパーパラメータを決定する際に、探索空間のサイズを小さくすることにより、関わる計算時間を短縮することにより、効率における利得を提供する。さらに、本明細書に開示される実施形態は、従来のマルチテナント・フレームワークに現われる関連する欠点を克服することがありうる。
【００３３】
本開示の主題事項の実施形態は、多様なコンポーネントおよびネットワーク・アーキテクチャーにおいて実装され、それらと一緒に使用されてもよい。図3は、本開示の主題事項の実施形態を実装するのに好適なコンピューティング装置20の一例である。装置20は、たとえば、デスクトップまたはラップトップコンピュータ、またはスマートフォン、タブレットなどのモバイルコンピューティング装置であってもよい。装置20はコンピュータ20の主要コンポーネントを相互接続するバス21を含んでいてもよく、主要コンポーネントは、中央プロセッサ24、ランダムアクセスメモリ（RAM）、読み出し専用メモリ（ROM）、フラッシュRAM等のようなメモリ27、ディスプレイスクリーンのようなユーザーディスプレイ22、キーボード、マウス、タッチスクリーン等のような一つまたは複数のコントローラおよび関連するユーザー入力装置を含みうるユーザー入力インターフェース26、ハードドライブ、フラッシュストレージ等のような固定記憶装置23、光ディスク、フラッシュドライブ等を制御し、受け入れるように動作するリムーバブルメディア・コンポーネント25、および好適なネットワーク接続を介して一つまたは複数のリモートデバイスと通信するように動作可能なネットワークインターフェース29などである。
【００３４】
バス21は、前述のように、中央プロセッサ24と、RAM、ROM、および他のメモリを含みうる一つまたは複数のメモリ・コンポーネントとの間のデータ通信を許容する。典型的には、RAMは、オペレーティング・システムおよびアプリケーション・プログラムがロードされるメイン・メモリである。ROMまたはフラッシュ・メモリ・コンポーネントは、他のコードの中でも、周辺コンポーネントとの相互作用などの基本的なハードウェア動作を制御する基本入出力システム（BIOS）を含むことができる。コンピュータ20に常駐するアプリケーションは、一般に、ハードディスクドライブ（たとえば、固定記憶装置23）、光学ドライブ、フロッピーディスク、または他の記憶媒体のようなコンピュータ読み取り可能媒体上に記憶され、これを介してアクセスされる。
【００３５】
固定記憶装置23は、コンピュータ20と一体であってもよく、あるいは別個であって他のインターフェースを通じてアクセスされてもよい。ネットワークインターフェース29は、有線または無線接続を介して遠隔サーバーへの直接接続を提供することができる。ネットワークインターフェース29は、デジタルセルラー電話、WiFi、Bluetooth（登録商標）、近接場等を含む、当業者によって容易に理解される任意の好適な技術およびプロトコルを使って、そのような接続を提供することができる。たとえば、ネットワークインターフェース29は、以下にさらに詳細に説明するように、一つまたは複数のローカル、ワイドエリア、または他の通信ネットワークを介して、コンピュータを他のコンピュータと通信できるようにしてもよい。
【００３６】
多くの他の装置またはコンポーネント（図示せず）が、同様の仕方で接続されてもよい（たとえば、文書スキャナ、デジタルカメラなど）。逆に、本開示を実施するために、図3に示されたコンポーネントの全部が存在する必要はない。これらのコンポーネントは、図示されたものとは異なる仕方で相互接続されることができる。図3に示されるようなコンピュータの動作は、当技術分野では容易に知られており、本出願では詳細に論じられない。本開示を実装するためのコードは、メモリ27、固定記憶装置23、リムーバブル媒体25のうちの一つまたは複数のようなコンピュータ読み取り可能記憶媒体に、または遠隔記憶位置に記憶できる。
【００３７】
図4は、開示された主題事項のある実施形態による、例示的なネットワーク構成を示す。ローカルコンピュータ、スマートフォン、タブレット・コンピューティング装置などの一つまたは複数の装置10、11は、一つまたは複数のネットワーク7を介して他の装置に接続することができる。各装置は、前述のようなコンピューティング装置であってもよい。ネットワークは、ローカルネットワーク、ワイドエリアネットワーク、インターネット、または任意の他の好適な通信ネットワーク（単数または複数）であってもよく、有線および／または無線ネットワークを含む任意の好適なプラットフォーム上で実装されてもよい。装置は、サーバー13および／またはデータベース15のような一つまたは複数の遠隔装置と通信することができる。遠隔装置は、装置10、11によって直接アクセス可能であってもよく、またはサーバー13がデータベース15に記憶された資源へのアクセスを提供する場合のように、一つまたは複数の他の装置が中間アクセスを提供してもよい。装置10、11はまた、遠隔プラットフォーム17または遠隔プラットフォーム17によって提供されるサービス、たとえばクラウドコンピューティング構成およびサービスにアクセスすることもできる。遠隔プラットフォーム17は、一つまたは複数のサーバー13および／またはデータベース15を含んでいてもよい。
【００３８】
図5は、開示される主題事項のある実施形態による例示的な構成を示す。遠隔サービスまたはサービスプロバイダー11、ローカルコンピュータ、スマートフォン、タブレット・コンピューティング装置などのようなユーザー装置10といった一つまたは複数の装置またはシステム10、11は、一つまたは複数のネットワーク7を介して他の装置に接続することができる。ネットワークは、ローカルネットワーク、ワイドエリアネットワーク、インターネット、または任意の他の好適な通信ネットワーク（単数または複数）であってもよく、有線および／または無線ネットワークを含む任意の好適なプラットフォーム上で実装されてもよい。装置10、11は、処理ユニット14、データベース15、およびユーザーインターフェースシステム13のような一つまたは複数の遠隔コンピュータ・システムと通信することができる。場合によっては、装置10、11は、データベース15、処理ユニット14などの一つまたは複数の他のシステムへのアクセスを提供することができるユーザーに面するインターフェース・システム13と通信することができる。たとえば、ユーザー・インターフェース13は、一つまたは複数の他のコンピュータ・システムからのデータを提供する、ユーザー・アクセス可能なウェブページであってもよい。ユーザー・インターフェース13は、異なるクライアントに異なるインターフェースを提供することができる。たとえば、ユーザー装置10上のウェブ・ブラウザ・クライアントには人間が読むことのできるウェブページが提供され、遠隔サービス・クライアント11にはコンピュータが読むことのできるAPIまたは他のインターフェースが提供される。
【００３９】
ユーザー・インターフェース13、データベース15、および／または処理ユニット14は、統合システムの一部であってもよく、またはプライベート・ネットワーク、インターネット、または他の任意の好適なネットワークを介して通信する複数のコンピュータ・システムを含んでいてもよい。一つまたは複数の処理ユニット14は、たとえば、クラウドベースのコンピューティング・システム、検索エンジン、コンテンツ配信システムなどの分散システムの一部であってもよく、該分散システムがデータベース15および／またはユーザー・インターフェース13をも含むか、またはそれらと通信することができる。いくつかの構成では、解析システム5がバックエンド処理を提供してもよい。記憶されているまたは取得されたデータが、処理ユニット14、データベース15、および／またはユーザー・インターフェース13への送達の前に、解析システム5によって前処理される。たとえば、機械学習システム5は、一つまたは複数の他のシステム13、14、15にさまざまな予測モデル、データ解析などを提供することができる。
【００４０】
より一般的には、本願で開示される主題事項のさまざまな実施形態は、これらのプロセスを実施するためのコンピュータ実装されたプロセスおよび装置を含んでいてもよく、またはそれらのプロセスおよび装置の形で具現されてもよい。実施形態はまた、フロッピーディスケット、CD-ROM、ハードドライブ、USB（ユニバーサルシリアルバス）ドライブ、または他の任意の機械可読記憶媒体のような非一時的なおよび／または有形の媒体において具現された命令を含むコンピュータ・プログラム・コードを有するコンピュータ・プログラム製品の形で具現されてもよく、コンピュータ・プログラム・コードがコンピュータにロードされ、コンピュータによって実行されると、コンピュータが、開示された主題事項の実施形態を実施するための装置となる。また、実施形態はまた、コンピュータ・プログラム・コードの形で具現されてもよく、該コンピュータ・プログラム・コードは、記憶媒体に記憶されても、コンピュータにロードされおよび／またはコンピュータによって実行されても、あるいは、電気配線もしくはケーブルを通じて、光ファイバーを通じて、または、電磁放射を介してなど、何らかの伝送媒体を通じて伝送されてもよく、コンピュータ・プログラム・コードがコンピュータにロードされ、コンピュータによって実行されると、コンピュータが開示された主題事項の実施形態を実施するための装置となる。汎用マイクロプロセッサ上に実装されるとき、コンピュータ・プログラム・コードの諸セグメントが、特定の論理回路を作り出すようにマイクロプロセッサを構成する。
【００４１】
いくつかの構成では、コンピュータ可読記憶媒体上に記憶された一組のコンピュータ可読命令は、汎用プロセッサによって実装されてもよく、該汎用プロセッサまたは該汎用プロセッサを含む装置を、該命令を実装または実行するように構成された特殊目的の装置に転換することができる。実施形態は、ハードウェアおよび／またはファームウェアにおける開示された主題事項の実施形態に従った技術の全部または一部を具現する汎用マイクロプロセッサおよび／または特定用途向け集積回路（ASIC）などのプロセッサを含みうるハードウェアを使用して実装されてもよい。プロセッサは、RAM、ROM、フラッシュ・メモリ、ハード・ディスク、または電子的な情報を記憶することができる他の任意のデバイスなどのメモリに結合されてもよい。メモリは、開示された主題事項の実施形態に従った技術を実行するために、プロセッサによって実行されるように適応された命令を記憶することができる。
【００４２】
以上の説明は、説明の目的で、個別的な実施形態を参照して記載されている。しかしながら、上記の例示的な議論は、網羅的であること、または開示される主題の実施形態を開示された厳密な形に限定することを意図したものではない。上記の教示に鑑み、多くの修正および変形が可能である。これらの実施形態は、開示された主題事項の実施形態の原理およびそれらの実際の適用を説明し、それにより、当業者がこれらの実施形態、ならびに考えられる具体的な用途に適しうるさまざまな修正を施したさまざまな実施形態を利用することができるようにするために選択され、記載されている。
【図１】
2021533450.tif 000003
【図２Ａ】
2021533450.tif 000004
【図２Ｂ】
2021533450.tif 000005
【図３】
2021533450.tif 000006
【図４】
2021533450.tif 000007
【図５】
2021533450.tif 000008
【手続補正書】
【提出日】令和3年3月1日(2021.3.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
自動化された機械学習システムにおいて実行される、コンピュータ実装される方法であって、当該方法は：
第1のデータ・スキーマを有する第1のデータセットを受領する段階と；
前記データセットの特性に基づいてメタデータを生成する段階と；
前記メタデータに基づいて、コンピュータ・プロセッサによって、前記データセットへの適用に好適な機械学習モデルを選択する段階と；
選択された機械学習モデルに関連する複数のハイパーパラメータの各ハイパーパラメータについて、各ハイパーパラメータの、前記選択された機械学習モデルの一つまたは複数のパフォーマンス・メトリックに対する影響度を識別する段階と；
前記選択された機械学習モデルの第1のバージョンを識別する段階と；
前記選択された機械学習モデルの第1のバージョンと共通の一つまたは複数のハイパーパラメータを有する前記選択された機械学習モデルの第2のバージョンを識別し；
前記第1のデータ・スキーマと前記選択された機械学習モデルの前記第2のバージョンに関連する第2のデータセットの第2のデータ・スキーマとの間の類似性を識別することに基づいて、
前記選択された機械学習モデルの第1のバージョンに関連する複数の以前に記憶されたハイパーパラメータ値を取得する段階と；
前記以前に記憶されたハイパーパラメータ値の一つまたは複数についての値の範囲を、閾値に基づいて決定する段階と；
前記選択された機械学習モデルの前記第2のバージョンに関連する前記一つまたは複数のハイパーパラメータのうちのハイパーパラメータと共通である前記選択された機械学習モデルの前記第1のバージョンに関連する前記複数のハイパーパラメータの各ハイパーパラメータについて：
各関連するハイパーパラメータについての識別された影響度に基づいて、決定された値の範囲から、ハイパーパラメータ値の第1のグループを選択し；
前記選択された機械学習モデルの前記第2のバージョンに関連する前記一つまたは複数のハイパーパラメータのうちのハイパーパラメータと共通でない前記選択された機械学習モデルの前記第1のバージョンに関連する前記複数のハイパーパラメータの各ハイパーパラメータについて：
各関連するハイパーパラメータについての識別された影響度に基づいて、ハイパーパラメータ値の第2のグループを選択する段階と；
ハイパーパラメータ値の第1の選択されたグループ、ハイパーパラメータ値の第2の選択されたグループ、および前記データセットを使用して、前記選択された機械学習モデルの前記第1のバージョンをトレーニングする段階とを含む、
方法。
【請求項２】
前記メタデータが：
トレーニング集合のサイズ、前記データセットにおける特徴の数、前記データセットにおける諸データ・フィールドの諸タイプの割合、分類問題のタイプ、前記データセットにおける諸データ・フィールドの諸タイプの分散、および前記データセットの特徴がある統計分布に従うかどうかの指標
からなる群から選択された少なくとも1つを含む、請求項１に記載の方法。
【請求項３】
機械学習モデルを選択する段階が：
入力としての前記メタデータに基づいて二次機械学習モデルを実行することを含み、前記二次機械学習モデルは、前記選択された機械学習モデルの前記第1のバージョンの選択を返し、前記選択された機械学習モデルの前記第1のバージョンと一緒に使用するための好適な機械学習ハイパーパラメータ値を返すものである、
請求項１に記載の方法。
【請求項４】
前記一つまたは複数のパフォーマンス・メトリックは、確度、エラー、精度、再現率、受信者動作特性（ROC）曲線の下の面積、および精度再現率曲線の下の面積からなる群から選択された少なくとも1つを含む、請求項１に記載の方法。
【請求項５】
影響度を識別する段階が、さらに：
入力としての前記選択された機械学習モデルの前記第1のバージョンに関連する前記複数のハイパーパラメータを使用して二次機械学習モデルを実行することを含み、前記二次機械学習モデルは、前記選択された機械学習モデルの前記第1のバージョンの前記一つまたは複数のパフォーマンス・メトリックに対する影響度に応じて、前記複数のハイパーパラメータのランク付けを返すものである、
請求項１に記載の方法。
【請求項６】
各関連するハイパーパラメータについての識別された影響度に基づいて選択することが、さらに：
前記複数のハイパーパラメータのそれぞれについてのハイパーパラメータ値を探索に基づいて識別することを含み、前記探索は可変の粒度を有し、前記探索の粒度は、前記複数のハイパーパラメータのそれぞれの、前記選択された機械学習モデルの前記第1のバージョンの前記一つまたは複数のパフォーマンス・メトリックに対する影響度に対応する、
請求項１に記載の方法。
【請求項７】
各関連するハイパーパラメータについての識別された影響度に基づいて、決定された値の範囲から、ハイパーパラメータ値の第1のグループを選択することが、さらに：
前記選択された機械学習モデルの前記第1のバージョンのハイパーパラメータのうちの一つまたは複数について、決定された値の範囲内のハイパーパラメータ値を探索に基づいて識別することを含み、前記探索は可変の粒度を有し、前記探索の粒度は、前記複数のハイパーパラメータのそれぞれの、前記選択された機械学習モデルの前記第1のバージョンの一つまたは複数のパフォーマンス・メトリックに対する影響度に対応する、
請求項１に記載の方法。
【請求項８】
各関連するハイパーパラメータについての識別された影響度に基づいて、ハイパーパラメータ値の第2のグループを選択することが、さらに：
前記選択された機械学習モデルの前記第1のバージョンのハイパーパラメータのうちの一つまたは複数について、決定された値の範囲内のハイパーパラメータ値を探索に基づいて識別することを含み、前記探索は可変の粒度を有し、前記探索の粒度は、前記複数のハイパーパラメータのそれぞれの、前記選択された機械学習モデルの前記第1のバージョンの一つまたは複数のパフォーマンス・メトリックに対する影響度に対応する、
請求項１に記載の方法。
【請求項９】
前記閾値のサイズは、前記一つまたは複数の以前に記憶されたハイパーパラメータの、前記選択された機械学習モデルの前記第1のバージョンの一つまたは複数のパフォーマンス・メトリックに対する影響度に基づいて変わる、請求項１に記載の方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００４２
【補正方法】変更
【補正の内容】
【００４２】
以上の説明は、説明の目的で、個別的な実施形態を参照して記載されている。しかしながら、上記の例示的な議論は、網羅的であること、または開示される主題の実施形態を開示された厳密な形に限定することを意図したものではない。上記の教示に鑑み、多くの修正および変形が可能である。これらの実施形態は、開示された主題事項の実施形態の原理およびそれらの実際の適用を説明し、それにより、当業者がこれらの実施形態、ならびに考えられる具体的な用途に適しうるさまざまな修正を施したさまざまな実施形態を利用することができるようにするために選択され、記載されている。
いくつかの態様を記載しておく。
〔態様１〕
自動化された機械学習システムにおいて実行される、コンピュータ実装される方法であって、当該方法は：
第1のデータ・スキーマを有する第1のデータセットを受領する段階と；
前記データセットの特性に基づいてメタデータを生成する段階と；
前記メタデータに基づいて、コンピュータ・プロセッサによって、前記データセットへの適用に好適な機械学習モデルを選択する段階と；
選択された機械学習モデルに関連する複数のハイパーパラメータの各ハイパーパラメータについて、各ハイパーパラメータの、前記選択された機械学習モデルの一つまたは複数のパフォーマンス・メトリックに対する影響度を識別する段階と；
前記選択された機械学習モデルの第1のバージョンを識別する段階と；
前記選択された機械学習モデルの第1のバージョンと共通の一つまたは複数のハイパーパラメータを有する前記選択された機械学習モデルの第2のバージョンを識別し；
前記第1のデータ・スキーマと前記選択された機械学習モデルの前記第2のバージョンに関連する第2のデータセットの第2のデータ・スキーマとの間の類似性を識別することに基づいて、
前記選択された機械学習モデルの第1のバージョンに関連する複数の以前に記憶されたハイパーパラメータ値を取得する段階と；
前記以前に記憶されたハイパーパラメータ値の一つまたは複数についての値の範囲を、閾値に基づいて決定する段階と；
前記選択された機械学習モデルの前記第2のバージョンに関連する前記一つまたは複数のハイパーパラメータのうちのハイパーパラメータと共通である前記選択された機械学習モデルの前記第1のバージョンに関連する前記複数のハイパーパラメータの各ハイパーパラメータについて：
各関連するハイパーパラメータについての識別された影響度に基づいて、決定された値の範囲から、ハイパーパラメータ値の第1のグループを選択し；
前記選択された機械学習モデルの前記第2のバージョンに関連する前記一つまたは複数のハイパーパラメータのうちのハイパーパラメータと共通でない前記選択された機械学習モデルの前記第1のバージョンに関連する前記複数のハイパーパラメータの各ハイパーパラメータについて：
各関連するハイパーパラメータについての識別された影響度に基づいて、ハイパーパラメータ値の第2のグループを選択する段階と；
ハイパーパラメータ値の第1の選択されたグループ、ハイパーパラメータ値の第2の選択されたグループ、および前記データセットを使用して、前記選択された機械学習モデルの前記第1のバージョンをトレーニングする段階とを含む、
方法。
〔態様２〕
前記メタデータが：
トレーニング集合のサイズ、前記データセットにおける特徴の数、前記データセットにおける諸データ・フィールドの諸タイプの割合、分類問題のタイプ、前記データセットにおける諸データ・フィールドの諸タイプの分散、および前記データセットの特徴がある統計分布に従うかどうかの指標
からなる群から選択された少なくとも1つを含む、態様１に記載の方法。
〔態様３〕
機械学習モデルを選択する段階が：
入力としての前記メタデータに基づいて二次機械学習モデルを実行することを含み、前記二次機械学習モデルは、前記選択された機械学習モデルの前記第1のバージョンの選択を返し、前記選択された機械学習モデルの前記第1のバージョンと一緒に使用するための好適な機械学習ハイパーパラメータ値を返すものである、
態様１に記載の方法。
〔態様４〕
前記一つまたは複数のパフォーマンス・メトリックは、確度、エラー、精度、再現率、受信者動作特性（ROC）曲線の下の面積、および精度再現率曲線の下の面積からなる群から選択された少なくとも1つを含む、態様１に記載の方法。
〔態様５〕
影響度を識別する段階が、さらに：
入力としての前記選択された機械学習モデルの前記第1のバージョンに関連する前記複数のハイパーパラメータを使用して二次機械学習モデルを実行することを含み、前記二次機械学習モデルは、前記選択された機械学習モデルの前記第1のバージョンの前記一つまたは複数のパフォーマンス・メトリックに対する影響度に応じて、前記複数のハイパーパラメータのランク付けを返すものである、
態様１に記載の方法。
〔態様６〕
各関連するハイパーパラメータについての識別された影響度に基づいて選択することが、さらに：
前記複数のハイパーパラメータのそれぞれについてのハイパーパラメータ値を探索に基づいて識別することを含み、前記探索は可変の粒度を有し、前記探索の粒度は、前記複数のハイパーパラメータのそれぞれの、前記選択された機械学習モデルの前記第1のバージョンの前記一つまたは複数のパフォーマンス・メトリックに対する影響度に対応する、
態様１に記載の方法。
〔態様７〕
各関連するハイパーパラメータについての識別された影響度に基づいて、決定された値の範囲から、ハイパーパラメータ値の第1のグループを選択することが、さらに：
前記選択された機械学習モデルの前記第1のバージョンのハイパーパラメータのうちの一つまたは複数について、決定された値の範囲内のハイパーパラメータ値を探索に基づいて識別することを含み、前記探索は可変の粒度を有し、前記探索の粒度は、前記複数のハイパーパラメータのそれぞれの、前記選択された機械学習モデルの前記第1のバージョンの一つまたは複数のパフォーマンス・メトリックに対する影響度に対応する、
態様１に記載の方法。
〔態様８〕
各関連するハイパーパラメータについての識別された影響度に基づいて、ハイパーパラメータ値の第2のグループを選択することが、さらに：
前記選択された機械学習モデルの前記第1のバージョンのハイパーパラメータのうちの一つまたは複数について、決定された値の範囲内のハイパーパラメータ値を探索に基づいて識別することを含み、前記探索は可変の粒度を有し、前記探索の粒度は、前記複数のハイパーパラメータのそれぞれの、前記選択された機械学習モデルの前記第1のバージョンの一つまたは複数のパフォーマンス・メトリックに対する影響度に対応する、
態様１に記載の方法。
〔態様９〕
前記閾値のサイズは、前記一つまたは複数の以前に記憶されたハイパーパラメータの、前記選択された機械学習モデルの前記第1のバージョンの一つまたは複数のパフォーマンス・メトリックに対する影響度に基づいて変わる、態様１に記載の方法。
〔態様１０〕
自動化された機械学習システムにおいて機械学習モデルのための一つまたは複数の好適なハイパーパラメータを決定するコンピュータ実装される方法であって、当該方法は：
データ・スキーマを有するデータセットを受領する段階と；
前記データセットの特性に基づいてメタデータを生成する段階と；
前記メタデータに基づいて、コンピュータ・プロセッサによって、前記データセットへの適用に好適な機械学習モデルを選択する段階と；
前記データセットを使用して、前記選択された機械学習モデルをトレーニングする段階とを含む、
方法。
〔態様１１〕
機械学習モデルを選択する段階が、さらに：
入力としての前記メタデータを使って二次機械学習モデルを実行することを含み、前記二次機械学習モデルは、前記機械学習モデルの前記選択と、前記機械学習モデルと一緒に使用するための好適な機械学習ハイパーパラメータ値を返すものである、
態様１０に記載の方法。
〔態様１２〕
前記メタデータが：
トレーニング集合のサイズ、前記データセットにおける特徴の数、前記データセットにおける諸データ・フィールドの諸タイプの割合、分類問題のタイプ、前記データセットにおける諸データ・フィールドの諸タイプの分散、および前記データセットの特徴がある統計分布に従うかどうかの指標
からなる群から選択された少なくとも1つを含む、態様１０に記載の方法。
〔態様１３〕
自動化された機械学習システムにおいて機械学習モデルのための一つまたは複数の好適なハイパーパラメータを決定する方法であって、当該方法は：
機械学習モデルの選択を受領する段階と；
選択された機械学習モデルに関連する複数のハイパーパラメータの各ハイパーパラメータについて、前記選択された機械学習モデルの一つまたは複数のパフォーマンス・メトリックに対する影響度を識別する段階と；
各ハイパーパラメータについての識別された影響度に基づいて、前記選択された機械学習モデルと関連して使用するための、前記複数のハイパーパラメータのそれぞれについてのハイパーパラメータ値を選択する段階と；
前記複数のハイパーパラメータのそれぞれについて、選択されたハイパーパラメータ値を使って前記選択された機械学習モデルをトレーニングする段階とを含む、
方法。
〔態様１４〕
前記一つまたは複数のパフォーマンス・メトリックは、確度、エラー、精度、再現率、受信者動作特性（ROC）曲線の下の面積、および精度再現率曲線の下の面積からなる群から選択された少なくとも1つを含む、態様１３に記載の方法。
〔態様１５〕
前記識別する段階が、さらに：
入力としての前記選択された機械学習モデルに関連する前記複数のハイパーパラメータを使用して二次機械学習モデルを実行することを含み、前記二次機械学習モデルは、前記選択された機械学習モデルの前記一つまたは複数のパフォーマンス・メトリックに対する影響度に応じて、前記複数のハイパーパラメータのランク付けを返すものである、
態様１３に記載の方法。
〔態様１６〕
前記選択することが、さらに：
前記複数のハイパーパラメータのそれぞれについてのハイパーパラメータ値を探索に基づいて識別することを含み、前記探索は可変の粒度を有し、前記探索の粒度は、前記複数のハイパーパラメータのそれぞれの、前記選択された機械学習モデルの前記一つまたは複数のパフォーマンス・メトリックに対する影響度に対応する、
態様１３に記載の方法。
〔態様１７〕
自動化された機械学習システムにおいて機械学習モデルのための一つまたは複数の好適なハイパーパラメータを決定する方法であって、当該方法は：
機械学習モデルの選択を受領する段階と；
第1のデータ・スキーマを有する第1のデータセットを受領する段階と；
前記選択された機械学習モデルの第1のバージョンを識別する段階と；
前記選択された機械学習モデルの第1のバージョンと共通の一つまたは複数のハイパーパラメータを有する前記選択された機械学習モデルの第2のバージョンを識別し；
前記第1のデータ・スキーマと前記選択された機械学習モデルの前記第2のバージョンに関連する第2のデータセットの第2のデータ・スキーマとの間の類似性を識別することに基づいて、
前記選択された機械学習モデルに関連する複数の以前に記憶されたハイパーパラメータ値を受領する段階と；
前記以前に記憶されたハイパーパラメータ値の一つまたは複数についての値の範囲を、閾値に基づいて決定する段階と；
前記選択された機械学習モデルの一つまたは複数のハイパーパラメータについての値を、決定された値の範囲から選択する段階と；
選択された値を使用して、前記選択された機械学習モデルの前記第1のバージョンをトレーニングする段階とを含む、
方法。
〔態様１８〕
前記選択された機械学習モデルの一つまたは複数のハイパーパラメータについての値を選択する段階が、さらに：
前記選択された機械学習モデルのハイパーパラメータのうちの一つまたは複数について、決定された値の範囲内のハイパーパラメータ値を探索に基づいて識別することを含み、前記探索は可変の粒度を有し、前記探索の粒度は、前記複数のハイパーパラメータのそれぞれの、前記選択された機械学習モデルの一つまたは複数のパフォーマンス・メトリックに対する影響度に対応する、
態様１７に記載の方法。
〔態様１９〕
前記閾値のサイズは、前記一つまたは複数の以前に記憶されたハイパーパラメータの、前記選択された機械学習モデルの一つまたは複数のパフォーマンス・メトリックに対する影響度に基づいて変わる、態様１７に記載の方法。
【国際調査報告】
2021533450.tif 000009
2021533450.tif 000010