JP2024516656A - 産業特定機械学習アプリケーション - Google Patents
産業特定機械学習アプリケーション Download PDFInfo
- Publication number
- JP2024516656A JP2024516656A JP2023566407A JP2023566407A JP2024516656A JP 2024516656 A JP2024516656 A JP 2024516656A JP 2023566407 A JP2023566407 A JP 2023566407A JP 2023566407 A JP2023566407 A JP 2023566407A JP 2024516656 A JP2024516656 A JP 2024516656A
- Authority
- JP
- Japan
- Prior art keywords
- machine learning
- dataset
- learning application
- features
- variables
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 300
- 238000013507 mapping Methods 0.000 claims abstract description 26
- 230000006870 function Effects 0.000 claims description 54
- 238000000034 method Methods 0.000 claims description 51
- 238000002372 labelling Methods 0.000 claims description 35
- 238000004590 computer program Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 7
- 238000012549 training Methods 0.000 description 61
- 238000004422 calculation algorithm Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 22
- 238000012360 testing method Methods 0.000 description 18
- 238000003860 storage Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 10
- 238000007637 random forest analysis Methods 0.000 description 10
- 239000013598 vector Substances 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 8
- 238000013459 approach Methods 0.000 description 7
- 238000003066 decision tree Methods 0.000 description 7
- 230000006399 behavior Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000012706 support-vector machine Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 239000012535 impurity Substances 0.000 description 2
- 238000007477 logistic regression Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/285—Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/211—Selection of the most significant subset of features
- G06F18/2113—Selection of the most significant subset of features by ranking or filtering the set of features, e.g. using a measure of variance or of feature cross-correlation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- User Interface Of Digital Computer (AREA)
- Image Analysis (AREA)
- Organic Low-Molecular-Weight Compounds And Preparation Thereof (AREA)
- Seasonings (AREA)
- Fats And Perfumes (AREA)
Abstract
機械学習アプリケーションは、複数の機械学習アプリケーションから選択される。それぞれの機械学習アプリケーションは、種々の産業課題に対応し、対応する産業課題に特有の標準特徴および機械学習パイプラインを含む。機械学習アプリケーションは、選択された機械学習アプリケーションに対応する産業課題に対する予測を行うためのモデルを生成するためのデータセットを受信する。標準特徴にデータセット内の変数をマッピングするために、標準特徴がユーザへの表示のために提供される。ユーザによるマッピングは、ユーザインターフェースを通じて受信される。少なくともマッピングに基づいて複数のモデルをトレーニングするために、機械学習パイプラインがデータセットに適用される。トレーニングされたモデルは、ランク付けされ、トレーニングされたモデルのうちの1つが、ランク付けに基づいて選択される。選択されたトレーニングされたモデルは、新しいデータに基づいて予測を行うために使用される。
Description
記述される実施形態は、一般に、データストリームを処理することに関し、特に、産業特定機械学習アプリケーションを使用して、データストリームに基づいて予測を行うためのモデルをトレーニングすることに関する。
本出願は、参照により本明細書に組み込まれる、2021年4月28に出願された米国特許出願第17/242,927号明細書の利益を主張する。
自動機械学習ツールは、機械学習を現実世界の問題に適用する処理を自動化する。現在の自動機械学習ツールは、展開可能な機械学習モデルの作成を、より早くかつ効率的にすることを可能にする。しかしながら、自動機械学習ツールはしばしば、データセットに関するドメイン知識を組み込んでいないため、最適ではない(sub-optimal)モデルを産出する。その結果、現在利用可能な自動機械学習ツールによって生成されたモデルは、データに基づいて予測を行うことができるほど良好ではない。
上記および他の問題は、方法、非一時的コンピュータ可読メモリ、およびシステムによって対処される。方法の一実施形態は、産業課題に対する予測を行うためのモデルを生成するための方法である。方法は、機械学習アプリケーションによって、モデルを生成するためのデータセットを受信することを含む。機械学習アプリケーションは、産業課題に基づいて複数の機械学習アプリケーションから選択される。複数の機械学習アプリケーションのそれぞれは、種々の産業課題に対応し、対応する産業課題に特有の標準特徴および対応する産業課題に特有の機械学習パイプラインを含む。方法はさらに、ユーザに関連付けられたクライアントデバイスへの表示のために、機械学習アプリケーション内の標準特徴を提供することを含む。方法はさらに、クライアントデバイスから、および標準特徴を提供することに応答して、選択された機械学習アプリケーションの標準特徴に対する、データセット内の変数のマッピングを受信することを含む。方法はさらに、選択された機械学習アプリケーションの機械学習パイプラインをデータセットに適用して、少なくともマッピングに基づいて複数のモデルをトレーニングすることを含む。方法はさらに、複数のトレーニングされたモデルをランク付けすることを含む。方法はまた、ランク付けに基づいて、トレーニングされた複数のモデルから生成されたモデルを選択することを含む。
非一時的なコンピュータ可読メモリの一実施形態は、実行可能なコンピュータプログラム命令を格納する。命令は、産業課題に対する予測を行うためのモデルを生成するための操作を実行することが実行可能である。操作は、機械学習アプリケーションによって、モデルを生成するためのデータセットを受信することを含む。機械学習アプリケーションは、産業課題に基づいて複数の機械学習アプリケーションから選択される。複数の機械学習アプリケーションのそれぞれは、種々の産業課題に対応し、対応する産業課題に特有の標準特徴および対応する産業課題に特有の機械学習パイプラインを含む。操作はさらに、ユーザに関連付けられたクライアントデバイスへの表示のために、機械学習アプリケーション内の標準特徴を提供することを含む。操作はさらに、クライアントデバイスから、および標準特徴を提供することに応答して、選択された機械学習アプリケーション内の標準特徴に対する、データセット内の変数のマッピングを受信することを含む。操作はさらに、選択された機械学習アプリケーションの機械学習パイプラインをデータセットに適用して、少なくともマッピングに基づいて複数のモデルをトレーニングすることを含む。操作はさらに、複数のトレーニングされたモデルをランク付けすることを含む。操作はまた、ランク付けに基づいて、トレーニングされた複数のモデルから生成されたモデルを選択することを含む。
システムの一実施形態は、コンピュータプログラム命令を実行するためのコンピュータプロセッサを含む。システムはまた、産業課題に対する予測を行うためのモデルを生成するための操作を実行するコンピュータプロセッサによって実行可能なコンピュータプログラム命令を格納する非一時的コンピュータ可読メモリを含む。操作は、機械学習アプリケーションによって、モデルを生成するためのデータセットを受信することを含む。機械学習アプリケーションは、産業課題に基づいて複数の機械学習アプリケーションから選択される。複数の機械学習アプリケーションのそれぞれは、種々の産業課題に対応し、対応する産業課題に特有の標準特徴および対応する産業課題に特有の機械学習パイプラインを含む。操作はさらに、ユーザに関連付けられたクライアントデバイスへの表示のために、機械学習アプリケーションの標準特徴を提供することを含む。操作はさらに、クライアントデバイスから、および標準特徴を提供することに応答して、選択された機械学習アプリケーション内の標準特徴に対する、データセット内の変数のマッピングを受信することを含む。操作はさらに、選択された機械学習アプリケーションの機械学習パイプラインをデータセットに適用して、少なくともマッピングに基づいて複数のモデルをトレーニングすることを含む。操作はさらに、複数のトレーニングされたモデルをランク付けすることを含む。操作はまた、ランク付けに基づいて、トレーニングされた複数のモデルから生成されたモデルを選択することを含む。
図は、例示のみを目的として様々な実施形態を示す。当業者は、本明細書に記載される実施形態の原理から逸脱することなく、本明細書に示される構造および方法の代替的な実施形態が使用されることを、以下の議論から容易に認識し得る。様々な図面における同様の参照番号および名称は、同様の要素を示す。
図1は、一実施形態による機械学習サーバ110を含む機械学習環境100を示すブロック図である。環境100はさらに、ネットワーク140を介して機械学習サーバ110に接続された複数のデータソース120およびクライアントデバイス130を含む。図示された環境100は、複数のデータソース120およびクライアントデバイス130に結合された1つの機械学習サーバ110のみを含むが、実施形態は、複数の機械学習サーバ、単一のデータソース、および単一のクライアントデバイス、またはそれらの他のバリエーションを有することが可能である。
機械学習サーバ110は、機械学習モデルを構築し、データに基づいて予測を行うためにモデルを展開するために利用されるコンピュータベースのシステムである。データは、ネットワーク140を介して、複数のデータソース120のうちの1つまたは複数、または、複数のクライアントデバイス130のうちの1つまたは複数から、集められる、収集される、またはそうでなければアクセスされる。機械学習サーバ110は、多種多様なデータソース120またはクライアントデバイス130からのデータにアクセスする、準備する、混合する、および分析する際に用いられるスケーラブルなソフトウェアツールおよびハードウェアリソースを実装することが可能である。
機械学習サーバ110は、産業特定機械学習処理を実装する。機械学習サーバ110は、アプリケーション生成アプリケーション150、および、アプリケーション生成アプリケーション150によって生成された複数の産業特定機械学習アプリケーション160(「機械学習アプリケーション160」とも呼ばれ、個々に、「産業特定機械学習アプリケーション160」または「機械学習アプリケーション160」とも呼ばれる)を含む。産業特定機械学習アプリケーション160は、特定の産業課題の範囲内の予測を行うためのモデルをトレーニングするために使用されることが可能であるアプリケーションである。産業課題は、産業またはビジネスのドメインにおける課題である。産業/ドメインは、例えば、情報技術(IT)操作、ヘルスケア、工業生産、小売り、セールスおよびマーケティング、保険、銀行業などであることが可能である。産業課題は、例えば、アプリケーションの監視、サービスレベル合意違反の検出、ユーザの行動予測などであることが可能である。
産業課題に特有の機械学習アプリケーション160は、特定の産業のための機械学習サーバ110によって生成される機械学習ツール(例えば、ラベリング関数、標準特徴、機械学習パイプライン、など)を含む。そのような機械学習ツールは、産業課題のドメイン知識、産業課題に関連付けられたモデルの過去のトレーニングの知識、産業課題に関する他の種類の知識、またはそれらの組合せに基づいて、生成および/または選択され得る。これらの産業特定機械学習ツールにより、機械学習処理は、従来の機械学習技術と比較して、より効率的である。例えば、標準特徴は、モデルをトレーニングするための特徴として使用されることが可能であり(例えば、単にトレーニングデータ内の変数を標準特徴にマッピングすることにより)、これは、データセットからこれらの特徴を抽出するのに必要な時間と計算ソースを節約することができる。別の例として、機械学習処理で使用されるパイプラインの探索および最適化は、従来の機械学習処理と比較して、検索と最適化がより効率的になるように、選択された機械学習アプリケーションのパイプラインに限定されることが可能である。機械学習ツールにより、機械学習アプリケーション160は、自動化された産業特定機械学習を実行する。
いくつかの実施形態では、産業特定機械学習アプリケーション160は、ユーザが、機械学習処理に入力を提供することを可能にし得る。例えば、それは、ユーザが、標準特徴に、トレーニングデータセット内の変数をマッピングすることを可能にし得る。それはまた、ユーザによって探索された特定の予測に対するラベリング関数をカスタマイズするために、ラベリング関数内の特定のパラメータの値をユーザが定義することを可能にする。このようにして、産業特定機械学習アプリケーション160は、産業課題のドメイン知識と、データセットおよび特定の予測におけるユーザの特別な知識の両方を活用する。それゆえ、従来の機械学習技術と比較して、産業特定機械学習アプリケーション160は、産業のニーズおよびユーザのニーズにより適合するモデルをトレーニングすることが可能である。
いくつかの実施形態では、機械学習サーバ110は、ユーザに関連付けられたクライアントデバイスへの表示のために、多様な産業特定機械学習アプリケーション160を提供する。機械学習サーバ110は、ユーザが、機械学習モデルをトレーニングするための産業特定機械学習アプリケーション160のうちの1つを選択することを可能にする。ユーザは、モデルによりなされる予測、モデルをトレーニングするのに使用されるデータ、予測を行うために使用されるデータなどの、トレーニングされる機械学習モデルに関連付けられた知識を有する人物である(例えば、機械学習エンジニア、開発エンジニアなど)。ユーザは、モデルによりなされる予測、例えば、産業課題の範囲に入る予測、に関する産業課題に特有の機械学習アプリケーション160を選択する。
いくつかの実施形態では、機械学習サーバ110は、ユーザインターフェースに機械学習アプリケーション160を提示する。機械学習アプリケーション160は、機械学習アプリケーション160に対応する産業課題を示すラベルに関連付けられ得、それにより、ユーザは、機械学習アプリケーションが、ユーザが必要とするモデルをトレーニングするのに適しているかどうかを決定するために、ラベルに頼り得る。いくつかの実施形態では、機械学習サーバ110は、1つまたは複数のユーザインターフェース、例えば、グラフィカルユーザインターフェース(GUI)をサポートし、それは、ユーザが、機械学習アプリケーションと相互作用することを可能にする。例えば、ユーザインターフェースは、機械学習アプリケーションを見る、機械学習アプリケーションをダウンロードする、機械学習アプリケーションのオンラインバージョンと相互作用する、機械学習アプリケーションへのデータセットをアップロードする、データセット内の変数を機械学習アプリケーションの標準特徴にマッピングする、などのオプションをユーザに提供する。
データソース120は、機械学習サーバ110に電子データを提供する。データソース120は、ハードディスクドライブ(HDD)またはソリッドステートドライブ(SSD)などのストレージデバイス、複数のストレージデバイスへのアクセスを管理および提供するコンピュータ、ストレージエリアネットワーク(SAN)、データベース、またはクラウドストレージシステムとし得る。データソース120はまた、別のソースからデータを取得できるコンピュータシステムであり得る。データソース120は、機械学習サーバ110から離れていて、ネットワーク140を介してデータを提供し得る。さらに、いくつかまたは全てのデータソース120は、ネットワーク140を介してデータを渡すことなく、データ分析システムに直接結合され、データを提供し得る。
データソース120によって提供されるデータは、産業課題を解決するための、および/または、産業課題の範囲内の予測を行うためにトレーニングされるモデルに入力される、機械学習モデルをトレーニングするために使用されるデータを含む。データは、データレコード(例えば行)に編成され得る。それぞれのデータは、1つまたは複数の値を含む。例えば、データソース120によって提供されるデータレコードは、一連のカンマ区切りの値を含み得る。データは、データ分析システム110を使用する企業に関連する情報を記述する。例えば、データソース120からのデータは、ウェブサイト上および/またはアプリケーションでアクセス可能なコンテンツとのコンピュータベースの相互作用(例えば、クリック追跡データ)を記述することが可能である。別の例として、データソース120からのデータは、オンラインおよび/または店舗での顧客取引を記述することが可能である。企業は、コンピュータ技術、製造業など、様々な産業の1つまたは複数であることが可能である。
クライアントデバイス130は、ユーザ入力を受信するとともに、ネットワーク140を介してデータを送信および/または受信することが可能な1つまたは複数のコンピューティングデバイスである。一実施形態では、クライアントデバイス130は、デスクトップまたはラップトップコンピュータなどの従来のコンピュータシステムである。代替として、クライアントデバイス130は、携帯情報端末(PDA)、携帯電話、スマートフォン、または別の適切なデバイスなど、コンピュータ機能を有するデバイスであり得る。クライアントデバイス130は、ネットワーク140を介して1つまたは複数のデータソース120および機械学習サーバ110と通信するように構成される。一実施形態では、クライアントデバイス130は、クライアントデバイス130のユーザが機械学習サーバ110と相互作用することを可能にするアプリケーションを実行する。例えば、クライアントデバイス130は、例えば、機械学習サーバ110によってサポートされるGUIを実行することによって、ネットワーク140を介してクライアントデバイス130と機械学習アプリケーション160との間の相互作用を可能にするアプリケーションを実行する。クライアントデバイス130は、GUIを表示するディスプレイデバイスを含む、またはそうでなければ関連付けられる。クライアントデバイス130はまた、GUIへの入力を提供するなど、ユーザがGUIと相互作用することを可能にする入力デバイス、例えば、キーボード、マウスなど、と関連付けられる。別の実施形態では、クライアントデバイス130は、IOS(R)またはANDROID(TM)などのクライアントデバイス130のネイティブオペレーティングシステム上で実行されるアプリケーションプログラミングインターフェース(API)を介して、機械学習サーバ110と相互作用する。クライアントデバイス130は、1つまたは複数のデータソース120と相互作用して、データソース120にデータを送信する、またはデータソース120からデータを取得し得る。
ネットワーク140は、機械学習サーバ110とデータソース120との間の通信経路を表す。一実施形態では、ネットワーク140はインターネットであり、標準的な通信技術および/またはプロトコルを使用する。それゆえ、ネットワーク140は、イーサネット、802.11、ワールドワイド・インターオペラビリティ・フォー・マイクロウェーブ・アクセス(WiMAX(登録商標))、3G、ロングタームエボリューション(LTE)、デジタル加入者線(DSL)、非同期転送モード(ATM)、インフィニバンド、PCIエクスプレスアドバンストスイッチングなどの技術を使用するリンクを含むことが可能である。同様に、ネットワーク140で使用されるネットワーキングプロトコルには、マルチプロトコルラベルスイッチング(MPLS)、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、ユーザデータグラムプロトコル(UDP)、ハイパーテキストトランスポートプロトコル(HTTP)、シンプルメール転送プロトコル(SMTP)、ファイル転送プロトコル(FTP)などを含むことが可能である。
ネットワーク140を介して交換されるデータを、ハイパーテキストマークアップランゲージ(HTML)、拡張可能マークアップランゲージ(XML)などを含む技術および/またはフォーマットを使用して表すことが可能である。さらに、リンクの全てまたは一部を、セキュアソケットレイヤ(SSL)、トランスポートレイヤセキュリティ(TLS)、仮想プライベートネットワーク(VPN)、インターネットプロトコルセキュリティ(IPsec)などの従来の暗号化技術を使用して暗号化することが可能である。別の実施形態では、エンティティは、上記のものの代わりに、またはそれに加えて、カスタムおよび/または専用のデータ通信技術を使用することが可能である。
図2は、一実施形態による産業特定機械学習アプリケーションを生成するアプリケーション生成モジュール200を示すブロック図である。アプリケーション生成エンジン200は、図1のアプリケーション生成エンジン150の一実施形態である。アプリケーション生成エンジン200は、モデルをトレーニングするために使用されることが可能である産業特定機械学習アプリケーションを生成する。アプリケーション生成エンジン200は、ラベリング関数モジュール210、標準特徴モジュール220、パイプラインモジュール230、ユーザインターフェースモジュール240、およびデータベース250を含む。当業者は、他の実施形態が、ここで説明したコンポーネントとは異なるコンポーネントおよび/または他のコンポーネントを有することが可能であり、機能性が、異なる方法でコンポーネント間に分散されることが可能であることを認識するであろう。
ラベリング関数モジュール210は、産業課題に特有のラベリング関数を取得する。ラベリング関数は、データセットに適用された場合にデータセットからラベルタイムを作成する関数である。ラベルタイムは、テーブル(「ラベルタイムテーブル」とも呼ばれる)で提供され得る。ラベルタイムは、カットオフタイムおよびカットオフタイムに関連付けられたラベルを含む。カットオフタイムは、予測を行う時間である。カットオフタイムの前にタイムスタンプに関連付けられたデータは、ラベルの特徴を抽出するために使用されることが可能である。しかしながら、カットオフタイムの後にタイムスタンプに関連付けられたデータは、ラベルの特徴を抽出するために使用されるべきではない。カットオフタイムに関連付けられたラベルは、カットオフタイムに関連付けられた予測対象の過去の例(真または偽など)である。ラベルは、ラベリング関数を使用することによって、カットオフタイム上および/またはカットオフタイムを超えるタイムスタンプに関連付けられたデータに基づいて生成される。例えば、毎月1日など、特定の日のユーザの行動についての予測の場合、カットオフタイムは、毎月1日となる。毎月1日のタイムスタンプに関連付けられたデータは、ラベルを生成するためにラベリング関数に適用されるが、特徴を生成するために使用されることは可能でない。全ての特徴は、カットオフタイムより前のデータ、例えば前月のデータ、を使用して生成されるべきである。
ラベリング関数は、カスタマイズ可能なパラメータを含む。パラメータの例は、予測日/タイム(すなわち、カットオフ日/タイム)、予測ウィンドウ(予測を行うための期間)、日または月の数(予測される未来の期間)などを含む。いくつかの実施形態では、パラメータの値は、例えば、予測および/または産業課題のドメイン知識を有するユーザによって、産業課題の範囲内の種々の予測についてのラベルタイムを作成するために、カスタマイズされる。例えば、毎月1日のユーザの行動についての予測を行うために、予測日は、毎月1日が可能であり、予測ウィンドウは、1月とすることが可能である。
標準特徴モジュール220は、産業特定標準特徴を生成する。例えば、それぞれの機械学習アプリケーションについて、標準特徴モジュール220は、例えば、産業課題のドメインに関連付けられた知識に基づいて、機械学習アプリケーションの産業ドメインに特有な1つまたは複数の標準特徴を生成する。いくつかの実施形態では、標準特徴モジュール220は、産業課題を解決するためにトレーニングされたモデルにユーザが入力するデータセット内の典型的な変数に基づいて、標準特徴を生成する。例えば、次の購買予測に特有な機械学習アプリケーションの場合、標準特徴モジュール220は、ユーザ(ユーザID、性別、誕生日、ジップコードなど)および過去の取引(取引ID、取引日、取引量、製品購入など)に関連付けられた標準特徴を生成する。いくつかの実施形態では、標準特徴モジュール220は、特徴のプールから標準特徴を選択する。標準特徴モジュール220は、産業課題に関連付けられたモデルの過去のトレーニングにおける標準特徴の性能に基づいて、プールから標準特徴を選択し得る。
いくつかの実施形態では、標準特徴モジュール220は、特徴を生成するためにデータセットに適用される標準プリミティブを生成する。標準プリミティブは、データに適用された場合に、データ上の計算を実行し、関連する値を有する対応する標準特徴を生成するアルゴリズムを含む。1つの例では、標準プリミティブは、機械学習アプリケーションの産業ドメインに対してデフォルトであるプリミティブである。別の例では、標準プリミティブは、候補プリミティブのプールから選択される。例えば、候補プリミティブは、候補プリミティブから生成された特徴のランク付けに基づいてランク付けされる。より高く(例えば、他の候補プリミティブから生成された特徴よりも高い)ランク付けされた特徴を生成する候補プリミティブは、標準プリミティブとして選択される。標準プリミティブのアルゴリムズは、異なる変数を有する異なるデータセットに適用するために使用されることが可能である。それゆえ、標準プリミティブは、産業ドメインにおける異なる機械学習モデルをトレーニングするために、異なるデータセットで再利用されることが可能である。プリミティブおよび特徴のランク付けについての詳細は、図3とともに以下で説明する。
パイプラインモジュール230は、産業課題に特有の1つまたは複数のパイプラインを生成する。パイプラインは、モデルをトレーニングするために機械学習アプリケーションによって実行される機械学習処理のワークフローであり、モデルをトレーニングするための一連のステップを指定する。機械学習パイプラインはまた、データ代入、特徴スケーリング、分類等のためのツールなど、機械学習処理で使用されるツール(例えば、アルゴリズム)を指定し得る。1つの例では、パイプラインのステップは、データコンポージング、特徴エンジニアリング、モデルトレーニング、モデル検証、およびモデル展開を含む。ステップは、サブステップを含み得る。例えば、データ準備のステップは、データ種類設定、データエンコーディング、およびデータ代入を含み得、特徴エンジニアリングのステップは、選択および特徴ランク付けを含み得、および、モデルトレーニングのステップは、ハイパーパラメータ調整およびアルゴリズム選択を含み得る。異なるパイプラインは、異なる序列のステップおよび/または異なるステップを含む。
いくつかの実施形態では、パイプラインモジュール230は、目的関数に基づいてパイプラインのプールからパイプラインを選択する。目的関数は、最適化(例えば、最大化に対して最小化)される関数である。これは、予測目的/目標にどれだけ到達したかを測る。これは、損失関数またはコスト関数であり得る。パイプラインモジュール230は、産業課題のドメインに基づいて、目的関数のプールから目的関数を選択し得る。目的関数は、ドメインに特有である。パイプラインモジュール230は、目的関数をパイプラインのプールに適用して、複数のパイプラインを選択する。例えば、パイプラインモジュール230は、それぞれのパイプラインが目的関数をどれだけ最適化したかに基づいてパイプラインのプールをランク付けし、ランク付けに基づいてパイプラインのプールから複数のパイプラインを選択する。
いくつかの実施形態では、パイプラインモジュール230は、パイプラインテンプレートを取得し、パイプラインテンプレートから産業課題に特有のパイプラインを生成する。それぞれのテンプレートは、一連のコンポーネントを含む。コンポーネントは、機械学習処理でのステップを実行するためのツールである。コンポーネントの例は、データ送信ツール、データ種類設定ツール、データエンコーディングツール、データ代入ツール、特徴選択ツール、特徴ランク付けツール、アルゴリズム選択ツール、などを含む。コンポーネントは、1つまたは複数のパラメータに関連付けられる。パラメータの値は、変化またはカスタマイズされることが可能である。特徴ランク付けツールを例にとると、特徴ランク付けツールのパラメータは、特徴をランク付けするために使用される決定木の数である。パラメータの値は、例えば、100、200、300などであることが可能である。
いくつかの実施形態では、パイプラインモジュール230は、パイプラインテンプレート内のコンポーネントのパラメータの値を決定する。1つの例では、パイプラインモジュール230は、産業課題に対してデフォルトである値を使用する。別の例では、パイプラインモジュール230は、機械学習モデルを使用して、コンポーネントのパラメータの値を決定する。機械学習モデルは、機械学習パイプラインのコンポーネントのパラメータの値を決定するためにトレーニングされている。例えば、パイプラインモジュール230は、機械学習モデルへ関連する情報を入力し、機械学習モデルは、パイプラインテンプレート内の1つまたは複数のコンポーネントのパラメータの値を出力する。関連する情報は、パイプラインテンプレートの情報(パイプラインテンプレート内のコンポーネントの情報、パイプラインテンプレート内の他のコンポーネントの情報、など)、機械学習アプリケーションの情報、産業課題の情報、機械学習アプリケーションのユーザから受信した情報(例えば、パイプラインテンプレートを使用してトレーニングされるモデルの期待される精度、パイプラインテンプレートを使用してモデルをトレーニングするために必要な期待される期間、など)などを含み得る。
パイプラインモジュール230は、パイプラインテンプレートをランク付けすることによって、パイプラインテンプレートからパイプラインを選択する。例えば、パイプラインモジュール230は、それぞれのパイプラインテンプレートを使用してトレーニングされた機械学習モデルの精度に基づいて、パイプラインテンプレートをランク付けし、より高くランク付けされたパイプラインテンプレートを選択する。パイプラインモジュール230は、パイプラインテンプレート内のコンポーネントのパラメータの値を決定する前および/または後で、パイプラインテンプレートをランク付けし得る。
ユーザインターフェースモジュール240は、産業特定機械学習アプリケーション用のユーザインターフェース(例えば、グラフィカルユーザインターフェース(GUI))を生成する。ユーザインターフェースは、機械学習アプリケーションと相互作用するために、ユーザによって使用される要素を含む。要素の例は、ユーザが、オプションを選択または解除するために使用し得るアイコン、タブ、チェックボックス、ボタン、ドロップダウンリスト、リストボックス、ラジオボン、スイッチ、または他の種類の要素、ユーザが、数字、記号、および/またはテキストを入力するために使用し得る入力フィールド、ユーザの確認のためのユーザへの情報を提示するための提示領域などが含まれる。ユーザインターフェースの詳細については、図3とともに以下で説明する。
データベース250は、アプリケーション生成エンジン200によって受信され、使用され、または生成されるデータなどの、アプリケーション生成エンジン200と関連付けられたデータを格納する。いくつかの実施形態では、データベース250は、ラベル関数、標準特徴、目的関数、機械学習パイプラインなどを格納する。
図3は、一実施形態による産業特定機械学習アプリケーション300を示すブロック図である。機械学習アプリケーション300は、図1の機械学習アプリケーション160の一実施形態である。機械学習アプリケーション300は、産業特定機械学習ツールを含み、産業課題の範囲内の予測を行うためのモデルをトレーニングするために使用される。機械学習アプリケーション300は、ユーザインターフェースモジュール310、ラベリングモジュール320、特徴エンジニアリングモジュール330、トレーニングモジュール340、ランク付けモジュール350、およびデータベース360を含む。当業者は、他の実施形態が、ここで説明したコンポーネントとは異なるコンポーネントおよび/または他のコンポーネントを有することが可能であり、機能性が、異なる方法でコンポーネント間に分散されることが可能であることを認識するであろう。
ユーザインターフェースモジュール310は、ユーザが、機械学習アプリケーション300にアクセス、相互作用することを可能にするユーザインターフェース(GUIなど)をサポートする。例えば、ユーザインターフェースは、ユーザが、例えば、クライアントデバイスまたはデータソースから、機械学習アプリケーションにデータセットをロードすることを可能にする。ユーザインターフェースは、例えば、時間的範囲に該当するデータがモデルをトレーニングするために使用されるように、ユーザがカットオフタイムの前の時間的範囲を指定することを可能にすることによって、ユーザが、モデルをトレーニングするためにデータセットの一部を選択することを可能にする。
ユーザインターフェースは、ユーザが、機械学習アプリケーション300にラベリング関数のカスタマイズ可能なパラメータの値を提供することを可能にする。ユーザから受信された値は、ユーザによって探索された特定の予測に対する機械学習処理をカスタマイズするために使用されることが可能である。いくつかの実施形態では、ユーザインターフェースは、ユーザにカスタマイズ可能なパラメータを提示する。ユーザインターフェースは、カスタマイズ可能なパラメータの値を入力するために、ユーザのためのカスタマイズ可能なパラメータについての1つまたは複数の入力フィールドを含み得る。ユーザインターフェースはまた、ユーザがカスタマイズ可能なパラメータの値を選択することが可能なドロップダウンリストを提供し得る。ユーザインターフェースモジュール310は、ラベリング関数をカスタマイズするため、ユーザから受信したカスタマイズ可能なパラメータの値を、ラベリングモジュール320へ送信する。
ユーザインターフェースはまた、機械学習アプリケーション300内の標準特徴をユーザへ提示し、ユーザが、データセット内の変数を、標準特徴にマッピングすることを可能にする。いくつかの実施形態では、データセットを受信した後、ユーザインターフェースモジュール310は、データセット内の変数を識別する。ユーザインターフェースモジュール310は、ユーザへの表示のために変数の全てまたはいくつかをユーザインターフェースに提示し、それにより、ユーザは、変数を選択し、変数を標準特徴にマッピングすることが可能になる。ユーザインターフェースは、ユーザのマッピングを受信し、マッピングを特徴エンジニアリングモジュール320へ送信する。
ユーザインターフェースはまた、データセットの編集、変数のためのデータ種類の選択、ハイパーパラメータの定義付けおよび/または調整、機械学習処理に対する他のガイダンスの提供、またはそれらの組合せなどの、機械学習処理に影響を与える他の選択をユーザが行うことを可能にし得る。いくつかの実施形態では、ユーザインターフェースは、ユーザへの提示のための、例えば、機械学習パイプラインの視覚的表現などの、機械学習処理の視覚的表現を提供する。
ラベリングモジュール320は、データセットに機械学習アプリケーション300のラベリング関数を適用することによって、データセットからラベルタイムを生成する。それぞれのラベルタイムは、ラベルおよびラベルに関連付けられたカットオフタイムを含む。ラベルは、予測対象の過去の例である。ラベルは、トレーニングモジュール340によって実行される教師あり機械学習処理において対象として使用されるだろう。カットオフタイムは、ラベルについて特徴付けを行うためのデータを使用することを終了する時を示す。予測が、毎月1日に顧客が解約するかどうかという例では、カットオフタイムは、ラベルタイムテーブルに示されるように、毎月1日である。それぞれのラベルの全ての特徴は、データ漏れを防ぐため、この時間より前のデータを使用すべきである。
いくつかの実施形態では、ラベリングモジュール320は、ユーザインターフェースを通じてユーザから受信され得るラベリング関数のカスタマイズ可能なパラメータの値に基づいて、ラベリング関数をカスタマイズする。ユーザによって提供された値は、モデルがトレーニングされるべき、産業課題の範囲内にある特定の予測に特有であることが可能である。ユーザは、モデルがトレーニングされる特定の予測の知識を持っているため、ラベリングモジュール320は、トレーニングされるモデルが、ユーザによって求められる特定の予測に合わせられるように、ユーザのそのような知識を組み込む。
特徴エンジニアリングモジュール330は、カットオフタイムの前のタイムスタンプに関連付けられたデータセット内のデータに基づいて、特徴を生成する。特徴は、例えば、ユーザインターフェースを通じて、ユーザによってデータセット内の変数にマッピングされた、機械学習アプリケーション300内の標準特徴であり得る。特徴はまた、特徴エンジニアリングモジュール330によってデータセットから抽出され得る。例えば、特徴エンジニアリングモジュール330は、ユーザによって標準特徴のいずれにもマッピングされていないデータセット内の変数を識別し、変数から特徴を生成する。
特徴を抽出するために、特徴エンジニアリングモジュール330は、機械学習アプリケーション300によって維持されるプリミティブのプールから1つまたは複数のプリミティブを選択し得る。プリミティブのプールは、数百または数千のプリミティブなどの、多数のプリミティブを含む。それぞれのプリミティブは、データに適用された場合に、データ上の計算を実行し、関連付けられた値を有する特徴を生成するアルゴリズムを含む。プリミティブは、1つまたは複数の属性に関連付けられる。プリミティブの属性は、プリミティブの記述(例えば、データに適用された場合にプリミティブによって実行される計算を指定する自然言語記述)、入力種類(すなわち、入力データの種類)、戻り種類(すなわち、出力データの種類)、以前の特徴エンジニアリング処理においてプリミティブがどの程度有用であったかを示すプリミティブのメタデータ、またはその他の属性であり得る。
いくつかの実施形態では、プリミティブのプールは、多様な異なる種類のプリミティブを含む。プリミティブの1つの種類は、集約プリミティブ(aggregation primitive)である。データセットに適用された場合、集約プリミティブは、データセット内の関連するデータを識別し、関連するデータの決定を実行し、および、決定を要約したおよび/または集約した値を作成する。例えば、集約プリミティブ「カウント」は、データセットの関連する行の値を識別し、値のそれぞれが非ヌル値であるかどうかを決定し、および、データセットの行の非ヌル値の数のカウントを返す(出力する)。別の種類のプリミティブは、変換プリミティブである。データセットに適用された場合、変換プリミティブは、データセット内の既存の1つまたは複数の変数から、新しい変数を作成する。例えば、変換プリミティブ「週末」は、データセット内のタイムスタンプを評価し、タイムスタンプによって示される日付が週末に当たるかどうかを示すバイナリ値(例えば、真または偽)を返す。別の例示的な変換プリミティブは、タイムスタンプを評価し、指定された日付までの日数(例えば、特定の休日までの日数)を示すカウント値を返す。
特徴エンジニアリングモジュール330は、データセットに基づいてプリミティブのセットを選択する。いくつかの実施形態では、特徴エンジニアリングモジュール330は、スキムビューアプローチ(skim view approach)、サマリービューアプローチ(summary view approach)、またはその両方を使用して、プリミティブを選択する。スキムビューアプローチでは、特徴エンジニアリングモジュール330は、データセットの1つまたは複数のセマンティック表現を識別する。データセットのセマンティック表現は、データセットの特性を記述し、データセット内のデータ上の計算を実行することなく取得される。データセットのセマンティック表現の例は、データセット内の1つまたは複数の特定の変数(例えば、列の名前)の存在、列の数、行の数、データセットの出力種類、データセットの他の属性、およびそれらの組合せを含む。スキムビューアプローチを使用してプリミティブを選択するために、特徴エンジニアリングモジュール330は、データセットの識別されたセマンティック表現が、プール内のプリミティブの属性と合致するかどうかを決定する。合致する場合、特徴エンジニアリングモジュール330は、プリミティブを選択する。
スキムビューアプローチは、ルールベースの分析である。データセットの識別されたセマンティック表現が、プリミティブの属性と合致するかどうかの決定は、特徴エンジニアリングアプリケーション200によって維持されたルールに基づいている。ルールは、例えば、データセットのセマンティック表現のキーワードのマッチングおよびプリミティブの属性に基づいて、どのデータセットのセマンティック表現が、どのプリミティブの属性に合致するかを指定する。1つの例では、データセットのセマンティック表現は、列名「生年月日」であり、特徴エンジニアリングモジュール330は、データセットのセマンティック表現に合致する入力種類が「生年月日」であるプリミティブを選択する。別の例では、データセットのセマンティック表現は、列名「タイムスタンプ」であり、特徴エンジニアリングモジュール330は、プリミティブがタイムスタンプを示すデータとの使用に適切であることを示す属性を有するプリミティブを選択する。
サマリービューアプローチでは、特徴エンジニアリングモジュール330は、データセットから代表ベクトルを生成する。代表ベクトルは、データセット内のテーブルの数、テーブル毎の列の数、それぞれの列の平均数、および、それぞれの行の平均数を示すデータなどの、データセットを記述するデータを符号化する。代表ベクトルはそれゆえ、データセットのフィンガープリントとしての役割を果たす。フィンガープリントは、データセットのコンパクトな表現であり、ハッシュ関数、ラビンのフィンガープリントアルゴリズム(Rabin's fingerprinting algorithm)、または他の種類のフィンガープリント関数などの、1つまたは複数のフィンガープリント関数を、データセットに適用することにより生成され得る。
特徴エンジニアリングモジュール330は、代表ベクトルに基づいてデータセットのプリミティブを選択する。例えば、特徴エンジニアリングモジュール330は、データセットの代表ベクトルを機械学習されたモデルへ入力する。機械学習されたモデルは、データセットに対するプリミティブを出力する。機械学習されたモデルは、例えば、特徴エンジニアリングモジュール330によって、代表ベクトルに基づいてデータセットのプリミティブを選択するようにトレーニングされる。それは、複数のトレーニングデータセットの複数の代表ベクトル、および、複数のトレーニングデータセットのそれぞれに対するプリミティブのセットを含む、トレーニングデータに基づいてトレーニングされ得る。複数のトレーニングデータセットのそれぞれに対するプリミティブのセットは、対応するトレーニングデータセットに基づいて予測を行うために有用であると決定された特徴を生成するために使用されている。いくつかの実施形態では、機械学習されたモデルは、継続的にトレーニングされる。例えば、特徴エンジニアリングモジュール330は、データセットの代表ベクトルおよび選択されたプリミティブの少なくともいくつかに基づいて、機械学習されたモデルをさらにトレーニングすることが可能である。
特徴エンジニアリングモジュール330は、選択されたプリミティブおよびデータセットに基づいて、複数の特徴を合成する。いくつかの実施形態では、特徴エンジニアリングモジュール330は、選択されたプリミティブのそれぞれを、データセットの少なくとも一部に適用して、1つまたは複数の特徴を合成する。例えば、特徴エンジニアリングモジュール330は、「週末」プリミティブを、データセット内の列名「タイムスタンプ」に適用して、ある日付が週末であるか否かを示す特徴を合成する。特徴エンジニアリングモジュール330は、数百または数百万の特徴などの、データセットの多数の特徴を合成することが可能である。
特徴エンジニアリングモジュール330は、特徴を評価し、特徴のグループを取得するために、評価に基づいて特徴のいくつかを除去する。いくつかの実施形態では、特徴エンジニアリングモジュール330は、反復的な処理を通じて特徴を評価する。反復のそれぞれのラウンドでは、特徴エンジニアリングモジュール330は、以前の反復によって除去されなかった特徴(「残りの特徴」とも呼ばれる)を、データセットの異なる部分に適用し、特徴のそれぞれについて有用性スコアを決定する。特徴エンジニアリングモジュール330は、残りの特徴から有用性スコアが最も低いいくつかの特徴を除去する。いくつかの実施形態では、特徴エンジニアリングモジュール330は、ランダムフォレストを使用して特徴の有用性スコアを決定する。
特徴エンジニアリングモジュール330は、特徴(マッピングされた標準特徴および/またはマッピングされていない変数から生成された特徴)をランク付けし、それぞれの特徴についてランク付けスコアを決定する。特徴のランク付けスコアは、特徴が目標変数を予測するのにどれだけ重要か、言い換えると、特徴が予測因子としてどれだけ優れているか、を示す。いくつかの実施形態では、特徴エンジニアリングモジュール330は、特徴およびデータセットに基づいてランダムフォレストを構築する。特徴エンジニアリングモジュール330は、ランダムフォレストにおけるそれぞれの決定木に基づいて特徴のランク付けスコアを決定し、特徴のランク付けスコアとして、個々のランク付けスコアの平均を取得する。特徴エンジニアリングモジュール330は、それぞれの決定木の一部としてGINI不純度(GINI impurity)を使用し、特徴が予測モデル全体にどの程度寄与するかを測定し得る。ランダムフォレストを使用することにより決定された特徴のランク付けスコアは、特徴が他の特徴に関してどれだけ重要かを示し、「相対的ランク付けスコア」と呼ばれる。1つの例では、ランク付けモジュール330は、最も高くランク付けされた選択された特徴の相対的ランク付けスコアが1であると決定する。ランク付けモジュール330は、その後、最も高くランク付けされた特徴のランク付けスコアに対する残りの特徴のそれぞれのランク付けスコアの比率を、対応する選択された特徴の相対的ランク付けスコアとして決定する。
特徴エンジニアリングモジュール330は、それぞれの選択された特徴について絶対的なランク付けスコアを、例えば、グッドマン-クルスカルのタウ(Goodman-Kruskal Tau)(GKT)尺度に基づいて、決定し得る。GKT尺度は、居所的または絶対的な関連性の尺度であり、特徴がどの程度対象を予測するかを示す。特徴エンジニアリングモジュール330は、それらの相対的ランク付けスコアおよび/または絶対的なランク付けスコアに基づいて特徴のグループのサブセットを、モデルをトレーニングする特徴として、選択し得る。
特徴エンジニアリングモジュール330はまた、例えば、選択された特徴の相対的および/または絶対的なランク付けスコアに基づいて、それぞれの選択された特徴についての重要度係数を決定する。重要度係数は、対象予測に対してどれだけ重要/関連があるかを示す。特徴エンジニアリングモジュール330はまた、例えば、カットオフタイム前のタイムスタンプに関連付けられたデータセット内の対応するデータに変換器を適用することによって、選択されたそれぞれの特徴の値を生成する。特徴エンジニアリングモジュール330は、選択された特徴、それらの重要度係数、およびそれらの値(「特徴マトリクス」と総称する)を、モデルをトレーニングするためにトレーニングモジュール340に送信する。
トレーニングモジュール340は、機械学習アプリケーション300のそれぞれの機械学習パイプラインを使用して、ラベリングモジュール320からのラベルおよび特徴エンジニアリングモジュール330からの特徴マトリクスに基づいて、モデルをトレーニングする。
モデルをトレーニングする処理では、トレーニングモジュール340は、欠損値を検出し得、値を供給するためにデータ代入を実行し得る。いくつかの実施形態では、トレーニングモジュール340は、現在の値に基づいて欠損値を取り換えるために新しい値を決定する。例えば、欠損値を有するそれぞれの特徴またはラベルについて、トレーニングモジュール340は、欠損値を、現在の値の平均もしくは中間、最頻出の値、または新しいデータサンプルからの値、と取り換える。トレーニングモジュール340は、k-最近傍(K-Nearest Neighbor)(kNN)代入法、ホットデック補定法(hot deck imputation)、コールドデック補定法(cold deck imputation)、回帰代入法(regression imputation)、確率的回帰代入法(Stochastic regression imputation)、外挿および内挿(extrapolation and interpolation)、単一値代入法(single imputation)、多重代入(multiple imputation)、連鎖方程式による多変量補定法(Multivariate Imputation by Chained Equation)(MICE)、ディープニューラルネットワークを使用する代入(imputation using Deep Neural Networks)などの他の代入法を使用し得る。
トレーニングモジュール340はまた、例えば、特徴の値を正規化または標準化することによって、特徴のスケーリングを実行し得る。いくつかの実施形態では、トレーニングモジュール340は、特徴の重要度係数に基づいて特徴の値域をスケーリングする。例えば、より高い重要度係数を有する特徴の値域は、より低い重要度係数を有する別の特徴の値域よりも、より高くスケーリングされる。特徴が他の特徴よりも比較的高い値域を有する場合、トレーニングモジュールは、トレーニング処理中に特徴が他の特徴よりも優位になるのを避けるために、特徴の値域を減少し得る。トレーニングモジュール340は、例えば、最小最大スケーラー(Min Max Scaler)、標準スケーラー(Standard Scaler)、最大Absスケーラー(Max Abs Scaler)、ロバストスケーラー(Robust Scaler)、分位変換スケーラー(Quantile Transformer Scaler)、パワートランスフォーマースケーラー(Power Transformer Scaler)、単位ベクトルスケーラー(Unit Vector Scaler)などの、特徴のスケーリングに様々な方法を使用することが可能である。
トレーニングモジュール340はまた、分類を実装するアルゴリズムを取得する。トレーニングモジュール340は、候補アルゴリズムのプールからアルゴリズムを選択し得る。候補アルゴリズムの例は、例えば、決定木、ロジスティック回帰、ランダムフォレスト、XGブースト(XGBoost)、線形サポートベクターマシーン(線形SVM)、Adaブースト(AdaBoost)、ニューラルネットワーク、ナイーブベイズ、記憶ベース学習(memory-based learning)、ランダムフォレスト、バギング木(bagged trees)、ブースト木(boosted trees)、ブーストスタンプ(boosted stumps)など、を含む。いくつかの実施形態では、トレーニングモジュール340は、利用可能な情報、例えば、モデルをトレーニングするための時間制限、計算リソース制限(例えば、プロセッサ制限、メモリ使用制限など)、解決すべき予測課題、データセットの特性、選択された特徴、などに基づいて、プール内の候補アルゴリズムの数を制約し得る。トレーニングモジュール340は、それぞれの候補アルゴリズムをテストし得、最良のものを選択し得る。
トレーニングモジュール340は、分類アルゴリズムを使用することによってモデルをトレーニングする。機械学習アプリケーションには複数の機械学習パイプラインがあるため、トレーニングモジュール340は、複数のモデルをトレーニングする。
ランク付けモジュール350は、複数のトレーニングされたモデルをランク付けする。いくつかの実施形態では、ランク付けモジュール350は、性能尺度(例えば、分類精度)に関連付けられたテストハーネスを定義し、トレーニングされたモデルの性能を評価する。例えば、ランク付けモジュール350は、トレーニングされたモデルをテストセットに適用して、トレーニングされたモデルの精度を定量化する。テストセットは、モデルをトレーニングするのに使用したデータとは異なるデータを含む。いくつかの実施形態では、機械学習アプリケーション300は、ラベルおよび特徴マトリクスを、トレーニングセットおよびテストセットに分割する。トレーニングセットは、モデルをトレーニングするためにトレーニングモジュール340に提供され、テストセットは、モデルをランク付けするためにランク付けモジュール350に提供される。
精度測定に適用される一般的な指標は、以下を含む。
正確さ=TP/(TP+FP)および再現率=TP/(TP+FN)、ここで正確さは、モデルが予測した総数(TP+FPまたは偽陽性)のうち、モデルが正しく予測した結果(TPまたは真陽性)の数であり、再現率は、モデルが実際に発生した総数(TP+FNまたは偽陰性)のうち、モデルが正しく予測した結果(TP)の数である。Fスコア(F-score=2*PR/(P+R))は、正確さおよび再現率を1つの尺度に統合する。
正確さ=TP/(TP+FP)および再現率=TP/(TP+FN)、ここで正確さは、モデルが予測した総数(TP+FPまたは偽陽性)のうち、モデルが正しく予測した結果(TPまたは真陽性)の数であり、再現率は、モデルが実際に発生した総数(TP+FNまたは偽陰性)のうち、モデルが正しく予測した結果(TP)の数である。Fスコア(F-score=2*PR/(P+R))は、正確さおよび再現率を1つの尺度に統合する。
テストハーネスに対してトレーニングされたモデルをテストした結果は、性能尺度に対してトレーニングされたモデルが予測課題でどのように実行したかを推定する。ランク付けモジュール350は、それぞれのトレーニングされたモデルについてランク付けスコアを決定し得、ランク付けスコアは、トレーニングされたモデルの測定された性能および/または精度を示す。ランク付けモジュール350は、ランク付けに基づいて、トレーニングされたモデルのうちの1つ、例えば、最良の性能を有するトレーニングモデルを選択する。
ランク付けモジュール370はそして、選択されたトレーニングされたモデルを展開し、選択されたトレーニングされたモデルは、新しい値に基づいて予測を行うために使用されることが可能である。いくつかの実施形態では、ランク付けモジュール370は、コンピュータシステム、例えば、産業課題に関連付けられた産業の組織のサーバ、のデータベースにアーチファクトを送信する。アーチファクトは、機械学習処理によって作成された出力であり、例えば、選択されたトレーニングされたモデル、他のトレーニングされたモデル、モデルチェックポイント、特徴、ラベルなどを含む。コンピュータシステムはさらに、選択されたトレーニングされたモデルが新しい値に基づいて予測を行うために使用される他のコンピュータシステムへ、選択されたトレーニングされたモデルを提供する。
データベース360は、機械学習アプリケーション300によって受信され、使用され、および生成されるデータなどの、機械学習アプリケーション300と関連付けられたデータを格納する。例えば、データベース360は、データセット、標準特徴、特徴マトリクス、変換器、ラベルタイム、トレーニングセット、テストセット、機械学習パイプライン、それぞれの機械学習パイプラインのステップにおいてなされた決定、アルゴリズム、ハイパーパラメータ、トレーニングされたモデル、トレーニングされたモデルのランク付けスコア、などを格納する。
図4AからCは、一実施形態による産業特定機械学習アプリケーション300を使用して、データセットからモデルをトレーニングすることを示す図である。図4Aでは、データセット410が、ラベリングモジュール320へ入力され、ラベリングモジュール320が、ラベルタイムテーブル420を出力する。ラベルタイムテーブル420は、それぞれがカットオフタイムに関連付けられたラベルを含む。
図4Bでは、特徴生成データ430は、特徴エンジニアリングモジュール320へ入力され、特徴マトリクス440を出力する。特徴生成データ430は、カットオフタイムの前のタイムスタンプに関連付けられたデータセット内の、データの一部または全てを含む。特徴マトリクス440は、複数の特徴、特徴の値、および特徴の重要度係数を含む。複数の特徴のいくつかは、機械学習アプリケーション300に含まれる標準特徴であり、ユーザに対して機械学習アプリケーション300によって提供され、および、ユーザによってデータセット内の変数にマッピングされる。
図4Cでは、特徴マトリクス440、ラベルタイムテーブル420からのラベル値425、および、機械学習パイプライン450が、トレーニングモジュール340へ入力される。機械学習パイプライン450は、インピュータ453、スケーラー455および分類器457を含む。機械学習パイプライン450は、機械学習アプリケーション300の複数の機械学習パイプラインのうちの1つである。複数の機械学習パイプラインは、産業課題に特有である。トレーニングモジュール340は、機械学習パイプライン450を使用してモデル460をトレーニングする:トレーニングモジュール340は、インピュータ453を使用して、欠損値を検出し、欠損値のために新しい値を供給する;トレーニングモジュール340は、スケーラー455を使用して、特徴の値域をスケーリングする。そして、トレーニングモジュール340は、分類器457を使用して、教師あり機械学習を実行する。
トレーニングモジュール340はまた、機械学習アプリケーション300の他の機械学習パイプラインのそれぞれを使用して、トレーニングされたモデルを生成する。いくつかの実施形態では、それらトレーニングされたモデルは、それらの予測性能に基づいてランク付けされ、最良の性能を有すると決定されたトレーニングされたモデルは、展開され、新しいデータに基づいて予測を行うために使用される。
図5は、一実施形態による産業課題に対する予測を行うためのモデルを生成するための方法500を示すフローチャートである。いくつかの実施形態では、方法は、機械学習アプリケーション160によって実行されるが、他の実施形態では、方法による操作のいくつかまたは全てが、他のエンティティによって実行され得る。いくつかの実施形態では、フローチャート内の操作は、異なる順序で実行され、異なるおよび/または追加のステップを含む。
機械学習アプリケーション160は、モデルを生成するためのデータセットを受信する(510)。データセットは、ユーザに関連付けられたクライアントデバイスから、または例えば、図1のデータソース120のうちの1つの、データソースから受信されることが可能である。機械学習アプリケーション160は、産業課題に基づいて、複数の機械学習アプリケーションから選択される。複数の機械学習アプリケーションのそれぞれは、種々の産業課題に対応し、対応する産業課題に特有の標準特徴および対応する産業課題に特有の機械学習パイプラインを含む。例示的な産業課題は、アプリケーションの監視、サービスレベル合意違反の検出、ユーザの行動予測などを含む。
いくつかの実施形態では、標準特徴は、産業課題に基づいて、機械学習サーバ110によって、事前に生成されているおよび/または選択されている。標準特徴は、産業課題を解決するモデルの過去のトレーニングで重要であると証明された特徴、産業課題を解決するモデルのトレーニングに使用されるデータセットの一般的な変数、産業課題に論理的に関連する特徴、またはそれらの組み合わせであることが可能である。
いくつかの実施形態では、機械学習パイプラインは、産業課題のドメインに基づいて、機械学習サーバ110によって事前に生成されている。例えば、機械学習サーバ110は産業課題の記述に基づいて、産業課題のドメインを識別する。ドメインは、ビジネスに関連付けられる。機械学習サーバ110は、識別されたドメインに基づいて、複数の目的関数から目的関数を選択した。複数の目的関数のそれぞれは、それぞれのドメインに特有であり、それぞれのドメインにおける予測のための最適な機械学習パイプラインを選択するために使用される。機械学習サーバ110はそして、目的関数を機械学習パイプラインのプールに適用して、機械学習パイプラインのプールからそれぞれの機械学習アプリケーションの機械学習パイプラインを選択する。
機械学習アプリケーション160は、ユーザに関連付けられたクライアントデバイスへの表示のために、機械学習アプリケーション内の標準特徴を提供する(520)。いくつかの実施形態では、機械学習アプリケーション160は、520ユーザインターフェースに標準特徴を、提供する。ユーザインターフェースは、クライアントデバイスに関連付けられたユーザが、データセット内の変数を、選択された機械学習アプリケーション内の標準特徴にマッピングすることを可能にする。いくつかの実施形態では、ユーザインターフェースは、ユーザが、データセット内の1つの変数を1つの標準特徴にマッピングすること、データセット内の複数の変数を1つの標準特徴にマッピングすること、および/または、データセット内の1つの変数を複数の標準特徴にマッピングすることを可能にする。
機械学習アプリケーション160は、クライアントデバイスから、および標準特徴を提供することに応答して、選択された機械学習アプリケーション内の標準特徴に対する、データセット内の変数のマッピングを受信する(530)。例えば、機械学習サーバ110は、ユーザの、変数「ユーザ名」の標準特徴「ID」に対するマッピングを受信する。機械学習サーバ110がマッピングを受信した後に、機械学習サーバ110は、変数の値を新しい値へ、標準特徴の値として変換し得る。例えば、変数「ユーザ名」が、ユーザの名前を表す複数のテキスト文字列を含む場合、機械学習サーバは、テキスト文字列を標準特徴「ID」の値として数値に変換する。
機械学習アプリケーション160は、機械学習アプリケーション160の機械学習パイプラインをデータセットに適用して、少なくともマッピングに基づいて複数のモデルをトレーニングする(540)。それぞれの機械学習パイプラインは、トレーニング処理のステップを指定する。いくつかの実施形態では、トレーニング処理は、データ代入、特徴スケーリング、および分類を含む。
いくつかの実施形態では、機械学習アプリケーション160は、データセット内の1つまたは複数の変数にマッピングされた選択された機械学習アプリケーション内の1つまたは複数の標準特徴、および、1つまたは複数の他の特徴を含む、複数の特徴を生成する。機械学習アプリケーション160は、標準特徴のいずれにもマッピングされていないデータセット内の変数から、1つまたは複数の他の特徴を抽出する。そのような特徴を抽出するために、機械学習アプリケーション160は、標準特徴のプールのいずれにもマッピングされていないデータセット内の変数を識別し、識別された変数に基づいてプリミティブのプールからプリミティブを選択し、変数にプリミティブを適用することが可能である。
機械学習アプリケーション160は、複数のトレーニングされたモデルをランク付けする(550)。いくつかの実施形態では、機械学習アプリケーション160は、570性能尺度(例えば、分類精度)に関連付けられたテストハーネスを定義し、それらの性能に基づいてトレーニングされたモデルをランク付けすることによって、トレーニングされたモデルをランク付けする。それぞれのトレーニングされたモデルの性能は、トレーニングされたモデルにテストセットを入力し、トレーニングされたモデルの出力をテストセットに関連付けられた公知の予測結果と比較することによって測定することが可能である。
機械学習アプリケーション160は、ランク付けに基づいて、複数のトレーニングされたモデルから生成されたモデルを選択する(560)。選択されたトレーニングされたモデルは、新しいデータで予測を行うために使用される。
図6は、一実施形態による、図1の機械学習サーバ110として使用するための典型的なコンピュータシステム600の機能図を示す高レベルのブロック図である。
図示のコンピュータシステムは、チップセット604に結合された少なくとも1つのプロセッサ602を含む。プロセッサ602は、同じダイ上に複数のプロセッサコアを含むことが可能である。チップセット604は、メモリコントローラハブ620および入出力(I/O)コントローラハブ622を含む。メモリ606およびグラフィックスアダプタ612は、メモリコントローラハブ620に結合され、ディスプレイ618は、グラフィックスアダプタ612に結合される。ストレージデバイス608、キーボード610、ポインティングデバイス614、およびネットワークアダプタ616は、I/Oコントローラハブ622に結合され得る。いくつかの他の実施形態では、コンピュータシステム600は、追加の、より少ない、または異なるコンポーネントを有し得、コンポーネントは、別々に結合され得る。例えば、コンピュータシステム600の実施形態は、ディスプレイおよび/またはキーボードを欠き得る。さらに、コンピュータシステム600は、いくつかの実施形態では、ラックマウントブレードサーバとして、またはクラウドサーバインスタンスとしてインスタンス化され得る。
メモリ606は、プロセッサ602によって使用される命令およびデータを保持する。いくつかの実施形態では、メモリ606はランダムアクセスメモリである。ストレージデバイス608は、非一時的コンピュータ可読記憶媒体である。ストレージデバイス608は、HDD、SSD、または他の種類の非一時的コンピュータ可読記憶媒体であることが可能である。機械学習サーバ110によって処理および分析されたデータは、メモリ606および/またはストレージデバイス608に格納されることが可能である。
ポインティングデバイス614は、マウス、トラックボール、または他の種類のポインティングデバイスであり、コンピュータシステム600にデータを入力するためにキーボード610と組み合わせて使用され得る。グラフィックスアダプタ612は、ディスプレイ618上に画像および他の情報を表示する。いくつかの実施形態では、ディスプレイ618は、ユーザ入力および選択を受信するためのタッチスクリーン機能を含む。ネットワークアダプタ616は、コンピュータシステム600をネットワーク160に接続する。
コンピュータシステム600は、本明細書に記載される機能を提供するためのコンピュータモジュールを実行するように適合される。本明細書で使用されるように、用語「モジュール」は、特定の機能を提供するためのコンピュータプログラム命令および他のロジックを指す。モジュールは、ハードウェア、ファームウェア、および/またはソフトウェアで実装されることが可能である。モジュールは、1つまたは複数のプロセスを含むこと、および/または処理の一部のみによって提供されることが可能である。モジュールは、通常、ストレージデバイス608に格納され、メモリ606にロードされ、プロセッサ602によって実行される。
コンポーネントの特定の命名、用語の大文字化、属性、データ構造、または任意の別のプログラミングまたは構造の側面は、必須でも重要でもなく、記載された実施形態を実装するメカニズムは、異なる名前、フォーマット、またはプロトコルを有し得る。さらに、システムは、記載されたように、ハードウェアおよびソフトウェアの組み合わせを介して、または完全にハードウェア要素で実装され得る。また、本明細書に記載された様々なシステムコンポーネント間の機能の特定の分割は、単なる例示であり、必須ではなく、単一のシステムコンポーネントによって実行される機能は、代わりに、複数のコンポーネントによって実行され得、複数のコンポーネントによって実行される機能は、代わりに、単一のコンポーネントによって実行され得る。
上記の説明のいくつかの部分は、情報に対する操作のアルゴリズムおよび記号表現に関する特徴を提示する。これらのアルゴリズム的な説明および表現は、データ処理技術の当業者が、その作業の内容を他の当業者に最も効果的に伝えるために使用する手段である。これらの操作は、機能的または論理的に記載されているが、コンピュータプログラムによって実装されると理解される。さらに、一般性を失うことなく、これらの操作の配置をモジュールまたは機能名として参照することも、時には便利であることが証明されている。
上記の議論から明らかなように特に言及されない限り、説明全体を通して、「処理」または「計算」または「計算する」または「決定する」または「表示する」などの用語を利用する議論は、コンピュータシステムメモリまたはレジスタまたは他のそのような情報ストレージ、トランスミッションまたはディスプレイデバイス内の物理的(電子的)量として表されるデータを操作および変換する、コンピュータシステムまたは同様の電子計算デバイスの動作および処理を指すことが理解される。
本明細書に記載される特定の実施形態は、アルゴリズムの形式で記載される処理ステップおよび命令を含む。実施形態の処理ステップおよび命令は、ソフトウェア、ファームウェアまたはハードウェアで実施されることが可能であり、ソフトウェアで実施される場合、リアルタイムネットワークオペレーティングシステムによって使用される異なるプラットフォーム上に存在し、そこから動作されるようにダウンロードされることが可能であることに留意されたい。
最後に、本明細書で使用される言語は、主として、読みやすさおよび教育目的のために選択されており、本発明の主題を描写または限定するために選択され得ないことに留意されたい。したがって、実施形態の開示は例示を意図しており、限定を意図しない。
機械学習サーバ110は、産業特定機械学習処理を実装する。機械学習サーバ110は、アプリケーション生成エンジン150、および、機械学習サーバ110によって生成された複数の産業特定機械学習アプリケーション160(「機械学習アプリケーション160」とも呼ばれ、個々に、「産業特定機械学習アプリケーション160」または「機械学習アプリケーション160」とも呼ばれる)を含む。産業特定機械学習アプリケーション160は、特定の産業課題の範囲内の予測を行うためのモデルをトレーニングするために使用されることが可能であるアプリケーションである。産業課題は、産業またはビジネスのドメインにおける課題である。産業/ドメインは、例えば、情報技術(IT)操作、ヘルスケア、工業生産、小売り、セールスおよびマーケティング、保険、銀行業などであることが可能である。産業課題は、例えば、アプリケーションの監視、サービスレベル合意違反の検出、ユーザの行動予測などであることが可能である。
データソース120によって提供されるデータは、産業課題を解決するための、および/または、産業課題の範囲内の予測を行うためにトレーニングされるモデルに入力される、機械学習モデルをトレーニングするために使用されるデータを含む。データは、データレコード(例えば行)に編成され得る。それぞれのデータは、1つまたは複数の値を含む。例えば、データソース120によって提供されるデータレコードは、一連のカンマ区切りの値を含み得る。データは、機械学習サーバ110を使用する企業に関連する情報を記述する。例えば、データソース120からのデータは、ウェブサイト上および/またはアプリケーションでアクセス可能なコンテンツとのコンピュータベースの相互作用(例えば、クリック追跡データ)を記述することが可能である。別の例として、データソース120からのデータは、オンラインおよび/または店舗での顧客取引を記述することが可能である。企業は、コンピュータ技術、製造業など、様々な産業の1つまたは複数であることが可能である。
図2は、一実施形態による産業特定機械学習アプリケーションを生成するアプリケーション生成エンジン200を示すブロック図である。アプリケーション生成エンジン200は、図1のアプリケーション生成エンジン150の一実施形態である。アプリケーション生成エンジン200は、モデルをトレーニングするために使用されることが可能である産業特定機械学習アプリケーションを生成する。アプリケーション生成エンジン200は、ラベリング関数モジュール210、標準特徴モジュール220、パイプラインモジュール230、ユーザインターフェースモジュール240、およびデータベース250を含む。当業者は、他の実施形態が、ここで説明したコンポーネントとは異なるコンポーネントおよび/または他のコンポーネントを有することが可能であり、機能性が、異なる方法でコンポーネント間に分散されることが可能であることを認識するであろう。
データベース250は、アプリケーション生成エンジン200によって受信され、使用され、または生成されるデータなどの、アプリケーション生成エンジン200と関連付けられたデータを格納する。いくつかの実施形態では、データベース250は、ラベリング関数、標準特徴、目的関数、機械学習パイプラインなどを格納する。
ユーザインターフェースはまた、機械学習アプリケーション300内の標準特徴をユーザへ提示し、ユーザが、データセット内の変数を、標準特徴にマッピングすることを可能にする。いくつかの実施形態では、データセットを受信した後、ユーザインターフェースモジュール310は、データセット内の変数を識別する。ユーザインターフェースモジュール310は、ユーザへの表示のために変数の全てまたはいくつかをユーザインターフェースに提示し、それにより、ユーザは、変数を選択し、変数を標準特徴にマッピングすることが可能になる。ユーザインターフェースは、ユーザのマッピングを受信し、マッピングを特徴エンジニアリングモジュール330へ送信する。
スキムビューアプローチは、ルールベースの分析である。データセットの識別されたセマンティック表現が、プリミティブの属性と合致するかどうかの決定は、特徴エンジニアリングモジュール330によって維持されたルールに基づいている。ルールは、例えば、データセットのセマンティック表現のキーワードのマッチングおよびプリミティブの属性に基づいて、どのデータセットのセマンティック表現が、どのプリミティブの属性に合致するかを指定する。1つの例では、データセットのセマンティック表現は、列名「生年月日」であり、特徴エンジニアリングモジュール330は、データセットのセマンティック表現に合致する入力種類が「生年月日」であるプリミティブを選択する。別の例では、データセットのセマンティック表現は、列名「タイムスタンプ」であり、特徴エンジニアリングモジュール330は、プリミティブがタイムスタンプを示すデータとの使用に適切であることを示す属性を有するプリミティブを選択する。
特徴エンジニアリングモジュール330は、特徴(マッピングされた標準特徴および/またはマッピングされていない変数から生成された特徴)をランク付けし、それぞれの特徴についてランク付けスコアを決定する。特徴のランク付けスコアは、特徴が目標変数を予測するのにどれだけ重要か、言い換えると、特徴が予測因子としてどれだけ優れているか、を示す。いくつかの実施形態では、特徴エンジニアリングモジュール330は、特徴およびデータセットに基づいてランダムフォレストを構築する。特徴エンジニアリングモジュール330は、ランダムフォレストにおけるそれぞれの決定木に基づいて特徴のランク付けスコアを決定し、特徴のランク付けスコアとして、個々のランク付けスコアの平均を取得する。特徴エンジニアリングモジュール330は、それぞれの決定木の一部としてGINI不純度(GINI impurity)を使用し、特徴が予測モデル全体にどの程度寄与するかを測定し得る。ランダムフォレストを使用することにより決定された特徴のランク付けスコアは、特徴が他の特徴に関してどれだけ重要かを示し、「相対的ランク付けスコア」と呼ばれる。1つの例では、特徴エンジニアリングモジュール330は、最も高くランク付けされた選択された特徴の相対的ランク付けスコアが1であると決定する。特徴エンジニアリングモジュール330は、その後、最も高くランク付けされた特徴のランク付けスコアに対する残りの特徴のそれぞれのランク付けスコアの比率を、対応する選択された特徴の相対的ランク付けスコアとして決定する。
トレーニングモジュール340はまた、分類を実装するアルゴリズムを取得する。トレーニングモジュール340は、候補アルゴリズムのプールからアルゴリズムを選択し得る。候補アルゴリズムの例は、例えば、決定木、ロジスティック回帰、ランダムフォレスト、XGブースト(XGBoost)、線形サポートベクターマシーン(線形SVM)、Adaブースト(AdaBoost)、ニューラルネットワーク、ナイーブベイズ、記憶ベース学習(memory-based learning)、バギング木(bagged trees)、ブースト木(boosted trees)、ブーストスタンプ(boosted stumps)など、を含む。いくつかの実施形態では、トレーニングモジュール340は、利用可能な情報、例えば、モデルをトレーニングするための時間制限、計算リソース制限(例えば、プロセッサ制限、メモリ使用制限など)、解決すべき予測課題、データセットの特性、選択された特徴、などに基づいて、プール内の候補アルゴリズムの数を制約し得る。トレーニングモジュール340は、それぞれの候補アルゴリズムをテストし得、最良のものを選択し得る。
テストハーネスに対してトレーニングされたモデルをテストした結果は、性能尺度に対してトレーニングされたモデルが予測課題でどのように実行したかを推定する。ランク付けモジュール350は、それぞれのトレーニングされたモデルについてランク付けスコアを決定し得、ランク付けスコアは、トレーニングされたモデルの測定された性能および/または精度を示す。ランク付けモジュール350は、ランク付けに基づいて、トレーニングされたモデルのうちの1つ、例えば、最良の性能を有するトレーニングされたモデルを選択する。
ランク付けモジュール350はそして、選択されたトレーニングされたモデルを展開し、選択されたトレーニングされたモデルは、新しい値に基づいて予測を行うために使用されることが可能である。いくつかの実施形態では、ランク付けモジュール350は、コンピュータシステム、例えば、産業課題に関連付けられた産業の組織のサーバ、のデータベースにアーチファクトを送信する。アーチファクトは、機械学習処理によって作成された出力であり、例えば、選択されたトレーニングされたモデル、他のトレーニングされたモデル、モデルチェックポイント、特徴、ラベルなどを含む。コンピュータシステムはさらに、選択されたトレーニングされたモデルが新しい値に基づいて予測を行うために使用される他のコンピュータシステムへ、選択されたトレーニングされたモデルを提供する。
図4Bでは、特徴生成データ430は、特徴エンジニアリングモジュール330へ入力され、特徴マトリクス440を出力する。特徴生成データ430は、カットオフタイムの前のタイムスタンプに関連付けられたデータセット内の、データの一部または全てを含む。特徴マトリクス440は、複数の特徴、特徴の値、および特徴の重要度係数を含む。複数の特徴のいくつかは、機械学習アプリケーション300に含まれる標準特徴であり、ユーザに対して機械学習アプリケーション300によって提供され、および、ユーザによってデータセット内の変数にマッピングされる。
機械学習アプリケーション160は、複数のトレーニングされたモデルをランク付けする(550)。いくつかの実施形態では、機械学習アプリケーション160は、550性能尺度(例えば、分類精度)に関連付けられたテストハーネスを定義し、それらの性能に基づいてトレーニングされたモデルをランク付けすることによって、トレーニングされたモデルをランク付けする。それぞれのトレーニングされたモデルの性能は、トレーニングされたモデルにテストセットを入力し、トレーニングされたモデルの出力をテストセットに関連付けられた公知の予測結果と比較することによって測定することが可能である。
ポインティングデバイス614は、マウス、トラックボール、または他の種類のポインティングデバイスであり、コンピュータシステム600にデータを入力するためにキーボード610と組み合わせて使用され得る。グラフィックスアダプタ612は、ディスプレイ618上に画像および他の情報を表示する。いくつかの実施形態では、ディスプレイ618は、ユーザ入力および選択を受信するためのタッチスクリーン機能を含む。ネットワークアダプタ616は、コンピュータシステム600をネットワーク140に接続する。
Claims (20)
- 産業課題に対する予測を行うためのモデルを生成するためのコンピュータ実装方法であって、
機械学習アプリケーションによって、モデルを生成するためのデータセットを受信することであって、前記機械学習アプリケーションは、前記産業課題に基づいて複数の機械学習アプリケーションから選択され、前記複数の機械学習アプリケーションのそれぞれは、種々の産業課題に対応し、対応する前記産業課題に特有の標準特徴および対応する前記産業課題に特有の機械学習パイプラインを含む、ことと、
ユーザに関連付けられたクライアントデバイスへの表示のために、前記機械学習アプリケーション内の前記標準特徴を提供することと、
前記クライアントデバイスから、および、前記標準特徴を提供することに応答して、選択された前記機械学習アプリケーション内の標準特徴に対する、前記データセット内の変数のマッピングを受信することと、
選択された前記機械学習アプリケーションの前記機械学習パイプラインを前記データセットに適用して、少なくとも前記マッピングに基づいて複数のモデルをトレーニングすることと、
トレーニングされた前記複数のモデルをランク付けすることと、
前記ランク付けに基づいて、トレーニングされた前記複数のモデルから生成されたモデルを選択することと、
を備える、コンピュータ実装方法。 - 前記機械学習アプリケーションによって、前記ユーザに関連付けられた前記クライアントデバイスへの表示のために、前記機械学習アプリケーション内の前記標準特徴を提供することは、
前記機械学習アプリケーションによって、前記機械学習アプリケーション内の前記標準特徴を、ユーザインターフェースへの表示のために提供することであって、前記ユーザインターフェースは、前記ユーザが、前記機械学習アプリケーション内の前記標準特徴に、前記データセット内の変数をマッピングすることを可能にする、こと、
を備える、請求項1に記載のコンピュータ実装方法。 - 選択された前記機械学習アプリケーションの前記機械学習パイプラインを前記データセットに適用して、少なくとも前記マッピングに基づいて複数のモデルをトレーニングすることは、
前記データセット内の1つまたは複数の前記変数にマッピングされた、選択された前記機械学習アプリケーション内の1つまたは複数の標準特徴、および、1つまたは複数の他の特徴、を含む複数の特徴を生成することであって、1つまたは複数の前記他の特徴は、選択された前記機械学習アプリケーションの標準特徴のいずれにもマッピングされていない前記データセット内の1つまたは複数の他の変数から抽出される、こと、
を備える、請求項1に記載のコンピュータ実装方法。 - 前記データセット内の1つまたは複数の前記変数にマッピングされた1つまたは複数の標準特徴および1つまたは複数の他の特徴を含む複数の特徴を生成することは、
選択された前記機械学習アプリケーションの標準特徴のいずれにもマッピングされていない前記データセット内の変数を識別することと、
識別された前記変数に基づいてプリミティブのプールからプリミティブを選択することであって、前記プリミティブは、変数を特徴に変換する関数を備える、ことと、
前記プリミティブを前記変数に適用して、1つまたは複数の前記他の特徴のうちの1つを生成することと、
を備える、請求項3に記載のコンピュータ実装方法。 - ラベリング関数を前記データセットに適用して、ラベルタイムを生成することであって、それぞれのラベルタイムは、ラベルおよび前記ラベルに関連付けられたカットオフタイムを含む、こと、
をさらに備える、請求項1に記載のコンピュータ実装方法。 - 前記ラベリング関数は、前記機械学習アプリケーションに含まれ、選択された前記機械学習アプリケーションに対応する前記産業課題に特有である、
請求項5に記載のコンピュータ実装方法。 - 前記ラベリング関数は、カスタマイズ可能なパラメータを備え、前記方法は、
前記クライアントデバイスから前記カスタマイズ可能なパラメータの値を受信することであって、前記値は、前記産業課題の範囲内の予測に固有である、ことと、
受信された前記値に基づいて、前記ラベリング関数をカスタマイズすることと、
をさらに備える、請求項5に記載のコンピュータ実装方法。 - 実行可能なコンピュータプログラム命令を格納する非一時的コンピュータ可読メモリであって、産業課題に対する予測を行うためのモデルを生成するための操作を実行する前記実行可能な命令は、
機械学習アプリケーションによって、前記モデルを生成するためのデータセットを受信することであって、前記機械学習アプリケーションは、前記産業課題に基づいて複数の機械学習アプリケーションから選択され、前記複数の機械学習アプリケーションのそれぞれは、種々の産業課題に対応し、対応する前記産業課題に特有の標準特徴および対応する前記産業課題に特有の機械学習パイプラインを含む、ことと、
ユーザに関連付けられたクライアントデバイスへの表示のために、前記機械学習アプリケーション内の前記標準特徴を提供することと、
前記クライアントデバイスから、および、前記標準特徴を提供することに応答して、選択された前記機械学習アプリケーション内の標準特徴に対する、前記データセット内の変数のマッピングを受信することと、
選択された前記機械学習アプリケーションの前記機械学習パイプラインを前記データセットに適用して、少なくとも前記マッピングに基づいて複数のモデルをトレーニングすることと、
トレーニングされた前記複数のモデルをランク付けすることと、
前記ランク付けに基づいて、トレーニングされた前記複数のモデルから生成されたモデルを選択することと、
を備える、非一時的コンピュータ可読メモリ。 - 前記機械学習アプリケーションによって、前記ユーザに関連付けられた前記クライアントデバイスへの表示のために、前記機械学習アプリケーション内の前記標準特徴を提供することは、
前記機械学習アプリケーションによって、前記機械学習アプリケーション内の前記標準特徴を、ユーザインターフェースへの表示のために提供することであって、前記ユーザインターフェースは、前記ユーザが、前記機械学習アプリケーション内の前記標準特徴に、前記データセット内の変数をマッピングすることを可能にする、こと、
を備える、請求項8に記載の非一時的コンピュータ可読メモリ。 - 選択された前記機械学習アプリケーションの前記機械学習パイプラインを前記データセットに適用して、少なくとも前記マッピングに基づいて複数のモデルをトレーニングすることは、
前記データセット内の1つまたは複数の前記変数にマッピングされた、選択された前記機械学習アプリケーション内の1つまたは複数の標準特徴、および、1つまたは複数の他の特徴、を含む複数の特徴を生成することであって、1つまたは複数の前記他の特徴は、選択された前記機械学習アプリケーションの標準特徴のいずれにもマッピングされていない前記データセット内の1つまたは複数の他の変数から抽出される、こと、
を備える、請求項8に記載の非一時的コンピュータ可読メモリ。 - 前記データセット内の1つまたは複数の前記変数にマッピングされた1つまたは複数の標準特徴および1つまたは複数の他の特徴を含む複数の特徴を生成することは、
選択された前記機械学習アプリケーションの標準特徴のいずれにもマッピングされていない前記データセット内の変数を識別することと、
識別された前記変数に基づいてプリミティブのプールからプリミティブを選択することであって、前記プリミティブは、変数を特徴に変換する関数を備える、ことと、
前記プリミティブを前記変数に適用して、1つまたは複数の前記他の特徴のうちの1つを生成することと、
を備える、請求項10に記載の非一時的コンピュータ可読メモリ。 - 前記操作は、
ラベリング関数を前記データセットに適用して、ラベルタイムを生成することであって、それぞれのラベルタイムは、ラベルおよび前記ラベルに関連付けられたカットオフタイムを含む、こと、
をさらに備える、請求項8に記載の非一時的コンピュータ可読メモリ。 - 前記ラベリング関数は、前記機械学習アプリケーションに含まれ、選択された前記機械学習アプリケーションに対応する前記産業課題に特有である、
請求項12に記載の非一時的コンピュータ可読メモリ。 - 前記ラベリング関数は、カスタマイズ可能なパラメータを備え、前記操作は、
前記クライアントデバイスから前記カスタマイズ可能なパラメータの値を受信することであって、前記値は、前記産業課題の範囲内の予測に固有である、ことと、
受信された前記値に基づいて、前記ラベリング関数をカスタマイズすることと、
をさらに備える、請求項12に記載の非一時的コンピュータ可読メモリ。 - コンピュータプログラム命令を実行するためのコンピュータプロセッサと、
産業課題に対する予測を行うためのモデルを生成するための操作を実行する前記コンピュータプロセッサによって実行可能なコンピュータプログラム命令を格納する非一時的コンピュータ可読メモリと、を含むシステムであって、前記実行可能な命令は、
機械学習アプリケーションによって、前記モデルを生成するためのデータセットを受信することであって、前記機械学習アプリケーションは、前記産業課題に基づいて複数の機械学習アプリケーションから選択され、前記複数の機械学習アプリケーションのそれぞれは、種々の産業課題に対応し、対応する前記産業課題に特有の標準特徴および対応する前記産業課題に特有の機械学習パイプラインを含む、ことと、
ユーザに関連付けられたクライアントデバイスへの表示のために、前記機械学習アプリケーション内の前記標準特徴を提供することと、
前記クライアントデバイスから、および、前記標準特徴を提供することに応答して、選択された前記機械学習アプリケーション内の標準特徴に対する、前記データセット内の変数のマッピングを受信することと、
選択された前記機械学習アプリケーションの前記機械学習パイプラインを前記データセットに適用して、少なくとも前記マッピングに基づいて複数のモデルをトレーニングすることと、
トレーニングされた前記複数のモデルをランク付けすることと、
前記ランク付けに基づいて、トレーニングされた前記複数のモデルから生成されたモデルを選択することと、
を備えるシステム。 - 前記機械学習アプリケーションによって、前記前記ユーザに関連付けられた前記クライアントデバイスへの表示のために、前記機械学習アプリケーション内の前記標準特徴を提供することは、
前記機械学習アプリケーションによって、前記機械学習アプリケーション内の前記標準特徴を、ユーザインターフェースへの表示のために提供することであって、前記ユーザインターフェースは、前記ユーザが、前記機械学習アプリケーション内の前記標準特徴に、前記データセット内の変数をマッピングすることを可能にする、こと、
を備える、請求項15に記載のシステム。 - 選択された前記機械学習アプリケーションの前記機械学習パイプラインを前記データセットに適用して、少なくとも前記マッピングに基づいて複数のモデルをトレーニングすることは、
前記データセット内の1つまたは複数の前記変数にマッピングされた、選択された前記機械学習アプリケーション内の1つまたは複数の標準特徴、および、1つまたは複数の他の特徴、を含む複数の特徴を生成することであって、1つまたは複数の前記他の特徴は、選択された前記機械学習アプリケーションの標準特徴のいずれにもマッピングされていない前記データセット内の1つまたは複数の他の変数から抽出される、こと、
を備える、請求項15に記載のシステム。 - 前記データセット内の1つまたは複数の前記変数にマッピングされた1つまたは複数の標準特徴および1つまたは複数の他の特徴を含む複数の特徴を生成することは、
選択された前記機械学習アプリケーションの標準特徴のいずれにもマッピングされていない前記データセット内の変数を識別することと、
識別された前記変数に基づいてプリミティブのプールからプリミティブを選択することであって、前記プリミティブは、変数を特徴に変換する関数を備える、ことと、
前記プリミティブを前記変数に適用して、1つまたは複数の前記他の特徴のうちの1つを生成することと、
を備える、請求項17に記載のシステム。 - 前記操作は、
ラベリング関数を前記データセットに適用して、ラベルタイムを生成することであって、それぞれのラベルタイムは、ラベルおよび前記ラベルに関連付けられたカットオフタイムを含む、こと、
をさらに備える、請求項15に記載のシステム。 - 前記ラベリング関数は、カスタマイズ可能なパラメータを備え、
前記クライアントデバイスから前記カスタマイズ可能なパラメータの値を受信することであって、前記値は、前記産業課題の範囲内の予測に固有である、ことと、
受信された前記値に基づいて、前記ラベリング関数をカスタマイズすることと、
をさらに備える、請求項19に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/242,927 | 2021-04-28 | ||
US17/242,927 US20220351004A1 (en) | 2021-04-28 | 2021-04-28 | Industry specific machine learning applications |
PCT/US2022/025903 WO2022231963A1 (en) | 2021-04-28 | 2022-04-22 | Industry specific machine learning applications |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024516656A true JP2024516656A (ja) | 2024-04-16 |
Family
ID=83807635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023566407A Pending JP2024516656A (ja) | 2021-04-28 | 2022-04-22 | 産業特定機械学習アプリケーション |
Country Status (8)
Country | Link |
---|---|
US (1) | US20220351004A1 (ja) |
EP (1) | EP4330869A1 (ja) |
JP (1) | JP2024516656A (ja) |
KR (1) | KR20240001238A (ja) |
CN (1) | CN117223016A (ja) |
AU (1) | AU2022264302A1 (ja) |
CA (1) | CA3216548A1 (ja) |
WO (1) | WO2022231963A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11501107B2 (en) * | 2020-05-07 | 2022-11-15 | Adobe Inc. | Key-value memory network for predicting time-series metrics of target entities |
US11836618B2 (en) * | 2020-08-19 | 2023-12-05 | Bank Of America Corporation | Electronic system for data processing by a self-correcting, deep neural network integrated within a memory resource |
CN112465814A (zh) * | 2020-12-17 | 2021-03-09 | 无锡日联科技股份有限公司 | 基于深度学习的电池overhang的计算方法和装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7643969B2 (en) * | 2005-03-04 | 2010-01-05 | Health Outcomes Sciences, Llc | Methods and apparatus for providing decision support |
US10990901B2 (en) * | 2017-11-13 | 2021-04-27 | Accenture Global Solutions Limited | Training, validating, and monitoring artificial intelligence and machine learning models |
US11616839B2 (en) * | 2019-04-09 | 2023-03-28 | Johnson Controls Tyco IP Holdings LLP | Intelligent edge computing platform with machine learning capability |
US20200387818A1 (en) * | 2019-06-07 | 2020-12-10 | Aspen Technology, Inc. | Asset Optimization Using Integrated Modeling, Optimization, and Artificial Intelligence |
US11610076B2 (en) * | 2019-08-07 | 2023-03-21 | Applied Materials, Inc. | Automatic and adaptive fault detection and classification limits |
US20230123236A1 (en) * | 2021-10-20 | 2023-04-20 | Oracle International Corporation | Industry language conversation |
-
2021
- 2021-04-28 US US17/242,927 patent/US20220351004A1/en active Pending
-
2022
- 2022-04-22 JP JP2023566407A patent/JP2024516656A/ja active Pending
- 2022-04-22 EP EP22796447.5A patent/EP4330869A1/en active Pending
- 2022-04-22 CN CN202280031496.1A patent/CN117223016A/zh active Pending
- 2022-04-22 AU AU2022264302A patent/AU2022264302A1/en active Pending
- 2022-04-22 WO PCT/US2022/025903 patent/WO2022231963A1/en active Application Filing
- 2022-04-22 KR KR1020237040924A patent/KR20240001238A/ko unknown
- 2022-04-22 CA CA3216548A patent/CA3216548A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220351004A1 (en) | 2022-11-03 |
CA3216548A1 (en) | 2022-11-03 |
AU2022264302A1 (en) | 2023-11-02 |
WO2022231963A1 (en) | 2022-11-03 |
EP4330869A1 (en) | 2024-03-06 |
KR20240001238A (ko) | 2024-01-03 |
CN117223016A (zh) | 2023-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20220066924A (ko) | 머신 러닝 모델에서 동적 이상치 바이어스 감소를 구현하도록 구성된 컴퓨터 기반 시스템, 컴퓨팅 구성요소 및 컴퓨팅 객체 | |
US20220351004A1 (en) | Industry specific machine learning applications | |
JP7267964B2 (ja) | 生成装置、生成方法および生成プログラム | |
US20210125106A1 (en) | System and method for generating and optimizing artificial intelligence models | |
US20240193485A1 (en) | System and method of operationalizing automated feature engineering | |
US20230004486A1 (en) | Software testing using machine learning | |
US20230351308A1 (en) | System and method for universal mapping of structured, semi-structured, and unstructured data for application migration in integration processes | |
US11687839B2 (en) | System and method for generating and optimizing artificial intelligence models | |
AU2021332209A1 (en) | Hybrid machine learning | |
US20230153843A1 (en) | System to combine intelligence from multiple sources that use disparate data sets | |
AU2021412848B2 (en) | Integrated feature engineering | |
US11941076B1 (en) | Intelligent product sequencing for category trees | |
AU2021412848A9 (en) | Integrated feature engineering | |
Familiar et al. | Advanced Analytics Using Machine Learning and R | |
Sampath Kumar et al. | Prediction of success for currently operating startups | |
Barga et al. | Building Customer Propensity Models | |
Barga et al. | Building Customer Propensity Models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240118 |