(57)【要約】      （修正有）【課題】機械学習アルゴリズム候補を比較する手段を提供する。【解決手段】機械学習システム１０は、機械学習アルゴリズムライブラリ２２と、データセットを受信するとともに、機械学習アルゴリズムライブラリ２２から得られる機械学習モデル３２のセレクションを受信するためのデータ入力モジュール２０と、各機械学習モデル３２に対してトレーニング及び評価を行って、機械学習モデル３２毎に性能結果を生成するように構成される実験モジュール３０と、機械学習モデル３２の全ての性能結果を集計して、性能比較統計を作成するように構成される集計モジュール４０とを含む。データセットを受信し、機械学習モデル３２のセレクションを受信し、各機械学習モデル３２をトレーニング及び評価して、機械学習モデル３２毎に性能結果を生成し、性能結果を集計して、性能比較統計を作成し、性能比較統計を表示する。【選択図】図２
2017004509.tif 000002
【特許請求の範囲】
【請求項１】
特定のデータ解析問題用の機械学習アルゴリズム候補を比較するための機械学習システム（１０）であって、
共通インターフェースを用いてテストされる複数の機械学習アルゴリズムを含む機械学習アルゴリズムライブラリ（２２）と、
データセット、及び、機械学習モデル（３２）のセレクションを受信するように構成されたデータ入力モジュール（２０）と、を含み、各機械学習モデル（３２）は、前記機械学習アルゴリズムライブラリ（２２）からの機械学習アルゴリズム、及び、１つ又は複数の関連パラメータ値を含み、
機械学習モデル毎の性能結果を生成するために、各機械学習モデル（３２）をトレーニング及び評価するように構成された実験モジュール（３０）と、
性能比較統計を作成するために、全ての前記機械学習モデル（３２）の前記性能結果を集計するように構成された集計モジュール（４０）と、を更に含む、機械学習システム（１０）。
【請求項２】
前記共通インターフェースは、共通入力、共通出力、データ入力のための共通の方法、データ出力のための共通の方法、及び、前記機械学習アルゴリズムライブラリ（２２）からの各機械学習アルゴリズムの共通手続呼出のうち少なくとも１つを規定する、請求項１に記載の機械学習システム（１０）。
【請求項３】
前記実験モジュール（３０）による処理のためのデータセットを準備するように構成されたデータプリプロセッサ（２４）を更に含み、前記データプリプロセッサ（２４）は、前記データセットに対して、離散化、独立成分分析の適用、主成分分析の適用、欠損データの削除、特徴の選択、及び、特徴の抽出のうち、少なくとも１つを行うように構成されている、請求項１又は２に記載の機械学習システム（１０）。
【請求項４】
複数の前処理アルゴリズムを含む前処理アルゴリズムライブラリ（２６）を更に含み、前記前処理アルゴリズムは、共通前処理インターフェースに適合する、請求項１、２、又は３に記載の機械学習システム（１０）。
【請求項５】
少なくとも１つの機械学習モデル（３２）は、一群のマイクロ処理（３８）の結果を組み合わせるマクロ処理（３６）であり、各マイクロ処理（３８）は、機械学習アルゴリズム、及び、１つ又は複数の関連パラメータ値を含み、前記マクロ処理（３６）は、累積値、最大値、最小値、中央値、平均値、モード値、最頻値、及び、多数決のうち少なくとも１つにより、一群のマイクロ処理の結果を組み合わせるように構成されている、請求項１、２、３、又は４に記載の機械学習システム（１０）。
【請求項６】
前記実験モジュール（３０）は、前記データセットをトレーニングデータセット及び評価データセットに分割するように構成されており、前記トレーニングデータセット及び前記評価データセットは、前記データセットにおいて相補的関係にあるサブセットである、請求項１、２、３、４、又は５に記載の機械学習システム（１０）。
【請求項７】
前記実験モジュール（３０）は、前記データセットのサブセットであるトレーニングデータセットを用いて各機械学習モデル（３２）をトレーニングして、機械学習モデル毎にトレーニング済モデルを生成するように構成されており、前記実験モジュール（３０）は、前記データセットのサブセットである評価データセットを用いて各トレーニング済モデルを評価して、機械学習モデル毎に性能結果を生成するように構成されている、請求項１、２、３、４、５、又は６に記載の機械学習システム（１０）。
【請求項８】
前記実験モジュール（３０）は、一個抜き交差検証及びｋ分割交差検証のうち少なくとも一方を用いて、各機械学習モデル（３２）を交差検証するように構成されている、請求項１、２、３、４、５、６、又は７に記載の機械学習システム（１０）。
【請求項９】
前記性能比較統計を表示するように構成された表示モジュール（４４）を更に含み、前記表示モジュール（４４）は、前記機械学習モデル（３２）の比較を容易にするために、全ての前記機械学習モデル（３２）の性能結果を統一した形式で表示するように構成されている、請求項１、２、３、４、５、６、７、又は８に記載の機械学習システム（１０）。
【請求項１０】
機械学習アルゴリズムをテストするためのコンピュータ化された方法（１００）であって、
データセットを受信（１０２）し、
機械学習モデル（３２）のセレクションを受信（１０４）し、その際、各機械学習モデル（３２）は、機械学習アルゴリズム、及び、１つ又は複数の関連パラメータ値を含み、
各機械学習モデル（３２）をトレーニング及び評価（１０６）して、各機械学習モデル（３２）の性能結果を生成し、
全ての前記機械学習モデル（３２）の前記性能結果を集計（１０８）して、性能比較統計を作成し、
前記性能比較統計を表示（１１０）する、ことを更に含む、方法。
【請求項１１】
前記データセットは、連続する期間に計測されたオブザーバブルの一連の値を含む時系列のデータセットである、請求項１０に記載の方法（１００）。
【請求項１２】
前記トレーニング及び評価（１０６）を行う前に、前記データセットに対してグローバル前処理（１１２）をさらに行い、前記グローバル前処理（１１２）は、離散化、独立成分分析、主成分分析、欠損データの削除、特徴選択、及び特徴抽出のうち、少なくとも１つを含む、請求項１０又は１１に記載の方法（１００）。
【請求項１３】
少なくとも１つの機械学習モデル（３２）は、一群のマイクロ処理（３８）の結果を組み合わせるマクロ処理（３６）であり、各マイクロ処理（３８）は、機械学習アルゴリズム、及び、１つ又は複数の関連パラメータ値を含み、前記マクロ処理（３６）は、累積値、最大値、最小値、中央値、平均値、モード値、最頻値、及び、多数決のうち少なくとも１つにより、一群のマイクロ処理の結果を組み合わせるように構成されている、請求項１０、１１、又は１２に記載の方法（１００）。
【請求項１４】
前記トレーニング及び評価（１０６）は、前記データセットをトレーニングデータセット及び評価データセットに分割（１２０）することを含み、前記トレーニングデータセット及び前記評価データセットは、前記データセットにおいて相補的関係にあるサブセットであり、前記トレーニング及び評価（１０６）は、前処理スキームを生成するために前記トレーニングデータセットを前処理すること（１３２）を含み、前記トレーニング及び評価（１０６）は、前記前処理スキームを用いて、前記評価データセットを前処理すること（１３４）を含む、請求項１０、１１、１２、又は１３に記載の方法（１００）。
【請求項１５】
前記トレーニング及び評価（１０６）は、前記データセットのサブセットであるトレーニングデータセットを用いて各機械学習モデル（３２）をトレーニング（１２２）して、機械学習モデル（３２）毎にトレーニング済モデルを生成することを含み、前記トレーニング及び評価（１０６）は、前記データセットのサブセットである評価データセットを用いて各トレーニング済モデルを評価して、機械学習モデル（３２）毎に性能結果を生成することを含み、前記評価データセット及び前記トレーニングデータセットは、前記データセットにおいて相補的関係にあるサブセットである、請求項１０、１１、１２、１３、又は１４に記載の方法（１００）。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、機械学習のための高度解析インフラストラクチャ（advanced analytical infrastructure）に関する。
【背景技術】
【０００２】
機械学習は、データを解析するためのプロセスであり、その際、データセットを用いて入力データ（説明変数又は予測変数）をマッピングするモデル（規則又は関数とも呼ばれる）を決定し、データを出力する（従属変数又は応答変数とも呼ばれる）。機械学習の１つである、教師あり学習（supervised learning）においては、十分な数の入力データに対して既知の出力データを含むデータセットを用いてモデルのトレーニングが行われる。モデルは、トレーニングを受けた後、期待出力を予測するために新たな入力データに対して使用、すなわち、適用することができる。
【０００３】
機械学習は、回帰問題（regression problems）（出力データが、例えば、電圧、圧力、サイクル数などの数値である）及び分類問題（classification problems）（出力データが、例えば、合否、欠陥の種類などのラベル、クラス、及び／又は、カテゴリである）に適用することができる。両タイプの問題に対して、様々な機械学習アルゴリズムを用いることができ、新たなアルゴリズムの研究も盛んに行われている。例えば、人工ニューラルネットワーク、学習決定木（learned decision trees）、及び、サポートベクターマシン（support vector machines）は、分類問題に適用可能な異なるクラスのアルゴリズムである。また、これらの例の各々は、例えば、学習率（人口ニューラルネットワーク用）、木の数（学習決定木の集団用）、及び、カーネル（kernel）のタイプ（サポートベクターマシン用）などの、特定のパラメータを選択することにより、調整することができる。
【０００４】
ある問題を解決するために利用可能な機械学習の選択肢が多くあるため、最良の選択肢や、効果の高い選択肢を選ぶことは困難である。データの量、タイプ、及び質は、トレーニング、及びその結果として得られるトレーニング済モデルの精度や安定性に影響を及ぼす。更に、問題に特化した考慮事項、例えば、エラー（例えば、偽陽性や偽陰性）に対する耐性の拡張性、及び実行速度によっても、許容可能な選択肢は限られてくる。
【０００５】
したがって、様々な特定の問題に対する適用可能性について、機械学習モデルを比較する必要がある。
【発明の概要】
【０００６】
機械学習システムは、特定のデータ解析問題のための機械学習アルゴリズム候補を比較するように構成することができる。上記機械学習システムは、機械学習アルゴリズムライブラリと、データ入力モジュールと、実験モジュールと、集計モジュールと、を含む。機械学習アルゴリズムライブラリは、共通インターフェースを用いてテストされる複数の機械学習アルゴリズムを含む。データ入力モジュールは、データセット、及び、機械学習モデルのセレクションを受信するように構成されている。各機械学習モデルは、機械学習アルゴリズムライブラリからの機械学習アルゴリズム、及び、１つ又は複数の関連パラメータ値を含む。実験モジュールは、各機械学習モデルをトレーニング及び評価して、機械学習モデル毎の性能結果を生成するように構成されている。集計モジュールは、機械学習モデルの全ての性能結果を集計して、性能比較統計を作成するように構成されている。
【０００７】
機械学習アルゴリズムをテストするためのコンピュータ化された方法は、データセットを受信することと、機械学習モデルのセレクションを受信することと、各機械学習モデルをトレーニング及び評価することと、結果を集計することと、結果を表示することと、を含む。機械学習モデルのセレクションにおける各機械学習モデルは、機械学習アルゴリズム、及び、１つ又は複数の関連パラメータ値を含む。各機械学習モデルのトレーニング及び評価は、機械学習モデル毎に性能結果を生成することを含む。集計は、性能比較統計を作成するために、全ての機械学習モデルの性能結果を集計することを含む。表示は、性能比較統計を表示することを含む。
【図面の簡単な説明】
【０００８】
【図１】本開示による機械学習システムを示す図である。
【図２】機械学習システム内のモジュールを示す図である。
【図３】本開示による方法を示す図である。
【図４】機械学習モジュールをトレーニング及び評価する方法を示す図である。
【発明を実施するための形態】
【０００９】
図１〜４は、機械学習のためのシステム及び方法を示す。概して、これらの図面において、ある実施形態に含まれる可能性が高い要素は、実線で示しており、任意又は選択的である要素は、破線で示している。ただし、実線で示した要素が、本開示における全ての実施形態において必須であるというわけではなく、本開示の範囲を逸脱することなく、実線で示した要素を特定の実施形態から省くことも可能である。同様の目的、又は少なくとも実質的に同様の目的を果たす要素には、図中において一貫した符号を付している。各図において同様の符号、及びそれに対応する要素は、全ての図面を参照して詳しく説明しているわけではない。同様に、各図において、全ての要素について符号を付したり、図示したりしているわけではないが、これらの要素に関連付けられた参照符号は、一貫して用いている。１つ又は複数の図面を参照して説明される要素、コンポーネント、及び／又は、特徴は、本開示の範囲を逸脱することなく、本願図面の何れにも含めること、及び／又は、利用することが可能である。
【００１０】
図１に示すように、機械学習システム１０は、記憶ユニット１４と機能接続する処理ユニット１２を含むコンピュータシステムである。処理ユニット１２は、ソフトウェア及び／又はファームウェアのための命令を実行するように構成された１つ又は複数の装置である。処理ユニット１２は、１つ又は複数のコンピュータプロセッサを含んでもよいし、コンピュータプロセッサの分散グループを含んでもよい。記憶ユニット１４（コンピュータ可読記憶ユニットとも呼ばれる）は、コンピュータ可読情報を記憶するように構成された１つ又は複数の装置である。記憶ユニット１４は、メモリ１６（コンピュータ読取り可能メモリとも呼ばれる）と、永続ストレージ１８（コンピュータ可読永続ストレージ、ストレージ媒体、及び／又は、コンピュータ可読ストレージ媒体とも呼ばれる）とを含みうる。永続ストレージ１８は、非一時的であって、単なる一時的な電子信号や電磁信号ではない１つ又は複数のコンピュータ可読記憶装置である。永続ストレージ１８は、１つ又は複数の（非一時的な）ストレージ媒体、及び／又は、（非一時的な）ストレージ媒体の分散グループを含みうる。機械学習システム１０は、１つ又は複数のコンピュータ、サーバ、ワークステーション等を含みうる。これらの各々は、独立して、直接又は（ネットワーク接続を含み）間接的に相互接続されている。したがって、機械学習システム１０は、互いに離れて設けられたプロセッサ、メモリ１６、及び／又は、永続ストレージ１８を含みうる。
【００１１】
機械学習システム１０は、本明細書で説明する方法を行うようにプログラムされてもよいし、当該方法を行うための命令を記憶していてもよい。機械学習システム１０の記憶ユニット１４は、命令を記憶しており、当該命令は、処理ユニット１２により実行されると、本明細書で説明する１つ又は複数の方法を機械学習システム１０に行わせる。
【００１２】
本明細書で説明するフローチャート及びブロック図は、種々の例示的な実施形態による、システム、方法、及びコンピュータプログラム製品の実現可能な実施態様のアーキテクチャ、機能、及び動作を示す。この点において、フローチャート又はブロック図における各ブロックは、モジュール、セグメント、又は、コードの一部を表すこともあり、これらは、特定の１つ又は複数の論理機能を実行するための１つ又は複数の実行可能な命令である。尚、いくつかの代替の実施態様において、ブロックに記載した機能は、図示した順序とは異なる順序で実行してもよい。例えば、連続して示されている２つのブロックの機能は、その機能によっては、実質的に同時に行われてもよいし、時には逆の順序で行われてもよい。
【００１３】
図２に概略的に示されているように、機械学習システム１０は、複数のモジュール（例えば、記憶ユニット１４に保存されており、処理ユニット１２によって実行される命令及び／又はデータ）を含みうる。これらのモジュール（エージェント、プログラム、プロセス、及び／又は手順とも呼ばれる）は、データ入力モジュール２０と、機械学習アルゴリズムライブラリ２２と、データプリプロセッサ２４と、実験モジュール３０と、集計モジュール４０と、表示モジュール４４と、を含みうる。
【００１４】
機械学習システム１０は、機械学習モデルの選択のために構成されており、言い換えれば、機械学習モデル候補の比較などを行って特定のデータ解析問題に適した機械学習モデル３２を選択することを容易にするように構成されている。概して、機械学習システム１０は、１つ又は複数の機械学習アルゴリズムの性能を算出及び／又は推定するように構成されており、当該アルゴリズムは、所与のデータセットに対する１つ又は複数の特定のパラメータ（ハイパーパラメータとも呼ばれる）で構成される。機械学習アルゴリズムは、それに関連する特定のパラメータ値と共に、少なくとも部分的に機械学習モデル３２（特定の機械学習モデル及び機械学習モデル候補とも呼ばれ、図２においては、ＭＬモデル１〜ＭＬモデルＮと呼ばれる）を形成する。
【００１５】
データ解析問題は、分類問題や回帰問題などである。データ解析問題は、順次データ、時系列データ、時間データ、及び／又は、タイムスタンプ付データとも呼ばれる時間依存性データに関連していてもよい。時間依存性データは、ある順序や期間（例えば、連続する期間に計測された）におけるオブザーバブル（observable）（量、属性、特性、又は、特徴とも呼ばれる）の推移に関連する。例えば、時間依存性データは、航空機及びそのサブシステム（例えば、推進システム、飛行制御システム、環境制御システム、電気システム等）などの装置の動作健全性に関連する。関連するオブザーバブルは、電気、光、機械、油圧、流体、空気圧、及び／又は空気力学に関するコンポーネントの状態、当該コンポーネントへの入力、及び／又は、当該コンポーネントの出力についての計測値であってもよい。
【００１６】
データ入力モジュール２０は、例えば、ユーザにより選択された、機械学習モデル３２のセレクション、及び、時間依存性データセットなどのデータセットを受信するように構成されている。したがって、機械学習システム１０は、データセットを受信するように構成されている。入力データセットとも呼ばれるデータセットは、機械学習モデル３２及び／又は実験モジュール３０と連係するために、共通形式である。入力データセットが、機械学習モデル３２及び／又は実験モジュール３０との連係に互換性のある形式ではない場合、データ入力モジュール２０及び／又はデータプリプロセッサ２４は、機械学習モデル３２及び／又は実験モジュール３０と連係するために、入力データセットを共通形式に再変換するか、或いは、入力データセットの形式を互換性のある形式に変換するように構成されている。
【００１７】
機械学習モデル３２は、機械学習アルゴリズムと、当該機械学習アルゴリズムのための１つ又は複数の関連パラメータ値とを含む。データセットは、１つ又は複数のオブザーバブル（例えば、電圧計測値及び温度計測値）のデータを含む。データセットは、ラベル付データセット（注釈付データセット、学習データセット、又は、分類データセットとも呼ばれる）であってもよい。この場合、データセットは、入力データ（例えば、オブザーバブルの値であり、生データとも呼ばれる）と、当該入力データのうち十分な数（任意で全て）のデータについての既知の出力データとを含む。したがって、ラベル付データセットは、教師あり学習（ガイド付学習とも呼ばれる）のために構成されている。
【００１８】
機械学習アルゴリズムライブラリ２２は、複数の機械学習アルゴリズムを含む。機械学習アルゴリズムの各々は、当該機械学習アルゴリズムの適用を容易にするために（例えば、テスト、トレーニング、評価、及び／又は、使用（deployment）を容易にするために）、交換インターフェースとも呼ばれる共通インターフェースに適合するように構成されている。共通インターフェースは、共通の入出力、データの入出力のための共通の方法、及び／又は、各機械学習アルゴリズムのための共通手続呼出を規定する。例えば、機械学習アルゴリズムは、同じ態様でパラメータ値を公開（expose）及び／又は受信したり、同様の機能を実行したりするために、共通形式の（例えば、特定のファイル形式の構成、特定の行及び／又は列の指定を有する構成）データセットに対して機能するように構成されている。したがって、機械学習アルゴリズムライブラリ２２の機械学習アルゴリズムは、何れも、似た態様で（データは同様にアルゴリズムに送信され、関数も同様に呼び出される）及び／又は区別なく用いることができる。更に、機械学習アルゴリズムライブラリ２２は、拡張可能であり、言い換えれば、新たなアルゴリズムが開発され利用可能になると、当該アルゴリズムを追加することができる。
【００１９】
機械学習アルゴリズムライブラリ２２の各機械学習アルゴリズムは、適用されたアルゴリズムの種類を調整又は特定するために、特定のパラメータを受け取ってもよい。例えば、人工ニューラルネットワークは、ノードの数、目的関数（cost function）、学習率、学習減衰率（learning rate decay）、及び、最大反復回数（maximum iterations）を示すパラメータを含む。学習決定木は、（集団又はランダムフォレストの）木の数、及び、試行の数（例えば、各枝で試行する特徴／予測の数）を特定するパラメータを含みうる。サポートベクターマシンは、カーネルタイプ及びカーネルパラメータを特定するパラメータを含みうる。全ての機械学習アルゴリズムが関連パラメータを有するわけではない。本明細書において、機械学習モデル３２は、少なくとも機械学習アルゴリズムと、その関連パラメータがある場合は、当該パラメータとの組み合わせである。したがって、データ入力モジュール２０のための機械学習モデル３２のセレクションは、（ユーザにより）選択された機械学習アルゴリズム及びこれに関連するパラメータであるといえる。機械学習モデルのセレクションの機械学習アルゴリズムは、機械学習アルゴリズムライブラリ２２から選択することができる。機械学習アルゴリズムは、単純ベイズ分類器、木構造拡張単純ベイズ分類器、動的ベイジアンネットワーク（dynamic Bayesian network）、サポートベクターマシン、学習決定木、学習決定木の集団（例えば、学習決定木のランダムフォレスト）、人工ニューラルネットワーク、及び、これらの組み合わせであってもよい。
【００２０】
機械学習モデル３２は、一群のマイクロ処理３８の結果を組み合わせるマクロ処理３６であってもよい。各マイクロ処理３８は、機械学習アルゴリズム及びその関連パラメータ値を含む。任意ではあるが、各マイクロ処理３８は、機械学習アルゴリズム及び関連パラメータ値の異なる組み合わせを含んでもよい。マイクロ処理３８は、機械学習モデル３２についての説明で述べたように、同じ態様で構成されてもよいし、同じ特徴を含んでいてもよい。例えば、マイクロ処理３８は、単純ベイズ分類器、木構造拡張単純ベイズ分類器、動的ベイジアンネットワーク、サポートベクターマシン、学習決定木、学習決定木の集団、及び／又は、人工ニューラルネットワークを含む。
【００２１】
マクロ処理３６は、一群のマイクロ処理３８における全てのマイクロ処理３８に対して、同じ基本入力データ（すなわち、少なくとも入力データのサブセット及び／又は派生物）を提供するように構成されている。マクロ処理３６のトレーニングは、（同じ基本入力データを用いて）各マイクロ処理３８をトレーニングすることを含む。１つ又は複数、或いは、任意で全てのマイクロ処理３８は、同じ入力特徴データを用いてトレーニングしてもよい。これに加え、或はこれに代えて、２つ又はそれ以上、或いは、全てのマイクロ処理３８は、異なる入力特徴データ（なお、入力特徴データの全ては、入力データのサブセット及び／又は派生物である）を用いてトレーニングしてもよい。
【００２２】
個々のトレーニング済マイクロ処理３８は、出力データの予測（結果）に関して、信頼性、ロバスト性、及び／又は、安定性に優れているが、マイクロ処理の結果の組み合わせは、個々の結果の何れよりも信頼性、ロバスト性、及び／又は、安定性に優れると考えられる。したがって、マクロ処理３６は、マイクロ処理３８の結果を組み合わせて、個々のマイクロ処理３８の結果よりも信頼性、ロバスト性、及び／又は、安定性に優れた複合結果を生成するように構成されてもよい。
【００２３】
マクロ処理３６は、マイクロ処理３８とは独立又は相違する機械学習アルゴリズム及び関連パラメータ値を含みうる。これに加え、或はこれに代えて、マクロ処理３６は、累積値、最大値、最小値、中央値、平均値、モード値（mode value）、最頻値（most common value）、及び／又は、多数決により、一群のマイクロ処理３８の結果を組み合わせてもよい。マクロ処理３６の例としては、学習決定木（例えば、ランダムフォレスト）、及び、関連分類器（例えば、将来の異なる時間における結果を予測するようにトレーニングされた分類器）の集団が挙げられる。関連分類器の集団の一例は、２０１５年２月３日に出願された米国出願第１４／６１３，０１５号「Predictive Aircraft Maintenance Systems and Methods Incorporating Classifier Ensembles」に開示されており、その開示内容は、全ての目的で参照により本明細書に盛り込まれている。
【００２４】
機械学習システム１０は、データプリプロセッサ２４を含みうる。当該プロセッサは、グローバルプリプロセッサ及び初期データプリプロセッサとも呼ばれる。データプリプロセッサ２４は、実験モジュール３０による処理のために、入力データセットを準備するように構成されている。データプリプロセッサ２４への入力は、データ入力モジュール２０により供給される入力データセットを含む。データプリプロセッサ２４は、入力データセットに対して、１つ又は複数の前処理アルゴリズムを適用することができる。例えば、データプリプロセッサ２４は、データセットに対して、離散化を行ったり、独立成分分析を適用したり、主成分分析を適用したり、欠損データを削除したり（例えば、記録の削除及び／又はデータの推定）、特徴を選択したり、特徴を抽出したりするように構成されている。いくつかの機械学習モデル３２は、データセットが前処理されていると、より確実に動作すること、及び／又は、より高い耐障害性を発揮しつつ動作すること（例えば、汎化性を向上させたり、トレーニングデータに対する依存度を少なくしたりして）ができる。データセットを前処理しておくと、いくつかの機械学習モデル３２のトレーニングを改善する（例えば、より高速に動作したり、過学習を少なくしたりする）ことができる。データプリプロセッサ２４は、同じ前処理をデータセットに対して行う。処理されたデータセットは、実験モジュール３０へ送られて、テスト中の全ての機械学習モデル３２により用いられる。任意のデータプリプロセッサ２４の後の入力データ（例えば、入力データセット、或いは、１つ又は複数の前処理アルゴリズムにより任意で前処理された入力データセット）は、入力特徴データ及び／又は入力特徴データセットと呼ばれる。入力特徴データは、データプリプロセッサ２４により、実験モジュール３０へと供給される。
【００２５】
データプリプロセッサ２４は、複数の前処理アルゴリズムを含む前処理アルゴリズムライブラリ２６から（複数の）前処理アルゴリズムを選択することができる。前処理ライブラリ２６の前処理アルゴリズムは、各々が、その適用を容易にするために、交換インターフェースとも呼ばれる共通インターフェースに適合するように構成されている。共通インターフェースは、共通の入出力、データの入出力のための共通の方法、及び／又は、各前処理アルゴリズムのための共通手続呼出を規定しうる。例えば、前処理アルゴリズムは、同じ態様でパラメータ値を公開（expose）及び／又は受信したり、同様の機能を実行したりするために、共通形式の（例えば、特定のファイル形式の構成、特定の行及び／又は列の指定を有する構成）データセットに対して機能するように構成されている。したがって、前処理アルゴリズムライブラリ２６の前処理アルゴリズムは、何れも、似た態様で（データは同様にアルゴリズムに送信され、関数も同様に呼び出される）及び／又は区別なく用いることができる。更に、前処理アルゴリズムライブラリ２６は、拡張可能であり、言い換えれば、新たなアルゴリズムが開発され利用可能になると、当該アルゴリズムを追加することができる。
【００２６】
離散化（discretization）は、データプリプロセッサ２４により行われる通常のタスクであり、前処理アルゴリズムライブラリ２６に存在しうるアルゴリズムのクラスである。離散化は、ビニング（binning）とも呼ばれており、数値のオブザーバブル（例えば、連続した入力値）を変換及び／又は分割して、当該オブザーバブルを、離散化、ビニング化、及び／又は公称のクラス値にする処理である。例えば、連続値は、各連続値を１つの区間として分類した一組の区間に離散化される。連続データの離散化を行うと、典型的には離散化エラーが発生する。したがって、様々なアルゴリズムが、離散化エラーを低減するように構成されている。概して、離散化アルゴリズムは、ビン（bins）の統計的独立（例えば、アメーバ（Ameva）、カイ二乗（Chi2）、カイマージ（ChiMerge）などのχ2に関連する方法）、及び／又は、ビンの情報エントロピー（例えば、最小記述長の原理（ＭＤＬＰ）、クラス属性相互依存性最大化（ＣＡＩＭ）、及びクラス属性コンテンジェンシイ係数（ＣＡＣＣ）などの方法）に基づいて入力データを分割する。
【００２７】
特徴選択及び特徴抽出は、データプリプロセッサ２４により行われる他の通常のタスクであり、前処理アルゴリズムライブラリ２６に存在しうるアルゴリズムのクラスである。特徴選択においては、概して、入力データ値のサブセットが選択される。次元削減とも呼ばれる特徴抽出においては、概して、１つ又は複数の入力データ値が新たなデータ値に変換される。特徴選択と特徴抽出とを組み合わせて単一のアルゴリズムにしてもよい。特徴選択及び／又は特徴抽出においては、トレーニングを容易にするため、冗長又は無関係なデータを削除するため、重要な特徴（及び／又は、入力データ）を特定するため、及び／又は、特徴（及び／又は、データ）の関係を特定するために、入力データの前処理が行われる。
【００２８】
特徴抽出は、入力特徴データの統計値を特定することを含みうる。データセットが時間依存性のデータセットである場合、統計値は、データセットの時間依存性に関連しうる。例えば、統計値は、時間ウィンドゥ、すなわち、ある期間中及び／又は１つ又は複数の特定の期間における統計値である。これに加え、或はこれに代えて、統計値は、１つ又は複数の入力特徴データ値に関連していてもよい。例えば、統計値は、センサー値の時間平均、及び／又は、２つのセンサー値（例えば、異なる時間、及び／又は、異なる位置で計測された値）間の差異であってもよい。より一般的には、統計値は、最小値、最大値、平均値、分散値、偏差値、累積値、変化率、平均変化率、合計、差分、比率、積、及び／又は、相関関係を含んでもよい。統計値は、データ点の総数、連続するデータ点の最大数、連続するデータ点の最小数、連続するデータ点の平均数、合計時間、最大時間、最小時間、及び／又は、平均時間を含んでもよく、これらの入力特徴データ値が、閾値を上回るか、下回るか、或いは、当該閾値とほぼ等しいものである。
【００２９】
これに加え、或はこれに代えて、特徴選択及び／又は特徴抽出は、ある制約内で入力特徴データ値を選択、抽出、及び／又は、処理することを含みうる。例えば、オブザーバブル値は、所定範囲（例えば、外れ値データは除く）内の場合のみ、及び／又は、他のオブザーバブル値が所定範囲（例えば、あるセンサー値が、他のセンサー値の許容を認定してもよい）内の場合のみ、選択、抽出、及び／又は、処理してもよい。
【００３０】
機械学習システム１０の実験モジュール３０は、データ入力モジュール２０により供給される機械学習モデル３２のセレクションにおける各々の機械学習モデル３２をテストして（例えば、トレーニングや評価を行って）、各機械学習モデル３２の性能結果を生成するように構成されている。機械学習モデル３２の各々について、実験モジュール３０は、同じデータセット（データ入力モジュール２０やデータプリプロセッサ２４から受信した入力特徴データセット、及び／又は、入力特徴データセットから得られるデータ）を用いて、教師あり学習を行うように構成されている。したがって、機械学習モデル３２の各々は、機械学習モデル３２の比較を容易にするために、同じ情報を用いてトレーニングすることができる。
【００３１】
実験モジュール３０は、特定の実験（試験とも呼ばれる）を自動的及び／又は自律的に設計及び実行して、機械学習モデル３２の各々のテストを行うように構成することができる。実験の自動的及び／又は自律的な設計は、テストを行う機械学習モデル３２の順番、及び／又は、どの機械学習モデル３２に対してテストを行うかを決定することを含みうる。例えば、データ入力モジュール２０が受信する機械学習モデル３２のセレクションは、特定の機械学習アルゴリズムと、テストを行う１つ又は複数の関連するパラメータの範囲及び／又は組とを含む。実験モジュール３０は、これらの（複数の）範囲及び（複数の）組を適用して、一群の機械学習モデル３２を特定することができる。すなわち、実験モジュール３０は、上記セレクションにより特定されたパラメータの固有な組み合わせの各々について、機械学習モデル３２を生成することができる。セレクションが範囲を含む場合、実験モジュール３０は、当該範囲をサンプリングする（例えば、当該範囲に広がる）値の組を生成することができる。一例として、機械学習モデル３２のセレクションは、人工ニューラルネットワークが、１０〜２０個のノードを有するとともに学習率減衰が０又は０．０１である（複数の）機械学習アルゴリズム（のうちの１つ）及び関連するパラメータであると特定する。実験モジュール３０は、このセレクションを少なくとも４つの機械学習モデル、すなわち、１０個のノードを有するとともに学習率減衰が０である人工ニューラルネットワーク、１０個のノードを有するとともに学習率減衰が０．０１である人工ニューラルネットワーク、２０個のノードを有するとともに学習減衰率が０である人工ニューラルネットワーク、及び、２０個のノードを有するとともに学習率減衰が０．０１である人工ニューラルネットワークであると解釈してもよい。
【００３２】
概して、実験モジュール３０で用いられる各機械学習モデル３２は、独立しており、個別にテストを行うことができる。したがって、実験モジュール３０は、並行して（例えば、少なくとも部分的に同時に）１つ又は複数の機械学習モデル３２をテストするように構成することができる。
【００３３】
実験モジュール３０は、任意で機械学習モデル３２毎に独立して、データセットを、トレーニングデータセット（データセットのサブセット）と評価データセット（データセットの他のセブセット）とに分割するように構成することができる。同じトレーニングデータセット及び評価データセットを、１つ又は複数、或いは、任意で全ての機械学習モデル３２に用いることができる。これに加え、或はこれに代えて、各機械学習モデル３２は、データセットの独立した分割部分（機械学習モデル毎に固有の分割部分であってもよいし、そうでなくてもよい）を用いて、（任意で独占的に）テストすることができる。実験モジュール３０は、（トレーニング済モデルを生成するために）それぞれの（複数の）トレーニングデータセットを用いて（複数の）機械学習モデル３２をトレーニングするとともに、それぞれの（複数の）評価データセットを用いて（複数の）機械学習モデル３２を評価するように構成することができる。したがって、トレーニング処理における偏りを避けるために、トレーニングデータセットと評価データセットとは独立しており、入力データ、及び／又は、同じ入力データに関する値は共有しない。トレーニングデータセット及び評価データセットは、実験モジュール３０に入力されるデータセット（例えば、任意でデータプリプロセッサ２４により処理されたもの）において相補的関係にあるサブセットであってもよい。すなわち、トレーニングデータセットと評価データセットとを結合すると、全体のデータセットになる。概して、トレーニングデータセット及び評価データセットは、一様且つ独立して分布している。言い換えれば、トレーニングデータセット及び評価データセットは、データが重複しておらず、実質的に同じ統計分布を示す。
【００３４】
実験モジュール３０は、データセットの分割を行う前及び／又はその後に、（任意のモデルプリプロセッサ３４を用いて）当該データセットを前処理するように構成してもよいし、トレーニングデータセット及び評価データセットを別々に前処理するように構成してもよい。実験モジュール３０及び／又は機械学習システム１０は、各機械学習モデル３２に入力されるデータ（入力特徴データ）を前処理するように構成されたモデルプリプロセッサ３４を含みうる。実験モジュール３０及び／又はモデルプリプロセッサ３４は、各機械学習モデル３２に別々に入力されるデータを前処理するように構成される。モデルプリプロセッサ３４は、上述したデータプリプロセッサ２４の態様と同様に構成されてもよいし、当該データプリプロセッサと同じ特徴を含んでもよい。例えば、モデルプリプロセッサ３４は、前処理アルゴリズムライブラリ２６から選択される１つ又は複数の前処理アルゴリズムを、入力特徴データに適用する。
【００３５】
いくつかの前処理ステップは、データセットの分割前に適用するには不適切である。これは、当該前処理がトレーニングデータセットを偏らせるためである（すなわち、トレーニングデータセットが、評価データセットから得られる情報を含んでしまう場合がある）。例えば、（ラベル付データセットに依存しない）教師なし離散化では、特定の入力データ値とは独立して、及び／又は、出力データの知識を持たずに、所定のアルゴリズムに従ってデータをグループ化するのに対して、（ラベル付データセットに依存する）教師あり離散化は、データ（入力データ及び／又は既知の出力データ）のパターンに従ってデータをグループ化する。特定の入力データ値とは独立した教師なし離散化は、データセットの分割を行う前及び／又はその後に実行することができる。トレーニングデータセットで生じうる偏りを避けるために、教師あり離散化、特に、特定の入力データ値に依存する特定の離散化は、データセットを（例えば、トレーニングデータセット及び評価データセットを別々に）分割した後に実行してもよい。
【００３６】
モデルプリプロセッサ３４が、トレーニングデータセット及び評価データセットを分割した後にデータの前処理を行うように構成されている場合、モデルプリプロセッサ３４は、トレーニングデータセット及び評価データセットを別々に前処理するように構成されてもよいし、トレーニングデータセットと同じ態様で（例えば、トレーニングデータセットを前処理することにより得られた前処理スキーム（preprocessing scheme）を用いて）評価データセットを前処理するように構成されてもよい。例えば、教師なし離散化においては、トレーニングデータセットに基づいてデータをグループ化する。同じグループを評価データセットにも適用する。
【００３７】
実験モジュール３０は、教師あり学習を用いて機械学習モデル３２の各々のトレーニングを行い、機械学習モデル毎にトレーニング済モデルを生成するように構成されている。実験モジュール３０は、各トレーニング済モデルの評価及び／又は検証を行い、各機械学習モデルの性能結果を生成するように構成されている。評価及び／又は検証は、トレーニング済モデルを、それぞれの評価データセットに適用して、トレーニング済モデルの結果を既知の出力値と比較することにより行うことができる。マクロ処理３６の機械学習モデル３２のために、実験モジュール３０は、マクロ処理３６の各マイクロ処理３８を個別にトレーニングして、一群のトレーニング済マイクロ処理を生成し、マクロ処理３６自体が機械学習アルゴリズムを含んでいる場合、一群のトレーニング済のマイクロ処理３８を用いてマクロ処理３６をトレーニングすることにより、トレーニング済マクロ処理を生成するように構成することができる。マクロ処理３６のために、実験モジュールは、トレーニング済マクロ処理をそれぞれの評価データセットに適用して、トレーニング済マクロ処理の結果を既知の出力値と比較することにより、トレーニング済マクロ処理を評価及び／又は検証するように構成されている。
【００３８】
評価及び／又は検証は、交差検証（複数回の検証）、例えば、一個抜き交差検証（leave-one-out cross validation）及び／又はｋ分割交差検証（k-fold cross validation）により行うことができる。交差検証とは、（複数のトレーニングデータセット、及び対応する評価データセットを形成するために）元のデータセットを複数に分割し、各分割部分（各トレーニングデータセット及び対応する評価データセット）をトレーニング及び評価して、分割部分毎に評価結果を生成し、これらの評価結果を組み合わせて、性能結果を生成するプロセスである。例えば、ｋ分割交差検証においては、元のデータセットがｋ個のチャンクに分割される。各回の検証において、複数のチャンクのうち１つは評価データセットであり、残りのチャンクはトレーニングデータセットである。各回の検証において、評価データセットになるチャンクは異なる。一個抜き交差検証において、モデルにより評価される各インスタンスは、それ自体のチャンクである。したがって、一個抜き交差検証は、ｋがデータ点の数である（各データ点が特徴のタプルである）場合のｋ分割交差検証である。性能結果を生成するために評価結果を組み合わせることは、評価結果を平均すること、評価結果を累積すること、及び／又は、評価結果の他の統計的な組み合わせを累積することによって行われてもよい。
【００３９】
各機械学習モデル３２の性能結果、及び／又は、各回の検証における個々の評価結果は、相関係数、平均二乗誤差、信頼区間、精度、真陽性の数、真陰性の数、偽陽性の数、偽陰性の数、感度、陽性適中率（positive predictive value）、特異度、陰性適中率（negative predictive value）、偽陽性率、偽発見率（false discovery rate）、偽陰性率、及び／又は、偽欠損率（false omission rate）に関係する指標、値、及び／又は、結果を含みうる。これに加え、或はこれに代えて、指標、値、及び／又は結果は、演算効率、要求されるメモリ、及び／又は実行速度に関連していてもよい。各機械学習モデル３２の性能結果は、少なくとも１つの同じ種類の指標、値、及び／又は結果を含みうる（例えば、全ての性能結果は、精度を含む）。各機械学習モデル３２の性能結果は、異なる種類の指標、値、及び／又は結果を含みうる（例えば、ある性能結果は信頼区間を含み、ある性能結果は偽陽性率を含む）。
【００４０】
２クラス分類方式（例えば、バイナリ値、陽性‐陰性、真‐偽、ｙｅｓ‐ｎｏ等）において、真陽性は、トレーニング済モデルの結果が「陽性」であり、既知の出力値も「陽性」であることをいう（例えば、「ｙｅｓ」の結果及び「ｙｅｓ」の値）。真陽性率は、感度及び／又は再現率とも呼ばれており、真陽性の総数を「陽性」出力値の総数で割ったものである。陽性適中率は、適合率とも呼ばれており、真陽性の総数を「陽性」結果の総数で割ったものである。真陰性は、トレーニング済モデルの結果が「陰性」であり、既知の出力値も「陰性」であることをいう。真陰性率は、特異度とも呼ばれており、真陰性の総数を「陰性」出力値の総数で割ったものである。陰性適中率は、真陰性の総数を「陰性」結果の総数で割ったものである。偽陽性（第一種過誤とも呼ばれる）は、既知の出力値が「陰性」である場合の、トレーニング済モデルからの「陽性」結果である。偽陽性率は、フォールアウト（fall-out）とも呼ばれており、偽陽性の総数を「陰性」出力値の総数で割ったものである。偽発見率は、偽陽性の総数を「陽性」結果の総数で割ったものである。偽陰性（第二種過誤とも呼ばれる）は、既知の出力値が「陽性」である場合の、トレーニング済モデルからの「陰性」結果である。偽陰性率は、偽陰性の総数を「陽性」出力値の総数で割ったものである。偽欠落率は、偽陰性の総数を「陰性」結果の総数で割ったものである。
【００４１】
２クラス分類方式において、精度とは、真陽性と真陰性との総数を母集団全体（total population）で割ったものをいう。回帰問題において、精度は、平均二乗誤差などの誤差測定値であってもよい。
【００４２】
機械学習システム１０の集計モジュール４０は、性能比較統計を作成するために、機械学習モデルの全ての性能結果を集計及び／又は累積するように構成されている。性能比較統計は、機械学習モデル３２全ての比較を容易にするために、選択、構成、及び／又は整理される。集計モジュール４０は、機械学習モデルの各々の性能結果を累積及び／又は集計するように構成されてもよい。性能比較統計は、機械学習モデル３２に対応する性能結果の各々の１つ又は複数の指標、値、及び／又は結果を含みうる。性能比較統計は、機械学習モデル３２毎に、少なくとも１つの同じ種類の指標、値、及び／又は結果を含みうる（例えば、性能比較統計は、機械学習モデル３２毎に精度を含む）。性能比較統計は、機械学習モデル３２毎に、異なる種類の指標、値、及び／又は結果を含みうる（例えば、性能比較統計は、ある機械学習モデル３２については信頼区間を含み、他の機械学習モデル３２については偽陽性率を含む）。
【００４３】
機械学習システム１０は、当該機械学習システム１０の操作者及び／又はユーザに対して性能比較統計を表示するように構成された任意の表示モジュール４４を含む。表示モジュール４４は、機械学習モデル３２の比較を容易にするために、全ての機械学習モデルの性能結果を統一した形式で表示するように構成されてもよい。表示モジュール４４は、視覚、音声、及び／又は触覚表示により性能比較統計を表示するように構成されてもよい。表示は、英数字表示、映像モニター、ランプ、ＬＥＤ、スピーカー、ブザー、ばね、及び／又は、おもりを含みうる。これに加え、或はこれに代えて、表示モジュール４４は、性能比較統計を含むファイルを永続ストレージ１８に保存したり、性能比較統計を含むデータブロックを記憶ユニット１４及び／又はユーザに送信したりしてもよい。
【００４４】
図３は、時系列データなどのデータを用いて機械学習アルゴリズムをテストする方法１００を、概略的に示す。方法１００は、データセット（例えば、時間依存性データセット）を受信すること１０２と、機械学習モデル（例えば、機械学習モデル３２）を受信すること１０４と、各機械学習モデルの性能結果を生成するために、各機械学習モデルをトレーニング及び評価すること１０６と、性能比較統計を作成するために、全ての機械学習モデルの性能結果を集計すること１０８と、性能比較統計を（例えば、ユーザに）表示すること１１０と、を含む。
【００４５】
方法１００は、機械学習システム１０を操作及び／又は使用することを含みうる。データセットを受信すること１０２は、データ入力モジュール２０を操作及び／又は使用することを含みうる。機械学習モデルを受信すること１０４は、データ入力モジュール２０及び／又は機械学習アルゴリズムライブラリ２２を、操作及び／又は使用することを含みうる。トレーニング及び評価すること１０６は、実験モジュール３０を操作及び／又は使用することを含みうる。集計すること１０８は、集計モジュール４０を操作及び／又は使用することを含みうる。表示すること１１０は、表示モジュール４４を操作及び／又は使用することを含みうる。
【００４６】
方法１００は、データプリプロセッサ２４及び／又は前処理アルゴリズムライブラリ２６を、操作及び／又は使用して、データセットを前処理すること１１２（グローバル前処理とも呼ばれる）を含みうる。前処理すること１１２は、離散化、独立成分分析、主成分分析、欠損データの削除、特徴選択、及び／又は、特徴抽出を含みうる。
【００４７】
トレーニング及び評価すること１０６は、各機械学習モデルの性能結果を生成するために、１０２において受信した入力データセット、及び／又は、１１２において修正されたデータセット、すなわち入力特徴データセットと同じ入力データセットを用いることを含む。トレーニング及び評価すること１０６は、入力特徴データセットのサブセット及び／又は派生物を用いることを含み、各機械学習モデルは、入力特徴データセットのうち、同じ又は異なるサブセット及び／又は派生物を用いてトレーニング及び評価されてもよい。トレーニング及び評価すること１０６は、概して、機械学習アルゴリズム毎に、入力特徴データセットの少なくともサブセット及び／又は派生物を用いて教師あり学習を行うことを含む。トレーニング及び評価１０６を行う際、各機械学習モデルについて同じ情報を用いることにより、機械学習モデルのセレクションの比較を容易にすることができる。
【００４８】
トレーニング及び評価すること１０６は、機械学習モデルのセレクションにおける各機械学習モデルをテストするために、実験（試験）を設計及び実施（実行）することを含みうる。トレーニング及び評価すること１０６は、先に実験モジュール３０（図２）の説明で述べたように、テストを行う機械学習モデルの順番、及び／又は、どの機械学習モデルに対してテストを行うかを決定することを含みうる。
【００４９】
トレーニング及び評価すること１０６は、個別に、及び／又は、並行して（例えば、少なくとも部分的に同時に）、実験を設計することを含みうる。トレーニング及び評価すること１０６は、並行して（例えば、少なくとも部分的に同時に）１つ又は複数の実験を行うこと（機械学習モデルをトレーニング及び評価すること）を含みうる。
【００５０】
図４に詳細に示すように、トレーニング及び評価すること１０６は、機械学習モデル毎に、データセットを、トレーニングデータセット及び対応する評価データセットに分けること１２０と、トレーニングデータセットを用いて機械学習モデルをトレーニングすること１２２と、評価データセットを用いてトレーニング済モデルを評価すること１２４と、を含む。更に、トレーニング及び評価すること１０６は、機械学習モデル毎に、（データセットの分割１２０を行う前に）データセットを前処理すること１３０、トレーニングデータセットを前処理すること１３２、及び／又は、評価データセットを前処理すること１３４、を含みうる。前処理１３０、前処理１３２、及び、前処理１３４の各々は、それぞれのデータセットについて、離散化、独立成分分析、主成分分析、欠損データの削除、特徴選択、及び／又は、特徴抽出を、独立して含みうる。評価データセットを前処理すること１３４は、トレーニングデータセットを前処理すること１３２とは独立して、或いは、これに依存して（例えば、同じ前処理スキームを共有して）行われてもよい。例えば、前処理１３４は、トレーニングデータセットの前処理１３２によるものと同じグループ分類を評価データセットに適用する。
【００５１】
分割１２０は、少なくとも１つの（任意で、各々の）機械学習モデルについて、個別に行ってもよい。これに加え、或はこれに代えて、分割１２０は、１つ又は複数（任意で、全て）の機械学習モデルについて、同じトレーニングデータセット及び対応する同じ評価データセットを生成するように行ってもよい。実験モジュール３０の説明で述べたように、トレーニングデータセットと評価データセットとは、独立しており、（例えば、トレーニング処理における偏りを避けるために）入力データの共有、及び／又は、同じ入力データに関する値の共有を行わないようにしてもよい。トレーニングデータセット及び評価データセットは、入力特徴データセットにおいて相補的関係にあるサブセットであり、互いに独立して同一に分布していてもよい（identically and independently distributed）。すなわち、トレーニングデータセット及び評価データセットは、データの重複がなく、実質的に同じ統計的分布を示していてもよい。
【００５２】
トレーニング１２２は、トレーニングデータセットを用いて各機械学習モデル（例えば、機械学習モデル３２）をトレーニングして、機械学習モデル毎にトレーニング済モデルを生成することを含む。機械学習モデルが、マクロ処理（例えば、マクロ処理３６）である場合、トレーニング１２２は、マクロ処理をトレーニングすること１４０と、マクロ処理のマイクロ処理（例えば、マイクロ処理３８）をトレーニングすること１４２と、を更に含む。マクロ処理をトレーニングすること１４０は、一群のトレーニング済マイクロ処理を生成するために、マクロ処理の各マイクロ処理を個別にトレーニングすること１４２を含み、マクロ処理自体が機械学習アルゴリズムを含んでいる場合には、一群のトレーニング済マイクロ処理を用いてマクロ処理をトレーニングする。機械学習モデルがマクロ処理ではない場合、トレーニング１２２は、トレーニング１４０もトレーニング１４２も含まない。
【００５３】
評価１２４は、例えば、実験モジュール３０の説明で述べたように、対応する評価データセットを用いて、各トレーニング済モデルを評価することを含む。トレーニング済モデルを評価データセットに適用して、評価データセットの入力値の各々についての結果（予測）を生成し、これらの結果を、評価データセットの既知の出力値と比較する。上記比較は、評価結果及び／又は性能結果とも呼ばれることがある。
【００５４】
トレーニング及び評価１０６は、実験モジュール３０の説明で述べたような、検証及び／又は交差検証（複数回の検証）、例えば、一個抜き交差検証、及び／又は、ｋ分割交差検証を含みうる。トレーニング及び評価１０６は、データセットの分割１２０を繰り返し行って、複数回のトレーニング１２２及び評価１２４（すなわち、複数回の検証）を行い、機械学習モデル毎の性能結果を生成するために、複数回のトレーニング１２２及び評価１２４の（評価）結果を組み合わせること１２６を含みうる。性能結果を生成するために、評価結果を組み合わせること１２６は、評価結果を平均すること、評価結果を累積すること、及び／又は、評価結果の他の統計的な組み合わせによって行われてもよい。
【００５５】
複数回の検証のそれぞれの評価結果及び機械学習モデル毎の性能結果については、実験モジュール３０の説明で述べた通りである。
【００５６】
図３に戻って、集計１０８は、性能比較統計を作成するために、機械学習モデル毎の性能結果を累積することを含みうる。性能比較統計は、機械学習モデル全ての比較を容易にするために、選択、構成、及び／又は整理される。集計は、機械学習モデルの各々の性能結果を累積及び／又は集計することを含みうる。性能比較統計については、集計モジュール４０の説明で述べた通りである。
【００５７】
表示１１０は、例えば、操作者及び／又はユーザに対して、性能比較統計を表示することを含む。表示１１０は、機械学習モデルの比較を容易にするために、全ての機械学習モデルの性能結果を統一した形式で表示することを含みうる。表示１１０は、視覚、音声、及び／又は触覚表示により性能比較統計を表示することを含みうる。これに加え、或はこれに代えて、表示１１０は、性能比較統計を含むファイルを（例えば、永続ストレージ１８に）保存すること、及び／又は、性能比較統計を含むデータブロックを（例えば、記憶ユニット１４及び／又はユーザに）送信すること、を含みうる。
【００５８】
方法１００は、１つ又は複数の機械学習モデルに対応する使用可能な機械学習モデルを構築すること１１４を含みうる。使用可能な機械学習モデルを構築すること１１４は、対応する機械学習モデルを、（任意で、前処理された）全ての入力特徴データセットを用いてトレーニングすることを含む。したがって、使用可能な機械学習モデルは、単なるサブセット（トレーニングデータセット）ではなく、全ての利用可能なデータを用いてトレーニングされている。構築１１４は、機械学習モデルと性能比較統計とを比較して、使用する１つ又は複数の機械学習モデルを選択した後に行われてもよい。
【００５９】
本開示に係る発明の要部の例は、以下に列記の項に記載されている。
【００６０】
Ａ１．入力データを用いて機械学習アルゴリズムをテストするためのコンピュータ化された方法であって、
入力データセットを受信し、
機械学習モデルのセレクションを受信し、その際に、各機械学習モデルは、機械学習アルゴリズム、及び、１つ又は複数の関連パラメータ値を含み、
各機械学習モデルをトレーニング及び評価して、各機械学習モデルの性能結果を生成し、
全ての前記機械学習モデルの前記性能結果を集計して、性能比較統計を作成し、
前記性能比較統計を表示する、ことを含む、方法。
【００６１】
Ａ２．前記入力データセットは、時間依存性データセット、時系列データセット、タイムスタンプ付データセット、順次データセット、及び時間データセットのうち、少なくとも１つである、項Ａ１に記載の方法。
【００６２】
Ａ３．前記入力データセットは、連続する期間に計測されたオブザーバブルの一連の値を含む、項Ａ１又はＡ２に記載の方法。
【００６３】
Ａ４．前記入力データセットは、ラベル付データセットである、項Ａ１〜Ａ３の何れかに記載の方法。
【００６４】
Ａ５．前記トレーニング及び評価を行う前に、前記入力データセットに対してグローバル前処理をさらに行い、任意で、前記グローバル前処理は、離散化、独立成分分析、主成分分析、欠損データの削除、特徴選択、及び特徴抽出のうち、少なくとも１つを含む、項Ａ１〜Ａ４の何れかに記載の方法。
【００６５】
Ａ５．１．前記グローバル前処理は、少なくとも、時間ウィンドゥにおいて特徴データの統計値を特定することにより、特徴を抽出することを含む、項Ａ５に記載の方法。
【００６６】
Ａ５．１．１．前記統計値は、最小値、最大値、平均値、分散値、偏差値、累積値、変化率、及び平均変化率のうち少なくとも１つを含むか、任意で、これらのうちの少なくとも１つである、項Ａ５．１に記載の方法。
【００６７】
Ａ５．１．２．前記統計値は、データ点の総数、連続するデータ点の最大数、連続するデータ点の最小数、連続するデータ点の平均数、合計時間、最大時間、最小時間、及び平均時間のうち少なくとも１つを含むか、任意で、これらのうち少なくとも１つであり、これら特徴データが、閾値を上回るか、下回るか、或いは、当該閾値とほぼ等しいものである、項Ａ５．１〜Ａ５．１．１の何れかに記載の方法。
【００６８】
Ａ６．少なくとも１つ、或いは、任意で各々の機械学習モデルは、単純ベイズ分類器、木構造拡張単純ベイズ分類器、動的ベイジアンネットワーク、サポートベクターマシン、学習決定木、学習決定木の集団、及び、人工ニューラルネットワークのうち少なくとも１つを含む、項Ａ１〜Ａ５．１．２の何れかに記載の方法。
【００６９】
Ａ７．少なくとも１つ、或いは、任意で各々の機械学習モデルは、一群のマイクロ処理の結果を組み合わせたマクロ処理であり、各マイクロ処理は、機械学習アルゴリズム、及び、１つ又は複数の関連パラメータ値を含む、項Ａ１〜Ａ６の何れかに記載の方法。
【００７０】
Ａ７．１．少なくとも１つ、或いは、任意で各々のマイクロ処理は、単純ベイズ分類器、木構造拡張単純ベイズ分類器、動的ベイジアンネットワーク、サポートベクターマシン、学習決定木、学習決定木の集団、及び、人工ニューラルネットワークのうち少なくとも１つを含む、項Ａ７に記載の方法。
【００７１】
Ａ７．２．前記マクロ処理は、累積値、最大値、最小値、中央値、平均値、モード値、最頻値、及び、多数決のうち少なくとも１つにより、一群のマイクロ処理の結果を組み合わせるように構成されている、項Ａ７又はＡ７．１に記載の方法。
【００７２】
Ａ８．前記機械学習アルゴリズムは、機械学習アルゴリズムの拡張可能なライブラリから選択される、項Ａ１〜Ａ７．２の何れかに記載の方法。
【００７３】
Ａ９．前記トレーニング及び評価は、任意で機械学習モデル毎に独立して、前記入力データセットをトレーニングデータセット及び評価データセットに分割することを含み、任意で、前記トレーニングデータセット及び前記評価データセットは、前記入力データセットにおいて相補的関係にあるサブセットである、項Ａ１〜Ａ８の何れかに記載の方法。
【００７４】
Ａ９．１．前記トレーニング及び評価は、前記分割を行う前に、前記入力データセットを前処理することを含み、任意で、前記入力データセットを前処理することは、離散化、独立成分分析、主成分分析、欠損データの削除、特徴選択、及び特徴抽出のうち、少なくとも１つを含む、項Ａ９に記載の方法。
【００７５】
Ａ９．２．前記トレーニング及び評価は、前記トレーニングデータセットを前処理することを含み、任意で、前記トレーニングデータセットを前処理することは、離散化、独立成分分析、主成分分析、欠損データの削除、特徴選択、及び特徴抽出のうち、少なくとも１つを含む、項Ａ９又はＡ９．１に記載の方法。
【００７６】
Ａ９．２．１．前記トレーニングデータセットを前処理することは、前処理スキームを生成することを含み、前記トレーニング及び評価は、前記前処理スキームを用いて、前記評価データセットを前処理することを含む、項Ａ９．２に記載の方法。
【００７７】
Ａ９．３．前記トレーニング及び評価は、前記評価データセットを前処理することを含み、任意で、前記評価データセットを前処理することは、離散化、独立成分分析、主成分分析、欠損データの削除、特徴選択、及び特徴抽出のうち、少なくとも１つを含む、項Ａ９〜Ａ９．２．１の何れかに記載の方法。
【００７８】
Ａ１０．前記トレーニング及び評価は、前記入力データセットのサブセットであるトレーニングデータセットを用いて、各機械学習モデルをトレーニングして、機械学習モデル毎にトレーニング済モデルを生成することを含む、項Ａ１〜Ａ９．３の何れかに記載の方法。
【００７９】
Ａ１０．１．前記トレーニング及び評価は、前記入力データセットのサブセットである評価データセットを用いて各トレーニング済モデルを評価して、機械学習モデル毎に前記性能結果を生成することを含み、任意で、前記評価データセット及び前記トレーニングデータセットは、前記入力データセットにおいて相補的関係にあるサブセットである、項Ａ１０に記載の方法。
【００８０】
Ａ１１．前記トレーニング及び評価は、各機械学習モデルを交差検証することを含み、任意で、ｋ分割交差検証を用いることを含む、項Ａ１〜Ａ１０．１の何れかに記載の方法。
【００８１】
Ａ１２．前記トレーニング及び評価は、機械学習モデル毎に、或いは、任意で機械学習モデル毎に独立して、前記入力データセットをトレーニングデータセット及び評価データセットに分割することと、前記トレーニングデータセットを用いて、前記機械学習モデルをトレーニングして、トレーニング済モデルを生成することと、前記評価データセットを用いて前記機械学習モデルを評価して、評価結果を生成することと、前記入力データセットを異なるトレーニングデータセット及び異なる評価データセットに分割することにより、前記分割、前記トレーニング、及び、前記評価を繰り返すことと、を含む、項Ａ１〜Ａ１１の何れかに記載の方法。
【００８２】
Ａ１２．１．前記トレーニング及び評価は、前記性能結果を生成するために、前記評価結果を組み合わせることを含む、項Ａ１２に記載の方法。
【００８３】
Ａ１３．前記トレーニング及び評価は、教師あり学習を用いることを含む、項Ａ１〜Ａ１２．１の何れかに記載の方法。
【００８４】
Ａ１４．マクロ処理毎に、前記トレーニング及び評価は、各マイクロ処理を独立してトレーニングして一群のトレーニング済マイクロ処理を生成することにより、トレーニング済マクロ処理を生成することと、前記トレーニング済マクロ処理を評価することを含み、任意で、前記トレーニング済マクロ処理を生成することは、前記一群のトレーニング済マイクロ処理を用いて前記マクロ処理をトレーニングすることを含む、項Ａ１〜Ａ１３の何れかに記載され、項Ａ７にも従属する（マクロ処理に関する）方法。
【００８５】
Ａ１５．少なくとも１つ、或いは、任意で各々の機械学習モデルの前記性能結果は、相関係数、平均二乗誤差、信頼区間、真陽性の数、真陰性の数、偽陽性の数、偽陰性の数、精度、感度、陽性適中率、特異度、陰性適中率、偽陽性率、偽発見率、偽陰性率、及び、偽欠落率のうち少なくとも１つに関する指標を含む、項Ａ１〜Ａ１４の何れかに記載の方法。
【００８６】
Ａ１６．前記集計は、前記機械学習モデルの各々の前記性能結果を累積することを含む、項Ａ１〜Ａ１５の何れかに記載の方法。
【００８７】
Ａ１７．前記性能比較統計は、機械学習モデル毎に、相関係数、平均二乗誤差、信頼区間、精度、真陽性の数、真陰性の数、偽陽性の数、偽陰性の数、感度、陽性適中率、特異度、陰性適中率、偽陽性率、偽発見率、偽陰性率、及び、偽欠落率のうち少なくとも１つに関する指標を含む、項Ａ１〜Ａ１６の何れかに記載の方法。
【００８８】
Ａ１８．前記表示は、前記機械学習モデルの比較を容易にするために、前記機械学習モデルの全ての性能結果を統一した形式で表示することを含む、項Ａ１〜Ａ１７の何れかに記載の方法。
【００８９】
Ａ１９．前記表示は、視覚、音声、及び触覚表示のうち少なくとも１つにより前記性能比較統計を表示することを含む、項Ａ１〜Ａ１８の何れかに記載の方法。
【００９０】
Ａ２０．コンピュータ可読記憶ユニットと、
前記コンピュータ可読記憶ユニットに機能接続された処理ユニットと、を含み、
前記コンピュータ可読記憶ユニットは、命令を記憶しており、当該命令は、前記処理ユニットにより実行されると、項Ａ１〜Ａ１９の何れかに記載の方法を前記機械学習システムに行わせる、機械学習システム。
【００９１】
Ｂ１．特定のデータ解析問題用の機械学習アルゴリズム候補を比較するための機械学習システムであって、
共通インターフェースを用いてテストされる複数の機械学習アルゴリズムを含む機械学習アルゴリズムライブラリと、
入力データセット、及び、機械学習モデルのセレクションを受信するように構成されたデータ入力モジュールと、を含み、各機械学習モデルは、前記機械学習アルゴリズムライブラリからの機械学習アルゴリズム、及び、１つ又は複数の関連パラメータ値を含み、
機械学習モデル毎の性能結果を生成するために、各機械学習モデルをトレーニング及び評価するように構成された実験モジュールと、
性能比較統計を作成するために、全ての前記機械学習モデルの前記性能結果を集計するように構成された集計モジュールと、を更に含む、機械学習システム。
【００９２】
Ｂ２．前記複数の機械学習アルゴリズムは、単純ベイズ分類器、木構造拡張単純ベイズ分類器、動的ベイジアンネットワーク、サポートベクターマシン、学習決定木、学習決定木の集団、及び、人工ニューラルネットワークからなる群から選択された少なくとも１つのアルゴリズムを含む、項Ｂ１に記載の機械学習システム。
【００９３】
Ｂ３．前記共通インターフェースは、共通入力、共通出力、データ入力のための共通の方法、データ出力のための共通の方法、及び、前記機械学習アルゴリズムライブラリからの各機械学習アルゴリズムの共通手続呼出のうち少なくとも１つを規定する、項Ｂ１又はＢ２に記載の機械学習システム。
【００９４】
Ｂ４．前記機械学習アルゴリズムライブラリからの前記機械学習アルゴリズムの各々は、共通形式のデータセットに対して機能するように構成されている、項Ｂ１〜Ｂ３の何れかに記載の機械学習システム。
【００９５】
Ｂ５．前記機械学習アルゴリズムライブラリは、機械学習アルゴリズムの拡張可能なライブラリである、項Ｂ１〜Ｂ４の何れかに記載の機械学習システム。
【００９６】
Ｂ６．前記入力データセットは、時間依存性データセット、時系列データセット、タイムスタンプ付データセット、順次データセット、及び時間データセットのうち、少なくとも１つである、項Ｂ１〜Ｂ５の何れかに記載の機械学習システム。
【００９７】
Ｂ７．前記入力データセットは、連続する期間に計測されたオブザーバブルの一連の値を含む、項Ｂ１〜Ｂ６の何れかに記載の機械学習システム。
【００９８】
Ｂ８．前記入力データセットは、ラベル付データセットである、項Ｂ１〜Ｂ７の何れかに記載の機械学習システム。
【００９９】
Ｂ９．前記実験モジュールによる処理のための前記入力データセットを準備するように構成されたデータプリプロセッサを更に含み、前記データプリプロセッサは、前記入力データセットに対して、離散化、独立成分分析の適用、主成分分析の適用、欠損データの削除、特徴の選択、及び、特徴の抽出のうち、少なくとも１つを行うように構成されている、項Ｂ１〜Ｂ８の何れかに記載の機械学習システム。
【０１００】
Ｂ９．１．前記データプリプロセッサは、少なくとも、時間ウィンドゥにおいて特徴データの統計値を特定することにより、特徴を抽出するように構成されている、項Ｂ９に記載の機械学習システム。
【０１０１】
Ｂ９．１．１．前記統計値は、最小値、最大値、平均値、分散値、偏差値、累積値、変化率、及び平均変化率のうち少なくとも１つを含むか、任意で、これらのうちの少なくとも１つである、項Ｂ９．１に記載の機械学習システム。
【０１０２】
Ｂ９．１．２．前記統計値は、データ点の総数、連続するデータ点の最大数、連続するデータ点の最小数、連続するデータ点の平均数、合計時間、最大時間、最小時間、及び平均時間のうち少なくとも１つを含むか、任意で、これらのうち少なくとも１つであり、これらの特徴データが、閾値を上回るか、下回るか、或いは、当該閾値とほぼ等しいものである、Ｂ９．１〜Ｂ９．１．１の何れかに記載の機械学習システム。
【０１０３】
Ｂ１０．複数の前処理アルゴリズムを含む前処理アルゴリズムライブラリを更に含み、任意で、前記前処理アルゴリズムは、共通前処理インターフェースに適合する、項Ｂ１〜Ｂ９．１．２の何れかに記載の機械学習システム。
【０１０４】
Ｂ１０．１．前記共通前処理インターフェースは、共通入力、共通出力、データ入力のための共通の方法、データ出力のための共通の方法、及び、前記機械学習アルゴリズムライブラリからの各前処理アルゴリズムの共通手続呼出のうち少なくとも１つを規定する、項Ｂ１〜Ｂ１０の何れかに記載の機械学習システム。
【０１０５】
Ｂ１０．２．前記前処理アルゴリズムライブラリからの前記前処理アルゴリズムの各々は、共通形式のデータセットに対して機能するように構成されている、項Ｂ１〜Ｂ１０．１の何れかに記載の機械学習システム。
【０１０６】
Ｂ１０．３．前記データプリプロセッサは、前記前処理アルゴリズムライブラリから前処理アルゴリズムを選択するように構成されている、項Ｂ１〜Ｂ１０．２の何れかに記載され、項Ｂ９にも従属する（データプリプロセッサに関する）機械学習システム。
【０１０７】
Ｂ１１．少なくとも１つ、或いは、任意で各々の機械学習モデルは、単純ベイズ分類器、木構造拡張単純ベイズ分類器、動的ベイジアンネットワーク、サポートベクターマシン、学習決定木、学習決定木の集団、及び、人工ニューラルネットワークのうち少なくとも１つを含む、項Ｂ１〜Ｂ１０．３の何れかに記載の機械学習システム。
【０１０８】
Ｂ１２．少なくとも１つ、或いは、任意で各々の機械学習モデルは、一群のマイクロ処理の結果を組み合わせるマクロ処理であり、各マイクロ処理は、機械学習アルゴリズム、及び、１つ又は複数の関連パラメータ値を含む、項Ｂ１〜Ｂ１１の何れかに記載の機械学習システム。
【０１０９】
Ｂ１２．１．少なくとも１つ、或いは、任意で各々のマイクロ処理は、単純ベイズ分類器、木構造拡張単純ベイズ分類器、動的ベイジアンネットワーク、サポートベクターマシン、学習決定木、学習決定木の集団、及び、人工ニューラルネットワークのうち少なくとも１つを含む、項Ｂ１２に記載の機械学習システム。
【０１１０】
Ｂ１２．２．前記マクロ処理は、累積値、最大値、最小値、中央値、平均値、モード値、最頻値、及び、多数決のうち少なくとも１つにより、一群のマイクロ処理の結果を組み合わせるように構成されている、項Ｂ１２又はＢ１２．１に記載の機械学習システム。
【０１１１】
Ｂ１３．前記実験モジュールは、任意で機械学習モデル毎に独立して、前記入力データセットをトレーニングデータセット及び評価データセットに分割するように構成されており、任意で、前記トレーニングデータセット及び前記評価データセットは、前記入力データセットにおいて相補的関係にあるサブセットである、項Ｂ１〜Ｂ１２．２の何れかに記載の機械学習システム。
【０１１２】
Ｂ１３．１．前記実験モジュールは、前記入力データセットを分割する前に、前記入力データセットを前処理するように構成されており、任意で、前記入力データセットを前処理することは、離散化、独立成分分析、主成分分析、欠損データの削除、特徴選択、及び特徴抽出のうち、少なくとも１つを含む、項Ｂ１３に記載の機械学習システム。
【０１１３】
Ｂ１３．２．前記実験モジュールは、任意で、離散化、独立成分分析、主成分分析、欠損データの削除、特徴選択、及び特徴抽出のうち少なくとも１つにより、前記トレーニングデータセットを前処理するように構成されている、項Ｂ１３〜Ｂ１３．１に記載の機械学習システム。
【０１１４】
Ｂ１３．２．１．前記実験モジュールは、前処理スキームを結果として得るために、前記トレーニングデータセットを前処理するように構成されるとともに、前記前処理スキームを用いて、前記評価データセットを前処理するように構成されている、項Ｂ１３．２に記載の機械学習システム。
【０１１５】
Ｂ１３．３．前記実験モジュールは、任意で、離散化、独立成分分析、主成分分析、欠損データの削除、特徴選択、及び特徴抽出のうち少なくとも１つにより、前記評価データセットを前処理するように構成されている、項Ｂ１３〜Ｂ１３．２．１に記載の機械学習システム。
【０１１６】
Ｂ１４．前記実験モジュールは、前記入力データセットのサブセットであるトレーニングデータセットを用いて、各機械学習モデルをトレーニングして、機械学習モデル毎にトレーニング済モデルを生成するように構成されている、項Ｂ１〜Ｂ１３．３の何れかに記載の機械学習システム。
【０１１７】
Ｂ１４．１．前記実験モジュールは、前記入力データセットのサブセットである評価データセットを用いて各トレーニング済モデルを評価して、機械学習モデル毎に前記性能結果を生成するように構成されており、任意で、前記評価データセット及び前記トレーニングデータセットは、前記入力データセットにおいて相補的関係にあるサブセットである、項Ｂ１４に記載の機械学習システム。
【０１１８】
Ｂ１５．前記実験モジュールは、任意でｋ分割交差検証を用いて、各機械学習モデルを交差検証するように構成されている、項Ｂ１〜Ｂ１４．１の何れかに記載の機械学習システム。
【０１１９】
Ｂ１６．前記実験モジュールは、機械学習モデル毎に、或いは、任意で機械学習モデル毎に独立して、前記入力データセットをトレーニングデータセット及び評価データセットに分割することと、前記トレーニングデータセットを用いて、前記機械学習モデルをトレーニングして、トレーニング済モデルを生成することと、前記評価データセットを用いて前記機械学習モデルを評価して、前記性能結果を生成することと、を行うように構成されている、項Ｂ１〜Ｂ１５の何れかに記載の機械学習システム。
【０１２０】
Ｂ１７．前記実験モジュールは、機械学習モデル毎に、或いは、任意で機械学習モデル毎に独立して、前記入力データセットの異なる分割部分について、前記入力データセットをトレーニングデータセット及び評価データセットに分割することと、前記トレーニングデータセットを用いて、前記機械学習モデルをトレーニングして、トレーニング済モデルを生成することと、前記評価データセットを用いて前記機械学習モデルを評価して、評価結果を生成することと、を繰り返すとともに、任意で評価結果の平均及び評価結果の累積のうち少なくとも一方を行うことにより、前記入力データセットの異なる分割部分から生成された評価結果を組み合わせて性能結果を生成するように構成されている、項Ｂ１〜Ｂ１５の何れかに記載の機械学習システム。
【０１２１】
Ｂ１８．前記実験モジュールは、教師あり学習を実行するように構成されている、項Ｂ１〜Ｂ１７の何れかに記載の機械学習システム。
【０１２２】
Ｂ１９．各マクロ処理について、前記実験モジュールは、各マイクロ処理を独立してトレーニングして一群のトレーニング済マイクロ処理を生成することにより、トレーニング済マクロ処理を生成するとともに、前記トレーニング済マクロ処理を評価するように構成されており、任意で、前記実験モジュールは、前記一群のトレーニング済マイクロ処理を用いて前記マクロ処理をトレーニングすることにより前記トレーニング済マクロ処理を生成するように構成されている、項Ｂ１〜Ｂ１８の何れかに記載され、項Ｂ１２にも従属する（マクロ処理に関する）機械学習システム。
【０１２３】
Ｂ２０．少なくとも１つ、或いは、任意で各々の機械学習モデルの性能結果は、相関係数、平均二乗誤差、信頼区間、真陽性の数、真陰性の数、偽陽性の数、偽陰性の数、精度、感度、陽性適中率、特異度、陰性適中率、偽陽性率、偽発見率、偽陰性率、及び、偽欠落率のうち少なくとも１つに関する指標を含む、項Ｂ１〜Ｂ１９の何れかに記載の機械学習システム。
【０１２４】
Ｂ２１．前記集計モジュールは、前記機械学習モデルの各々の前記性能結果を累積するように構成されている、項Ｂ１〜Ｂ２０の何れかに記載の機械学習システム。
【０１２５】
Ｂ２２．前記性能比較統計は、機械学習モデル毎に、相関係数、平均二乗誤差、信頼区間、精度、真陽性の数、真陰性の数、偽陽性の数、偽陰性の数、感度、陽性適中率、特異度、陰性適中率、偽陽性率、偽発見率、偽陰性率、及び、偽欠落率のうち少なくとも１つに関する指標を含む、項Ｂ１〜Ｂ２１の何れかに記載の機械学習システム。
【０１２６】
Ｂ２３．前記性能比較統計を表示するように構成された表示モジュールを更に含む、項Ｂ１〜Ｂ２２の何れかに記載の機械学習システム。
【０１２７】
Ｂ２３．１．前記表示モジュールは、前記機械学習モデルの比較を容易にするために、全ての前記機械学習モデルの性能結果を統一した形式で表示するように構成されている、項Ｂ２３に記載の機械学習システム。
【０１２８】
Ｂ２３．２．前記表示モジュールは、視覚、音声、及び触覚表示のうち少なくとも１つにより前記性能比較統計を表示するように構成されている、項Ｂ２３〜Ｂ２３．１の何れかに記載の機械学習システム。
【０１２９】
Ｂ２４．コンピュータ可読記憶ユニットと、
前記コンピュータ可読記憶ユニットに機能接続された処理ユニットと、を更に含み、
前記コンピュータ可読記憶ユニットは、前記機械学習アルゴリズムライブラリ、前記データ入力モジュール、前記実験モジュール、及び、前記集計モジュールを含む、項Ｂ１〜Ｂ２３．２の何れかに記載の機械学習システム。
【０１３０】
本明細書において、ユーザは、人（例えば、操作者など）、クライアント装置やクライアントモジュール、エージェント、プログラム、プロセス、及び／又は、手順であってもよい。したがって、機械学習システム１０は、ユーザインターフェース要素やスクリプト解析要素を含んでもよいし、サーバ動作専用に設けられていてもよい。
【０１３１】
本明細書において、「適合化されている」及び「構成されている」という用語は、要素、コンポーネント、又は他の要部が、所定の機能を行うように設計及び／又は意図されていることを意味する。従って、「適合化されている」及び「構成されている」という用語の使用は、ある要素、コンポーネント、又は他の要部が、単に所定の機能を行うことが「できる」ということを意味すると解釈されるべきではなく、当該要素、コンポーネント、及び／又は他の要部が、その機能を行うために、具体的に、選択、作製、実施、利用、プログラム、及び／又は設計されていることを意味すると解釈されるべきである。また、特定の機能を行うように適合化されたものとして記載された要素、コンポーネント、及び／又は他の要部が、これに加え、あるいはこれに代えて、当該機能を行うように構成されたものとして記載されること、及び、その逆も、本開示の範囲内である。同様に、特定の機能を行うように構成されたものとして記載された要部が、これに加え、あるいはこれに代えて、当該機能を行うように動作するものとして記載される場合もある。更に、本明細書での使用において、単数形「a」、「an」及び「the」は、文脈が明らかに他を示さない限り、複数形も含むことを意図している。
【０１３２】
本明細書に開示した、システム及び装置の種々の要素及び方法の工程が、本開示によるシステム、装置、及び方法の全てに必要というわけではなく、本開示は、本明細書で開示した種々の要素及び工程の新規且つ非自明の組み合わせ及び部分的組み合わせを全て含むものである。また、本明細書に開示した種々の要素及び工程の何れか、又は、種々の要素及び／又は工程の任意の組み合わせは、開示されたシステム、装置、又は方法の全体とは切り離された独立した発明の要旨を規定する場合がある。したがって、そのような発明の要旨は、本明細書に明白に開示した特定のシステム、装置、及び方法と関連付けられている必要はなく、そのような発明の要旨は、本明細書に明白に開示されていないシステム及び／又は方法に有用性を見出すかもしれない。
【０１３３】
本明細書において、「例えば」という表現、「例として」という表現、及び／又は、単に「例」という表現は、本開示による１つ又は複数のコンポーネント、特徴、詳細項目、構造、実施形態、及び／又は、方法と共に用いられる場合、説明するコンポーネント、特徴、詳細項目、構造、実施形態、及び／又は方法が、本開示によるコンポーネント、特徴、詳細項目、構造、実施形態、及び／又は方法の例示的且つ非排他的な例であるということが意図されている。したがって、説明するコンポーネント、特徴、詳細項目、構造、実施形態、及び／又は方法は、限定的、必須、又は、排他的／包括的であることを意図するものではなく、構造的及び／又は機能的に類似及び／又は均等であるコンポーネント、特徴、詳細項目、構造、実施形態、及び／又は方法を含む他のコンポーネント、特徴、詳細項目、構造、実施形態、及び／又は方法もまた、本開示の範囲に含まれる。
【０１３４】
本明細書において、「少なくとも１つの」及び「１つ又は複数の」との表現が、複数の要素（entity）のリストとともに用いられる場合、当該リストにおける要素のうち任意の１つ又は複数の要素を意味しており、当該リストに明確にリストアップされた個々の要素のうちの少なくとも１つに限定されない。例えば、「Ａ及びＢのうち少なくとも１つ」（又は、同様の意味合いで、「Ａ又はＢのうち少なくとも１つ」又は、同様の意味合いで、「Ａ及び／又はＢのうち少なくとも１つ」）は、Ａのみ、Ｂのみ、又は、Ａ及びＢの組み合わせをいう場合がある。
【０１３５】
更に、本開示は、以下の付記による実施形態を含む。
【０１３６】
付記１．  特定のデータ解析問題用の機械学習アルゴリズム候補を比較するための機械学習システムであって、
共通インターフェースを用いてテストされる複数の機械学習アルゴリズムを含む機械学習アルゴリズムライブラリと、
データセット、及び、機械学習モデルのセレクションを受信するように構成されたデータ入力モジュールと、を含み、各機械学習モデルは、前記機械学習アルゴリズムライブラリからの機械学習アルゴリズム、及び、１つ又は複数の関連パラメータ値を含み、
各機械学習モデルをトレーニング及び評価して、機械学習モデル毎の性能結果を生成するように構成された実験モジュールと、
全ての前記機械学習モデルの前記性能結果を集計して、性能比較統計を作成するように構成された集計モジュールと、を更に含む、機械学習システム。
【０１３７】
付記２．前記共通インターフェースは、共通入力、共通出力、データ入力のための共通の方法、データ出力のための共通の方法、及び、前記機械学習アルゴリズムライブラリからの各機械学習アルゴリズムの共通手続呼出のうち少なくとも１つを規定する、付記１に記載の機械学習システム。
【０１３８】
付記３．前記実験モジュールによる処理のためのデータセットを準備するように構成されたデータプリプロセッサを更に含み、前記データプリプロセッサは、前記データセットに対して、離散化、独立成分分析の適用、主成分分析の適用、欠損データの削除、特徴の選択、及び、特徴の抽出のうち、少なくとも１つを行うように構成されている、付記１又は２に記載の機械学習システム。
【０１３９】
付記４．前記データプリプロセッサは、少なくとも、時間ウィンドゥにおいて特徴データの統計値を特定することにより、特徴を抽出するように構成されており、前記統計値は、最小値、最大値、平均値、分散値、偏差値、累積値、変化率、及び平均変化率のうち少なくとも１つを含む、付記３に記載の機械学習システム。
【０１４０】
付記５．複数の前処理アルゴリズムを含む前処理アルゴリズムライブラリを更に含み、前記前処理アルゴリズムは、共通前処理インターフェースに適合する、付記１、２、３、又は４に記載の機械学習システム。
【０１４１】
付記６．少なくとも１つの機械学習モデルは、一群のマイクロ処理の結果を組み合わせるマクロ処理であり、各マイクロ処理は、機械学習アルゴリズム、及び、１つ又は複数の関連パラメータ値を含み、前記マクロ処理は、累積値、最大値、最小値、中央値、平均値、モード値、最頻値、及び、多数決のうち少なくとも１つにより、一群のマイクロ処理の結果を組み合わせるように構成されている、付記１、２、３、４、又は５に記載の機械学習システム。
【０１４２】
付記７．各マクロ処理について、前記実験モジュールは、各マイクロ処理を独立してトレーニングして一群のトレーニング済マイクロ処理を生成することにより、トレーニング済マクロ処理を生成するように構成されている、付記６に記載の機械学習システム。
【０１４３】
付記８．前記実験モジュールは、前記データセットをトレーニングデータセット及び評価データセットに分割するように構成されており、前記トレーニングデータセット及び前記評価データセットは、前記データセットにおいて相補的関係にあるサブセットである、付記１、２、３、４、５、６又は７に記載の機械学習システム。
【０１４４】
付記９．前記実験モジュールは、前処理スキームを結果として得るために前記トレーニングデータセットを前処理するとともに、前記前処理スキームを用いて前記評価データセットを前処理するように構成されている、付記８に記載の機械学習システム。
【０１４５】
付記１０．前記実験モジュールは、前記データセットのサブセットであるトレーニングデータセットを用いて各機械学習モデルをトレーニングして、機械学習モデル毎にトレーニング済モデルを生成するように構成されており、前記実験モジュールは、前記データセットのサブセットである評価データセットを用いて各トレーニング済モデルを評価して、機械学習モデル毎に性能結果を生成するように構成されている、付記１、２、３、４、５、６、７、８、又は９に記載の機械学習システム。
【０１４６】
付記１１．前記実験モジュールは、一個抜き交差検証及びｋ分割交差検証のうち少なくとも一方を用いて、各機械学習モデルを交差検証するように構成されている、付記１、２、３、４、５、６、７、８、９、又は１０に記載の機械学習システム。
【０１４７】
付記１２．前記性能比較統計を表示するように構成された表示モジュールを更に含み、前記表示モジュールは、前記機械学習モデルの比較を容易にするために、全ての前記機械学習モデルの性能結果を統一した形式で表示するように構成されている、付記１、２、３、４、５、６、７、８、９、１０、又は１１に記載の機械学習システム。
【０１４８】
付記１３．機械学習アルゴリズムをテストするためのコンピュータ化された方法であって、
データセットを受信し、
機械学習モデルのセレクションを受信し、その際に、各機械学習モデルは、機械学習アルゴリズム、及び、１つ又は複数の関連パラメータ値を含み、
各機械学習モデルをトレーニング及び評価して、各機械学習モデルの性能結果を生成し、
全ての前記機械学習モデルの前記性能結果を集計して、性能比較統計を作成し、、
前記性能比較統計を表示する、ことを含む、方法。
【０１４９】
付記１４．前記データセットは、連続する期間に計測されたオブザーバブルの一連の値を含む時系列のデータセットである、付記１３に記載の方法。
【０１５０】
付記１５．前記トレーニング及び評価を行う前に、前記データセットに対してグローバル前処理をさらに行い、前記グローバル前処理は、離散化、独立成分分析、主成分分析、欠損データの削除、特徴選択、及び特徴抽出のうち、少なくとも１つを含む、付記１３又は１４に記載の方法。
【０１５１】
付記１６．前記グローバル前処理は、少なくとも、時間ウィンドゥにおいて特徴データの統計値を特定することにより、特徴を抽出することを含み、前記統計値は、最小値、最大値、平均値、分散値、偏差値、累積値、変化率、及び平均変化率のうち少なくとも１つを含む、付記１５に記載の方法。
【０１５２】
付記１７．少なくとも１つの機械学習モデルは、一群のマイクロ処理の結果を組み合わせるマクロ処理であり、各マイクロ処理は、機械学習アルゴリズム、及び、１つ又は複数の関連パラメータ値を含み、前記マクロ処理は、累積値、最大値、最小値、中央値、平均値、モード値、最頻値、及び、多数決のうち少なくとも１つにより、一群のマイクロ処理の結果を組み合わせるように構成されている、付記１３、１４、１５、又は１６に記載の方法。
【０１５３】
付記１８．前記トレーニング及び評価は、前記データセットをトレーニングデータセット及び評価データセットに分割することを含み、前記トレーニングデータセット及び前記評価データセットは、前記データセットにおいて相補的関係にあるサブセットであり、前記トレーニング及び評価は、前処理スキームを生成するために前記トレーニングデータセットを前処理することを含み、前記トレーニング及び評価は、前記前処理スキームを用いて、前記評価データセットを前処理することを含む、付記１３、１４、１５、１６、又は１７に記載の方法。
【０１５４】
付記１９．前記トレーニング及び評価は、前記データセットのサブセットであるトレーニングデータセットを用いて各機械学習モデルをトレーニングして、機械学習モデル毎にトレーニング済モデルを生成することを含み、前記トレーニング及び評価は、前記データセットのサブセットである評価データセットを用いて各トレーニング済モデルを評価して、機械学習モデル毎に性能結果を生成することを含み、前記評価データセット及び前記トレーニングデータセットは、前記データセットにおいて相補的関係にあるサブセットである、付記１３、１４、１５、１６、１７、又は１８に記載の方法。
【０１５５】
付記２０．前記トレーニング及び評価は、機械学習モデル毎に、前記データセットをトレーニングデータセット及び評価データセットに分割することと、前記トレーニングデータセットを用いて前記機械学習モデルをトレーニングして、トレーニング済モデルを生成することと、前記評価データセットを用いて前記機械学習モデルを評価して、評価結果を生成することと、前記データセットを異なるトレーニングデータセット及び異なる評価データセットに分割することにより、前記分割、前記トレーニング、及び、前記評価を繰り返すことと、を含み、前記トレーニング及び評価は、前記性能結果を生成するために、前記評価結果を組み合わせることを含む、付記１３、１４、１５、１６、１７、１８、又は１９に記載の方法。
【０１５６】
任意の特許、特許出願、又は他の参考文献が、参照により本明細書に盛り込まれ、本開示において参考文献が盛り込まれていない部分、又は、盛り込まれた他の参考文献の何れかと（１）矛盾して用語を定義している場合、及び／又は、（２）これと矛盾を生じる場合、本開示において参考文献が盛り込まれていない部分を優先するものとし、当該用語又はそれを含む盛り込まれた開示は、その用語が定義されている参考文献、盛り込まれた開示が元々記載されている参考文献、或いは、その両方を満たす参考文献のみに対して優先するものとする。
【図１】
2017004509.tif 000003
【図２】
2017004509.tif 000004
【図３】
2017004509.tif 000005
【図４】
2017004509.tif 000006
【外国語明細書】
2017004509000001.pdf
2017004509000002.pdf
2017004509000003.pdf
2017004509000004.pdf