(57)【要約】【課題】本発明は、とりわけ、機械学習システムのモデルを更新するための、コンピュータ実施方法に関する。【解決手段】方法は、同様の事象の観察の第１のセットを提供するステップであって、各観察が１つまたは複数の変数と関連付けられ、各変数が値、および目標値と関連付けられるステップと、第１のセットの各観察に、その対応する１つまたは複数の変数および目標値でインデックスを付けるステップと、インデックスに関し、観察の第１のセットのサブセットの選択を可能にする問合せを受け取るステップと、問合せの結果として、観察の第１のセットのサブセットを返すステップと、第２のモデルを提供するステップと、観察の第１のセットの返されたサブセットを使用して、提供された第２のモデルをトレーニングするステップと、トレーニングされた第２のモデルをロードするステップとを含む。【選択図】図２
2017120647.tif 000002
【特許請求の範囲】
【請求項１】
機械学習システムのモデルを更新するための、コンピュータ実施方法であって、
−同様の事象の観察の第１のセットを提供するステップ（Ｓ１００）であって、各観察は目標値、および１つまたは複数の変数と関連付けられ、各変数は前記観察に対応する値と関連付けられるステップ（Ｓ１００）と、
−前記第１のセットの各観察に、その対応する１つまたは複数の変数および目標値でインデックスを付けるステップ（Ｓ１２０）と、
−前記インデックスに関し、観察の前記第１のセットのサブセットの選択を可能にする問合せを受け取るステップ（Ｓ２２０）と、
−前記問合せの結果として、観察の前記第１のセットのサブセットを返すステップと、
−第２のモデルを提供するステップと、
−観察の前記第１のセットの前記返されたサブセットを使用して、前記提供された第２のモデルをトレーニングするステップ（Ｓ２４０）と、
−前記トレーニングされた第２のモデルをロードするステップ（Ｓ２５０）と
を含むことを特徴とするコンピュータ実施方法。
【請求項２】
−第１のモデルを提供するステップと、
−観察の前記第１のセットを使用して前記第１のモデルをトレーニングするステップ（Ｓ１４０）と、
−前記トレーニングされた第１のモデルを記憶するステップ（Ｓ１５０）と
をさらに含むことを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項３】
前記インデックスに関し問合せを受け取るステップの前に、
−現在の事象の観察の第２のセットを収集するステップ（Ｓ２００）
をさらに含み、前記インデックスに関し問合せを受け取るステップは、
−前記インデックスに関し、観察の前記第１のセットのサブセットの選択を可能にする問合せ（Ｓ２２０）を受け取るステップであって、前記問合せは、観察の前記第２のセットの１つまたは複数の変数を使用して実行されるステップ（Ｓ２２０）
をさらに含むことを特徴とする請求項１または２に記載のコンピュータ実施方法。
【請求項４】
前記インデックスに関し問合せを受け取るステップの前に、
−観察の前記第２のセットの１つまたは複数の変数を識別するステップ
をさらに含み、前記インデックスに関し問合せを受け取るステップは、
−前記インデックスに関し、観察の前記第１のセットのサブセットの選択を可能にする問合せ（Ｓ２２０）を受け取るステップ（Ｓ２２０）であって、前記問合せは、観察の前記第２のセットの前記識別された１つまたは複数の変数を使用して実行されるステップ
をさらに含むことを特徴とする請求項３に記載のコンピュータ実施方法。
【請求項５】
観察の前記第２のセットの１つまたは複数の変数を識別するステップは、
−ゆっくり変動する変数を識別するステップ（Ｓ２１０）および／または速く変動する変数を識別するステップ
を含むことを特徴とする請求項４に記載のコンピュータ実施方法。
【請求項６】
−観察の前記第２のセットの前記変数のうち、１つまたは複数の未知の変数を識別するステップと、
−前記識別された１つまたは複数の未知の変数と関連付けられた前記第２のセットの各観察にインデックスを付けるステップであって、前記第２のセットの前記各観察の前記インデックス付けは、前記対応する１つまたは複数の変数および前記第２のセットの前記各観察の目標値を使用して実行されるステップと
をさらに含むことを特徴とする請求項４または５に記載のコンピュータ実施方法。
【請求項７】
観察の前記第２のセットを収集するステップは、
−観察の前記第２のセットを実時間で収集するステップと、
−観察の前記収集された第２のセットを記憶するステップと、
−時間の予め定められた期間が経過する前に、観察の前記収集された第２のセットへのアクセスを提供するステップと
をさらに含むことを特徴とする請求項３乃至６のいずれか一項に記載のコンピュータ実施方法。
【請求項８】
前記トレーニングされた第２のモデルをロードするステップの後、
−値を有する入力変数のセットの入力変数を設定することによって１つまたは複数のオプションを提供するステップ（Ｓ２６０）と、
−前記提供された１つまたは複数のオプションを使用することによって、前記トレーニングされた第２のモデルに対する結果を計算するステップ（Ｓ２９０）と
をさらに含むことを特徴とする請求項１乃至７のいずれか一項に記載のコンピュータ実施方法。
【請求項９】
１つまたは複数のオプションを提供するステップは、
−入力変数の前記値の組合せを計算するステップ
をさらに含み、また、前記トレーニングされた第２のモデルに対する結果を計算するステップは、
−前記計算された組合せを使用することによって、前記トレーニングされた第２のモデルに対する結果を計算するステップ
をさらに含むことを特徴とする請求項８に記載のコンピュータ実施方法。
【請求項１０】
入力変数の前記値の組合せを計算するステップの後、
−観察の前記第２のセットの変数の値を受け取るステップと、
−入力変数の前記値および観察の前記第２のセットの変数の値の組合せを計算するステップと、
−入力変数の前記値および観察の前記第２のセットの変数の値の前記組合せを使用することによって、前記トレーニングされた第２のモデルに対する結果を計算するステップと
をさらに含むことを特徴とする請求項３と組み合わされた請求項９に記載のコンピュータ実施方法。
【請求項１１】
請求項１乃至１０のいずれか一項に記載の方法を実行するための命令を含むことを特徴とするコンピュータプログラム。
【請求項１２】
請求項１１に記載のコンピュータプログラムがその上に記録されたことを特徴とするコンピュータ可読記憶媒体。
【請求項１３】
請求項１１に記載のコンピュータプログラムがその上に記録されたメモリに結合された処理回路を備えることを特徴とするサーバ。
【請求項１４】
クライアントコンピュータに接続され、前記クライアントコンピュータから前記インデックスに関する問合せが生成されることを特徴とする請求項１３に記載のサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラムおよびシステムの分野に関し、より詳細には、機械学習システムを更新するための方法、システムおよびプログラムに関する。
【背景技術】
【０００２】
推薦（ｒｅｃｏｍｍｅｎｄａｔｉｏｎｓ）は、エンジニアリングにおける意思決定のために使用される。例えば衛星打上の進行中に、事件（例えば燃料タンクの温度、燃料消費、発射装置の速度、等々を制御すること）の危険の作用を最小化するためには、緊急アクションを推薦することが要求される。推薦は、デバイスの制御に限定されないが、それらはデバイスの構想中および製造中にも同じく使用されることが可能であり、例えばＣＡＤシステムは、設計されたデバイスがうまく作動しない危険が最小化されるよう、デバイスの設計のための推薦を提供することができる。
【０００３】
いくつかの知られているカテゴリの推薦システムが存在している。第１のカテゴリは、訪問者が、既に訪問された内容に基づいて内容提案を受け取るシステムである、いわゆるリコメンダシステムを含む。例えば探索エンジンは、訪問されたページの個人履歴に基づいて探索結果をランク付けする。このようなシステムの例は、非特許文献１の中で考察されており、または同じく非特許文献２の中で考察されている。
【０００４】
しかしながらこれらのリコメンダシステムは、極めて多数のユーザの履歴を集中化するアプリケーションで動作する。例えばＧｏｏｇｌｅ（Ｃ）探索は、１０億を超えるユーザを有している。会社のサーバ上でホストされるシステムは、学習すべき意思決定者のこのようなプールを有していない。意思決定者は、典型的には、同様の状況におけるそれらの同僚の蓄積された経験に基づくアドバイスのために、最良のビジネス実践または管理顧問会社を使用する。しかしながらビジネスの相対的な隔離、異なる会社からの操作上のデータおよび設備データは、コンピュータプログラムによるこの学習プロセスの自動化を困難にしている。したがってそれらの同僚からの決定の履歴を調べるよりもむしろ、意思決定者は、決定のためのニーズをトリガする状況を記述しているデータ（例えばそれらの独自の操作および設備を記述している変数）に基づいて状況を評価する。したがってこれらのリコメンダシステムは、これらの状況には適していない。
【０００５】
第２のカテゴリは、専門家によって作成され、かつ、自動的に適用される規則に基づいて、特定の問題に関連する意思決定を自動化するエキスパートシステムを含む。オプションの数が少なく、また、入力変数が人による管理が可能であるか、または処理されて識別的変数の管理可能なセットに要約される場合、専門家にとっては、ほとんどの場合に最適アクションをもたらすことになる規則を規定することが可能である。第１の手法は、「専門家規則のみ」と呼ばれ、規則は、システムが適用されることになる技術分野の専門家によって手で作成される。第２の手法は、「経験的なモデルと組み合わされた専門家規則」と呼ばれ、経験的なモデルは、利用可能な入力を処理し、かつ、管理可能な数の入力を返すために機械学習に基づいて構築される。このようなモデルは、典型的には、予測された確率を返すことになる。人間によって作成された規則に提供される入力の複雑性が低減されるため、ヒューマンエラーに対する余地が低減される。
【０００６】
経験的なモデルの例として、Ｄｅｌｍｉａ  ＯＩ（Ｃ）などの経験的な規則生成システムがある。これらのシステムは、このような現象を取り扱うために要求される複雑性を例証している。経験的な規則生成システムは、極めて多数の変数によって記述される現象をモデル化する。それらは、個々に再現度が低く、かつ、精度が低い、したがって潜在的に互いに矛盾する多くの規則を作成し、それらの異なる結果を投票で議決し、かつ、状況を記述するための新しい合成変数として使用される投票の結果を出力することによって動作する。これらのシステムは、典型的には、高い再現度および高い精度（それぞれ８０％を超える）を同時に達成するが、そうするために、専門家によっては作成され得なかったであろう管理不可能な数の規則（数十の変数に対して数万から数百万程度に及ぶ）を作成する。
【０００７】
しかしながらこの第２のカテゴリは多くの欠点を抱えており、とりわけ第１の手法は、独立した要素の数およびオプションの数が人間の専門家によっては管理することができない問題をもたらす場合は動作しない。第２の手法には、経験的なモデルをトレーニングするためのかなりのハードウェア資源が必要である。実際には、決定のニーズは、典型的には新しいデータによってトリガされる。また、決定は、典型的には速やかになされなければならない。したがって利用可能な資源の量およびこれらのシステムが使用され得る事例の数をさらに制限している。
【０００８】
第３のカテゴリでは、Ｄｅｌｍｉａ  ＯＩなどの経験的な規則生成システムである。これらのシステムは、このような現象を取り扱うために要求される複雑性を例証している。経験的な規則生成システムは、極めて多数の変数によって記述される現象をモデル化する。それらは、個々に再現度が低く、かつ、精度が低い、したがって潜在的に互いに矛盾する多くの規則を作成し、それらの異なる結果を投票で議決し、かつ、状況を記述するための新しい合成変数として使用される投票の結果を出力することによって動作する。これらのシステムは、典型的には、高い再現度および高い精度（それぞれ８０％を超える）を同時に達成するが、そうするために、専門家によっては作成され得なかったであろう管理不可能な数の規則（数十の変数に対して数万から数百万程度に及ぶ）を作成する。
【０００９】
このようなシステムは、多くの入力パラメータおよび２つの決定代替を使用した事例では、手法「経験的なモデルと組み合わされた専門家規則」に首尾よく使用され得る。
【００１０】
しかしながらこのような経験的なモデルは、システムをトレーニングし、また、専門家規則を作成する際に存在しなかったデータ、または考慮されなかったデータを意思決定者に考慮させない。さらに、この第３のカテゴリは、トレーニングするためのかなりのハードウェア資源を必要とし得る。実際には、決定のニーズは、典型的には新しいデータによってトリガされる。また、決定は、典型的には速やかになされなければならない。したがって利用可能な資源の量およびこれらのシステムが使用され得る事例の数をさらに制限している。
【００１１】
第３のカテゴリは、関連する情報を、意思決定者またはそれらの補助者による管理を可能にする形態で提供することによって意思決定を補助する、理解可能なモデル、表現および相互作用型インターフェイスを含む。例えばビジネスインテリジェンスツールは、変数を選択し、かつ、例えば散布図によってそれらの相互作用を視覚化するための手段を提供する。分析者は、関連する視覚化をひろい上げ、静的報告書を作成し、かつ、それらを意思決定者に送る。
【００１２】
いわゆる「ホワイトボックスモデル」は、変数間の関係の視覚化または説明を与える経験的な（トレーニングされた）モデルに頼っている。例えば決定ツリー（例えば非特許文献３の中で考察されている）、規則構築エンジン、またはベイジアンネットワーク（例えば非特許文献４の中で考察されている）をトレーニングした後、何らかの確率で、現象を記述している変数のうちのいくつかの前提命題に目標変数をリンクする規則を理解することが可能である。
【００１３】
入力データがグラフで表現され得ない場合、２Ｄマップ上の２つのエンティティ間の距離がグラフ内におけるそれらの接続性を表す方法でグラフを２次元図面にマップする技法が存在している。これらの技法により、状況を記述している要素間の相互作用の程度を定性的に表すことができる。これらの技法は、例えば非特許文献５の中で考察されているように、同様の観察（Ｎ個の寸法が近く、寸法は観察を記述している変数である）が最終的には２Ｄマップ上で互いに接近するよう、複雑な観察を２Ｄマップ上にマップするために同じく適用され得る。
【００１４】
クラスタ化技術は、非特許文献６の中で考察されており、これらのクラスタ化技術により、Ｎ個の寸法が類似している観察を管理可能な数のグループでまとめてグループ化することができる。
【００１５】
寸法低減技法は、非特許文献７の中で考察されており、それらにより、寸法または寸法の組合せであって、それらに沿ってデータが最も変化する寸法または寸法の組合せを見出すことができる。
【００１６】
所与の目標変数の値に対してどの寸法が最も強い影響力を有するか（記述変数）を見出すための他の技法が存在している。
【００１７】
しかしながら「ホワイトボックスモデル」は、いくつかの欠点を抱えている。とりわけこれらのシステムは、完全に自動化された決定を依然として提供しておらず、したがって重要な要因の遺漏、または考慮される要因の実際の影響力の不正確な予測などのヒューマンエラーによる次善の決定を許容している。
【００１８】
別の問題は、この第３のカテゴリには、トレーニングするためのかなりのハードウェア資源が必要であることである。実際には、決定のニーズは、典型的には新しいデータによってトリガされる。また、決定は、典型的には速やかになされなければならない。したがって利用可能な資源の量およびこれらのシステムが使用され得る事例の数をさらに制限している。
【００１９】
より詳細には、経験的なモデルの直接使用は、複雑なシステムを必要とする現実に即した事象をモデル化するために直接的に使用される場合、以下の性能問題を抱えている。
【００２０】
第１の性能問題は、メモリフットプリント問題に関連付けられる。関連するパラメータの数は、複雑なシステムを必要とする状況を記述するために典型的には多い。したがって状況をモデルの入力変数を使用してその全体を記述することは、入力変数が急増することになり、それは、事象が進行している間のモデルのトレーニングを非現実的にすることになる。
【００２１】
変数が急増すると、トレーニングデータに必要な観察の数が同じく急増する。手短に言えば、トレーニングデータの観察は、適切に実施するようにトレーニングされたモデルに対して実際に起こり得る変数のすべての可能な組合せを表していなければならない。
【００２２】
利用可能な機械学習方法のほとんどは、トレーニングデータがランダムアクセスメモリに適合することを仮定することによって設計されている。ランダムアクセスメモリの利用可能なサイズは、典型的には、状況を記述するために考慮され得るパラメータに制限を設けている。
【００２３】
第２の性能問題は、販売可能性の問題である。いくつかの精密な機械学習アルゴリズムはつり合いが取れない。例えばブースティング技法の場合がそうである。ブースティング技法は、再現度および精度に対して、現在、最も強力な機械学習技法のうちの１つであるが、それらは本質において逐次的である。これは、それらが複数のサーバにわたって分散され得ないことを意味している。１つのサーバは、計算を実行するとビジーになり、一方、他のサーバはアイドルを維持することになる。逐次アルゴリズムを走らせるための時間は、サーバの数が増えても短くならない。
【００２４】
事象が進行している間にモデルを再トレーニングする場合、同じメモリフットプリントおよび拡張可能性問題が当てはまる。
【００２５】
さらに、時間が限られているため、待ち時間が同じく問題になる。モデル、トレーニングデータのサイズおよび利用可能なハードウェア資源に応じて、モデルのトレーニングには数秒から数週間を要する。複雑なシステムを伴う現実に即した状況がモデル化されると、ほとんどの場合、モデルのトレーニングは、少なくとも数十秒を要するに違いない。したがって事象が進行している間にモデルをトレーニングする機会が少なくなることになる。
【００２６】
この文脈内では、機械学習システムのモデルを更新するニーズが依然として存在している。
【先行技術文献】
【非特許文献】
【００２７】
【非特許文献１】Ｂａｌａｂａｎｏｖｉｃ，  Ｍａｒｋｏ，  ａｎｄ  Ｙｏａｖ  Ｓｈｏｈａｍ．  “Ｆａｂ：  ｃｏｎｔｅｎｔ−ｂａｓｅｄ，  ｃｏｌｌａｂｏｒａｔｉｖｅ  ｒｅｃｏｍｍｅｎｄａｔｉｏｎ．”  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  ｏｆ  ｔｈｅ  ＡＣＭ  ４０．３  （１９９７）：  ６６−７２
【非特許文献２】Ｓａｒｗａｒ，  Ｂａｄｒｕｌ，  ｅｔ  ａｌ．  “Ｉｔｅｍ−ｂａｓｅｄ  ｃｏｌｌａｂｏｒａｔｉｖｅ  ｆｉｌｔｅｒｉｎｇ  ｒｅｃｏｍｍｅｎｄａｔｉｏｎ  ａｌｇｏｒｉｔｈｍｓ．”  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  １０ｔｈ  ｉｎｔｅｒｎａｔｉｏｎａｌ  ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ．  ＡＣＭ，  ２００１
【非特許文献３】Ｑｕｉｎｌａｎ，  Ｊ．  Ｒｏｓｓ．  “Ｉｎｄｕｃｔｉｏｎ  ｏｆ  ｄｅｃｉｓｉｏｎ  ｔｒｅｅｓ．”  Ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ  １．１  （１９８６）：  ８１−１０６．  ［１］
【非特許文献４】Ｈｅｃｋｅｒｍａｎ，  Ｄａｖｉｄ，  Ｄａｎ  Ｇｅｉｇｅｒ，  ａｎｄ  Ｄａｖｉｄ  Ｍ．  Ｃｈｉｃｋｅｒｉｎｇ．  “Ｌｅａｒｎｉｎｇ  Ｂａｙｅｓｉａｎ  ｎｅｔｗｏｒｋｓ：  Ｔｈｅ  ｃｏｍｂｉｎａｔｉｏｎ  ｏｆ  ｋｎｏｗｌｅｄｇｅ  ａｎｄ  ｓｔａｔｉｓｔｉｃａｌ  Ｄａｔａ．”  Ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ  ２０．３  （１９９５）：  １９７−２４３
【非特許文献５】Ｂａｌａｓｕｂｒａｍａｎｉａｎ，  Ｍｕｋｕｎｄ，  ａｎｄ  Ｅｒｉｃ  Ｌ．  Ｓｃｈｗａｒｔｚ．  “Ｔｈｅ  ｉｓｏｍａｐ  ａｌｇｏｒｉｔｈｍ  ａｎｄ  ｔｏｐｏｌｏｇｉｃａｌ  ｓｔａｂｉｌｉｔｙ．”  Ｓｃｉｅｎｃｅ  ２９５．５５５２  （２００２）：  ７−７
【非特許文献６】Ｊａｉｎ，  Ａｎｉｌ  Ｋ．，  Ｍ．  Ｎａｒａｓｉｍｈａ  Ｍｕｒｔｙ，  ａｎｄ  Ｐａｔｒｉｃｋ  Ｊ．  Ｆｌｙｎｎ．  “Ｄａｔａ  ｃｌｕｓｔｅｒｉｎｇ：  ａ  ｒｅｖｉｅｗ．”  ＡＣＭ  ｃｏｍｐｕｔｉｎｇ  ｓｕｒｖｅｙｓ  （ＣＳＵＲ）  ３１．３  （１９９９）：  ２６４−３２３
【非特許文献７】Ｗａｌｌ，  Ｍｉｃｈａｅｌ  Ｅ．，  Ａｎｄｒｅａｓ  Ｒｅｃｈｔｓｔｅｉｎｅｒ，  ａｎｄ  Ｌｕｉｓ  Ｍ．  Ｒｏｃｈａ．  “Ｓｉｎｇｕｌａｒ  ｖａｌｕｅ  ｄｅｃｏｍｐｏｓｉｔｉｏｎ  ａｎｄ  ｐｒｉｎｃｉｐａｌ  ｃｏｍｐｏｎｅｎｔ  ａｎａｌｙｓｉｓ．”  Ａ  ｐｒａｃｔｉｃａｌ  ａｐｐｒｏａｃｈ  ｔｏ  ｍｉｃｒｏａｒｒａｙ  Ｄａｔａ  ａｎａｌｙｓｉｓ．  Ｓｐｒｉｎｇｅｒ  ＵＳ，  ２００３．  ９１−１０９
【発明の概要】
【００２８】
したがって、機械学習システムのモデルを更新するための、コンピュータ実施方法が提供される。方法は、
−同様の事象の観察の第１のセットを提供するステップであって、各観察が目標値、および１つまたは複数の変数と関連付けられ、各変数が観察に対応する値と関連付けられるステップと、
−第１のセットの各観察に、その対応する１つまたは複数の変数および目標値でインデックスを付けるステップと、
−インデックスに関し、観察の第１のセットのサブセットの選択を可能にする問合せを受け取るステップと、
−問合せの結果として、観察の第１のセットのサブセットを返すステップと、
−第２のモデルを提供するステップと、
−観察の第１のセットの返されたサブセットを使用して、提供された第２のモデルをトレーニングするステップと、
−トレーニングされた第２のモデルをロードするステップと
を含む。
【００２９】
方法は、以下のうちの１つまたは複数を含むことができる。
−第１のモデルを提供するステップと、観察の第１のセットを使用して第１のモデルをトレーニングするステップと、トレーニングされた第１のモデルを記憶するステップ。
−インデックスに関し問合せを受け取るステップの前に、現在の事象の観察の第２のセットを収集するステップであって、インデックスに関し問合せを受け取るステップは、インデックスに関し、観察の第１のセットのサブセットの選択を可能にする問合せを受け取るステップをさらに含み、問合せは、観察の第２のセットの１つまたは複数の変数を使用して実行される。
−インデックスに関し問合せを受け取るステップの前に、観察の第２のセットの１つまたは複数の変数を識別するステップであって、インデックスに関し問合せを受け取るステップは、インデックスに関し、観察の第１のセットのサブセットの選択を可能にする問合せを受け取るステップをさらに含み、問合せは、観察の第２のセットの識別された１つまたは複数の変数を使用して実行される。
−観察の第２のセットの１つまたは複数の変数を識別するステップは、ゆっくり変動する変数を識別するステップ（Ｓ２１０）および／または速く変動する変数を識別するステップを含む。
−観察の第２のセットの変数のうち、１つまたは複数の未知の変数を識別するステップと、識別された１つまたは複数の未知の変数と関連付けられた第２のセットの各観察にインデックスを付けるステップであって、第２のセットの前記各観察のインデックス付けが、対応する１つまたは複数の変数および第２のセットの前記各観察の目標値を使用して実行されるステップ。
−観察の第２のセットを収集するステップは、第２の観察のセットを実時間で収集するステップと、観察の収集された第２のセットを記憶するステップと、時間の予め定められた期間が経過する前に、観察の収集された第２のセットへのアクセスを提供するステップをさらに含む。
−トレーニングされた第２のモデルをロードするステップの後、値を有する入力変数のセットの入力変数を設定することによって１つまたは複数のオプションを提供するステップと、提供された１つまたは複数のオプションを使用することによって、トレーニングされた第２のモデルに対する結果を計算するステップ。
−１つまたは複数のオプションを提供するステップは、入力変数の値の組合せを計算するステップをさらに含み、また、トレーニングされた第２のモデルに対する結果を計算するステップは、計算された組合せを使用することによって、トレーニングされた第２のモデルに対する結果を計算するステップをさらに含む。
−入力変数の値の組合せを計算するステップの後、観察の第２のセットの変数の値を受け取るステップと、入力変数の値および観察の第２のセットの変数の値の組合せを計算するステップと、入力変数の値および第２の観察のセットの変数の値の組合せを使用することによって、トレーニングされた第２のモデルに対する結果を計算するステップ。
【００３０】
方法を実行するための命令を含むコンピュータプログラムがさらに提供される。
【００３１】
コンピュータプログラムがその上に記録されたコンピュータ可読記憶媒体がさらに提供される。
【００３２】
コンピュータプログラムがその上に記録されたメモリに結合された処理回路を備えるサーバがさらに提供される。
【００３３】
サーバは、クライアントコンピュータに接続されることが可能であり、クライアントコンピュータから１つのインデックスに関する問合せが生成され、また、クライアントコンピュータから１つまたは複数のオプションが提供される。
【図面の簡単な説明】
【００３４】
以下、本発明の実施形態が、非制限例として、添付の図面を参照して説明される。
【図１】本発明の構築時間の例のフローチャートである。
【図２】本発明の実行時間の例のフローチャートである。
【図３】観察のセットの例を示す図である。
【図４】コンピュータの例を示す図である。
【発明を実施するための形態】
【００３５】
図１および２のフローチャートを参照すると、機械学習システムのモデルを更新するための、コンピュータ実施方法が提案される。方法は、第１のモデルを提供するステップを含む。方法は、同様の事象の観察の第１のセットを提供するステップを同じく含み、各々の観察は、（ｉ）１つまたは複数の変数と関連付けられ、また、（ｉｉ）目標値と関連付けられ、各々の変数は、事象に対応する値と関連付けられる。方法は、第１のセットの各々の観察に、その対応する１つまたは複数の変数および目標値でインデックスを付けるステップを同じく含む。次に、インデックスに関し問合せが受け取られ、問合せの目的は、観察の第１のセットのサブセットの選択を獲得することである。問合せの結果として、観察の第１のセットのサブセットが返される。次に、第２のモデルが提供される。第２のモデルは、観察の第１のセットの返されたサブセットを使用してトレーニングされる。トレーニングされた第２のモデルが次にロードされる。
【００３６】
このような方法は、機械学習システムのモデルの更新を改善する。実際、トレーニングデータのインデックスが使用される。トレーニングデータは、現在の状況に従ってサンプルされ、また、モデルは、サンプルされたデータに基づいて再トレーニングされる。
【００３７】
膨大な量のトレーニングデータが利用可能であり、また、時間が少ない場合、現在の状況に基づいてデータを取り除くことは、トレーニングセットのサイズを徹底的に小さくし、一方、現在の状況に関してそれが含んでいる関連情報のほとんどを維持する。例えばスペースシャトルのエンジンが限られた推力しか提供することができない場合、限界より大きい推力を提供するエンジンを使用した先行するミッションに関するデータは、ほとんど価値を有していない。
【００３８】
選択された変数を状況におけるそれらの現在の値にセットアップすることにより、観察を記憶する行列の寸法を短くすることができる。線（観察）の数は、選択された変数に関するその値が現在の状況におけるそれらの値と異なる観察を除去することによって低減され得る。結果として得られる行列は、情報の実質的な損失を伴うことなく、元の行列より（潜在的に数桁）小さい。トレーニングのためのメモリフットプリントは、大まかに行列のサイズである。したがってメモリフットプリントは、行列のサイズに応じて直線的に増加する。トレーニングするための時間は、変数および観察の数の一次関数である。機械学習アルゴリズムをトレーニングするための時間は、典型的には、トレーニングデータのサイズに関して、直線的よりも速く長くなる。
【００３９】
本発明は、インクリメンタル学習アルゴリズムまたはオンライン学習アルゴリズムと非互換性ではない。実際、本発明は、それがモデルの一括更新を可能にし／より容易にするため、インクリメンタル学習アルゴリズムまたはオンライン学習アルゴリズムの欠点を緩和することができ、モデルは、本発明を使用して完全に更新され、また、一括更新の間にインクリメンタル学習技法またはオンライン学習技法を使用して反復して更新され得る。
【００４０】
方法は、コンピュータによって実施される。これは、方法のステップ（または実質的にすべてのステップ）が少なくとも１つのコンピュータまたは同様の任意のシステムによって実行されることを意味している。したがって方法のステップは、コンピュータによって、恐らくは完全に自動的に、または半自動的に実行される。例では、方法のステップのうちの少なくともいくつかのトリガリングは、ユーザ−コンピュータ対話を介して実行され得る。要求されるユーザ−コンピュータ対話のレベルは、ユーザの希望を実現するための、予知され、かつ、平衡に置かれた必要性の自動性のレベルに依存し得る。例では、このレベルは、ユーザによって定義され、および／または予め定義され得る。
【００４１】
方法のコンピュータ実施の典型的な例は、この目的のために適合されたシステムを使用して方法を実施することである。システムは、メモリおよびグラフィカルユーザインターフェイス（ＧＵＩ）に結合されたプロセッサを備えることができ、メモリには、方法を実行するための命令を含むコンピュータプログラムがその上に記録される。メモリは、このような記憶のために適合された任意のハードウェアであり、恐らくはいくつかの全く異なる物理部分（例えばプログラムのための部分、および恐らくはデータベースのための部分）を備える。
【００４２】
「データベース」により、探索および検索のために編成されたデータ（すなわち情報）の任意の収集が意味される（例えば予め定められた、構造化された言語、例えばＳＱＬに基づく、例えば関係データベース）。メモリ上に記憶される場合、データベースは、コンピュータによる速やかな探索および検索を可能にする。データベースは、実際、様々なデータ処理操作と関連してデータの記憶、検索、修正および削除を容易にするように構造化される。データベースは、記録に分解され得るファイルまたはファイルのセットからなることができ、記録の各々は、１つまたは複数の欄からなる。欄は、データ記憶の基本単位である。ユーザは、主として問合せを介してデータを検索することができる。キーワードおよびソーティングコマンドを使用して、ユーザは、多くの記録中の欄を速やかに探索し、並べ換え、グループ化し、かつ、選択することができ、それにより使用されているデータベース管理システムの規則に従って、データの特定の集合体上で報告書を検索し、または作成することができる。
【００４３】
方法は、一般に、観察のセットを操作する。観察は変数のセットであり、各々の変数は値と関連付けられる。変数は、システムの状態またはその一部の状態、もしくはシステムまたはその一部と関係があるか、もしくはシステムまたはその一部に対する影響力を有する要素の状態を表す。例えば自動車の観察の変数は、自動車の温度、オイル圧、瞬時燃料消費、競争中の平均燃料消費、タイヤの種類、空気の温度、天気（雨、晴れ、雪）、等々であってもよい。変数は、変数の状態を定量化する値と関連付けられる。観察は、所与の時点におけるシステムの状態を表す。観察のセットは、したがって異なる時点における変数の値である。実際には、システムは、航空宇宙、建築、建設、消費財、ハイテクデバイス、産業設備、輸送、海運および／または沖合オイル／ガス製造または輸送を始めとする様々な無制限の産業分野に属し得る。方法によって使用される観察のセットは、したがって、地球上の車両またはその一部のシステム（例えば自動車および軽トラック設備、競走用自動車、モータサイクル、トラックおよび電動機設備、トラックおよびバス、列車を含む）、航空機またはその一部のシステム（例えば機体設備、航空宇宙設備、推進設備、防衛製品、航空路設備、宇宙設備を含む）、船舶またはその一部のシステム（例えば海軍設備、商船、沖合設備、ヨットおよび作業船、海上設備を含む）、機械的システム全体または機械的システムの一部（例えば産業製造機械類、大型移動機械類または設備、設置された設備、産業設備製品、製造された金属製品、タイヤ製造製品を含む）、電気機械的システムもしくは電子システムまたはその一部（例えば消費者電子装置、安全保護および／または制御および／または計装製品、計算および通信設備、半導体、医療デバイスおよび設備を含む）、消費財（例えば家具、家庭および庭製品、余暇財、ファッション製品、耐久消費財小売業者用製品、非耐久消費財小売業者用製品を含む）、梱包（例えば食料および飲料ならびにタバコ、美容および個人医療、家庭用製品梱包を含む）などの任意の機械的システムであってもよい産業システムに関連する変数を含むことができる。
【００４４】
図４は、システムの例を示したもので、システムは、クライアントコンピュータシステム、例えばユーザのワークステーションである。
【００４５】
例のクライアントコンピュータは、内部通信バス１０００に接続された中央処理装置（ＣＰＵ）１０１０、同じくバスに接続されたランダムアクセスメモリ（ＲＡＭ）１０７０を備えている。クライアントコンピュータは、バスに接続されたビデオランダムアクセスメモリ１１００と関連付けられるグラフィカルプロセッシングユニット（ＧＰＵ）１１１０をさらに備えている。ビデオＲＡＭ１１００は、当分野ではフレームバッファとして同じく知られている。大容量記憶デバイスコントローラ１０２０は、ハードドライブ１０３０などの大容量メモリデバイスへのアクセスを管理している。コンピュータプログラム命令およびデータを有形的に具体化するのに適した大容量メモリデバイスは、一例として、ＥＰＲＯＭ、ＥＥＰＲＯＭおよびフラッシュメモリデバイスなどの半導体メモリデバイス、内部ハードディスクおよび取外し可能ディスクなどの磁気ディスク、磁気光学的ディスクおよびＣＤ−ＲＯＭディスク１０４０を含むあらゆる形態の不揮発性メモリを含む。上記はいずれも、特別に設計されたＡＳＩＣ（特定用途向け集積回路）によって補足され、または特別に設計されたＡＳＩＣ（特定用途向け集積回路）に組み込まれ得る。ネットワークアダプタ１０５０は、ネットワーク１０６０へのアクセスを管理している。クライアントコンピュータは、カーソル制御デバイス、キーボード、等々のハプティックデバイス１０９０を同じく含むことができる。カーソル制御デバイスは、クライアントコンピュータに使用され、ディスプレイ１０８０上の任意の所望の位置へのユーザによるカーソルの選択的位置決めを許容する。さらに、カーソル制御デバイスは、ユーザによる様々なコマンドおよび入力制御信号の選択を可能にする。カーソル制御デバイスは、システムへの入力制御信号のためのいくつかの信号発生デバイスを含む。典型的には、カーソル制御デバイスはマウスであってもよく、マウスのボタンを使用して信号が生成される。別法または追加として、クライアントコンピュータシステムは、感知可能なパッド、および／または感知可能なスクリーンを備えることも可能である。
【００４６】
コンピュータプログラムは、コンピュータによる実行が可能な命令を含むことができ、命令は、上記システムに方法を実行させるための手段を含む。プログラムは、システムのメモリを含む任意のデータ記憶媒体上に記録することができる。プログラムは、例えばデジタル電子回路の中、もしくはコンピュータハードウェア、ファームウェア、ソフトウェアの中、またはそれらの組合せの中で実施され得る。プログラムは、装置、例えばプログラマブルプロセッサによる実行のために機械可読記憶デバイスの中で有形的に具体化された製品として実施され得る。方法ステップは、命令のプログラムを実行して、入力データ上で動作し、かつ、出力を生成することによって方法の機能を実行するプログラマブルプロセッサによって実行され得る。プロセッサは、したがってプログラマブルであってもよく、また、データ記憶システム、少なくとも１つの入力デバイスおよび少なくとも１つの出力デバイスからデータおよび命令を受け取り、また、データ記憶システム、少なくとも１つの入力デバイスおよび少なくとも１つの出力デバイスにデータおよび命令を伝送するために結合され得る。アプリケーションプログラムは、必要に応じて、高水準手続き型プログラミング言語またはオブジェクト指向プログラミング言語で、もしくはアセンブリ言語または機械言語で実施され得る。いずれの場合においても、言語は、コンパイルされた、すなわち翻訳された言語であってもよい。プログラムは、フルインストレーションプログラムまたは更新プログラムであってもよい。システム上のプログラムのアプリケーションは、いずれの場合においても、命令が方法を実行することになる。
【００４７】
次に図１を参照すると、本発明の構築時間の例が考察されている。構築時間は、とりわけ、観察のインデックスを生成することを目的としている。観察は過去の観察であってもよい。
【００４８】
ステップＳ１００で観察の第１のセットが提供される。セットの各々の観察は、１つまたは複数の変数および目標値と関連付けられる。変数は値と関連付けられる。
【００４９】
図３は、観察の例を示したものである。各々の線１２は観察を表しており、各々の列１４（分かりやすくするために、図３には１つだけ点線で示されている）は変数に対応し、各々の長方形１８は、観察に対する変数の値を表している。この例では、観察のセットは、行列１０上に記憶される。各々の観察は、その値を使用して、＜入力変数＞として同じく知られているいわゆる＜記述変数＞上で記述されている（それらは、観察を記述するために、トレーニングされたモデルの入力として提供されるため）。興味深いことには、セットの各々の観察は、セットの他の観察の変数と同じ変数を含む。各々の観察に対して、１つまたは複数の変数は空であってもよく、すなわち値と関連付けられていなくてもよいことを理解されたい。各々の観察は、＜出力変数＞として同じく知られているいわゆる＜目標変数＞上で対応する値と関連付けられる。目標変数は、トレーニングされたモデルが新しい観察に対して評価しなければならない変数である。目標変数は、それらが、システムの挙動を理解し、および／または予測し、および／または反応するモデルのユーザを補助する情報を提供する、という意味でモデルのユーザにとっては有意義である。この例では、目標変数は、行列１６の中に同じく記憶される。各々の観察の値および目標変数は、行列１０および１６を含む単一の行列の中に記憶され得ることを理解されたい。観察および目標変数は、タグが付けられたデータのセットを形成する（また、タグが付けられたデータのセットと呼ばれる）。各々の目標変数は、いわゆる目標値である値に評価されることを理解されたい。
【００５０】
観察のセットは、同様の事象を表すことができる。同様の事象とは、事象が共通の特性を有していることを意味している。実際には、各々の観察は、１つまたは複数の変数と関連付けられる。事象間の共通の特性は変数であってもよい。したがって、また、図３を参照すると、観察のセットの各々の観察は、２つの観察の間の変数は異なる値を有し得ることを除き、同じ変数と同じである事象を記述している。
【００５１】
観察のセットは、観察の自然セットであってもよい。自然とは、変数の値が現実の事象に関して測定されていること、すなわち現実の世界で生じた事象、例えばスペースシャトルのエンジンの温度であることを意味している。観察および各々のこのような観察の変数がしたがって収集される。
【００５２】
観察のセットは、観察の合成セットであってもよい。合成とは、変数の値が計算されていることを意味している。例えばそれらは生成されている。合成観察を生成するための複数の手法が存在している。以下、２つの手法を説明する。
【００５３】
いずれの手法も、観察のセットの変数によって取られ得る値の範囲を識別することで始まる。いくつかの変数は離散値のみを取ることができる。これらは離散変数である。他の変数は連続する値を取ることができる。これらは連続する変数である。
【００５４】
いずれの手法も、観察の各々の変数に関する値を生成すること、およびこれらの値を組み合わせて合成観察を形成することを含む。例えば変数Ａが値［１、２、３］を取り、また、変数Ｂが値［１、２］を取る場合、組合せは、（１、１）、（１、２）、（２、１）、（２、２）、（３、１）、（３、２）である。すなわち｜Ａ｜*｜Ｂ｜個の組合せである。この例では、６個の新しい観察が生成されることが可能であり、それぞれ変数ＡおよびＢに関するその値によって定義され、また、ＡおよびＢの可能な値の６個の組合せに対応する。
【００５５】
いずれの手法も、各々の観察に対する目標値を生成することを含むことができる。目標値は、観察に関連付けられた目標変数の値である。それは、典型的には、観察の変数が入力に与えられると、シミュレーションモデルによって生成される。目標変数は、それらのそれぞれの目標値と関連付けられた観察を使用してトレーニングされると、機械学習アルゴリズムが学習して生成する変数である。機械学習の現況技術で知られている学習のこのプロセスにより、機械学習アルゴリズムは、学習して、それがトレーニングされたこれらと同様の新しい観察に応答して、それがトレーニングされた観察のこれらと無矛盾の目標値を生成することになる。
【００５６】
２つの手法は、各々の変数に関する値を生成するために使用される方法によって異なっている。
【００５７】
第１の手法は、確率変数発生器を使用して、恐らくは分布の範囲上の一様な分布に従って、またはニーズに従った異なる確率分布に従って、変数の定義の範囲上で値を生成することにあり得る（例えばモデルを特定の変数に対して値Ｖと同様の値を取る観察のためにとりわけよくトレーニングされたものにしたい場合、Ｖの近辺を中心とする公称分布などの、その変数に対するＶに近い有利な値であろう確率分布を使用することを決定することができる）。
【００５８】
第２の手法は、恐らくは、離散変数、すなわち離散値を取る変数を使用して変数を近似した後に、可能な値のその範囲上の変数に対する可能な値を列挙することにあり得る。この近似は、離散変数の最も近い離散値を使用して各々の値を近似することによって実施され得る。離散値は、例えば精度の規定されたレベルに丸められた値として定義され得る。実際には、物理的事象を表す変数は、定義の有界範囲上の値のみを取り、下限および上限が存在している。これらの限界は、典型的には、過去のデータを調べることによって見出され得る。離散変数は、定義の有界範囲上の有限数の値を取ることになる。これが達成を希望されているものである場合、これは、離散近似のすべての可能な値の列挙を可能にする。
【００５９】
観察のセットは、自然観察と合成観察の混合であってもよい。例えば自然観察の数が少なすぎて、したがって事象を十分に表していない場合、観察のセットは、モデルが使用されるべき可能な観察のセットを観察のセットが統計的に表すよう、合成観察を使用して完成され得る。
【００６０】
次に、ステップＳ１１０で第１のセットの観察にインデックスが付けられる。このインデックスは、トレーニングデータインデックスと呼ばれる。変数の厳密な値に基づく探索を支援するために、インデックスは、問合せに使用されやすい変数毎の逆リストを含む。変数に対応する逆リストは、対（ｖａｌｕｅ、［ｉｄ1、…、ｉｄn］）のリストであり、値は変数の値であり、また、［ｉｄ1、…、ｉｄn］は、変数が値ｖａｌｕｅを有する観察の識別子のリストである。この構造は、変数の値を規定する問合せに対して、より速いモデルの検索を可能にする。実際、逆リストは、分類された逆リスト中の規定された値の発見が、すべての観察を調べ、かつ、それらの対応する関連付けられた値をチェックするより速くなるように分類される。
【００６１】
インデックス中の同様の値の探索を逆リストを使用して支援するために、１つの手法は、それらを逆リストに加える前に値を離散化し、かつ、問合せにおいて規定された値の距離内のすべての離散値を探索することである。この文脈においては、値を離散化することは、距離よりも低い精度レベルで丸められた値でそれらを近似することを意味している。
【００６２】
第１のセットの各々の観察には、その対応する変数およびその目標値でインデックスが付けられる。観察にその対応する変数でインデックスを付けることは、変数の値が観察でインデックスが付けられることを意味し、すなわち観察が変数に対応する逆リスト内の値と関連付けられていることが分かることを理解されたい。
【００６３】
次に、ステップＳ１２０でモデルがトレーニングされる。モデルが提供される。モデルの選択は目標変数に従って実行され、そのモデル上で予測する。モデルは、モデルのライブラリ内で選択され得る。
【００６４】
モデルのトレーニングは、当分野で知られているように実行される。モデルをトレーニングするための方法はモデル毎に変化する。例えば人工ニューラルネットワークのトレーニングには、ネットワークに入力される新しい観察に応答した更新に先立ちネットワークがどのように挙動するかに基づいて、また、ネットワークの出力と、観察と関連付けられたた目標値との差に基づいてネットワークのニューロンの特性を更新するための逆伝播アルゴリズムの使用を含む。勾配ブースティング（Gradient Boosting）またはランダムフォレスト（Random Forest）などのアンサンブルモデル（Ensemble model）のトレーニングには、観察の多くのサブセットを選択すること、また、サブセット毎に、サブセットの観察が与えられた目標値を出力するためにＳｔｕｂなどの単一のエスティメータをトレーニングすること、およびトレーニングされたエスティメータを総合Ｅｎｓｅｍｂｌｅモデルのエスティメータのリストに加えることを含む。Ｓｔｕｂ（＝１レベル決定木（Decision Tree））のトレーニングには、変数と、選択された観察の中から異なる目標値と関連付けられたこれらを最も良好に識別するその変数の値とを選択することを含む。
【００６５】
機械学習ライブラリは、典型的には、各々の利用可能なモデルをトレーニングするための方法を実施し、その方法をライブラリのユーザに提供する。ユーザは、トレーニングデータとして使用されることになる観察およびそれらの目標値の選択をこの方法に入力することによってモデルをトレーニングすることができる。方法は、通常、次に新しい観察が与えられた目標値を予測するために使用され得るトレーニングされたモデルにポインタを返す。
【００６６】
トレーニングされたモデルは、次に、ステップＳ１３０で、例えば実行のためにランダムアクセスメモリ上に記憶され、また、持続性のためにファイルシステム上に記憶される。記憶されたモデルは、したがって実行時間の間の後の段階で再使用され得る。
【００６７】
インデックスの構築およびモデルのトレーニングは、同時または並列に実行され得ることを理解されたい。あるいはモデルが最初にトレーニングされ、次に観察の第１のセットにインデックスが付けられ得る。
【００６８】
次に図２を参照すると、本発明の実行時間の例が考察されている。実行時間は、とりわけ、インデックスに関し、観察の第１のセットのサブセットの選択を可能にする問合せを受け取るステップ（Ｓ２２０）と、問合せの結果として、観察の第１のセットのサブセットを返すステップと、第２のモデルを提供するステップと、観察の第１のセットの返されたサブセットを使用して、提供された第２のモデルをトレーニングするステップ（Ｓ２４０）と、トレーニングされた第２のモデルをロードするステップ（Ｓ２５０）を含む。
【００６９】
ステップＳ２００で第２の観察のセットが収集される。第２のセットの観察は、現在の事象に関連付けられる。現在の事象は、観察の第１のセットの事象とは対照的に、現時点において生じている事象である。
【００７０】
観察の第２のセットは、観察の第１のセットに記憶される過去の事象またはシミュレートされた事象と同様の事象を表すことができる。第２のセットの観察は、過去の事象またはシミュレートされた事象を描写する観察のセットの変数と少なくとも同じ変数を含む。説明のために、同様の事象とは、事象が共通の特性を有していることを意味している。実際には、収集されるデータは同様の事象の観察であり、各々の観察は、１つまたは複数の変数と関連付けられる。事象間の共通の特性は変数であってもよい。したがって観察の第２のセットの各々の観察は、２つの観察の間の変数は異なる値を有し得ることを除き、同じ変数と同様である事象を記述している。
【００７１】
観察の第２のセットの変数の値が測定され、すなわち観察の第２のセットは、現実の事象に関して測定された変数の値のみを含む。測定された変数の測定された値は、方法を実行するシステムに実時間で伝送されることが好ましい。これは、データプロバイダまたはセンサからの任意の通信チャネルを介した通知を実時間プッシュするためのサブスクリプション、およびサブスクリプションまたはメッセージングプロトコルによって実施され得る。チャネルは、典型的には、データプロバイダまたはセンサによって提供されるインターフェイスに依存することを理解されたい。ここでは、実時間という用語は、収集されたデータを転送するための時間が時間の予め定められた期間であることを意味しており、転送のために要求される時間は、予め定められた時間期間を超えてはならない。
【００７２】
第２のセットの収集される観察は、実時間で収集されることが好ましい。これは、最後に測定された変数を使用して本発明を実行するシステムの提供を可能にする。予測は、新鮮なデータを使用して実行されることになる。収集されたデータは、それらが後の段階で再使用され得るよう記憶され得る。計算資源の消費を制限するために、収集されたデータへのアクセスは、予め定められた数の新しい観察が記憶された時点においてのみ、または時間の予め定められた期間が経過した時点においてのみ許容され得る。
【００７３】
次に、ステップＳ２１０で、フィルタリングが第２のセットの観察の変数に適用される。フィルタリングは、選択が１つまたはいくつかの基準に従って実行されることを意味している。例えばフィルタリングは、ゆっくり変動する変数を識別することを含むことができる。ゆっくり変動する変数は、観察の第２のセット内のいくつかの最近の連続する観察において小さい変化を示した変数である。典型的には、ゆっくり変動する変数の選択は、第２のセットの最近の観察に関して安定した値を示した変数が、セットの次の観察において同様の値を示すと思われる、という仮定の下で、第２のセットのこれらの最近の観察に類似し、したがって次に収集される第２のセットのいくつかの観察に類似していると思われる観察を第１のセットからフィルタリングすることを目的としている。
【００７４】
例えば第２のセットの最後の１００個の観察に関する１０％の最も安定した変数が選択され得る。これは、第１のセットのフィルタされた観察が、例えば第２のセットの次の５０個の観察に類似する可能性を改善することを目的とし得る。
【００７５】
次に、ステップＳ２２０で、第１のセットの観察のインデックスが問い合わされる。問合せは、インデックスが付けられる観察の第１のセットのサブセットの選択を可能にする。問合せは、収集された観察の第２のセットの１つまたは複数の変数を使用して実行される。実際には、問合せの１つまたは複数の変数は、ステップＳ２１０における識別された変数の値である。
【００７６】
問合せの結果として、観察の第１のセットのサブセットが返される。これは、当分野で知られているように実行される。
【００７７】
次に、第２のモデルが提供される。この第２のモデルの選択は、第１のモデルの選択と同じ方法で実行され得る。第２のモデルは、第１のモデルと同じであってもよい。
【００７８】
ステップＳ２３０で、その前に提供された第２のモデルが、問合せ（Ｓ２２０）の結果として返された観察のサブセットを使用してトレーニングされる。
【００７９】
第２のモデルは、トレーニングが終了すると記憶され得る。それは、第１のトレーニングされたモデルを記憶するために使用される同じメモリ（典型的には、実行のためのランダムアクセスメモリおよび持続性のためのファイルシステム）上に記憶され得る。
【００８０】
第２のトレーニングされたモデルはロードされることが可能であり、すなわちそれは、予測を生成するために使用され得る。
【００８１】
観察の第２のセットの収集されたデータは、ステップＳ１１０で計算された、更新されたインデックスを維持するために使用され得る。すべての新しい観察にインデックスを付ける代わりに、観察の第２のセットの変数およびそれらの目標変数の中から、１つまたは複数の欠損値を識別する。欠損値が検出されると、対応する観察にインデックスが付けられる。インデックス付けは、ステップＳ１１０を参照して説明した方法と同じ方法で実行され、その前に識別された１つまたは複数の欠損値と関連付けられた第２のセットの各々の観察のインデックス付けは、対応する変数および目標値を使用して実行される。
【００８２】
次に、第１のトレーニングされたモデルおよび／または第２のトレーニングされたモデルを使用して予測を生成する方法が説明される。
【００８３】
ステップＳ２６０で、１つまたは複数のオプションが提供される。オプションは、事象の可能回転を記述する仮説的観察である。例えば、いわば観察は、変数「Ｃａｂｉｎ  Ｆｉｒｅ」（イエス／ノー）、「Ｆｉｒｅ  Ｅｘｔｉｎｇｕｉｓｈｅｒ  Ｓｔａｔｕｓ」（オン／オフ）、「Ｃｕｒｒｅｎｔ  Ｐｒｏｃｅｄｕｒｅ」（Ｆｌｉｇｈｔ  Ｄａｔａ  Ｆｉｌｅの中に定義されている）によって記述される。Ｃａｂｉｎ  Ｆｉｒｅ＝イエス、Ｆｉｒｅ  Ｅｘｔｉｎｇｕｉｓｈｅｒ  Ｓｔａｔｕｓ＝オフ、Ｃｕｒｒｅｎｔ  Ｐｒｏｃｅｄｕｒｅ＝カウントダウンという状況によって記述される場合、消火器を使用し、また、カウントダウンを休止する決定は、Ｃａｂｉｎ  Ｆｉｒｅ＝イエス、Ｆｉｒｅ  Ｅｘｔｉｎｇｕｉｓｈｅｒ  Ｓｔａｔｕｓ＝オン、Ｃｕｒｒｅｎｔ  Ｐｒｏｃｅｄｕｒｅ＝ｃｏｕｎｔｄｏｗｎ＿ｐａｕｓｅｄによって定義されるオプションの選択に変換する。
【００８４】
オプションは、観察の変数を設定することによって獲得される。第１のセットおよび第２のセットの観察と比較すると、関連する目標値がないオプションが最初に獲得される。これらの変数は、ユーザがそれらに対して行動することができ、例えばエンジンの推力を設定することができるため、アクション可能変数と呼ばれる。
【００８５】
オプションを生成するための複数の手法が存在している。以下、２つの手法を説明する。
【００８６】
いずれの手法も、観察のセットの変数によって取られ得る値の範囲を識別することで始まる。いくつかの変数は離散値のみを取ることができる。これらは離散変数である。他の変数は連続する値を取ることができる。これらは連続する変数である。
【００８７】
いずれの手法も、観察の各々の変数に関する値を生成すること（Ｓ２７０）、およびこれらの値を組み合わせて合成観察を形成すること（Ｓ２８０）を含む。例えば変数Ａが値［１、２、３］を取り、また、変数Ｂが値［１、２］を取る場合、組合せは、（１、１）、（１、２）、（２、１）、（２、２）、（３、１）、（３、２）である。すなわち｜Ａ｜*｜Ｂ｜個の組合せである。この例では、６個の新しい観察が生成されることが可能であり、それぞれ変数ＡおよびＢに関してその値によって定義され、また、ＡおよびＢの可能な値の６個の組合せに対応する。
【００８８】
２つの手法は、各々の変数に関する値を生成する（Ｓ２７０で）ために使用される方法によって異なっている。
【００８９】
第１の手法は、確率変数発生器を使用して、恐らくは分布の範囲上の一様な分布に従って、またはニーズに従った異なる確率分布に従って、変数の定義の範囲上で値を生成することにあり得る（例えばモデルを特定の変数に対して値Ｖと同様の値を取る観察のためにとりわけよくトレーニングされたものにしたい場合、Ｖの近辺を中心とする公称分布などの、その変数に対するＶに近い有利な値であろう確率分布を使用することを決定することができる）。
【００９０】
第２の手法は、恐らくは、離散変数、すなわち離散値を取る変数を使用して変数を近似した後に、可能な値のその範囲上の変数に対する可能な値を列挙することにあり得る。この近似は、離散変数の最も近い離散値を使用して各々の値を近似することによって実施され得る。離散値は、例えば精度の規定されたレベルに丸められた値として定義され得る。実際には、物理的事象を表す変数は、定義の有界範囲上の値のみを取り、下限および上限が存在している。これらの限界は、典型的には、過去のデータを調べることによって見出され得る。離散変数は、定義の有界範囲上の有限数の値を取ることになる。これが達成を希望されているものである場合、これは、離散近似のすべての可能な値の列挙を可能にする。
【００９１】
ここで、第２のトレーニングされたモデルに提供されるべき入力を利用することができる。第２のトレーニングされたモデルは、したがって結果を生成する（Ｓ２９０）ために使用されることが可能であり、ステップＳ２７０またはステップＳ２８０で獲得されたオプション毎の予測が計算される。結果の計算は、当分野で知られているように実行される。したがって予測は、提供される１つまたは複数のオプションから計算され、または予測は、提供される１つまたは複数のオプションと、観察の第２のセットの変数の値の組合せから計算される。
【００９２】
提案（Ｓ２９２）は、予測に従って、また、オプションの魅力の度合を表す予測の関数に従って、最良のオプションまたはいくつかの最良のオプションを選択することによってなされ得る。
【００９３】
次に、衛星の打上げのための軌道船の操作の間に決断するミッション制御員および乗組員を補助する本発明の例が説明される。これらの操作においては、ほとんどのアクションが自動化されたプログラムおよび計画された手順に従って実行されることは事実である。ほとんどのエンジンはサーボ制御され、ユーザは、それらに対して直接行動しないが、それらに目標を与え、それらは、それに到達するように適合する。
【００９４】
指針および計画された事象のセットは、フライトデータファイル（Flight Data File）の中に存在している。フライトデータファイルは、クルーアクティビティプラン、ペイロードハンドブック、および精巧な飛行計画プロセスの間、一緒に置かれる他の文書を含む。問題のタイプは区分化され、また、アクションは、あらゆるタイプの問題を予想する目的で、前もって計画される。
【００９５】
しかしながらミッション制御員および乗組員には、常に決断することが依然として必要である。例えばＮＡＳＡは、あらゆる中止モードの中でもとりわけａｂｏｒｔ−ｔｏ−ｏｒｂｉｔは、可能である場合、好ましいモードであると明言しており、また、１つの理由は、それが、管制員および飛行乗組員に、状況を評価し、かつ、着水するか、または計画された通りに継続することを決定し、また、問題をどうやって解決するかを決定するための時間を与えることである。しかしながらこの時間は、ミッションが保留されるため貴重であり、資源は消費されっぱなしであり、また、問題がより一層悪化し得る。ａｂｏｒｔ−ｔｏ−ｏｒｂｉｔが可能ではない場合、決定の速さおよび質がより一層重要である。
【００９６】
いくつかの変数がスペースシャトルのために測定され、各々のエンジンのためのエンジンスロットル、各々のエンジンのための燃料レバー、キャビン圧力（減圧化の場合、問題）、軌道船冷却システムの状態（失われると問題）、高度、飛行経路角度、方向、重量、速度／範囲、宇宙船の表面の圧力、電気システム状態、現在の手順（カウントダウン／第１の段階／第２の段階／Ｒｅｔｕｒｎ  ｔｏ  Ｌａｕｎｃｈ  Ｓｉｔｅ／Ｔｒａｎｓ−Ａｔｌａｎｔｉｃ  Ａｂｏｒｔ  Ｌａｎｄｉｎｇ／Ａｂｏｒｔ  Ｏｎｃｅ  Ａｒｏｕｎｄ／Ａｂｏｒｔ  ｔｏ  Ｏｒｂｉｔ／Ｃｏｎｔｉｎｇｅｎｃｙ  Ａｂｏｒｔ  ／Ｅｘｔｒａ−ｖｅｈｉｃｕｌａｒ  ａｃｔｉｖｉｔｙ）、等々が測定され得る。さらにこの例では、アクション可能変数は、各々のエンジンシステムのためのエンジンスロットル、燃料レベル（燃料は投棄され得る）、重量（材料は投棄され得る）、操縦の選択（高度、姿勢、飛行角度、方向、等々を変更するため）、手順の選択および軌道の選択を含む。
【００９７】
この文脈においては、本発明は、衛星を正しい軌道に乗せる予測された機会、地球に戻る際の危険のない着水を最大化し、例えば材料の損傷の最小化および乗組員メンバーの傷害または死亡の原因になりやすいキャビンの内部における事件の最小化によるミッションの総合コストを最小化するオプションを使用するために適用され得る。
【００９８】
いくつかの観察がインデックス付けされ、かつ、フィルタされ、また、機械学習アルゴリズムは、フィルタされた観察を使用して、例えばそれらがフェーズ１飛行手順に対応することに基づいてトレーニングされる。事象の進行中に、事象を記述している新しい観察が収集される。実際、インデックスが付けられた観察は、新しい観察に基づいてフィルタされる。例えばミッションが新しい飛行手順に入った。それはフェーズ１を離れて打上げのフェーズ２に入った。新しい観察は、すべて、変数＜Ｆｌｉｇｈｔ  Ｐｒｏｃｅｄｕｒｅ＞に関する値＜フェーズ＿２＞を示す。フェーズ２飛行手順に対応する、インデックスが付けられた観察がフィルタされ（変数Ｆｌｉｇｈｔ  Ｐｒｏｃｅｄｕｒｅ上のそれらの値がフェーズ＿２であることに基づいて）、また、機械学習アルゴリズムは、これらのフィルタされた観察上でトレーニングされ、かつ、第１の機械学習アルゴリズムを更新する（それが置き換える、という意味で）。上で列挙したすべての変数は、機械学習アルゴリズムの入力変数を形成し、また、オプションの予測された結果は、機械学習アルゴリズムの目標変数である。更新されたモデルは、それらの結果を予測するために、生成されたオプションに適用される。
【００９９】
例えばこれは、複数の中止モードが可能である場合に、「どちらがＡｂｏｒｔ−ｔｏ−Ｏｒｂｉｔモードのための好ましい軌道であるか？」、または「どちらが好ましい中止モードであるか？」などの質問に答えるために使用され得る。
【０１００】
例えば中止モードを評価するようにトレーニングされた機械学習アルゴリズムは、中止モードを特定する（１つの変数の中で）入力観察、およびそれが選択される（他の変数の中で）文脈を取り入れることになる。それは、中止モードを関連するもの、または関連しないものにする文脈であり、また、それらのそれぞれの文脈における各々の中止モードの関連性は、対応する観察を入力の中で受け取る際の機械学習アルゴリズムの結果によって評価される。
【図１】
2017120647.tif 000003
【図２】
2017120647.tif 000004
【図３】
2017120647.tif 000005
【図４】
2017120647.tif 000006
【外国語明細書】
2017120647000001.pdf