(57)【要約】【課題】機械学習アルゴリズムのトレーニングに使用される履歴データには、機械学習アルゴリズムの精度と有用性に影響を与える不完全なデータが含まれる。【解決手段】無効なデータ値がないクリーンデータセットと無効なデータ値を持つ不良データセットに分離される。クリーンデータセットは、複数の完全なデータレコードからデータレコード内の単一の無効なデータ値の置換値を生成するようにトレーニングされた２次モデルとなる機械学習アルゴリズム、複数の無効なデータ値の置換値を複数の完全なデータレコードから生成するようにトレーニングされた３次モデルとなる機械学習クラスタリングアルゴリズムを生成するために使用される。不良データセット内の無効なデータ値を置換データ値で置き換えて、拡張トレーニングデータが作成され、クリーンデータセットと組み合わせて、より正確で有用な主モデルをトレーニングする。【選択図】なし
2021518024.tif 000002
【特許請求の範囲】
【請求項１】
１次モデルである機械学習アルゴリズムのトレーニングに使用するための複数の履歴デ
ータレコードを準備するシステムであって、
各前記履歴データレコードには、１次モデルである機械学習アルゴリズムをトレーニン
グして対象の出力を生成するための入力として指定されたデータ値を含む複数のフィール
ドが含まれ、前記履歴データレコード内の指定された入力に無効なデータ値が含まれる場
合に、トレーニングされる１次モデルである機械学習アルゴリズムの有用性と精度を高め
るために、複数の前記履歴データレコード内の指定された入力を準備するコンピューター
実装方法を実行し、
この方法は、
前記履歴データレコードを含むベースデータセットを、無効なデータ値をもつ不完全な
データレコードをもつ不良データセットと、無効なデータ値がない完全なデータレコード
をもつクリーンデータセットに分離し、
前記不良データセットと前記クリーンデータセットをコンピューターのメモリに保存し
、
保存された前記クリーンデータセットから、（１）複数の完全なデータレコードの入力
として指定された各フィールドの値から、不完全なデータレコードの入力として指定され
た対応するフィールドの単一の無効なデータ値の置換値を生成するようにトレーニングさ
れた、コンピューター実装された複数の２次モデルとなる機械学習アルゴリズム、（２）
入力として指定されたフィールドの全ての値を含む複数の完全なデータレコードから、不
完全なデータレコードの入力として指定された複数の無効なデータ値を生成するようにト
レーニングされた、コンピュータ実装された３次モデルとなる機械学習クラスタリングア
ルゴリズム、のうちの少なくともいずれかを生成し、
コンピュータに実装されたプログラムを使用し、格納された前記不良データセットの入
力として指定されたそれぞれの無効なデータ値の少なくとも一部を置換データ値で置き換
えることにより、拡張トレーニングデータレコードを作成し、当該拡張トレーニングデー
タレコードを前記クリーンデータセットの完全なデータレコードと共に使用し、新しいデ
ータレコードから対象の出力を生成するときに、前記１次モデルの機械学習アルゴリズム
をトレーニングしてその精度を向上させる、
ことを特徴とする、システム。
【請求項２】
前記方法は更に、
前記拡張トレーニングデータレコードを使用して、前記１次モデルである機械学習アル
ゴリズムをトレーニングし、
入力として指定された前記履歴データレコードの各前記フィールドに対応するフィール
ドをもつ新データレコードを作成し、
コンピュータのメモリに前記新データレコードを保存し、
保存された前記新データレコードに、前記２次モデルとなる機械学習アルゴリズムを適
用して前記新データレコードを完成し、無効なデータ値を含む単一のフィールドをもつ前
記新データレコードのデータの置換値を生成、あるいは前記３次モデルとなる機械学習ク
ラスタリングアルゴリズムを適用して無効なデータ値を含む複数のフィールドをもつ前記
新データレコードのデータの置換値を生成し、
トレーニング済みの前記１次モデルとなる機械学習アルゴリズムを使用して、前記新デ
ータレコードから目的の出力を生成する、
ことを特徴とする、請求項１に記載のシステム。
【請求項３】
履歴データレコードの少なくとも１つのフィールドは、数値形式のターゲット値を含む
対象の出力として指定され、
前記１次モデルとなる機械学習アルゴリズムは、教師あり学習を使用し、前記履歴デー
タレコードの入力として指定されたフィールドのデータ値を前記履歴データレコードの前
記ターゲット値に関連付ける曲線を適合させる、
ことを特徴とする、請求項１に記載のシステム。
【請求項４】
履歴データレコードにおける少なくとも１つのフィールドは２つ以上の離散したクラス
の形式でターゲット値を含む対象の出力として指定され、前記１次モデルとなる機械学習
アルゴリズムは、教師あり学習を使用し、前記履歴データレコードで入力として指定され
たデータの値を、前記データレコードが、前記履歴データレコードにおける前記ターゲッ
ト値を含む２つ以上の離散したクラスの１つのメンバーであると判断される確率を最大化
ように設定する、
ことを特徴とする、請求項１に記載のシステム。
【請求項５】
対象となる前記１次モデルとなる機械学習アルゴリズムの出力は、入力として指定され
た値をもつデータレコードの集合体が、入力として指定された値をもち前記集合体の中に
ない他のデータレコードに類似しているかを判定する、
ことを特徴とする、請求項１に記載のシステム。
【請求項６】
前記２次モデルとなる機械学習アルゴリズムは、連続数値形式の値をもつフィールドの
置換値を生成する予測モデルと、離散クラスの形式の値をもつフィールドの置換値を生成
する分類モデル、の少なくともいずれかを有する、
ことを特徴とする、請求項１に記載のシステム。
【請求項７】
前記２次モデルとなる機械学習アルゴリズムは、逆伝播によってトレーニングされた多
層フィードフォワードニューラルネットワークで構成されることを特徴とする、請求項１
に記載のシステム。
【請求項８】
前記３次モデルとなる機械学習アルゴリズムは、履歴データレコードの総数に基づく複
数のクラスターを特徴とする自己組織化マップを備えることを特徴とする、請求項１に記
載のシステム。
【請求項９】
前記１次モデルのトレーニングのために、複数の履歴データレコード内の指定された
入力を準備する方法は、更に、
ヒューリスティック分析を使用し、対象の出力を生成するために前記１次モデルとなる
機械学習アルゴリズムをトレーニングするために役立たないデータ値をもち、前記１次モ
デルとなる機械学習アルゴリズムの入力として指定されたフィールドを特定し、
前記１次モデルとなる機械学習アルゴリズムをトレーニングして目的の出力を生成する
ために役立たないデータ値をもつ前記フィールドが除去された削減済みクリーンデータセ
ットを作成し、当該削減済みクリーンデータセットをコンピューターメモリに格納し、
目的の出力を表すフィールドをもたない補助クリーンデータセットを作成し、当該補助
クリーンデータセットを保存し、
保存された前記補助クリーンデータセットを複数の前記２次モデルとなる機械学習アル
ゴリズムと前記３次モデルとなる機械学習クラスタリングアルゴリズムのトレーニングデ
ータとして使用する、
ことを特徴とする、請求項１に記載のシステム。
【請求項１０】
複数の履歴データレコードでトレーニングされたコンピューターに実装された１次モデ
ルである機械学習アルゴリズムを使用する方法であって、
各前記履歴データレコードには、前記１次モデルとなる機械学習アルゴリズムをトレー
ニングして対象の出力を生成するための入力として指定された複数のフィールドが含まれ
、前記方法は、新データレコードの１つ以上のフィールドに無効なデータ値が含まれてい
る場合、前記履歴データレコードのフィールドに対応する複数のフィールドが入力として
指定された前記新データレコードから対応する対象となる出力を生成し、
無効なデータ値を含む単一のフィールドの置換値を生成するために前記履歴データレコ
ードを使用してトレーニングされコンピューターに実装された２次モデルとなる機械学習
アルゴリズム、無効なデータ値を含む複数のフィールドをもつデータレコードの置換値を
生成するために前記履歴データレコードを使用してトレーニングされ、コンピューターに
実装された３次モデルとなる機械学習クラスタリングアルゴリズム、のうちのいずれかを
用い、
無効なデータ値を含む前記新データレコードの各フィールドのデータ値に対応する１つ
又は複数の置換値を代入して前記新データレコードを完成させ、
前記１次モデルとなる機械学習アルゴリズムを使用し、完成した前記新データレコード
から、前記新データレコードに関連した出力を生成する、
ことを特徴とする、方法。
【請求項１１】
複数の前記履歴データレコードを含むベースデータセットにアクセスし、
保存された前記ベースデータセットから、無効なデータ値のない完全な前記履歴データ
レコードをもつクリーンデータセットを分離し、
前記クリーンデータセットをコンピューターのメモリに保存し、
保存された前記クリーンデータセットから、前記２次モデルとなる機械学習アルゴリズ
ムと前記３次モデルとなる機械学習クラスタリングアルゴリズムを生成する、
ことを特徴とする、請求項１０に記載の方法。
【請求項１２】
無効なデータ値を含む不完全な履歴データレコードを含む不良データセットをコンピュ
ーターのメモリに保存し、
コンピューターに実装されたプログラムを使用して、保存された前記不良データセット
のデータレコード内のそれぞれの無効なデータ値の少なくとも一部を置換データ値に置き
換えた拡張トレーニングデータレコードを作成し、当該拡張トレーニングデータレコード
をコンピューターメモリーに格納し、
前記拡張トレーニングデータレコードと組み合わせた前記クリーンデータセットのデー
タレコードを使用し、前記１次モデルとなる機械学習アルゴリズムをトレーニングする、
ことを特徴とする、請求項１１に記載の方法。
【請求項１３】
保存されたベースデータセット内の無効なデータ値を置き換えるための複数の２次モデ
ルとなる機械学習アルゴリズムを生成する方法であって、
前記ベースデータセットは、関心のある出力を生成するために１次モデルとなる機械学
習アルゴリズムをトレーニングするための入力として指定された複数のフィールドをそれ
ぞれもつ複数の履歴データレコードを含み、
ヒューリスティック分析を使用し、前記１次モデルとなる機械学習アルゴリズムの入力
として指定された前記履歴データレコードにおける、前記１次モデルとなる機械学習アル
ゴリズムをトレーニングして目的の出力を生成するためには役立たないデータ値をもつフ
ィールドを特定し、
前記ベースデータセットのデータレコードの各フィールドに関連付けられたエントリを
含むフィールドステータスデータ構造をコンピューターメモリに保存し、各フィールドに
関連付けられたエントリには、保存された前記ベースデータセットのデータレコード内の
フィールドの位置を示すフィールド番号要素と、前記フィールドに含まれるデータ値が前
記１次モデルをトレーニングして対象の出力を生成するために役立つか否かを示す消去コ
ード要素が含まれ、
前記ベースデータセットから無効なデータ値をもつデータレコードを削除して、クリー
ンデータセットを作成し、
前記クリーンデータセットのデータレコードから、対応する消去コード要素が前記１次
モデルをトレーニングするためには役立たないことを示すフィールドを消去することによ
り、削減済みクリーンデータセットを作成し、
前記削減済みクリーンデータセットのデータレコードから、前記１次モデルとなる機械
学習アルゴリズムの対象出力として指定されたデータ値をもつフィールドを削除すること
により、補助クリーンデータセットを作成し、
前記補助クリーンデータセットのデータレコードを、データ入力の１つを除くすべての
フィールドをトレーニング入力値を含むものとして順次指定し、かつ残りの１つのフィー
ルドデータ値を、そのフィールドの前記２次モデルとなる機械学習アルゴリズムのトレー
ニング出力値として指定することで、トレーニングされコンピューターに実装された複数
の前記２次モデルとなる機械学習アルゴリズムのトレーニングデータとして使用し、
コンピュータのメモリに、前記ベースデータセットの各フィールドに関連付けられたエ
ントリをもつ置換モデルデータ構造を保存する、
ここで、
前記置換モデルデータ構造の各エントリの位置は対応する前記フィールドステータスデー
タ構造のフィールド番号要素を示し、各エントリには、
（ａ）１次モデルとなる機械学習アルゴリズムで使用するために編成されたデータレコー
ド内のフィールド値の位置を示すフィールドインデックス要素、
（ｂ）（１）前記フィールドに関連付けられたトレーニング済みの前記２次モデルとなる
機械学習アルゴリズム、（２）前記２次モデルとなる機械学習アルゴリズムが前記フィー
ルドに関連付けられていないこと、のいずれかを示す２次モデル要素、
が含まれる、
ことを特徴とする、方法。
【請求項１４】
各前記フィールドステータスデータ構造のエントリに、
（ｉ）エントリに関連付けられたフィールドのデータ値を使用して前記２次モデルとなる
機械学習アルゴリズムを生成するか否か、
及び
（ｉｉ）前記フィールドの前記２次モデルとなる機械学習アルゴリズムを生成するために
使用されるデータレコードのトレーニング出力のデータ値は、連続数値形式、離散クラス
形式のどちらであるか、
が含まれることを特徴とする、請求項１３に記載の方法。
【請求項１５】
前記２次モデルとなる機械学習アルゴリズムは、逆伝播によってトレーニングされた多
層フィードフォワードニューラルネットワークで構成されることを特徴とする、請求項１
４に記載の方法。
【請求項１６】
請求項１３に記載された方法でトレーニングされた２次モデルとなる機械学習アルゴリ
ズムを使用して１次モデルとなる機械学習アルゴリズムをトレーニングする方法であって
、
（ａ）前記ベースデータセットから削除された欠陥のある履歴データレコードを含む不良
データセットを作成し、当該不良データセットをコンピューターのメモリに保存し、
（ｂ）前記不良データセットで、無効なデータ値をもつ単一のフィールドをもつ、欠陥の
あるデータレコードを認識し、
（ｃ）無効なデータ値をもつ単一のフィールドに対応する前記置換モデルデータ構造のエ
ントリにアクセスし、欠陥のある前記データレコードの単一の前記フィールドが、前記フ
ィールドに関連するトレーニングされた前記２次モデルとなる機械学習アルゴリズムを有
するかどうかを決定し、
（ｄ）ステップ（ｃ）でアクセスされた前記フィールドに関連するトレーニングされた前
記２次モデルとなる機械学習アルゴリズムを使用して、置換データ値を作成し、
（ｅ）欠陥のある前記データレコード内の無効なデータ値を前記置換値に置き換えた拡張
トレーニングデータレコードを作成し、
（ｆ）欠陥のある前記データセット内の異なるデータレコードに対して、ステップ（ｂ）
〜（ｅ）を複数回繰り返し、
（ｇ）前記クリーンデータセットのデータレコードを前記拡張トレーニングデータレコー
ドと組み合わせて使用して、前記１次モデルとなる機械学習アルゴリズムをトレーニング
する、
ことを特徴とする、請求項１３に記載の方法。
【請求項１７】
請求項１６に記載された方法でトレーニングされた前記１次モデルとなる機械学習アル
ゴリズムを使用して、前記ベースデータセットの入力フィールドに対応する入力フィール
ドを備えた新データレコードから対象の出力を生成する方法であって、
（ａ）前記新データレコードにおける、無効なデータ値をもつ単一のフィールドを識別し
、
（ｂ）無効なデータ値を有する単一の前記フィールドに対応する前記置換モデルデータ構
造のエントリにアクセスし、欠陥のあるデータレコードの単一の前記フィールドが、前記
フィールドに関連するトレーニングされた前記２次モデルとなる機械学習アルゴリズムを
有するか否かを決定し、
（ｃ）ステップ（ｂ）でアクセスされた前記フィールドに関連するトレーニングされた前
記２次モデルとなる機械学習アルゴリズムを使用し、前記新データレコード内の無効なデ
ータ値の置換データ値を作成し、
（ｄ）無効なデータ値を前記置換データ値に置き換えて、拡張新データレコードを作成し
、
（ｅ）前記１次モデルとなる機械学習アルゴリズムを使用して、前記拡張新データレコー
ドから目的の出力を生成する、
ことを特徴とする請求項１６に記載の方法。
【請求項１８】
対象となる出力を生成するために１次モデルとなる機械学習アルゴリズムをトレーニン
グするための入力として指定された複数のフィールドをそれぞれもつ複数の履歴データレ
コードを含んで保存されたベースデータセット内において、無効なデータ値を置き換える
ための３次モデルとなる機械学習アルゴリズムを生成する方法であって、
ヒューリスティック分析を使用し、前記対象となる出力を生成するために前記１次モデ
ルとなる機械学習アルゴリズムをトレーニングするためには役立たないデータ値を含む、
前記１次モデルとなる機械学習アルゴリズムの入力として指定された前記履歴データレコ
ードのフィールドを特定し、
前記ベースメモリデータセットの各フィールドに関連付けられたエントリを含み、各フ
ィールドステータスエントリとして、保存されている前記ベースデータセットのデータレ
コード内のフィールドの位置を示すフィールド番号要素と、前記フィールドに含まれるデ
ータ値が前記１次モデルをトレーニングして前記対象となる出力を生成するために役立つ
か否かを示す消去コード要素が含まれるフィールドステータスデータ構造をコンピュータ
メモリに保存し、
前記ベースデータセットから無効なデータ値をもつデータレコードを削除してクリーン
データセットを作成し、
前記クリーンデータセットのデータレコードから、関連付けられているフィールドが前
記１次モデルをトレーニングするためには役立たないことを示す前記消去コード要素を削
除することにより、削減済みクリーンデータセットを作成し、
前記削減済みクリーンデータセットのデータレコードから、前記１次モデルとなる機械
学習アルゴリズムの対象の出力として指定されたデータ値をもつフィールドを削除するこ
とにより、補助クリーンデータセットを作成し、
コンピュータに実装された前記３次モデルとなる機械学習クラスタリングアルゴリズム
のトレーニングデータとして、前記補助クリーンデータセット内のデータレコードを、前
記補助クリーンデータセット内のデータレコード内の全てのデータ値をトレーニング入力
値として使用して、前記３次モデルとなる機械学習クラスタリングアルゴリズムをトレー
ニングし、
トレーニング済みの前記３次モデルとなる機械学習クラスタリングアルゴリズムを特定
する３次モデルエントリを含む置換モデルデータ構造をコンピューターメモリに保存する
、
ことを特徴とする、方法。
【請求項１９】
前記３次モデルとなる機械学習アルゴリズムを使用して前記１次モデルとなる機械学習
アルゴリズムをトレーニングする方法であって、
（ａ）前記ベースデータセットから削除された障害のある履歴データレコードを含む不
良データセットを作成してコンピューターのメモリに保存し、
前記不良データセットで、無効なデータ値をもつ複数のフィールドをもつ不良データレ
コードを識別し、
（ｃ）前記置換モデルデータ構造の前記３次モデルエントリにアクセスし、
（ｄ）ステップ（ｃ）でアクセスされた、トレーニングされた前記３次モデルとなる機
械学習アルゴリズムを使用して、前記不良データレコード内の無効なデータ値の置換デー
タ値を作成し、
（ｅ）前記不良データレコード内の無効なデータ値を置換値に置き換えて、拡張トレー
ニングデータレコードを作成し、
（ｆ）前記不良データセット内の異なるデータレコードに対して、ステップ（ｂ）〜（
ｅ）を複数回繰り返し、
（ｇ）前記クリーンデータセットのデータレコードを前記拡張トレーニングデータレコ
ードと組み合わせて使用し、前記１次モデルとなる機械学習アルゴリズムをトレーニング
する、
ことを特徴とする請求項１８に記載の方法。
【請求項２０】
トレーニングされた前記３次モデルとなる機械学習クラスタリングアルゴリズムが、前
記補助クリーンデータセットのデータ値に対応するそれぞれの重みをもつ複数のノードを
備えた自己組織化マップを含み、
ステップ（ｄ）において、
前記自己組織化マップの各ノードの重みと、前記不良データレコード内の有効なデータ
値をもつ各フィールドとの間の距離で定義される類似度メトリックを計算し、前記距離に
基づいて、無効なデータ値をもつ前記不良データレコードの各フィールドの対応する値に
最も近い重みをもつ所定数の勝者ノードを指定し、
無効なデータ値のそれぞれに関連付けられた前記勝者ノードの重みの平均を計算し、
前記重みの平均を使用し、前記重みに関連付けられたフィールドの無効なデータ値のそ
れぞれに対してそれぞれの前記置換データ値を生成する、
ことを特徴とする、請求項１９に記載の方法。
【請求項２１】
トレーニングされた前記１次モデルとなる機械学習アルゴリズムを使用し、前記ベース
データセットの入力フィールドに対応する入力フィールドを有する新データレコードから
対象となる出力を生成する方法であって、
前記新データレコードにおける無効なデータ値をもつ複数のフィールドを識別し、
トレーニングされた前記３次モデルとなる機械学習アルゴリズムを使用して、前記新デ
ータレコード内の無効なデータ値の置換データ値を作成し、
無効なデータ値を前記置換データ値に置き換えた新拡張データレコードを作成し、
前記１次モデルとなる機械学習アルゴリズムを使用して、新拡張データレコードから対
象となる出力を生成する、
ことを特徴とする、請求項１９に記載の方法。
【請求項２２】
対象となる出力をする１次モデルとなる機械学習アルゴリズムをトレーニングするため
の入力として指定された複数のフィールドをそれぞれもつ複数の履歴データレコードを含
んで保存されたベースデータセット内の無効なデータ値を置き換えるための複数の２次モ
デルとなる機械学習アルゴリズムと３次モデルとなる機械学習アルゴリズムを生成する方
法であって、
ヒューリスティック分析を使用し、対象となる出力を生成するために前記１次モデルと
なる機械学習アルゴリズムをトレーニングするために役立たないデータ値を含む、前記１
次モデルとなる機械学習アルゴリズムの入力として指定された履歴データレコードのフィ
ールドを特定し、
前記ベースデータセットのデータレコードの各フィールドに関連付けられたエントリを
含み、当該エントリには、保存されている前記ベースデータセットのデータレコード内の
フィールドの位置を示すフィールド番号要素と、当該フィールドに含まれるデータ値が前
記１次モデルをトレーニングして対象の出力を生成するために役立つか否かを示す消去コ
ード要素が含まれるフィールドステータスデータ構造をコンピュータのメモリに保存し、
前記ベースデータセットから無効なデータ値をもつデータレコードを削除してクリーン
データセットを作成し、
前記クリーンデータセットのデータレコードから、前記１次モデルをトレーニングする
ためのユーティリティを持たないことを示す消去コード要素をもつフィールドを消去する
ことにより、削減済みクリーンデータセットを作成し、
前記削減済みクリーンデータセットのデータレコードから、前記１次モデルとなる機械
学習アルゴリズムの対象の出力として指定されたデータ値をもつフィールドを削除するこ
とにより、補助クリーンデータセットを作成し、
前記補助クリーンデータセットのデータレコードを、データ入力の１つを除くすべての
フィールドをトレーニング入力値を含むものとして順次指定し、残りの１つのフィールド
データ値を前記２次モデルとなる機械学習アルゴリズムのトレーニング出力値として、複
数の前記２次モデルとなる機械学習アルゴリズムのトレーニングに使用し、
前記補助クリーンデータセット内のデータレコードを、前記補助クリーンデータセット
内のデータレコード内の全てののデータ値をトレーニング入力値として使用することでト
レーニングされた、コンピュータに実装された３次モデルとなる機械学習クラスタリング
アルゴリズムのトレーニングデータとして使用し、
コンピュータメモリに、トレーニングされた前記３次モデルとなる機械学習アルゴリズ
ムを特定する３次モデルエントリ、及び前記ベースデータセット内のそれぞれのフィール
ドに関連付けられた前記２次モデルに対応する複数の２次モデルエントリを含む置換モデ
ルデータ構造を格納し、
前記置換モデルデータ構造の各エントリの位置は、対応するフィールドステータスデー
タ構造のフィールド番号要素を示し、各エントリには
（ａ）前記１次モデルとなる機械学習アルゴリズムで使用するために編成されたデータレ
コード内のフィールド値の位置を示すフィールドインデックス要素、
及び
（ｂ）（ｉ）前記フィールドに関連するトレーニングされた前記２次モデルとなる機械学
習アルゴリズム、あるいは（ｉｉ）前記２次モデルとなる機械学習アルゴリズムが前記フ
ィールドに関連しないこと、を示す２次モデル要素
が含まれることを特徴とする、方法。
【請求項２３】
前記フィールドステータスデータ構造の各々のエントリに、
（ｉ）当該エントリに関連付けられているフィールドのデータ値を使用して、２次モデル
となる機械学習アルゴリズムを生成するか否か、
及び
（ｉｉ）前記フィールドの前記２次モデルとなる機械学習アルゴリズムを生成するために
使用されるデータレコードのトレーニング出力のデータ値が、連続数値形式か離散クラス
形式のどちらであるか、
を示すタイプコード要素を含めることを特徴とする、請求項２２に記載の方法。
【請求項２４】
前記２次モデルとなる機械学習アルゴリズムは、逆伝播によってトレーニングされた多
層フィードフォワードニューラルネットワークで構成されたことを特徴とする、請求項２
３に記載の方法。
【請求項２５】
トレーニングされた２次モデルとなる機械学習アルゴリズム、及び請求項２２のように
生成されトレーニングされた前記３次モデルとなる機械学習アルゴリズムを使用して１次
モデルとなる機械学習アルゴリズムをトレーニングする方法であって、
（ａ）前記ベースデータセットから削除された欠陥のある履歴データレコードを含む不
良データセットを作成してコンピューターのメモリに保存し、
（ｂ）前記不良データセットで、無効なデータ値をもつ単一のフィールドをもつ不良デ
ータレコードを識別し、
（ｃ）無効なデータ値をもつ単一のフィールドに対応する前記置換モデルデータ構造の
エントリにアクセスし、前記欠陥データレコードの単一のフィールドに、そのフィールド
に関連付けられたトレーニング済みの２次モデルとなる機械学習アルゴリズムがあるかど
うかを判断し、
（ｄ）ステップ（ｃ）でアクセスされた前記フィールドに関連するトレーニング済みの
前記２次モデルとなる機械学習アルゴリズムを使用して、置換データ値を作成し、
（ｅ）当該不良データレコード内の無効なデータ値を当該置換データ値に置き換えて、
拡張トレーニングデータレコードを作成し、
（ｆ）前記不良データセット内の異なるデータレコードに対して、ステップ（ｂ）〜（
ｅ）を複数回繰り返し、
（ｇ）前記不良データセット内で、無効なデータ値をもつ複数のフィールドをもつ不良
データレコードを識別し、
（ｈ）前記置換モデルデータ構造の前記３次モデルエントリにアクセスし、
（ｉ）ステップ（ｈ）でアクセスされた前記のトレーニングされた３次モデルとなる機
械学習アルゴリズムを使用し、当該不良データレコード内の無効なデータ値の置換データ
値を作成し、
（ｊ）当該不良データレコード内の複数の無効なデータ値を当該置換データ値に置き換
えて、拡張トレーニングデータレコードを作成し、
（ｋ）前記クリーンデータセットのデータレコードをステップ（ｅ）及び（ｊ）で作成
された前記拡張トレーニングデータレコードと組み合わせて使用して、前記１次モデルと
なる機械学習アルゴリズムをトレーニングする、
ことを特徴とする、請求項２２に記載の方法。
【請求項２６】
トレーニングされた前記３次モデルとなる機械学習クラスタリングアルゴリズムは、前
記補助クリーンデータセットのデータ値に対応するそれぞれの重みを有する複数のノード
を備えた自己組織化マップを含み、
ステップ（ｋ）において、
前記自己組織化マップの各ノードの重みと、前記不良データレコード内の有効なデータ
値をもつ各フィールドとの間の距離で定義される類似度メトリックを計算し、前記距離に
基づいて、無効なデータ値をもつ前記不良データレコードの各フィールドの対応する値に
最も近い重みをもつ所定数の勝利ノードを指定し、
無効なデータ値のそれぞれに関連付けられた勝者ノードの重みの平均を計算し、
前記重みの平均を使用し、前記重みに関連付けられたフィールドの無効なデータ値のそ
れぞれに対してそれぞれの前記置換データ値を生成する、
ことを特徴とする、請求項２５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械学習に関し、より具体的には、機械学習アルゴリズムのトレーニングお
よび適用に使用されるデータの完全性および品質を改善し、そのようなアルゴリズムのコ
ンピュータ実装および実行の有用性および精度を高めるためのシステム及び方法に関する
。
【背景技術】
【０００２】
数学的モデルとは、現実の世界で役立つように十分な精度と普遍性のある現象を説明す
る数学的表現である。この数学的モデルには２つの基本的な形式がある。１つは「第一原
理」モデルであり、これは、物理学、化学、生物学等の基本的な法則に基づいて対象の現
象を記述する。もう１つは「経験的」モデルであり、これは、現象に関連するデータを収
集して分析することにより、対象の現象を厳密に記述する。このタイプのデータ解析は、
「機械学習」と呼ばれることもあり、対象となる現象を推定的に説明するデータの集合体
に学習アルゴリズムを繰り返し適用する。このアルゴリズムは、実際の事象における動き
を反映または管理するデータ内の関係を見出し、学習する。
【０００３】
図１は、機械学習プロセスを実施するためのコンピューティングシステム１００の概要
を示す。図１の右側においては、モデル開発者がコンピューティングシステムに情報を入
力することを可能にするキーボード１０２およびマウス１０４と、出力を表示するための
モニタ１０６が示されている。このコンピューティングシステムにおいて、ネットワーク
インターフェース、プリンター、スキャナー、タッチパッド、ＵＳＢポート等、他の従来
の入出力デバイスが設けられていてもよい。また、コンピューティングシステム１００は
、ディスクドライブまたは固体メモリデバイスに常駐する非一時的記憶媒体１１０、プロ
グラムおよびデータを記憶モジュール１１０にロードして実行する中央処理装置（ＣＰＵ
）１１２を含むコンピューティングモジュール１０８、データを処理するためのプログラ
ム、およびプログラムを実行するときにＣＰＵによって使用される一時的記憶媒体である
ランダムアクセスメモリ（ＲＡＭ）１１４を含む。コンピューティングモジュール１０８
は、キーボード１０２およびマウス１０４（または他のＩ ／ Ｏデバイス）からＣＰＵ１
１２へのユーザ入力によって制御され、ＣＰＵ１１２はまた、オペレーティングシステム
ソフトウェアの制御下にあり、これにより、ＣＰＵがモニタ１０６に情報を表示する。ま
た、コンピューティングシステム１００は、図に示されているように、双方向接続を介し
てクラウドＣと通信する。
【０００４】
図１の左側は、本明細書に記載されているデータ準備技術を使用することができる典型
的な機械学習プロセスを示している。このプロセスは、ステップＳ１０２で始まり、ここ
ではモデル化プロセスの目的が指定される。少なくとも、分析に関与する特定のドメイン
（主題）を十分に理解している人が、予測、分類、クラスタリングなどの問題の性質と、
モデルの品質や有用性を判断するために使用される適切な評価指標を特定する。このモデ
ルが予測モデルまたは分類モデルである場合、開発者は、関連する１つ以上の現象を表す
１つ以上の値（「ターゲット値」と呼ばれることが多い）も識別する。
【０００５】
ステップＳ１０４では、経験的モデルを生成するための機械学習アルゴリズムが選択さ
れる。一般的に、予測問題においては教師あり学習が採用され、アルゴリズムによって得
られる結果は連続的な数値である。予測機械学習アルゴリズムは、利用可能な履歴データ
をモデル出力として連続曲線（あるいは直線）に適合させる。分類問題においても教師付
き学習が採用され、分類問題によって得られる結果は（ラベルで識別される）離散クラス
である。一般に、分類機械学習アルゴリズムは、レコード内のデータがレコードが特定の
クラスに属していることを示す確率を最大化するように動作する。クラスタリング分析に
おいては、通常、モデルの出力としてデータの類似性を識別する教師なし学習アルゴリズ
ムが採用される。このように、問題の性質（予測、分類、またはクラスタリング分析）に
より、モデル開発者による適切なアルゴリズムが選択される。このモデルのコンピュータ
実装は、市販されているソフトウェアを用いるか、特定の目的のために開発者によって作
成されたソフトウェアを用いることができる。一般的には、求められる結果が数値である
か、離散的なカテゴリーの区分であるか、求められる結果が特定のデータにおけるデータ
値が他のデータにおけるデータ値に近いことの判定であるか、に関わらず、機械学習アル
ゴリズムは、得られたデータセットと、データに関連付けられた対象の出力との関係を求
める。
【０００６】
ステップＳ１０６においては、数学的モデルが構築されるべきデータとなる単数または
複数のデータソースが識別され、必要に応じて、非一時的記憶媒体１１０内の単一のファ
イル（データセット）に集約される。この集約は、コンピューティングシステム１００に
よって実行される、あるいは、個別に実行され、結果となるデータセットを非一時的記憶
媒体１１０にコピーしてもよい。コンピューティングシステム１００を使用して集約が実
行される場合、元のデータは、一般的な例としては、スプレッドシート、テキストファイ
ル、またはＯｒａｃｌｅ  Ｃｏｒｐ．やＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐから入手できるデ
ータベースなど、さまざまな形式のものとすることができる。ＣＰＵ １１２は、データ
ベースからの抽出、ＵＳＢストレージデバイスからのコピー、またはクラウドＣからのダ
ウンロードなどの任意の適切なモードによって、元のデータを非一時的記憶媒体１１０に
ロードする。典型的な機械学習ドメインでは、元のデータには数千、時には数百万のデー
タポイントが含まれる。このようなデータの例としては、情報が元のデータセットの一部
とはなっていなかった個人の信用スコアを予測するための、経験的な数学的モデルを作成
するために使用される数千の個人に関する多種多様な履歴情報がある。様々な市販のプロ
グラムにより、コンピューティングシステム１００は、多数の個別のデータポイントに対
して一般的に使用されるフォーマットのデータを受け入れることができる。これらには、
Ｍｉｃｒｏｓｏｆｔ  Ｅｘｃｅｌ（登録商標）のスプレッドシートで結合されて単純なタ
ブ区切りファイルとして保存されたデータや、データベースから直接抽出されてタブ区切
りまたはカンマ区切りのファイルに保存されたデータが含まれるが、これらに限定されな
い。
【０００７】
図１に示されているプロセスの残りのステップは、選択された機械学習アルゴリズムに
従ってコンピューティングシステムによって実装され、識別されたデータを使用して指定
されたモデルを開発する。予備的なステップＳ１０２、Ｓ１０４、Ｓ１０６は、図１の矢
印Ａで示されているように、コンピューティングシステムによって実装される機械学習プ
ロセス自体から概念的に分離されている。つまり、ここに描かれている準備手順は、プロ
セスの概念的な手順を表す。例えば、コンピューティングシステムは、データを編成する
ため、またはデータを含むファイルまたはデータベースとインターフェースするための適
切なプログラムを含むことができるが、これは本明細書においては一般的に使用されるも
のであり、コンピュータ実装の経験的モデル開発における特有のものではない。
【０００８】
次のステップＳ１０８において、コンピューティングシステム１００は、機械学習アル
ゴリズムが使用するための履歴データを準備する。このデータの準備としては、データを
ある形式で配置する、例えば同じ数のフィールドをもつデータを直列に並べたデータレコ
ードを作成することがあり、このためにはステップＳ１０４で選択した機械学習アルゴリ
ズムが用いられる。機械学習による経験的モデル開発におけるデータの基本的な役割は、
データの整合性が、結果として得られるモデルの品質、したがってユーティリティに重大
な影響を与えることを意味する。一方、アルゴリズムで操作されるデータは機械学習にお
いては非常に重要であるが、機械学習アルゴリズム自体は、アルゴリズムで使用されるデ
ータの有効性/整合性に影響を与える問題（たとえば、特定のデータポイントの値を無効
とすることの必要性）に直接対処しない。機械学習アルゴリズムとは無関係に、このよう
なデータ問題を処理するために従来技術で使用されたアプローチのいくつかについて、以
下でさらに説明する。
【０００９】
次のステップＳ１１０で、モデル開発者は、データを処理するためにアルゴリズムによ
って使用されるパラメータを指定する。特定のアルゴリズムには、アルゴリズムの実行を
許可する期間やパフォーマンスを測定するために内部で使用される目的関数など、アルゴ
リズムの動作を制御するパラメータ値がある。アルゴリズムのパラメータは、モデル開発
者の経験、選択したアルゴリズムのタイプの公開されたヒューリスティックに基づいて、
または遺伝的アルゴリズムなどの汎用最適化ルーチンによって自動的に設定できる。
【００１０】
ステップＳ１１２では、機械学習アルゴリズムがコンピューティングシステム１００上
でトレーニングされる。本発明の用語では、このトレーニングの最終結果は「１次モデル
」と呼ばれる。本明細書で論じる実施例では、機械学習アルゴリズムをトレーニングする
ことによって生成される１次モデルを使用して、その人に利用可能な個々のデータポイン
トに基づいて出力値（たとえば、人の信用スコア）を生成することができる。つまり、そ
の場合の主要なモデルの目的は、アルゴリズムのトレーニングに使用された履歴データに
表されなかった個人によってもたらされた信用リスクを最も正確に表す信用スコアを生成
することである。このような結果を生成するための多くの機械学習アルゴリズムは、Ｆａ
ｉｒ  Ｉｓａａｃ  ＣｏｏｐｏｒａｔｉｏｎのＦＩＣＯ（登録商標）スコアを生成するた
めに使用されるものなど、市販のソフトウェアおよびシステムで採用されている。
【００１１】
次のステップＳ１１４は、トレーニングに使用された人に対してアルゴリズムによって
生成された出力値（クレジットスコア）を、これに対応し履歴データに含まれる実際のク
レジットスコアと比較することにより、アルゴリズムの性能を評価する。結果が満足であ
るということは、アルゴリズムのパラメータの変更（Ｓ１１０毎）の際に、通常、対象と
なったドメインの特性や、高性能であることと、要する時間、トレーニングデータの量、
コストとの間のトレードオフの関係に応じて、モデル開発者によって定められる。このよ
うにモデルが選択された基準を満たしている場合、決定ステップＳ１１６での答えは「Ｙ
ｅｓ」であり、モデルは稼働状態に置かれる。一方、ステップＳ１１６の答えが「Ｎｏ」
である場合、プロセスはステップＳ１１０に戻り、そこで新しいアルゴリズムパラメータ
が入力され、その後、以前と同様にステップＳ１１２からＳ１１６に進む（図には示され
ていないが、プロセスは、ステップＳ１０６で追加のデータを取得し、後続のステップを
介してステップＳ１１６に進むことも含むことができる。）。ターゲット値やアルゴリズ
ムを実行するコンピューティングシステム１００に対する入力のない状態で、前のトレー
ニングデータと同じ方法で編成された新しいデータポイントセットを使用して新たな出力
値を生成するために、トレーニング済みモデルを用いることができる（ここでの説明にお
いては、説明のために教師あり機械学習を使用しているが、明細書全体を通して説明され
ているシステムと方法は、教師なし学習にも適用できる。）。
【００１２】
しかしながら、典型的な「現実世界」におけるデータソースによって生成されたデータ
に機械学習アルゴリズムを適用すると、データの整合性と品質に関する問題が数多く発生
する。このような場合としては、例えば人間がフォームを完成させたときに誤ってまたは
故意に省略されたデータ、人間がフォームを書き起こして情報をコンピューティングシス
テムに入力したときに発生した誤植、機械学習アルゴリズムでの使用に適した形式に変換
ために生データに対して光学式文字認識または音声認識を行った際のエラーを含むデータ
、等があるが、これらに限定されない。データがソース（センサ等）からリポジトリ（デ
ータベース等）に移動する際に、ハードウェアに起因してエラーが発生することもある。
また、センサの故障により、データが全く得られない場合もある。また、データの流れる
経路においてノイズが大きな場合、例えば電磁干渉、ワイヤ端子コネクタの腐食、ケーブ
ルの欠陥や損傷がある場合、これらはリポジトリに配置されるべき送信された本来のデー
タを損なう原因となる。このような欠陥のあるデータが検出された場合、影響を受ける機
械学習プロセスには基本的に２つの選択肢がある。一方は、このデータを（有効とされた
が同じ状況で取得された他のデータと共に）無視することであり、他方は、このデータを
他のデータに置換することである。後者の場合には、置換後のデータは、正しい値を反映
する可能性が高いデータである必要があるが、これによって、同様の状況で取得された全
てのデータを希望に沿った形で用いることができる。
【００１３】
経験的モデル（機械学習）開発プロセスにおいてはデータ品質は極めて重要であり、か
つ経験的モデリングアルゴリズム自身は大幅に進歩しているにも関わらず、現在世界中の
システムで常時生成されている膨大な量の生データを考慮した場合、対象となる現象の主
要なモデルを開発するために機械学習アルゴリズムで用いられる履歴データの品質を向上
させる技術については、ほとんど進展は見られない。先行技術においても、モデルが使用
された後において、モデルによって使用される新たなデータを準備するための技術におい
ては、同様に進展が見られない。本明細書全体において、「欠損データ」とは、値を持た
ないレコード（データポイント）内のフィールドを指す。より一般的な用語は「無効デー
タ」である。これは、不適切に表現されたデータ（例えば、数値であるべきところにおい
て数値以外の文字を含むデータ）や、はデータを生成したシステムの開発者または管理者
によって設定された制限を超えた値となるデータを指す。このため、「無効データ」とい
う用語には「欠損データ」が含まれる。場合によっては、この説明ではこれらの用語が交
換可能に使用されるが、当業者は、用語が使用される状況からこれらの用語において意図
された意味を理解することができる。
【００１４】
このように質の悪いデータを処理するための現在のアプローチのいくつかは、ｈｔｔｐ
ｓ：／／ｓｔａｔｓ．ｉｄｒｅ．ｕｃｌａ．ｅｄｕ／ｗｐ−ｃｏｎｔｅｎｔｓ／ｕｎｌｏ
ａｄｓ／２０１７／０１／Ｍｉｓｓｉｎｇ−Ｄａｔａ−Ｔｅｃｈｎｉｑｕｅｓ＿ＵＣＬＡ
．ｐｄｆからオンラインで入手できる「Ｍｉｓｓｉｎｇ  Ｄａｔａ  Ｔｅｃｈｎｉｑｕｅ
ｓ  ｗｉｔｈ  ＳＡＳ」という題名のＵＣＬＡ  Ｉｎｓｔｉｔｕｔｅ  ｆｏｒ  Ｄｉｇｉ
ｔａｌ  Ｒｅｓｅａｒｃｈ  ａｎｄ  Ｅｄｕｃａｔｉｏｎ（ＩＤＲＥ）、２０１７年のレ
ポートで説明されている。機械学習アルゴリズム用のデータの準備に関する先行技術のも
う１つの情報源は、Ｌｏｅｒｙ−Ｂｏｒｉ、Ｍ．、「Ｄｅａｌｉｎｇ  Ｗｉｔｈ  Ｍｉｓ
ｓｉｎｇ  Ｄａｔａ：Ｋｅｙ  Ａｓｓｕｍｐｔｉｏｎｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏ
ｒ  Ａｐｐｌｉｅｄ  Ａｎａｌｙｓｉｓ」、Ｔｅｃｈ．Ｒｅｐｔ．  Ｎｏ．４、Ｂｏｓｔ
ｏｎ  Ｕｎｉｖ．Ｓｃｈｏｏｌ  ｏｆ  Ｐｕｂｌｉｃ  Ｈｅａｌｔｈ、Ｍａｙ６、２０１
３年、であり、ｈｔｔｐ：／／ｗｗｗ．ｂｕ．ｅｄｕ／ｓｐｈ／ｆｉｌｅｓ／２０１４／
０５／Ｍａｒｉｎａ−ｔｅｃｈ−ｒｅｐｏｒｔ。ｐｄｆからオンラインで入手できる。こ
れらの文書においては、機械学習の状況下において無効なデータを処理するための従来技
術が詳細に説明されている。
【００１５】
欠損データを処理するための最も単純なアプローチは、それを無視することである。こ
の場合、データレコードのフィールドに値が含まれていない場合、レコード全体が破棄さ
れる（すなわち、機械学習アルゴリズムによる処理の対象から除外される）。このアプロ
ーチを実行するのは容易である一方、データ量が問題となる場合（すなわち、対象となる
イベントが非常に稀れにしか発生しないために、それらに関連するデータを保持して利用
することが求められる場合）には、これによる悪影響が発生する。無効なデータが一連の
連続した数値データポイントの中のものである場合は、他の方法が使用可能である。この
アプローチにおいては、同じシリーズの他のデータ（たとえば、表形式で編成されたデー
タセット全体の同じ列のデータポイント）を使用して代替値が計算される。この場合、デ
ータフィールドが個人の年齢などの数値である場合、有効なデータポイントは指定された
範囲の値となる。前記の無効データとしては、そのフィールドのデータがない場合、明ら
かに個人の年齢を表していない数値（４３０等）である場合、のいずれかである。この場
合には、このデータポイントを単純に無視する代わりに、無効な値は、例えば同じ系列の
有効な値の平均、その系列の有効な値のモード値（最頻値）、最大値、最小値に置き換え
られる。いずれの場合においても、置換値をそのような方法によって設定することにより
、不適切な値が提供されることに対する保証はほぼ確保され、少なくともレコード全体を
破棄する必要はなくなる。前記のＩＤＲＥレポートでは、より複雑な置換値の設定方法に
ついて記載されており、ここでは、特定のシリーズのデータの線形性についての必ずしも
保証されない仮定が要求される。このため、これらの手法は、データ系列において単一の
データポイントが欠落している場合には一定の効果が認められるものの、特定のデータ系
列における複数の無効データを置換するために使用した場合には、最終モデルにエラーが
発生する可能性が高くなる。
【００１６】
上記の従来技術のアプローチは、全て数学的に実行可能であり、実装が比較的容易であ
るため、好ましい。しかしながら、これらのアプローチは単純であるために、欠落データ
と同じ列（フィールド）または同じ行（レコード）にある有効なデータと全体としては関
連性がないために適切ではない値が、欠損データとして採用される場合がある。あるいは
、これらのアプローチは、特に、無効なデータと同じレコード内の有効なデータ値に対応
した状況を不明瞭にする傾向がある。すなわち、特定のレコードのデータ値には、対象シ
ステムの状態の表現、特定の時点におけるレコードで表される実体の属性等と、論理的な
?がりがある。これに対して、特定のデータレコード内の欠落または無効な数値データ値
を置き換えるための既知のアプローチは、一般的には、レコード内の有効なデータの論理
的および時間的関係を適切に考慮できない。
【００１７】
非数値（記号またはカテゴリ）データに対しても、同様のアプローチが使用されている
。このようなデータの典型的なアプローチは、全ての「適切な」値のモードを使用するか
、単に零値を使用することである。このため、シンボリック値またはカテゴリ値は、通常
「１−ｏｆ−ｎ」バイナリ値に変換され、無効なデータの場合、ｎ値はすべて零になる。
例として、個人の職業のフィールドを考える。データセット全体で、カテゴリは「弁護士
」、「エンジニア」、「マネージャー」、「医師」とする。この場合、機械学習アルゴリ
ズムによって処理される前において、ｎは４であり、１つの列（フィールド）で発生する
これらのシンボリック／カテゴリ値は４つのバイナリ列（フィールド）に変換され、それ
ぞれに０又は１のいずれかが含まれる（従って、レコードのサイズは３フィールドだけ増
加する）。ここで、「弁護士」は１０００、「エンジニア」は０１００、「マネージャー
」は００１０「医師」は０００１に、それぞれ変換される。その結果、欠落した値または
無効な値が００００に変換されると、アルゴリズムはその値を数学的に処理できるが、実
際の表現は適正でないために、最適なモデルが生成されなくなる。
【００１８】
従って、先行技術においては、モデルが実際に使用される際にこのモデルの正確性を高
めるために用いられるデータに欠落あるいは無効な部分が存在する場合におけるこのデー
タに対する対応が十分ではない。具体的には、無効な値が発生した状況を考慮した上で無
効な値の置換値を生成し、その結果、利用可能な履歴データをより完全に活用し、一次現
象のより正確ななモデルを作成できるようにして、既に使用されているモデルに対して、
無効または欠落した部分が存在するデータが提示された場合においても有効となるような
出力を得ることができるような、システムと方法が求められた。
【発明の概要】
【課題を解決するための手段】
【００１９】
本発明の目的は、修正されたデータによるトレーニング後において、特にトレーニング
後において適正でない部分を含むデータを扱う際に、より優れた性能を発揮させるために
、１次モデルとなる機械学習アルゴリズムのトレーニングに使用するための修正されたデ
ータを準備するシステムと方法を提供することである。教師あり機械学習は、履歴データ
の集合の中で関連のある１つ以上の出力が、履歴出力値の複数の事例のそれぞれに関連付
けられた複数の履歴データ値と因果関係を持っているという仮定に基づいて動作する。教
師なし機械学習は、履歴データセット内の複数のデータ値で関連のあるクラスターを表す
関連付けを発見し、識別して動作する。本発明の一態様は、履歴データ内の欠落データ又
は無効データの事例を置き換える既知のシステムおよび方法を改善し、教師あり機械学習
を使用して開発され対象の現象を予測または分類する機械学習アルゴリズム、又は教師な
し学習を使用して開発された機械学習アルゴリズムが新たなデータに適用される場合にお
ける精度と有用性を改善する。
【００２０】
本発明の１つの重要な側面は、履歴データ中に存在する有効な値から、この履歴データ
中における欠損データ又は無効データに対する置換データ値を、対象となる出力を定義す
るための他の履歴データの全体的状況を考慮して生成する１つ以上のデータ置換モデルを
作成することにより、１次モデルとなる機械学習アルゴリズムの精度と有用性を改善する
システムと方法を提供する。
【００２１】
本発明の別の態様では、本明細書で説明されるシステム及び方法は、機械学習アルゴリ
ズム用のデータを準備する際に使用するための、このようなデータ置換モデルの２つのタ
イプのうちの１つを作成する。２次モデルは、データレコード内の単一の欠損データ又は
無効データを置き換えるために帰属データ値を生成し、３次モデルは、データレコード内
のそれぞれの複数のデータ値を置き換えるために複数の帰属データ値を生成する。
【００２２】
本発明の１つの特定の態様は、それぞれが複数のデータ値を含む複数の履歴データレコ
ードを有する基本データセットを使用して１次モデルとなる機械学習アルゴリズムをトレ
ーニングするためのコンピューティングシステムで使用される。コンピュータ実装方法は
、履歴データレコードに無効データが含まれている場合に、１次モデルの有用性と精度を
高めるように、複数の履歴データレコードを準備する。この方法は、基本データセットを
、無効データを含む不完全なデータレコードを持つ不完全データセットと、無効データ値
を含まない完全なデータレコードを持つクリーンデータセットに分離する。この方法は、
クリーンデータセットから、複数の完全なデータレコードから不完全なデータレコード内
の単一の無効データの置換値を生成するようにトレーニングされた２次モデルである機械
学習アルゴリズム、複数の完全なデータレコードから不完全なデータレコード内の複数の
無効データの置換値を生成するようにトレーニングされた３次モデルである機械学習クラ
スタリングアルゴリズム、のうちの少なくともいずれかを生成する。欠陥のあるデータセ
ット内の少なくともいくつかのレコードのそれぞれの無効データを置換データに置き換え
ることにより、拡張トレーニングデータレコードが作成される。１次モデルは、拡張トレ
ーニングデータレコードと組み合わせたクリーンデータセットのデータレコードを使用し
てトレーニングされる。
【００２３】
本発明の別の態様は、それぞれがデータ値を含む複数のフィールドを含む履歴データレ
コードでトレーニングされ、コンピュータ実装された１次モデルである機械学習アルゴリ
ズムを使用して、希望の出力を生成する方法を含む。新しいデータレコードの１つ以上の
フィールドに無効データが含まれている場合、トレーニング済みの１次モデルは、履歴デ
ータの各フィールドに対応する複数のフィールドを持つ新しいデータレコードから、より
正確な出力を生成する。そのため、新しいデータレコードは、クリーンな履歴データレコ
ードを使用してトレーニングされ、無効データを含む単一のフィールドをもつ新しいデー
タレコードの置換値を生成する、コンピューターに実装された２次モデルである機械学習
アルゴリズム、クリーンな履歴データレコードを使用して無効データを含む複数のフィー
ルドを持つ新しいデータレコードの置換値を生成するようにトレーニングされた、コンピ
ューターに実装された３次モデルである機械学習クラスタリングアルゴリズム、のうちの
いずれかを使用して生成される。
【００２４】
本発明の別の態様は、本明細書に記載のデータ準備方法のコンピューティングシステム
による実装を容易にするためのデータ構造またはコンピュータオブジェクトの作成および
記憶や、特に、１次モデルである機械学習アルゴリズムによって処理されるデータレコー
ドの欠損データを置換するためにトレーニングされた２次モデル機械学習アルゴリズムお
よび３次モデル機械学習クラスタリングアルゴリズムの使用を含む。そのようなデータ構
造の１つは、フィールドのデータレコード内の位置、フィールドの識別マーク（名前等）
、フィールドに含まれるデータ値が１次モデルのトレーニングに関して有用かどうかを示
すステータス／エリミネーションコード、及び必要となる２次モデルのタイプを示すコー
ド（好ましい実施形態における２次モデルのタイプはは予測タイプ、分類タイプのいずれ
か）を含む、データレコード内の各フィールドにヒューリスティックを適用した編集結果
をもつフィールドステータスデータ構造である。
【００２５】
２つ目のデータ構造又はコンピューターオブジェクトは、コンピューティングシステム
が処理に用いる１次モデルに提示されたデータレコードの欠損データを置き換えるために
、２次モデル又は３次モデルのどちらを用いるかを決定するために用いられる。このデー
タ構造は、記憶された３次モデルであるクラスタリングアルゴリズムを使用して無効デー
タをもつ複数のフィールドを含むデータレコードの置換データを生成するための指示を先
頭にもつ置換モデルデータ構造を備える。置換モデルデータ構造の残りの部分には、無効
データを含む単一のフィールドをもつデータレコードにおける置換データを生成するため
に、モデルの名前を指定することによりコンピューティングシステムが適切な２次モデル
にアクセスできるようにするための情報が含まれる。
【００２６】
本発明及びこれらの実施形態のこれらおよび他の態様および特徴は、この説明が進むに
つれてより詳細に記載される。発明の概要は、以下に詳細に説明される概念の選択を簡略
化された形で紹介するためにのみ、ここに提供される。さらなる要約は、以下の好ましい
実施形態の説明に従い、本明細書に開示されるシステム、方法、およびデータ構造の追加
の一般的および特定の目的、態様、および顕著な特徴を指摘する。上記の発明の概要も以
下の更なる概要も、本明細書で請求される主題の主要なまたは本質的な特徴を必ずしも特
定することを意図するものではない。
【図面の簡単な説明】
【００２７】
以下に記載する詳細な説明は、同様の数字および文字が全体を通して同様の特徴を指す
添付の図面と併せて解釈することによって、より深く理解される。以下は、詳細な説明で
使用される図面の簡単な説明である。
【００２８】
【図１】図１は、経験的数学モデルを生成するためのデータの集合体に対して機械学習アルゴリズムを適用するための、従来の経験的モデリングプロセス、コンピューティングシステムの動作のフローチャートを示す。
【００２９】
【図２】図２は、機械学習を使用して主要な経験的モデルを開発する際に使用するさまざまなデータセットの編成の代表的な概要である。
【００３０】
【図３】図３は、従来のデータレコードの構造についての代表的な情報を示し、本発明によるシステム及び方法を適用する際の準備段階における、利用可能な履歴データレコードの初期分析の結果を示す。
【００３１】
【図４】図４Ａ、図４Ｂ、及び図４Ｃを含む図４は、欠損値又は無効な値を含むデータレコードを、完全で名目上有効な値を含むデータレコードから分離し、本明細書に記載される本発明の実施形態による１次モデルを開発するための入力として有用ではないデータフィールドを更なる考察から排除した削減済みクリーンデータセットを生成するためにヒューリスティックを適用した結果を示す。
【００３２】
【図５】図５Ａ及び図５Ｂを含む図５は、１次モデルの開発に使用するため（図５Ａ）、及び単一又は複数の欠損／無効データの置換値をそれぞれ生成するための２次モデル、３次モデルの開発に使用し１次モデルの入力として指定されたフィールドのみを含み名目上有効なデータレコードを含み分離された補助クリーンデータセット（図５Ｂ）を作成するために、図４Ｂに示される処理によって作成されたデータセット内の完全で名目上有効なデータレコードの分割を示す。
【００３３】
【図６】図６Ａ及び図６Ｂを含む図６は、特定のデータレコード内の単一の欠損／無効データを置き換えるための２次モデルの２つの例をトレーニングするために使用されるデータレコードの構造を示す。
【００３４】
【図７】図７は、特定のデータレコード内の複数の欠損／無効なデータを置き換えるための３次モデルとして使用するための自己組織化マップをトレーニングするための一実施形態を示す。
【００３５】
【図８】図８は、特定のデータレコードを完成するために置換データ値が必要なときに使用する適切な２次又は３次モデルを識別するために使用されるデータ構造の要素を示す。
【００３６】
【図９】図９は、図７に従ってトレーニングされた３次モデルを使用することにより、２つの欠損／無効データ値を有するレコードの潜在的な置換値を識別するための一実施形態を示す。
【００３７】
【図１０】図１０は、図９に従って識別された潜在的な置換値を使用して、特定のデータレコード内の複数の欠損／無効データの各々について置換データ値を生成するためのプロセスを説明する。
【００３８】
【図１１】図１１は、図６に従ってトレーニングされた２次モデルを使用し、特定のデータレコードにおいて単一の置換データ値を生成するためのプロセスを示す。
【００３９】
当業者は、図面における縮尺は厳密なものではなく、一般に本質的に非常に概略的であ
ることを容易に理解し、それでもこの記載は、以下の詳細な説明を考慮してた上で本明細
書に記載のシステムおよび方法を作成および使用するためには十分である。
【発明を実施するための形態】
【００４０】
以下の説明は、一般に「機械学習」と呼ばれるものの基礎となる基本理論と原理を完全
に理解していることを前提とする。本主題を実装する様々な方法を示す特定の実施形態の
例を説明することは、機械学習、ニューラルネットワーク、および数学モデリングの関連
する原理の当業者によって容易に理解されるであろう。このため、当業者が本明細書に記
載される実施形態を実現することを可能にするためには必要ではない特定の事項の詳細の
記載は省略される。
【００４１】
当業者が認識するように、本明細書で開示され特許請求の範囲で記載される内容の説明
において、様々な図で説明され、図示される制御回路や構成要素は、それらに起因する機
能を実行できる任意の電子計算システムの例示であることを意味する。このようなコンピ
ューティングシステムは、通常、必要な入出力インターフェースデバイスと、適切なオペ
レーティングシステムおよびプログラム命令を実行するためのアプリケーションソフトウ
ェアを備えた中央処理装置（ＣＰＵ）とを含む。さらに、システムの要素を指す用語は、
参照を簡単にするために本明細書で使用される。例えば、「コンポーネント」という用語
。
「モジュール」、「システム」、「装置」、「インターフェース」等は、そうでないこと
が明示されない限り、一般に、ハードウェア、ハードウェアとソフトウェア（ファームウ
ェア）の組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかであるコン
ピュータ関連のエンティティを指すものとする。更に、さらに、「モジュール」又は「コ
ンポーネント」という用語は、それ自体が自己完結型の構造を意味するのではなく、特定
の機能を実行するために組み合わせるさまざまなハードウェアおよびファームウェアを含
むことができる。このため、電子計算デバイスで実行されているアプリケーション、デバ
イス自体の両方がこの「コンポーネント」になりうる。１つ又は複数のコンポーネントは
、プロセス及び／又は実行中のスレッド内に常駐することができ、コンポーネントは、１
つのコンピューティングデバイス上にローカライズする、及び／又は２つ以上のそのよう
なデバイス間で分散することができる。
【００４２】
図２は、本発明の本実施形態の適用に適した方法でデータを予備分割するために使用す
ることができる例示的な従来技術の方法の概要を示す。対象となるいくつかの事象に因果
関係があると推定される履歴データの生の値は、複数のソース（Ｄａｔａ  Ｓｏｕｅｃｅ
）Ａ、Ｂ、Ｃ、・・・Ｎから取得できるデータに含まれている。前記の信用格付けの例に
おいては、データソースは、個々の消費者の１つ以上の商業信用格付け会社のデータレコ
ードから取得でき。対象となる事象は、データの各行に関連付けられた個人の信用スコア
のデータである。個人のデータに郵便番号又は住所が含まれている場合、国勢調査データ
を取得し、同じ郵便番号の個人に関連付けることができるような望ましい人口統計情報を
組み込むことができる。すべてのソースから取得されたデータは、図１に示したコンピュ
ーティングモジュール１０８の非一時的記憶媒体１１０のベースデータセット（Ｂａｓｅ
Ｄａｔａｓｅｔ）２１０に整理されて配置される。履歴データは、対象となる１つ以上
の事象を反映する関連性（クラスター）を予測、分類、または識別するための１次モデル
や、本書に記載されているシステムと方法の重要な側面に従って１次モデルの有用性と精
度を高めるために、１次モデル及び３次モデルを開発するために使用される。
【００４３】
ベースデータセット２１０は、オプションでモデリングデータセット（Ｍｏｄｅｌｉｎ
ｇ  Ｄａｔａｓｅｔ）２１２と検証データセット（Ｖａｌｉｄａｔｉｏｎ  Ｄａｔａｓｅ
ｔ）２１４に分割される。モデリングデータセット２１２は、１次モデルの開発（トレー
ニング）で使用されるデータセットである。検証データセット２１４は、後述する状況で
使用された際に１次モデルがどの程度適切に機能するかを推定するために用いられる。ベ
ースデータセットを分割するためには既知の選択方法を使用でき、例えば、ラウンドロビ
ン方式、ランダム選択方式を用いる、あるいは最新のデータレコードを検証データセット
２１４に配置することができる。モデリングデータセット２１２、検証データセット２１
４に配置されるデータの量は、対象となる事象の性質およびベースデータセット２１０の
サイズに応じて変化し、典型的には、利用可能なデータの７０％から８０％がモデリング
データセット２１２に配置され、残り（２０％から３０％）が検証データセット２１４に
配置される。
【００４４】
１次モデルの開発において教師あり学習アルゴリズムが採用される場合、モデリングデ
ータセット２１２は、トレーニングデータセット（Ｔｒａｉｎｉｎｇ  Ｄａｔａｓｅｔ）
２１２Ａとテストデータセット（Ｔｅｓｔｉｎｇ  Ｄａｔａｓｅｔ）２１２Ｂに更に分割
されてもよい。教師あり学習アルゴリズムがトレーニングデータセットを反復処理する際
に、選択されたアルゴリズムの内部のさまざまな要素（アルゴリズム係数や重みなど）の
値がアルゴリズムの特性に従って調整される。教師あり学習アルゴリズムの性能は、現在
の状態のアルゴリズムを使用してテストデータセット２１２Ｂを処理し、適切な性能指数
の値、たとえば、履歴データの対象となる現象（クレジットスコアなど）とアルゴリズム
の出力との間の全体的な平均二乗誤差、を計算することによって定期的に評価される。こ
の開発ステップは、アルゴリズムがトレーニングデータセット２１２Ａに対して過剰適合
したことによって、将来における予測能力が損なわれるのを防ぐのに役立つ。試験データ
セット２１２Ｂに対するアルゴリズムの性能の改善が停止すると、このアルゴリズムはト
レーニングされたとみなされ、このアルゴリズムの重み、係数のに対する更なる調整は行
われない。検証データセット２１４は、モデリングデータセット２１２から開発された１
次モデルが使用され、モデリングデータセットに含まれていない新しいデータを処理する
ときのパフォーマンスを推定するために使用される。１次モデルの開発に教師なし学習ア
ルゴリズムが使用される場合、ターゲット値はなく、ベースデータセット２１０全体が使
用される場合があり、数回の反復動作の後にトレーニングが終了する。その場合、ベース
データセットは、モデリングデータセットと検証データセットには分割されない。
【００４５】
データレコードの初期構造と従来の準備処理操作の詳細について、図３を参照して説明
する。この説明では、明確にするために限られた数のデータポイントが使用されているが
、実際のデータセットは、対象の事象との因果関係があると想定される数千または数百万
のデータポイント（教師あり学習のデータの場合は各行に含まれる目標値とされる）から
なる行（レコード）で構成され、各行には数百以上のデータポイント（フィールド）を含
むことができる。この単純化された例では、データソースＡはｖ１とＶ２で表される２つ
のデータ値を含み、データソースＢは、ｖ３、ｖ４、ｖ５、ｖ６で表される４つのデータ
値を含み、データソースＣは、ｖ７、ｖ８、ｖ９、およびｖ１０で示される４つのデータ
値を含む。コンピューティングシステム１００の入力／出力デバイス（キーボード１０２
、マウス１０４、モニター１０６等）とすぐに利用できる市販のソフトウェアをモデル開
発者が使用して、異なるソースから、コンピューティングモジュール１０８による処理に
おいて用いられる非一時的記憶媒体１１０のベースデータセット２１０にデータをロード
する。
【００４６】
図３は、離散データ値ｖ１からｖ１０が同時に整列され、複数のデータ行[１からＮ）
をもつ初期構成３１０をもつ複数のフィールドを含むデータレコードの形式でベースデー
タセット２１０に配置される方法が形式３１２によって概念的に示されている。このデー
タ構造では、各フィールドの値（フィールド値）は「ｖｆ」として識別され、「ｖ」はデ
ータ値、「ｆ」はレコード内のフィールド（列）番号であり、「（Ｉ）」で識別されるフ
ィールド値は、モデル開発者が１次モデルの入力値として指定する。「（Ｔ）」で識別さ
れるフィールド値は、その行の目標値（つまり、対象となる事象）として指定される。こ
こで言及されるクレジットスコアの例に適用される場合には、値ｖ１〜ｖ９は消費者の履
歴情報であり、ｖ１０は特定の時間における履歴データｖ１〜ｖ９に対応する消費者のク
レジットスコアである。（１次モデルが教師なし学習アルゴリズムを採用している場合、
目標値は指定されない。）
【００４７】
図３の大きな矢印で示されているように、ベースデータセットの初期構造３１０には、
それぞれが形式３１２で示されるようなデータとなる複数の行が含まれ、複雑な機械学習
環境では数百のデータフィールドがあり、各行において、そのいくつかは目標値である場
合があり、対応するフィールド値を含み各々が形式３１２で示されるデータとなっている
数千以上の行についても同様である。この例示的な実施形態では、１次モデルが教師あり
学習アルゴリズムである場合、この１次モデルは履歴目標値ｖｆ（Ｔ）を生成する履歴入
力値ｖｆ（Ｉ）間の経験的関係を確立する。これにより、このアルゴリズムは、モデルが
使用されるときに、モデルへの個々の入力に関連するデータ値のセットの目標値を予測ま
たは分類できる。あるいは、１次モデルが教師なし学習アルゴリズムによって作成された
場合、このアルゴリズムは、整数の「ノード」番号で識別される、類似していると認識さ
れるデータレコードのクラスターを識別し、この状況は、この１次モデルがサービスに使
用された場合において、新しいデータレコードに対して、最も類似しているクラスターの
ノード番号を割り当てる動作と同様である。
【００４８】
データレコードの構造が決定された後、ベースデータセット全体が、ベースデータセッ
ト２１０の初期構造３１０の各行３１２からデータセット（フェーズ１データセット）３
３０の対応する行３２０へ実線矢印で示されるようにするフェーズ１処理を受ける。この
処理は、データフィールドから図３におけるデータ型表示である３２０（ｖ１）、３２０
（ｖ２）、３２０（ｖ３）、・・・３２０（ｖ９）、３２０（ｖ１０）へ向かう実線矢印
で示されるように、各フィールドのデータ型（つまり、フィールドが数値データ（Ｎｕｍ
ｅｒｉｃ）であるか、あるいは非数値のシンボル（Ｓｙｍｂｏｌｉｃ）であるかが予め判
明している）を関連付ける。有効な目標値のないレコードは１次モデルのトレーニングに
使用できないため、フェーズ１の処理では、目標値（開発者が指定した場合）がないか無
効なデータレコードは破棄される。特定のフィールドの欠損データ／無効データの型が数
値であるかシンボルであるかの判断は、ヒューリスティックに基づく。例えば、特定のフ
ィールド（ｖ５等）の有効な値の９９％が数値である場合は、つまりエラーなしで整数ま
たは浮動小数点の数に直接変換できるため、このフィールドは数値フィールドであるとみ
なされ、それ以外の場合は、シンボルのフィールドであるとみなされる。この結果が、図
４を参照して次の段落でより完全に説明されるように、複数のＮ行３２０を含むフェーズ
１データセット３３０である。フェーズ１データセットは、非一時的記憶媒体１１０（図
１）に記憶される。
【００４９】
図４Ａは、フェーズ１データセット３３０を概念的に、Ｎ行３２０１、３２０２、・・
・３２０５、３２０６、…、３２０Ｎ、及びＫ列（この例ではＫ ＝ １０）の行列として
表し、各列は履歴データにおける履歴データのフィールドの一つに対応し、履歴データの
目標値ｖ１０（Ｔ）（Ｋ＝１０の場合）を含むＫ番目の列は、同じ行の他のデータである
ｖ１（Ｉ）〜ｖ９（Ｉ）の目標値となる。フェーズ１データセット３３０は、図４Ａの矢
印で示されるようにフェーズ２処理を受ける。この処理においては、フェーズ１データセ
ット内の全てのデータレコードが分析され、図４Ａの影付きのフィールドで示されている
、欠損データまたは無効データを含むデータレコード（列３２０５及び列３２０６）はコ
ンピューティングモジュール１０８の非一時的記憶媒体１１０にフェーズ２不良データセ
ット（Ｐｈａｓｅ２  Ｆａｕｌｔｙ  Ｄａｔａｓｅｔ）４０２として記憶される。欠損デ
ータ、無効データは様々な方法によって識別可能である。一般的には、欠損データは、間
に他の文字を介在せずに区切り文字が２つ連続する（例えば、２つのデータの区切りとな
るべきコンマが連続して２つある場合）箇所として定義できる。又は、区切り記号がデー
タレコードの最初又は最後にある場合、データレコードの最初又は最後のデータがそれぞ
れ欠落している。無効データは、フィールド値が数値であることが予想される場合にアル
ファベット文字または記号文字を含む場合、または開発者または管理者によって指定され
たデータレコード内のフィールドの有効な値の範囲外の値である場合には、このフィール
ドのデータは無効データであると推定される。後に続く処理を効率的に行うために、全て
の無効データは、フェーズ２不良データセット４０２に記憶される際には、データが存在
しないものとして（すなわち、欠損データとして）設定される。行３２０１、３２０２、
３２０Ｎ等、無効データや欠損データのない完全なデータレコードは、非一時的記憶媒体
１１０においてフェーズ２クリーンデータセット（Ｐｈａｓｅ２  Ｃｌｅａｎ  Ｄａｔａ
ｓｅｔ）４０４として記憶される。本明細書に記載されるシステムおよび方法の本実施形
態に従って、フェーズ２不良データセット４０２内の欠損データ又は無効データは、可能
な範囲で置換される。
【００５０】
次に、フェーズ２クリーンデータセット４０４は、図４Ｂに概略的に示されているフェ
ーズ３処理を受ける。ここでは、フェーズ２クリーンデータセット４０４全体の全てのフ
ィールドで見つかった値からの統計的な結果が計算され、その後、ヒューリスティックが
適用されることによって１次モデルの開発に役立たないフィールドが認識され、削除され
る。図４Ｂにおいて再び示されたＮ番目（最後）の行３２０Ｎは、フェーズ２処理データ
セットのデータ行へフェーズ３処理が適用される例である。最初の例となる列ｖ１では、
データの数値はシーケンス番号を示し、例えばレコード番号１としてｖ１＝１００１、レ
コード番号２としてｖ１＝１００２、レコード番号５０としてｖ１＝１０５０等、とされ
る。ヒューリスティック分析においては、レコード毎にこれらの値は１ずつ単調に増加し
ており、このようにレコード毎に単調に１ずつ連続する値が目標値に影響を及ぼすことは
なく、クラスタリングに影響することもないため、４１２で記号「≠」で示されるように
、ｖ１のフィールドは以降の解析においては除外される。次の例は、特有の数値が多く含
まれるシンボルである。例えば、ｖ８が通常のフォーマットの社会保障番号（ダッシュを
含むｎｎｎ−ｎｎ−ｎｎｎｎの形式）である場合、ヒューリスティック分析によって、４
１４で記号「≠」で示されるように、更にｖ８のフィールドも以降の解析においては除外
される。これは、社会保障番号を構成する一連の文字列はランダムな文字列であり、これ
が目標値に影響を及ぼすことはなく、クラスタリングに影響することもないためである。
このような既知のヒューリスティックを開発者が適用し、他のフィールドについても同様
に除外することができる。
【００５１】
他のデータは、図５を参照して後述されるように、図４Ｂの矢印で示されるように、こ
のようなＤ行４２０を含むフェーズ３削減済みクリーンデータセット（ｐｈａｓｅ３  ｒ
ｅｄｕｃｅｄ  ｄａｔａｓｅｔ）４３０に変換される（Ｄ行の数は、適正でない値をもつ
行がクリーンデータセット４０４には含まれないため、フェーズ１データセットの数であ
るＮとは異なる）。このデータセットに適用される用語は次のとおりである。「Ｄ」は行
（レコード）番号である。「Ｒｘ」は、この値が削減済みクリーンデータセット４３０中
のものである（このためｖ１、ｖ８は含まれない）ことを示し、数値「ｘ」は削減済みク
リーンデータセット中の列（フィールド）番号である。「ｖｆ」はフェーズ２クリーンデ
ータセット中の列番号（前記の通り）を示し、「（Ｉ）」はこのデータが目標値（「（Ｔ
）」で示される）ではないことを示す。フェーズ３削減済みクリーンデータセット４３０
は、非一時的記憶媒体１１０（図１参照）に保存される。
【００５２】
フェーズ３の処理に関連して、フィールドステータスデータ構造（Ｆｉｅｌｄ  Ｓｔａ
ｔｕｓ  Ｄａｔａ  Ｓｔｒｕｃｔｕｒｅ）４４０（その抽象は図４Ｃに示されている）は
、フェーズ１データセット３３０の各データフィールドに対して構築され、非一時的記憶
媒体１１０に記憶される。フィールドステータスデータ構造４４０のエントリは、データ
セット構造のエントリに含まれる一般的な情報を示すボックス４４２に示されている形式
を有する。エントリの最初の要素を構成する「Ｆｉｅｌｄ  Ｎｕｍｂｅｒ」４４２ａは、
フェーズ１データセット３３０のレコード（行）でこのエントリに対応するフィールドの
位置を一意的に示す識別子である。エントリの２番目の要素は「Ｆｉｅｌｄ  Ｎａｍｅ」
４４２ｂであり、エントリの３番目の要素はフィールドの「Ｓｔａｔｕｓ」４４２ｃであ
り、削減済みクリーンデータセット４３０を生成する処理中に決定される。エントリの最
後の要素は、フィールドの「Ｔｙｐｅ」４４２ｄ（「ｎｕｍｅｒｉｃ（数値）」、「ｓｙ
ｍｂｏｌｉｃ（シンボル）」、あるいはフェーズ３の処理中にフィールドが削除された場
合は「ｉｇｎｏｒｅ（無視）」）である。フィールドステータスデータ構造４４０の第１
の例である４４４１においては、Ｆｉｅｌｄ  Ｎｕｍｂｅｒ「１」（ｖ１）が関連付けら
れていることが示され、データセットの「Ｓｅｑｕｅｎｃｅ」という名前のフィールドで
あることが示され、「Ｓｔａｔｕｓ」の「５」は、これがシーケンス情報であるために機
械学習アルゴリズムにとっては有益ではなく「ｉｇｎｏｒｅ」とされ、このフィールドが
削減済みクリーンデータセットからは除去されていることが示されている。２番目の例で
ある４４４２においては、フェーズ３処理で削除されなかったフィールドがフィールドス
テータスデータ構造においてどのように表されるかが示されており、Ｆｉｅｌｄ  Ｎｕｍ
ｂｅｒが「４」、Ｆｉｅｌｄ  Ｎａｍｅが「Ｉｎｃｏｍｅ（収入）」、Ｓｔａｔｕｓが０
（０は、フェーズ３の処理中に削除されなかった全てのフィールドに対して付与される）
、Ｔｙｐｅは「ｎｕｍｅｒｉｃ」とされる。
【００５３】
フィールドステータスデータ構造４４０の実際のソフトウェア実装において、エントリ
の必要な要素は、単一のフィールドに格納されている単一のソフトウェアオブジェクトに
組み合わせることができる、あるいは、エントリの個々の要素は、同じタイプの項目の配
列に格納でき、これにより、特定のフィールドに関する情報は、このフィールドに関連す
る要素の各配列のフィールド番号に対応する場所で利用できる。コンピューティングシス
テム１００の中央処理装置（ＣＰＵ）１１２は、フィールドステータスデータ構造４４０
の情報を使用し、有効なデータ値が欠落しているときにフィールドの代替値を提供するた
めに２次モデルを作成する必要があるか否かと、後述するような２次モデルの種類（予測
又は分類）とを定める。削減済みクリーンデータセット４３０を生成するためには、フェ
ーズ２クリーンデータセット４０４の各レコードが最後に１回処理され、その間にフィー
ルドステータスデータ構造４４０の要素が各フィールドに対して参照され、０以外のＳＴ
ＡＴＵＳをもつ各フィールドは削減済みクリーンデータセット４３０用にアセンブルされ
たデータレコードには含まれない。
【００５４】
図５Ａは、本実施形態の次のフェーズに従ってフェーズ３削減済みクリーンデータセッ
ト４３０を処理した結果を示す。削減済みクリーンデータセット４３０のデータレコード
４２０１、４２０２、４２０２、・・・、４２０Ｄは、本実施形態による１次モデルを開
発する際に使用するために、図２に関連して前記のとおり説明されたように、クリーンモ
デリングデータセット（Ｃｌｅａｎ  Ｍｏｄｅｌｉｎｇ  Ｄａｔａｓｅｔ）５０２とクリ
ーン検証データセット（Ｃｌｅａｎ  Ｖａｌｉｄａｔｉｏｎ  Ｄａｔａｓｅｔ）５０４に
分割される。典型的には、利用可能なデータレコード（行）の７０％から８０％をクリー
ンモデリングデータセット５０２に、残りのデータレコードはクリーン検証データセット
５０４に分割される。説明されたように、実際の分割は、置換なしのラウンドロビンやラ
ンダム選択等の一般的な選択手法を使用して行われる。図５Ｂは、前記の形式４２０に対
応するがＲ８ｖ１０（Ｔ）ターゲットフィールドをもたないデータレコード（行）５２０
１、５２０２、…、５２０Ｄを含む補助クリーンデータセット（ａｕｘｉｌｉａｒｙ  ｃ
ｌｅａｎ  ｄａｔａｓｅｔ）５１０を示す。補助クリーンデータセット５１０は、以下で
説明するように、データフィールドの置換値を提供するために使用される２次モデル、３
次モデルを開発するために使用される。削減済みクリーンデータセット４３０のサイズと
モデル開発者の判断に応じて、削減済みクリーンデータセット４３０の全てのデータレコ
ード（１次モデルのターゲットフィールドとして指定されたフィールドを除く）を補助ク
リーンデータセット５１０に配置できる。又は、削減済みクリーンデータセット４３０内
のデータレコードは、モデリングおよび検証データセット（図示せず）にさらに分割され
、それにより、説明されるべき２次モデル性能の推定が検証データセットを介して計算さ
れる。
【００５５】
図６は図６Ａ、図６Ｂを含み、単一のフィールドだけが欠損データ／無効データである
行のデータフィールド値を置き換えるために使用される２次モデルの作成について説明す
る図である。ベースデータセット２１０に記憶される２次モデルの数は、１次モデルの入
力フィールドの数でもある補助クリーンデータセット５１０のフィールドの数に等しい。
補助クリーンデータセット５１０からの２次モデルトレーニング用レコードでは、特定の
２次モデルのトレーニング用レコードを形成するために、１つのフィールドがトレーニン
グターゲット値として一時的に指定され、残りのフィールドがトレーニング入力値として
指定される。各２次モデルの種類（予測又は分類）は、フィールドステータスデータ構造
４４０の対応するエントリのタイプ要素４４２ｄに含まれる、その特定の２次モデルのト
レーニングターゲットとして選択されたフィールドのタイプによって決定される。図６Ａ
は、元のフィールドｖ２（図３ではシンボリック値を含み、したがってフィールドステー
タスデータ構造４４０の対応するエントリに「ｓｙｍｂｏｌｉｃ」のＴｙｐｅ４４２ｄを
有するフィールドとして識別される）の分類モデルのトレーニングレコード６１０の構造
を示す。ここで、Ｒ１ｖ２（履歴データ値ｖ２を表す縮小レコードフィールドＲ１）は、
目的が分類であることを示す表記（ＣＴ）で表されるターゲット値６１２をもつ。図６Ｂ
は、元のフィールドｖ９の予測モデルのトレーニングレコード６２０の構造を示す（図３
では、数値を含むフィールドとして識別され、したがって、フィールドステータスデータ
構造４４０の対応するエントリに「ｎｕｍｅｒｉｃ」のタイプ４４２ｄを有する）。ここ
で、Ｒ７ｖ９（履歴データ値ｖ９を表す縮小レコードフィールドＲ７）は、目的が予測で
あることを示す表記（ＰＴ）で表されるターゲット値６２２をもつ。
【００５６】
２次モデルの作成に使用される機械学習アルゴリズムの形式は、モデル開発者により選
択される。好ましい実施形態でにおいては、２次モデルは、逆伝播によってトレーニング
される多層フィードフォワードニューラルネットワークである。２次モデルの作成に適し
たこのタイプの基本的なアルゴリズムの例は、Ｗｉｋｉｐｅｄｉａのエントリ「フィード
フォワードニューラルネットワーク」（ｈｔｔｐｓ：／／ｅｎ．ｗｉｋｉｐｅｄｉａ．ｏ
ｒｇ／ｗｉｋｉ／Ｆｅｅｄｆｏｗａｒｄ＿ｎｅｕｒａｌ＿ｎｅｔｗｏｒｋ）で説明されて
いる。また、機械学習及び人工知能の当業者に知られている他のタイプのアルゴリズムを
使用して、本明細書の議論と整合する２次モデルを作成できることも明らかである。トレ
ーニングの終わりに、新しいデータレコードを使用してモデルを実行するために必要なす
べての情報を含む各２次モデルは、非一時的記憶媒体１１０に記憶される。各２次モデル
が作成されると、一貫した規則に従って名前が付けられる。好ましい実施形態では、この
名前は、１次モデルの目的を識別する用語を含み、データレコード３２０内の対応するフ
ィールドの位置及び１次モデルの入力レコード４２０内のフィールドの位置を示すための
情報がこれに付加される。例えば、「Ｃｒｅｄｉｔ＿Ｆ００２＿Ｍ００１」という名前の
２次モデルは、対象となるクレジット関連の問題に対して作られた１次モデルにおいて、
入力番号１（図４Ｂにおけるクリーンデータセット４３０の最初の位置Ｒ１となるＭ００
１）にマップされているデータレコードのフィールド番号２（Ｆ００２、値ｖ２、図３）
に対するモデルである。この２次モデル名は、図８を参照して以下で詳しく説明するよう
に、置換モデルデータ構造に配置される。
【００５７】
図７は、３次モデルをトレーニングし、トレーニング結果に関する情報を保持するプロ
セスを示す。３次モデルの好ましい実施形態は、コホーネン自己組織化マップ（Ｔ．Ｋｏ
ｈｏｎｅｎ、「Ｓｅｌｆ−Ｏｒｇａｎｉｚｉｎｇ  Ｍａｐｓ」、３ｒｄ  Ｅｄｉｔｉｏｎ
、Ｓｐｒｉｎｇｅｒ−Ｖｅｒｌａｇ、２００１年）である。本明細書で説明される３次モ
デルのトレーニングに適した自己組織化マップアルゴリズムを説明する他の参考資料とし
ては、Ｊ．Ｂｒｏｗｎｌｅｅ、「Ｃｌｅｖｅｒ  Ａｌｇｏｒｉｔｈｍｓ」、１ｓｔ  Ｅｄ
ｉｔｉｏｎ、Ｊａｓｏｎ  Ｂｒｏｗｎｌｅｅ（２０１１年）（セクション８．６、８３６
頁から８４２頁）や、Ｊ．Ｔｉａｎ等、「Ａｎｏｍａｌｙ  Ｄｅｔｅｃｔｉｏｎ  Ｕｓｉ
ｎｇ  Ｓｅｌｆ−Ｏｒｇａｎｉｚｉｎｇ  Ｍａｐｓ−ＢａｓｅｄＫ＾Ｎｅａｒｅｓｔ  Ｎ
ｅｉｇｈｂｏｒ  Ａｌｇｏｒｉｔｈｍ」、Ｅｕｒｏｐｅａｎ  Ｃｏｎｆｅｒｅｎｃｅ  ｏ
ｆ  ｔｈｅ  Ｐｒｏｇｎｏｓｔｉｃｓ  ａｎｄ  Ｈｅａｌｔｈ  Ｍａｎａｇｅｍｅｎｔ  
Ｓｏｃｉｅｔｙ（２０１４年）がある。これら３つの全ては、本発明の本実施形態を実施
するために使用できるクラスタリングアルゴリズムに関する背景技術の参考として本明細
書に組み込まれる。以下で説明するように、変換された、補助クリーンデータセット５１
０（図５Ｂ）のデータレコード５２０Ｄは、この例示的な実施形態の３次モデルをトレー
ニングするために使用される。当業者は、３次モデルの構築において、クラスタを定義す
るための重みのセットを調整するために複数のトレーニングデータレコードを自律的に使
用できる任意の適切なクラスタリングアルゴリズムを使用できることを認識するであろう
。この重みのセットは、当該技術分野では、クラスタの「重心」と呼ばれることがある。
【００５８】
本実施形態において、３次モデルをトレーニングする特定のアルゴリズムの適用を明確
にするために、アルゴリズムがみなしたデータレコードのセットを識別する方法として、
より一般的な「クラスタ」の代わりに「ノード（ＮＯＤＥ）」という用語が使用される。
「ノード」は、その重みの値によって数学的に定義され、整数で識別される。アルゴリズ
ムのトレーニングプロセス中に、データレコードは、番号で識別される特定のノードに、
ノードの重みを使用する類似度計算に基づき、「割り当て」られる。図７では、ノードの
重みは「Ｗｐ−ｙ」という表記で指定され、ここで、ｐはノード番号、ｙはノード内の重
みＷの番号を示す。例えば、重みＷ１−３はノード番号１の３つ目の重み値である。 補
助クリーンデータセット５１０のある一つのレコード５２０Ｄのノードの重みに対する類
似度は、[（Ｘ１−Ｙ１）２＋（Ｘ２−Ｙ２）２＋・・・＋（Ｘｄ−Ｙｄ）２]１／２で示
されるような、ｄ次元空間内の任意の２つのｄ次元ベクトルＸとＹの間のユークリッド距
離などの類似度メトリックによって計算される。各ノードにおける重みの初期値は−１．
０〜＋１．０の範囲でランダムに設定される。ノード内の重みＷの数（すなわち問題空間
の「次元数」）は、特定のデータレコードについて、以下で説明するように、変換の総数
に等しくなる。従って、全ての３次モデルのトレーニングデータレコードは同じ数の変換
値を持ち、各ノードの重みの数は３次モデルのトレーニングデータレコードの変換値の数
と等しい。図７の文字Ｐで示される特定の３次モデル内のノード又はクラスタの数は、通
常、補助クリーンデータセット５１０内のデータレコードの数Ｄに基づくヒューリスティ
ックを使用して決定される。例えば、上記のＴｉａｎの論文では、５× [√（レコード数
）]を使用して自己組織化マップアルゴリズムのノードの総数を計算することが提案され
ている。
【００５９】
３次モデルのトレーニング中、個々のトレーニングデータレコードはそれぞれ、補助ク
リーンデータセット５１０のデータレコード５２０Ｄの構造に対応する構造をもつ。ただ
し、数学的類似度メトリックを計算するには、前述のようにシンボリック値を１−ｏｆ−
ｎ数値に変換する必要がある。本実施形態における値ｖ２及びｖ６はシンボリックである
（図３）。ここでは、これらの各フィールドは２つの一意のシンボリック値であると想定
されるため、各フィールドは２つの変換値によって表される。特定のシンボリック値の場
合、変換値の１つは「０」になり、他方は「１」になる。３次モデルのこのような特徴は
、値ｖ２と重みＷｎ−１及びＷｎ−２の対応、および値ｖ６と重みＷｎ−６及びＷｎ−７
の対応によって図７に示される。データレコードの数値ｖも同様に変換（スケーリング）
され、その範囲は−１．０≦ｖ≦＋１．０になる。変換値をもつ最終的なトレーニングデ
ータレコードは、３次モデルの各ノードにおける重みＷｘ−１〜Ｗｘ−９（ここでは参照
を容易にするためにＷｘ１〜Ｗｘ９とする）があるのと同じ数の値をもつ。
【００６０】
３次モデルマップを構築する次のステップは、補助クリーンデータセット５１０内のす
べての変換されたデータレコードを個別に繰り返し処理することを含む。これは、各ノー
ドの重みとスケーリングされた各変換済みデータレコードの値を使用して類似度メトリッ
クを計算することを含み、図５Ｂに示されたデータレコード５２０１〜５２０Ｄが上記の
ように変換及びスケーリングされたことを示すためにプライム（’）が付加されて図７に
示されている。前記のように、本例はＰ個のノードを有し、類似度メトリックは、各ノー
ドＰに関して、クリーンで変換された各データレコード５２０１’〜５２０Ｄ’に対して
計算される。ノード番号１に関する特定のデータレコードの類似度メトリックの計算は、
入力フィールド変換からノード１の対応するノードの重みへの実線７０１１で表される（
明確化のために、図７では行７０１１、７０１２、７０１３、及び７０１９のみにラベル
が付与されている。）。入力フィールドの変換された値からノード２の対応するノードの
重みへの２点鎖線７０２１は、同じ変換されたデータレコードとノード２のノードの重み
の間の類似度メトリックの計算を表す（明確化のために、図７では７０２１、７０２２、
７０２３、７０２４、７０２７、７０２８、及び７０２９の行のみにラベルが付与されて
いる。）。ノード３に関連付けられた点線７０３（対応する重み値Ｗを示す添え字「ｉ」
を有する）、及びノードＰに関連付けられた点線（そのうちいくつかは明確に化のために
にラベル付与されていない）は検討中のデータレコードに関するこれらのノードに関する
類似度メトリックの計算を表す。類似度メトリックがユークリッド距離の場合、計算は式
[（ｖ２ｔｒａｎｓ１−Ｗｘ１）２＋（ｖ２ｔｒａｎｓ２−Ｗｘ２）２ ＋（ｖ３−Ｗｘ３
）２＋・・・＋（ｖ９−Ｗｘ９）２］１／２に従う。ここで、ｖ２ｔｒａｎｓ１及びｖ２
ｔｒａｎｓ２は、フィールド２の元の値ｖ２の変換後の値を示す。同様に、フィールド６
の元の値ｖ６の変換後の値を示す２つの値ｖ６ｔｒａｎｓ１とｖ６ｔｒａｎｓ２がある。
【００６１】
検討中の現在のデータレコード（すなわちデータレコード５２０１’〜５２０Ｄ’のう
ちの１つ）と全てのノード間で類似度メトリックが計算された後、データレコードに「最
も近い」（最小のユークリッド距離をもつ）ノードが最も類似していると見なされ、「勝
者」と宣言される。次に、勝者ノードと、例えば円や正方形などの近傍形状によって識別
される隣接ノードにおける重みの値が、この近傍の各ノードの重心とデータレコードとの
間の距離が小さくなるように、学習係数に従って、自己組織化マップアルゴリズムを実装
するために使用される既知の技術と同様に調整される。このプロセスは、指定された反復
回数（例えば変換された各レコードのフィールド数の１０００倍等、ヒューリスティック
に基づいて定まる値）、又は全てのノードのそれぞれの重みが収束するまで繰り返される
。収束は、機械学習に精通している人に知られている様々な方法で定義できる。例えば、
任意のノードにおける現在の重みと以前の重みの間の距離の２乗が、モデル開発者が指定
した所定のしきい値の２乗より小さくなるまで反復計算させることができる。本発明者は
、ノードのセット内の任意の２つのノード間の可能な最大のユークリッド距離の０．１％
を閾値として使用したが、トレーニングレコードの数に応じて他の値を使用することもで
きる。重み調整値がしきい値を下回ると、指定された反復回数に達していなくても、３次
モデルのトレーニングが終了し、一般に、収束閾値はマップの安定性の指標となる。
【００６２】
３次モデルのトレーニングが終了すると、３次モデルに関する情報がデータ構造に配置
され、コンピューティングシステム１００の非一時的記憶媒体１１０に格納される。この
情報には、フィールド値に適用される変換のタイプと、３次モデルの各ノードの重みの最
終値が含まれる。他に含まれる値としては、各ノードが「勝者」と宣言された割合／頻度
がある。この値は、モデルトレーニング中に特定のノードが勝者と宣言される度にノード
固有のカウンターをインクリメントし、各ノードのカウンターの最終値を、処理されたト
レーニングデータレコードの総数の積で割ることによって決定され、この例では、補助ク
リーンデータセット５１０のデータレコードの数Ｄに、データセット全体の実際の反復回
数を掛けたものとなる（収束したためにトレーニングが終了する可能性を考慮したため）
。特定のノードがどのデータレコードとも最も類似していなかった場合、その重みは調整
されず、ノードのカウンターの値は零であり、勝つ頻度は零となる。
【００６３】
図８は、１次モデルのトレーニングに使用される履歴データレコード、又は１次モデル
が使用された後においてこの１次モデルで処理するためにコンピューティングシステムに
導入された新しいデータレコードにおける無効データの欠落値の代替値を生成する２次及
び３次モデルに関する情報を効率的に維持するために非一時的記憶媒体１１０に格納され
る置換モデルデータ構造（Ｒｅｐｌｅｃｅｍｅｎｔ  Ｍｏｄｅｌ  Ｄａｔａ  Ｓｔｒｕｃ
ｔｕｒｅ）８００を示す。この置換モデルデータ構造は、図４Ｃに関連して上記で説明さ
れたフィールドステータスデータ構造４４０に以前に配置された情報を含む。また、著作
権情報を含むエントリ、非一時的記憶媒体１１０に保存されている２次及び３次モデルデ
ータ構造のデフォルトの場所を含むエントリ、その他の情報を含むエントリ等の管理情報
も含まれる。置換モデルデータ構造８００は、コンピューティングシステムが本明細書で
説明されている方法を実施するときに、図１のデータ準備ステップＳ１０６中にコンピュ
ーティングシステム１００において作成される。
【００６４】
一実施形態では、置換モデルデータ構造８００は、ＪＳＯＮ（Ｊａｖａ  Ｓｃｒｉｐｔ
Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）フォーマットで格納される。置換モデルデータ構造
が不注意または悪意により変更されることを防止するために、ＭＤ５又はＳＨＡ−２５６
ハッシュ署名等の署名を生成し、生成時にデータ構造に追加することもできる。置換モデ
ルデータ構造と２次及び３次モデルが配されて実行されると、以下に説明するように、こ
のデータ構造はコンピューティングシステムによって検証される。これにより、元のコン
ピューティングシステム１００またはモデルとデータ構造が生成されたコンピューティン
グシステムとは異なるコンピューティングシステムのいずれかで実装が行われる際の、セ
キュリティレベルが高まる。
【００６５】
少なくとも、置換モデルデータ構造８００には、無効な値を含む１つ以上のフィールド
をもつデータレコードに対して１次モデルを適用するに際して、コンピューティングシス
テム１００が適切な２次モデル又は３次モデルをこのデータレコードに適用するのに十分
な情報を含む。本実施形態では、データ構造８００は、本例では「クラスタリング」であ
る３次モデルの名前を含む第１のエントリ８０２を有し、これは、３次モデルを生成する
ために使用されるアルゴリズムのタイプを反映することが好ましい。ボックス８０４に示
される一般的な形式とされた他のエントリは、ベースデータセット２１０において図３に
示されるように編成されたデータレコードの各入力フィールドに対応する。この追加の各
エントリにおいて、（ａ）「Ｆｌｄ Ｎａｍｅ」（フィールド名）要素８０４ａは、デー
タセット２１０内のデータレコード内のフィールドに関連付けられた、エントリが対応す
るフィールドの名前を含む。（ｂ）「Ｆｌｄ Ｉｎｄｅｘ」（フィールドインデックス）
要素８０４ｂは、１次モデルの入力データレコード５２０におけるフィールドの値のゼロ
ベースの位置を示す（ここで、レコード３２０内のフィールドの相対的な位置は、レコー
ド５２０内の対応する場所において維持される）、あるいは、フェーズ３の処理でフィー
ルドが削除された場合は空になる（図４Ｂ）。（ｃ）最終要素８０４ｃは、（ｉ）フィー
ルドの置換値を生成するために使用する２次モデルの名前を示すか、または（ｉｉ）フェ
ーズ３の処理中にフィールドが削除された理由を示すコードを含む（図１０）。コンピュ
ーティングシステムは、データレコード３２０のフィールドを識別するフィールド番号（
図４Ｃ参照）を使用し、置換モデルデータ構造８００の適切なエントリにアクセスし、次
に、フィールドに作成された２次モデルの名前、あるいはフィールドが削除され、１次モ
デルで使用されなかったことを示すコード（図４Ｃのステータス／削除コード４４２Ｃに
対応）を含むエントリの要素８０４ｃにアクセスする。
【００６６】
例えば、図８に示す本実施形態では、データ構造８００のエントリ８０６１は、データ
レコード３２０のフェーズ３の処理中に値が削除されなかったフィールド２に対応する。
このエントリには、フィールド名要素８０４ａとして「Ｏｃｃｕｐａｔｉｏｎ」が含まれ
、フィールドインデックス要素８０４ｂには０が含まれる（１次モデルで使用するレコー
ド５２０の位置Ｒ１に対応）。要素８０４ｃは、図６に関連して前述したように、フィー
ルド２の置換値を生成するために作成された２次モデルの名前（この例では「Ｃｒｅｄｉ
ｔ＿Ｆ００２＿Ｍ００１」）を含む。フォーム３２０（図３）のデータレコードが１次モ
デルによる処理のために提示され、データレコードでフィールド２の値のみが欠落してい
る場合、コンピューティングシステムは、フィールド２に対応するデータ構造８００のエ
ントリにアクセスし、フィールド２の２次モデルを使用し、フェーズ３の処理で削除され
なかったデータレコード３２０の入力フィールドの他のすべての値を処理して、フィール
ド２の置換値を生成し、次に、フィールド２の置換値をデータレコード３２０から削除さ
れていない他の入力フィールドの値と組み合わせ、１次モデルのトレーニングに使用する
完全なデータレコード４２０、あるいは１次モデルによる処理のための完全なデータレコ
ード５２０を準備する。
【００６７】
１次モデルによる処理のために提示されたデータレコードのフィールドがフェーズ３処
理（図４Ｂ）で削除された場合、データ構造８００のフィールドの対応するエントリ８０
６２には、「ＳＳＮ」（社会保障番号）等のフィールド名８０４ａがフィールド８に与え
られ、フィールドインデックス８０４ｂは空になり、モデル名８０４ｃの代わりに、フィ
ールドＮ−ｖ８（Ｉ）が削除されたことを示すコード（この例では「０５」）が用いられ
る（図４Ｂ参照）。図４Ｂで説明した処理の結果として、複数のコード値の１つがこのフ
ィールドに割り当てられる可能性があり、この場合、各値はフィールドが削除された特定
の理由を示す、又は不特定の理由でフィールドが削除されたことを単に示す１つのグロー
バルコード値となる。本明細書で説明するデータ準備システムおよび方法で置換モデルデ
ータ構造８００を使用すると、データ構造８００の２次及び３次モデルに関する情報が非
一時的記憶媒体１１０からロードされ、計算モジュール１０８内のＣＰＵ１１２による高
速アクセスのための一時的記憶媒体（ＲＡＭ）１１４に格納されたリスト（配列）に配置
される。
【００６８】
必要なときに正しいモデルへの効率的で明確なアクセスを可能とするために、データ構
造要素８０２からの３次モデルの名前が、一時的記憶媒体１１４にロードされたリストの
最初の位置（リストインデックス値「０」）に配置される。３次モデルは特定の個々のフ
ィールドに関連付けられていないため、その名前のみが必要な情報となる。２次モデル名
又は削除理由コードを含む、データレコード３２０の各フィールドに関する情報は、フォ
ーム８０４のデータ構造に配置される。次に、すべてのフィールドのデータ構造が一時的
記憶媒体１１４のリスト位置（インデックス）１〜Ｆに配置される。ここで、Ｆは、図３
の構造３２０をもつデータレコードのフィールド数である（ここで使用する例ではＦ＝１
０）。特定のフィールドがターゲットフィールドＴとして指定された場合、そのフィール
ドに対応するデータ構造８０４は、リスト位置ＴＬに配置される。データ構造の要素８０
４ｂには空のインデックス値が与えられ、理由コードまたは２次モデル名の代わりに、ラ
ベル「ＴＡＲＧＥＴ」がデータ構造の要素８０４ｃで使用される。
【００６９】
Ｅが１〜Ｆ（ＴＬ以外）までの数となるフィールドＥが、上記のフェーズ３処理中にさ
らなる検討から除外された場合、フィールドの対応するデータ構造８０４がリスト位置Ｅ
Ｌに配置される。データ構造要素８０４ｂには空のインデックス値が与えられ、２次モデ
ル名の代わりに、フィールドが削除された理由のコードがデータ構造の要素８０４ｃで使
用される。好ましい実施形態では、通常は２桁としてフォーマットされたコードが、フィ
ールドが削除された理由を示すために使用され、この理由コードは常に少数の限定された
文字を有する。このため、データ構造の要素４４２ｃ（図４Ｃ）内の理由コード「５」は
、それがデータ構造の要素８０４ｃ内に配置されると、実際には「０５」としてフォーマ
ットされる。２次モデルの作成時に上記の命名規則（例えば「Ｃｒｅｄｉｔ＿Ｆ００２＿
Ｍ００１」）を使用すると、２次モデルの名前が常に２文字以上になる。これにより、フ
ィールドが１次モデルで使用されているかどうかの判断が効率的に行われる。すなわち、
データ構造の要素８０４ｃの長さが２の場合、データ構造の要素８０４のリスト内の位置
に対応するフィールド番号Ｆは、１次モデルでは使用されないため、データレコード３２
０にフィールドの値が含まれていない場合でも、置換値を生成する必要がない。データ構
造の要素８０４ｃのモデル名部分の長さが２より大きく、かつインデックス部分が空でな
い場合（つまり、このフィールドがターゲットフィールドではない場合）、指定されたフ
ィールドの置換値を生成するモデルが存在し、このモデルがデータレコード３２０で１つ
のみのフィールド値だけが欠落している場合に使用できる。
【００７０】
要約すると、汎用データ構造の要素８０４の特定のインスタンス（すなわち、データ構
造８００に対応する一時的記憶媒体１１４内のリスト内のエントリ）は、フィールドの名
前を含み、このリスト内の位置によってこれを表し、データレコード３２０のフィールド
の位置を反映する１ベースのフィールド番号が３次モデルを反映する（例えば、一時的記
憶媒体１１４におけるこのリストのエントリ「０」は３次モデルを反映し、エントリ「１
」にはデータレコード３２０のフィールド１の情報が含まれ、エントリ「２」にはフィー
ルド２の情報が含まれる）。リストのデータ構造８０４に含まれるインデックス値８０４
ｂは、１次モデルによる処理を意図した新しいデータレコード内のフィールド値を１次モ
デルが期待する位置を示す。このデータ準備システムは、リストのエントリのフィールド
識別情報を使用して、あいまいさを解決し、適切なフィールド値が含まれているがフィー
ルドが１次モデルが必要とする順序ではないデータレコードのセットの場合に１次モデル
で使用するためにフィールド値を正しい順序で適切に整理し、１次モデルで使用するため
に検証する。すなわち、一時的記憶媒体１１４内のデータ構造のエントリ８０４（すなわ
ち、８０６１、８０６２等）のリストは、データレコードが１次モデルをトレーニングす
るためのものである場合には、構造３２０を備えたデータレコードからのフィールドを、
データレコード４２０（図４Ｂ）の構造を備えた入力フィールドにマッピングする、ある
いはデータレコードが１次モデルの処理で使用されている場合には、データレコード５２
０（図５Ａ）の構造を有する入力フィールドにマッピングするために用いられる。Ｔｒｅ
ｅ  Ｍａｐ、Ｈａｓｈ  Ｍａｐ、Ｌｉｎｋｅｄ  Ｌｉｓｔ等、インデックスまたは「キー
」値を介してデータへの直接ランダムアクセスを提供する様々な代替手法が、本実施形態
で論じたようにリスト（配列）を使用せずに、一時的記憶媒体内のデータ構造８００の基
本機能を提供するために使用可能である。
【００７１】
次に、２次モデル及び３次モデルを使用して、欠損データ又は無効なデータの置換値を
生成する方法について説明する。図９、１０を使用して、図７に付随する説明に従ってト
レーニングされた３次モデルが、９００１（図５ＢのフィールドＤ−Ｒ２ｖ３に対応）、
９００２（フィールドＤ−Ｒ６ｖ７に対応）のような複数の欠損データをもつ例であるデ
ータレコード９００に関連してどのように用いられるかを説明する。データレコード９０
０は、前記の方法で変換（スケーリング）され、類似度メトリック９０１（ここではユー
クリッド距離）は、変換後のデータレコード９００の値と訓練された３次モデルのノード
の重みの最終値との間のものとして計算される。ここで、計算に使用されるのは、有効な
データを含むデータレコード９００のフィールドの変換された値と、訓練された３次モデ
ルの各ノードの対応する重みである。値がないか無効であるフィールドの変換後の値、及
びこれらのフィールドに対応する各ノードの重みは、計算では使用されない。
【００７２】
図７においても、これらの類似度メトリック計算は、有効な入力データフィールドから
ノード番号１（ＴＲ）（「ＴＲ］はノードの重みの値が、図７に関連して上記で説明した
トレーニングから得られた値であることを示す）の重みまでの実線９０１ｉ、有効フィー
ルドからノード番号２（ＴＲ）の重みまでの２点鎖線９０２ｉを用いて示されており、ノ
ード番号３（ＴＲ）からノード番号Ｐ（ＴＲ）までの残りのノードについても同様に点線
９０３ｉから９００Ｐｉを用いて示されている。図７と同様に、類似度の計算は、データ
レコードのすべての有効なフィールドの値を、すべてのノードの対応する重みに変換して
実行されるが、図をわかりやすくするために、図９ではすべての行にはラベルは付与され
ていない。好ましい実施形態では、ユーザは、任意の所与のデータレコードにおいて置き
換えられるべき最大数の値を、例えば、フィールドの３０％以下として指定することがで
きる。複数の無効値が検出され、無効値の数がユーザーによって指定された最大値を超え
ない場合、コンピューティングシステム１００は、上記のようにリスト位置０に格納され
ているデータ構造８０２に含まれている３次モデルの名前毎に置換値を生成するために使
用される３次モデルを特定するために、一時的記憶媒体ＲＡＭ１１４にロードされた置換
モデルデータ構造８００のリスト表現にアクセスする。すなわち、図９に示されたように
ここで説明された類似度メトリック計算は、有効なフィールドの変換値のみが各ノードの
対応する重みとともに使用されることを除いて、図７に示されたように前記のように説明
された計算に対応する。各ノードの類似度メトリックが計算された後、各ノードは、デー
タレコード９００に最も近いノード（最小のユークリッド距離）からデータレコード９０
０に最も遠いノード（最大のユークリッド距離）までランク付けされる。
【００７３】
図１０は、フィールド３、７の有効なデータ（値ｖ３、ｖ７）が欠落しているデータレ
コード９００を使用する例について、図７で開発された３次モデルを使用して置換値を生
成する方法を示すフローチャートである。図１０では、ノードの重みはＷＣＷ−１、ＷＣ
Ｗ−２、ＷＣＷ−３、・・・、ＷＣＷ−７、ＷＣＷ−８、ＷＣＷ−９とされる。欠損／無
効データのフィールドは３、７であるため、重みＷＣＷ−３、ＷＣＷ−８は、欠落値ｖ３
、ｖ７の置換を生成するために使用される。つまり、図７に示すように、重みＷｐ−３は
値ｖ３に対応し、重みＷｐ−８は値ｖ７に対応する。ステップＳ９０２は、訓練されたノ
ード１（ＴＲ）からＰ（ＴＲ）を、欠損データを有する対象のデータレコードとの類似度
の順にランク付けする。この例では、これは、図９に関連して説明されたプロセスによっ
て決定され、類似度メトリックは、対象のデータレコード９００内の有効データの変換値
とノードの対応する重みとの間のユークリッド距離である。ステップＳ９０４ｖ３及びＳ
９０４ｖ７は、図７に関連して上述したトレーニングプロセスにおいてランク付けされた
ノードが「勝った」頻度をチェックする。一般に、勝者であるとみなされるための最適な
頻度は開発者の裁量で設定される。最小許容頻度の例は１／Ｐであり、これは、各ノード
が同じ確率で勝つことを表す。ステップＳ９０６ｖ３及びＳ９０６ｖ７は、必要な勝利頻
度も達成した上位Ｊ個の候補勝利ノードのそれぞれの重みＷ３及びＷ８の合計を計算する
。好ましい実施形態では、Ｊは３等の小さい数であるが、任意の適切な小さい数を使用す
ることができる。ステップＳ９０８ｖ３及びＳ９０８ｖ７では、各候補ノードからのそれ
ぞれの重みを合計し、それぞれの合計をＪで除算することにより、各重みＷ３およびＷ８
について、上位Ｊ候補ノードの重みの平均が計算される。フィールド３、７の元の欠損値
のそれぞれの置換値を取得するために、データレコード９０１のそれぞれのフィールドに
使用される逆変換が、ステップＳ９１０ｖ３及びＳ９１０ｖ７で平均に適用される。全て
の欠損値に対して置換値が生成された後、この例ではＤ−Ｒ２ｖ３（Ｉ）ＲＥＰＬ及びＤ
−Ｒ２ｖ７（Ｉ）ＲＥＰＬをデータレコード９００に挿入し、図１０の矢印で示すように
、新しい完全なデータレコード９００Ｒが生成される。
【００７４】
Ｊの値の選択はは、モデル開発者の裁量に任される。Ｊの適切な値を選択する基準は、
ノードの数Ｐに対して比較的小さいことである。多すぎるノードに基づいて重みの平均が
算出された場合、異常な数の異なるノードが考慮されるため、無効なデータを正確に表す
置換値の機能に悪影響を及ぼす。ただし、３次モデルのトレーニングプロセスの確率的性
質により、最上位ノード以外のノードが無効なデータを含むデータレコードをより代表的
に表す可能性があるため、Ｊの値は１より大きくする必要がある。上位のいくつかのノー
ドが同点であった場合のランク付けを考慮した場合、Ｊを奇数とすることが好ましい。こ
のため、一般的にはJ = 3とされる。
【００７５】
データレコードが最初にフェーズ２不良データセット４０２（図４Ａ）に由来する場合
、このデータレコードをフェーズ２クリーンデータセット４０４に追加し、１次モデルを
再トレーニングするための拡張トレーニングデータとすることができる。あるいは、デー
タレコードが、すでに稼働中の１次モデルによって処理されるべき新しいデータを含むデ
ータレコードであった場合、このデータレコードがこの１次モデルで処理できるようにな
る。
【００７６】
図１１は、フィールドＸ−Ｒ１ｖ２（Ｉ）、Ｘ−Ｒ１ｖ３（Ｉ）、・・・、Ｘ−Ｒ１ｖ
６（Ｉ）、Ｘ−Ｒ１ｖ７（Ｉ）、Ｘ−Ｒ１ｖ９（Ｉ）をもち単一の無効値１１００１を有
するデータレコード１１００が２次モデルがどのように使用されるかを説明している。欠
落している値の元のフィールド番号（この例では「４」）を識別した後、データレコード
１１００の値は、フィールドＹ−Ｒ１ｖ２（Ｉ）、Ｙ−Ｒ１ｖ３（Ｉ）、Ｙ−Ｒ１ｖ５（
Ｉ）、Ｙ−Ｒ１ｖ６（Ｉ）、Ｙ−Ｒ１ｖ７（Ｉ）Ｙ−Ｒ１ｖ９（Ｉ）をもつ新しいデータ
レコード１１０２に、それらの相対的な順序を維持して再編成される。このデータレコー
ドは、フィールド４に対応する２次モデルによってステップＳ１１０２で処理される。こ
の２次モデルは、コンピューティングシステムが一時的記憶媒体１１４に常駐する置換モ
デルデータ構造の対応する位置４のエントリ８０４を参照し、エントリの要素８０４ｃを
参照することにより、適切な２次モデルの検索が可能であるため、使用すべきモデルとし
て識別される。要約すると、データレコード１１００の全ての有効な値がデータレコード
１１０２に配置され、これがフィールド４のための２次モデルの入力となり、これが置換
値を生成する。次に、ステップＳ１１０４において、置換値Ｒ３ｖ４（Ｉ）ＲＥＰＬがデ
ータレコード１１０２内の欠損データの代わりに使用され、完全なデータレコード１１０
４が作成される。データレコードが最初にフェーズ２不良データセット４０２からのもの
である場合、データレコード１１０４をフェーズ２クリーンデータセット４０４に追加し
て、１次モデルをトレーニングまたは再トレーニングするための追加のデータレコードの
形式として拡張トレーニングデータを提供できる。あるいは、データレコードが、すでに
稼働中の１次モデルによって処理される新しいデータを含むデータレコードであった場合
、このデータレコードが１次モデルで処理できるようになる。
［結論］
【００７７】
本明細書で説明する主題の一態様は、機械学習アルゴリズムで使用するためのデータを
自律的かつ自動的に準備するためのシステムに関する。例示的なそのようなシステムは、
電子的に接続された非一時的記憶媒体、一時的記憶媒体、および上記の結果を達成するた
めに組み合わせて以下のタスクのさまざまなタスクを実行するように構成およびプログラ
ムされた１つ以上の中央処理装置を含むコンピューティングシステムを含むことができる
。
・非一時的記憶媒体のデータセットからデータレコードを抽出し、一時的記憶媒体に転送
する。
・一時的記憶媒体の各データレコードを処理し、データレコードの各フィールドのタイプ
を判別し、任意のフィールドで発生する可能性のある無効な値を識別する。
・無効な値のないデータレコードを第１のデータセットとし、無効な値のデータレコード
を含む第２のデータセットとして識別して分離する。
・第１のデータセットと第２のデータセットを、データ準備システムで後で使用するため
に非一時的記憶媒体に配置する。
・第１のデータセットの全てのデータレコードにヒューリスティックを適用して、主とな
る機械学習アルゴリズムの開発に役立たないと思われるフィールドを特定する。
・全てのフィールドの型と第１のデータセットの全てのフィールドにヒューリスティック
を適用した結果に関する情報を保持する第１データ構造を一時的記憶媒体に構築する。
・ヒューリスティックの最後の適用の後に、データ準備システムが後で使用するために、
第１データ構造を非一時的記憶媒体に配置する。
・第１のデータセットのデータレコードで入力フィールドとして指定され、かつヒューリ
スティックによって削除されなかった全てのフィールドについて、予測または分類機械学
習アルゴリズムに基づいて、フィールド毎に予測または分類機械学習アルゴリズムに基づ
いて、２次モデルである単一フィールドモデルを構築する。この単一フィールドモデルの
入力は、モデル化されているフィールドとデータレコードのターゲットフィールドを除き
、データレコードの他の全ての非消去フィールドである。
・第１データセットのデータレコードの入力フィールドとして指定されたすべての非消去
フィールドを使用し、クラスタリング機械学習アルゴリズムに基づく３次モデルを更に構
築する。
・フィールドの名前、フィールドのステータス、１次モデルで使用されるデータレコー
ド内のフィールド値の位置、フィールドの置換値を生成する２次モデルの名前等、フィー
ルドに関する情報を保持する第２データ構造を一時的記憶媒体に構築する。
・単一フィールド用のモデルである２次モデルとクラスタリングモデルである３次モデル
を第２データセットのデータレコードに適用する。データレコードに無効な値が１つしか
ない場合は単一フィールド用モデルを使用し、データレコードに複数の無効な値がある場
合のクラスタリングモデルを使用し、第１データセットに置換値を含むデータレコードを
追加する、あるいは、単一フィールド用のモデルとクラスタリングモデルを、新しいデー
タレコードに無効な値がある場合に、１次モデルで使用されるこの新しいデータレコード
に同様に適用する。
・第１データ構造のデータレコードと上記の拡張データレコードを使用し、第１データ構
造で特定されたヒューリスティックによって排除されたフィールドを無視し、機械学習ア
ルゴリズムに基づく１次モデルを開発する。各フィールド（モデルに対する入力またはタ
ーゲット）の使用の有無は、モデル開発者によりが指定される。
【００７８】
本明細書で開示および主張されるシステム、方法、および装置の別の特徴は、１次モデ
ルによって使用されるフィールドに関する情報、ならびに２次モデルおよび３次クラスタ
リングモデルに関する情報を含むデータ構造を作成する能力である。このデータ構造は、
１次モデルでの使用を目的としたデータレコード内の無効な値を持つフィールドの置換値
の生成に使用できる。さらに、３次モデルは、類似度メトリックを計算するクラスタリン
グアルゴリズムを実装し、アルゴリズムがデータレコードを類似するデータレコードのグ
ループを識別するノードに関連付け、対象となるデータレコードの複数のフィールドに無
効な値が含まれる場合に、候補ノードを識別してフィールドの置換値の生成を実行できる
ようにする。別の態様では、単一フィールドを対象とする２次モデルは、フィールドが連
続数値または離散クラスラベルを含むかどうかに応じて、予測モデル、分類モデルのいず
れである非線形モデルとなる。
【００７９】
上記のクラスタリングモデルは、クラスタリングモデルのトレーニングに使用されるデ
ータレコードに対して類似度計算を実行できるように、フィールドに適用された変換の性
質に関する情報を含むプログラムでアクセス可能なデータ構造を組み込むことができる。
さらに、このモデルには、クラスタリングモデルのトレーニング中に計算された類似度メ
トリックの値に基づいてデータレコードがモデルの各ノードに割り当てられた頻度に関す
る情報を含む、プログラムでアクセス可能なデータ構造を組み込むことができる。
【００８０】
別の側面では、クラスタリングモデルは、データレコードの品質がこのモデルで特定さ
れるノードに対応し、この品質がプログラムでアクセス可能であり、その組織が１次モデ
ルのトレーニングに使用されるデータレコードから削除されなかったフィールドに対応す
る、あるいはマッピングされるデータ構造で要約されるような形式とすることができる。
さらに別の例示的なクラスタリングモデルでは、１次モデルによる処理のために、複数の
欠損値を含むデータレコードの置換値が、１次モデルによる処理を目的としたデータレコ
ードの欠損値に対応する候補ノードの重みの平均の逆変換を実行することによって生成さ
れる。この平均は、類似度メトリックに基づいてデータレコードに最も類似し、クラスタ
リングモデルのトレーニング中に十分な頻度で重みが調整された所定数のトップノードか
らの重み値を使用して計算され、類似度はデータレコードにおける有効な変換値と、各ノ
ードの対応する重み値によって算出される。
【００８１】
本明細書に提示される例および実施形態において、２次および３次モデルの開発、およ
び当選頻度と類似度メトリックの計算は、汎用中央処理装置（ＣＰＵ）を使用するコンピ
ューティングシステムで実行されるが、当業者は、１次モデル、２次、および４次モデル
の開発、ならびにフィールド値の置換および３次モデルによって使用される類似度メトリ
ックおよび他の値の計算のためのモデルを選択するための決定ロジックの実装は、計算エ
ンジンとしてグラフィックプロセッシングユニット（ＧＰＵ）を使用する専用コンピュー
ティングシステム、またはクラスタリングモデルで類似度メトリックやその他の値を計算
するために使用されるような機械学習アルゴリズムやその他の並列操作を効率的に実装す
るように特別に設計されたその他のハイブリッドハードウェアソフトウェアシステムを使
用して実行できることを認識する。
【００８２】
さらに、このシステム、方法は、方法における様々なステップを実装するために使用さ
れるコンピュータおよび関連するコンピュータメモリがローカルコンピューティングシス
テム１００に常駐する実施形態として文脈で一般的に説明されているが、本発明の様々な
態様によるシステムおよび方法を実装するためのコンピューティングシステムは、全体的
または部分的にクラウドベースであり得る。例えば、開発者がクラウドベースのサーバー
に履歴データ値のベースデータセットをアップロードし、開発者のローカルコンピュータ
ーに常駐する１次モデルのトレーニングに使用される２次モデル、３次モデルを生成でき
るシステムをベンダーが利用できるようにすることができる。同様に、ここで説明された
モデル開発中に作成される様々なデータセットとデータ構造は、クラウドベースのストレ
ージ、ローカルストレージ、またはその両方の組み合わせに保存できる。あるいは、ベン
ダーは、開示されたシステムと方法を実装するために必要なコンピューターソフトウェア
のパッケージを開発者に提供し、履歴データを使用して１次モデルをトレーニングするた
めのデータを準備する、あるいはトレーニング後に１次モデルで処理するための新しいデ
ータを１次モデルの稼働後に準備することができる。
【００８３】
この概要は、上記で詳細に説明した概念の選択を簡略化した形で紹介することのみを目
的とする。ここでは、本明細書で詳細に説明されるシステム、装置、および方法の発明の
概念および態様のすべての重要なまたは本質的な特徴を特定することは必ずしも意図され
ていない。当業者は、本発明の選択された好ましい実施形態のみが図示および説明されて
いることを容易に認識し、本発明の精神および範囲から逸脱することなく、上記で具体的
に述べたもの以外の様々な変更および修正を行うことができることを理解する。この発明
の範囲は、特許請求の範囲によってのみ定義される。
【図１】
2021518024.tif 000003
【図２】
2021518024.tif 000004
【図３】
2021518024.tif 000005
【図４】
2021518024.tif 000006
【図５】
2021518024.tif 000007
【図６】
2021518024.tif 000008
【図７】
2021518024.tif 000009
【図８】
2021518024.tif 000010
【図９】
2021518024.tif 000011
【図１０】
2021518024.tif 000012
【図１１】
2021518024.tif 000013
【手続補正書】
【提出日】令和2年9月18日(2020.9.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
保存されたベースデータセット内の無効なデータ値を置き換えるための複数の２次モデ
ルとなる機械学習アルゴリズムを生成する方法であって、
前記ベースデータセットは、関心のある出力を生成するために１次モデルとなる機械学
習アルゴリズムをトレーニングするための入力として指定された複数のフィールドをそれ
ぞれもつ複数の履歴データレコードを含み、複数の前記履歴データレコードは対応する同
種の前記フィールドを複数具備し、
前記ベースデータセットのデータレコードの各フィールドに対して固有に対応付けられ
たフィールドステータスエントリを含むフィールドステータスデータ構造をコンピュータ
ーメモリに保存し、各前記フィールドステータスエントリには、保存された前記ベースデ
ータセットのデータレコード内のフィールドの位置を示すフィールド番号要素と、前記フ
ィールドに含まれるデータ値が前記１次モデルとなる機械学習アルゴリズムをトレーニン
グして対象の出力を生成するために役立つか否かを示す消去コード要素が含まれ、
前記ベースデータセットから、無効なデータ値をもつ１つ以上のフィールド、前記１次
モデルをトレーニングするためには役立たないフィールド、及び対象となる出力を表すフ
ィールドを有する欠陥履歴データ、を削除することにより、補助クリーンデータセットを
作成し、
前記補助クリーンデータセットのデータレコードをトレーニングデータとして使用して
、複数のコンピューターに実装され、各々が前記補助クリーンデータセットのフィールド
の各々に対応付けられた、複数の２次モデルとなる機械学習アルゴリズムの各々に対して
、（Ａ）前記補助クリーンデータセット内の前記データレコードの１つを除く全てのフィ
ールドをトレーニング入力データ値として指定し、残りのフィールドデータ値を、前記フ
ィールドに関連付けられた前記２次モデルとなる機械学習アルゴリズムのトレーニングタ
ーゲット値として指定し、かつ（Ｂ）前記補助クリーンデータセットの各フィールドに対
してステップ（Ａ）を繰り返す、ことによってトレーニングして、前記２次モデルとなる
機械学習アルゴリズムの各々を生成し、
コンピュータのメモリに、前記ベースデータセットの各フィールドに固有に対応付けら
れた複数の置換エントリをもつ置換モデルデータ構造を保存する、
ここで、前記置換モデルデータ構造の各置換エントリの位置は対応する前記フィールド
ステータスデータ構造のフィールド番号要素を示し、
各エントリには、
（ａ）１次モデルとなる機械学習アルゴリズムで使用するために編成されたデータレコー
ド内のフィールド値の位置を示すフィールドインデックス要素、
（ｂ）（ｉ）前記フィールドに関連付けられたトレーニング済みの前記２次モデルとなる
機械学習アルゴリズム、（ｉｉ）対応する前記フィールドステータスデータ構造内のフィ
ールドに関連付けられた前記消去コード要素で示されるように前記２次モデルとなる機械
学習アルゴリズムが前記フィールドに関連付けられていないこと、のいずれかを示す２次
モデル要素、
が含まれる。
【請求項２】
各前記フィールドステータスデータ構造の前記フィールドステータスエントリに、
（ｉ）エントリに関連付けられたフィールドのデータ値を使用して前記２次モデルとなる
機械学習アルゴリズムを生成するか否か、
及び
（ｉｉ）前記フィールドの前記２次モデルとなる機械学習アルゴリズムを生成するために
使用されるデータレコードのトレーニング出力のデータ値は、連続数値形式、離散的な分
類形式のどちらであるか、
が含まれることを特徴とする、請求項１に記載の方法。
【請求項３】
前記２次モデルとなる機械学習アルゴリズムは、逆伝播によってトレーニングされた多
層フィードフォワードニューラルネットワークで構成されることを特徴とする、請求項２
に記載の方法。
【請求項４】
請求項１に記載された方法でトレーニングされた２次モデルとなる機械学習アルゴリズ
ムを使用して１次モデルとなる機械学習アルゴリズムをトレーニングする方法であって、
（ａ１）前記ベースデータセットから削除された欠陥のある履歴データレコードを含む不
良データセットを作成し、当該不良データセットをコンピューターのメモリに保存し、
（ｂ１）前記不良データセットで、無効なデータ値をもつ単一のフィールドをもつ、不良
履歴データレコードを認識し、
（ｃ１）無効なデータ値をもつ単一のフィールドに対応する前記置換モデルデータ構造の
前記置換エントリにアクセスし、ステップ（ｂ１）で認識された前記不良履歴データレコ
ードにおける単一の前記フィールドが、前記フィールドに関連するトレーニングされた前
記２次モデルとなる機械学習アルゴリズムを有するかどうかを決定し、
（ｄ１）ステップ（ｃ１）でアクセスされた前記フィールドに関連するトレーニングされ
た前記２次モデルとなる機械学習アルゴリズムを使用して、置換データ値を作成し、
（ｅ１）ステップ（ｂ１）で認識された無効なデータ値を前記置換データ値に置き換えた
拡張トレーニングデータレコードを作成し、
（ｆ１）欠陥のある前記データセット内の異なるデータレコードに対して、ステップ（ｂ
１）〜（ｅ１）を複数回繰り返し、
（ｇ１）前記クリーンデータセットのデータレコードを前記拡張トレーニングデータレコ
ードと組み合わせて使用して、前記１次モデルとなる機械学習アルゴリズムをトレーニン
グする、
ことを特徴とする、請求項１に記載の方法。
【請求項５】
請求項４に記載された方法でトレーニングされた前記１次モデルとなる機械学習アルゴ
リズムを使用して、前記ベースデータセットにおける対象となる入力フィールドに対応す
る入力フィールドを備えた新データレコードから対象の出力を生成する方法であって、
（ａ２）前記新データレコードにおける、無効なデータ値をもつ単一のフィールドを識別
し、
（ｂ２）ステップ（ａ２）で認識された単一の前記フィールドに対応する前記置換モデル
データ構造のエントリにアクセスし、単一の当該フィールドが、当該フィールドに関連す
るトレーニングされた前記２次モデルとなる機械学習アルゴリズムを有するか否かを決定
し、
（ｃ２）ステップ（ｂ２）でアクセスされた前記フィールドに関連するトレーニングされ
た前記２次モデルとなる機械学習アルゴリズムを使用し、前記新データレコード内の無効
なデータ値の置換データ値を作成し、
（ｄ２）ステップ（ａ２）で認識された無効なデータ値を前記置換データ値に置き換えて
、拡張新データレコードを作成し、
（ｅ２）前記１次モデルとなる機械学習アルゴリズムを使用して、前記拡張新データレコ
ードから目的の出力を生成する、
ことを特徴とする請求項４に記載の方法。
【請求項６】
前記１次モデルとなる機械学習アルゴリズムの入力として指定された前記履歴データレ
コード内のフィールドが前記１次モデルとなる機械学習アルゴリズムをトレーニングして
目的の出力を生成するためには役立たないデータ値を含むことを認識するために、ヒュー
リスティック分析を使用することを特徴とする請求項１に記載の方法。
【請求項７】
前記置換モデルデータ構造には、当該置換モデルデータ構造の不注意または悪意のある
変更がある場合の検出を可能にするために、セキュリティのための署名データが設けられ
ていることを特徴とする請求項１に記載の方法。
【請求項８】
新たに作成されたデータレコードのデータ値が適切な順序で前記１次モデルとなる機械
学習アルゴリズムに提示されるように、前記置換モデルデータ構造を使用し、当該データ
レコードのフィールドのデータ値を並べ替えて、前記履歴データレコードの前記フィール
ドのデータ値と同じ順序で配置することを特徴とする請求項１に記載の方法。
【請求項９】
対象となる出力を生成するために１次モデルとなる機械学習アルゴリズムをトレーニン
グするための入力として指定されるフィールドが、対応する同種の前記フィールドを各々
が複数具備するように設けられた複数の履歴データレコードを含んで保存されたベースデ
ータセット内において、無効なデータ値を置き換えるための３次モデルとなる機械学習ク
ラスタリングアルゴリズムを生成する方法であって、
前記ベースデータセットから、無効なデータ値をもつ１つ以上のフィールド、前記１次
モデルをトレーニングするためには役立たないフィールド、及び対象となる出力を表すフ
ィールドを有する欠陥履歴データ、を削除することにより、補助クリーンデータセットを
作成し、
前記補助クリーンデータセットのデータレコードを、トレーニングされた前記３次モデ
ルとなる機械学習クラスタリングアルゴリズムが、前記３次モデル機械学習クラスタリン
グアルゴリズムのトレーニングの際の類似度メトリックの計算に基づいて類似していると
みなされる補助クリーンデータセット内のレコードのクラスターを表すそれぞれの重みを
もつ複数のノードを含むように、トレーニングデータとして使用して、コンピューターに
実装された前記３次モデルとなる機械学習クラスタリングアルゴリズムを生成し、
無効なデータ値をもつ複数のフィールドを有する前記履歴データレコードのそれぞれの
置換データ値を作成するために、トレーニング済みの前記３次モデルとなる機械学習クラ
スタリングアルゴリズムを特定する３次モデルエントリを含む置換モデルデータ構造をコ
ンピューターメモリに保存する、
ことを特徴とする、方法。
【請求項１０】
前記３次モデルとなる機械学習クラスタリングアルゴリズムを使用して前記１次モデル
となる機械学習アルゴリズムをトレーニングする方法であって、
（ａ）前記ベースデータセットから削除された前記欠陥履歴データレコードを含む不良
データセットを作成し、
（ｂ）前記不良データセットで、無効なデータ値をもつ複数のフィールドをもつ欠陥履
歴データレコードを識別し、
（ｃ）前記置換モデルデータ構造の前記３次モデルエントリによって特定される、トレ
ーニングされた前記３次モデルとなる機械学習クラスタリングアルゴリズムにアクセスし
、
（ｄ）ステップ（ｃ）でアクセスされた、トレーニングされた前記３次モデルとなる機
械学習クラスタリングアルゴリズムを使用して、ステップ（ｂ）で認識された前記欠陥履
歴データレコードにおける無効なデータ値を含む複数のフィールドのための前記置換デー
タ値の各々を作成し、
（ｅ）前記欠陥履歴データレコード内の複数の無効なデータ値の各々を前記置換データ
値に置き換えて、拡張トレーニングデータレコードを作成し、
（ｆ）前記欠陥履歴データレコード内の異なるデータレコードに対して、ステップ（ｂ
）〜（ｅ）を複数回繰り返し、
（ｇ）前記クリーンデータセットのデータレコードを前記拡張トレーニングデータレコ
ードと組み合わせて使用し、前記１次モデルとなる機械学習アルゴリズムをトレーニング
する、
ことを特徴とする請求項９に記載の方法。
【請求項１１】
トレーニングされた前記１次モデルとなる機械学習アルゴリズムを使用し、前記ベース
データセットの入力フィールドに対応する入力フィールドを有する新データレコードから
対象となる出力を生成する方法であって、
（ａ１）前記新データレコードにおける無効なデータ値をもつ複数のフィールドを識別
し、
（ｂ１）前記置換モデルデータ構造の前記３次モデルエントリによって特定された、ト
レーニング済みの前記３次モデルとなる機械学習クラスタリングアルゴリズムへアクセス
し、
（ｃ１）ステップ（ｂ１）で特定された、トレーニングされた前記３次モデルとなる機
械学習アルゴリズムを使用して、前記新データレコード内の複数の無効なデータ値のそれ
ぞれの置換データ値を作成し、
（ｄ１）ステップ（ａ１）で認識された複数の無効なデータ値を前記置換データ値にそ
れぞれ置き換えた新拡張データレコードを作成し、
前記１次モデルとなる機械学習アルゴリズムを使用して、新拡張データレコードから対
象となる出力を生成する、
ことを特徴とする、請求項１０に記載の方法。
【請求項１２】
前記新データレコードで置き換える無効なデータ値の数に制限を設定することを特徴と
する請求項１１に記載の方法。
【請求項１３】
前記１次モデルとなる機械学習アルゴリズムの入力として指定された前記履歴データレ
コード内のフィールドが、前記１次モデルとなる機械学習アルゴリズムをトレーニングし
て目的の出力を生成するためには役立たないデータ値を含むことを特定するために、ヒュ
ーリスティック分析を使用することを特徴とする請求項９に記載の方法。
【請求項１４】
前記置換モデルデータ構造には、当該置換モデルデータ構造の不注意または悪意のある
変更を検出を可能にするために、セキュリティのための署名データが設けられていること
を特徴とする請求項９に記載の方法。
【請求項１５】
新たに作成されたデータレコードのデータ値が適切な順序で前記１次モデルとなる機械
学習アルゴリズムに提示されるように、前記置換モデルデータ構造を使用し、当該データ
レコードのフィールドのデータ値を並べ替えて、前記履歴データレコードの前記フィール
ドのデータ値と同じ順序で配置することを特徴とする請求項９に記載の方法。
【請求項１６】
それぞれが同様の複数の対応するフィールドをもち、目的となる出力を生成するために
１次モデルとなる機械学習アルゴリズムをトレーニングするための入力として複数の前記
フィールドが指定される複数の履歴データレコードを使用して、前記１次モデルとなる機
械学習アルゴリズムをトレーニングするための拡張トレーニングデータレコードを作成す
る方法であって、
（ａ）ベースデータセットから、無効なデータ値をもつ１つ以上のフィールド、前記１
次モデルをトレーニングするためには役立たないフィールド、及び対象となる出力を表す
フィールドを有する欠陥履歴データレコード、を削除することにより、補助クリーンデー
タセットを作成し、
（ｂ）コンピューターに実装された３次モデルとなる機械学習クラスタリングアルゴリ
ズムを、トレーニングされた前記３次モデルとなる機械学習クラスタリングアルゴリズム
が、それぞれ重みをもつ複数のノードを含み、この重みが、前記３次モデルとなる機械学
習クラスタリングアルゴリズムのトレーニング中に類似度メトリックの計算に基づいて類
似しているとみなされた補助クリーンデータセット内のレコードのクラスターを表すよう
にして、前記補助クリーンデータセットのデータレコードをトレーニングデータとして使
用して生成し、
（ｃ）前記ベースデータセットから削除され、無効なデータ値を持つ複数のフィールド
をもつ、前記欠陥履歴データレコードを認識し、
（ｄ）（１）各前記ノードの重みと、前記欠陥履歴データレコードにおける適正な値を
もつ各前記フィールドの間の類似度メトリックを計算し、（２）各前記類似度メトリック
を使用して、所定数の勝者ノードを、無効なデータ値をもつ前記欠陥履歴データレコード
内のそれぞれのフィールドの対応する有効な値に最も近い重みをもつものとして指定し、
（３）無効な前記データ値のそれぞれに関連付けられた前記勝者ノードの重みのそれぞれ
の平均を計算し、（４）各前記平均を使用して、前記重みに対応するフィールド内の無効
なデータ値のそれぞれに対するそれぞれの置換値を作成すること、によって、トレーニン
グされた前記３次モデルとなる機械学習クラスタリングアルゴリズムを使用して、前記欠
陥履歴データレコードにおける無効なデータ値を有する複数のフィールドのそれぞれの置
換データ値を作成し、
（ｅ）前記欠陥履歴データレコードの無効な前記データ値をそれぞれに対応する前記置
換データ値に置き換えて、拡張トレーニングデータレコードを作成し、
（ｆ）前記ベースデータセットから削除され、無効なデータ値を持つ複数のフィールド
をもつ異なる前記欠陥履歴データレコードに対して、ステップ（ｃ）〜（ｅ）を複数回繰
り返す、
ことを特徴とする、方法。
【請求項１７】
前記置換データ値の作成に使用する前記３次モデルとなる機械学習クラスタリングアル
ゴリズムの前記ノードの数を決定する際の要素として、前記３次モデルとなる機械学習ク
ラスタリングアルゴリズムのトレーニング中にノードを割り当てる頻度を使用することを
特徴とする請求項１６に記載の方法。
【請求項１８】
前記３次モデルとなる機械学習クラスタリングアルゴリズムは自己組織化マップを含み
、前記類似度メトリックとして、無効なデータ値を含む前記欠陥履歴データレコード内の
各フィールドの対応する有効な値に最も類似した重みをもつ前記ノードを決定するために
、前記ノードと前記欠陥履歴データデコードとの間の距離が用いられることを特徴とする
請求項１６に記載の方法。
【請求項１９】
対象となる出力をする１次モデルとなる機械学習アルゴリズムをトレーニングするため
の入力として指定された複数のフィールドが、対応する同種の前記フィールドを各々が複
数具備するように設けられた複数の履歴データレコードを含んで保存されたベースデータ
セット内の無効なデータ値を置き換えるための複数の２次モデルとなる機械学習アルゴリ
ズムと３次モデルとなる機械学習アルゴリズムを生成する方法であって、
前記ベースデータセットのデータレコードの各フィールドに対して固有に対応付けられ
たフィールドステータスエントリを含み、当該フィールドステータスエントリには、保存
されている前記ベースデータセットのデータレコード内のフィールドの位置を示すフィー
ルド番号要素と、当該フィールドに含まれるデータ値が前記１次モデルとなる機械学習ア
ルゴリズムをトレーニングして対象の出力を生成するために役立つか否かを示す消去コー
ド要素が含まれるフィールドステータスデータ構造をコンピュータのメモリに保存し、
前記ベースデータセットから、無効なデータ値をもつ１つ以上のフィールド、前記１次
モデルとなる学習アルゴリズムをトレーニングするためには役立たないフィールド、及び
対象となる出力を表すフィールドを有する欠陥履歴データレコード、を削除することによ
り、補助クリーンデータセットを作成し、
前記補助クリーンデータセットのデータレコードを、（ａ）前記補助クリーンデータセ
ット内の１つを除く全ての前記データレコードのフィールドをトレーニング入力データ値
として指定し、残りのフィールドデータ値を、前記フィールドに関連付けられた前記２次
モデルとなる機械学習アルゴリズムのトレーニングターゲット値として指定し、（ｂ）前
記補助クリーンデータセットの各フィールドに対してステップ（ａ）を繰り返す、ことに
よってトレーニングデータとして使用し、トレーニングされた複数のコンピュータに実装
され前記補助クリーンデータセットのフィールドの各々に対応づけられた前記２次モデル
となる機械学習アルゴリズムを生成し、
前記補助クリーンデータセットのデータレコードをトレーニングデータとして使用して
トレーニングされた、コンピュータに実装され、トレーニング中の類似度メトリックの計
算に基づいて類似しているとみなされる前記補助クリーンデータセット内のレコードのク
ラスターを表すそれぞれの重みを持つ複数のノードを含む前記３次モデルとなる機械学習
クラスタリングアルゴリズムを生成し、
コンピュータメモリに、無効なデータ値をもつ複数のフィールドをもつ前記履歴データ
レコードのそれぞれの置換値を作成する際に使用するために、トレーニングされた前記３
次モデルとなる機械学習クラスタリングアルゴリズムを特定する３次モデルエントリ、及
び前記ベースデータセット内のそれぞれのフィールドに固有に関連付けられた前記２次モ
デルに対応する複数の２次モデルエントリを含む置換モデルデータ構造を格納し、
前記置換モデルデータ構造の各エントリの位置は、対応するフィールドステータスデー
タ構造のフィールド番号要素を示し、各エントリには
（ａ）前記１次モデルとなる機械学習アルゴリズムで使用するために編成されたデータレ
コード内のフィールド値の位置を示すフィールドインデックス要素、
及び
（ｂ）
（ｉ）前記フィールドに関連するトレーニングされた前記２次モデルとなる機械学習アル
ゴリズム、
あるいは
（ｉｉ）対応する前記フィールドステータスデータ構造内のフィールドに関連付けられた
前記消去コード要素によって示される、前記２次モデルとなる機械学習アルゴリズムが前
記フィールドに関連しないこと、
を示す２次モデル要素
が含まれることを特徴とする、方法。
【請求項２０】
前記フィールドステータスデータ構造の各々の前記フィールドステータスエントリに、
（ｉ）当該エントリに関連付けられているフィールドのデータ値を使用して、２次モデル
となる機械学習アルゴリズムを生成するか否か、
及び
（ｉｉ）前記フィールドの前記２次モデルとなる機械学習アルゴリズムを生成するために
使用されるデータレコードのトレーニング出力のデータ値が、連続数値形式か離散的な分
類形式のどちらであるか、
を示すタイプコード要素を含めることを特徴とする、請求項１９に記載の方法。
【請求項２１】
前記２次モデルとなる機械学習アルゴリズムは、逆伝播によってトレーニングされた多
層フィードフォワードニューラルネットワークで構成されたことを特徴とする、請求項１
９に記載の方法。
【請求項２２】
トレーニングされた２次モデルとなる機械学習アルゴリズム、及び請求項２２のように
生成されトレーニングされた前記３次モデルとなる機械学習クラスタリングアルゴリズム
を使用して１次モデルとなる機械学習アルゴリズムをトレーニングする方法であって、
（ａ１）前記ベースデータセットから削除された前記欠陥履歴データレコードを含む不
良データセットを作成してコンピューターのメモリに保存し、
（ｂ１）前記不良データセットで、無効なデータ値をもつ単一のフィールドをもつ欠陥
履歴データレコードを識別し、
（ｃ１）無効なデータ値をもちステップ（ｂ１）で認識された単一のフィールドに対応
する前記置換モデルデータ構造のエントリにアクセスし、前記欠陥履歴データレコードの
単一のフィールドに、そのフィールドに関連付けられたトレーニング済みの２次モデルと
なる機械学習アルゴリズムがあるかどうかを判断し、
（ｄ１）ステップ（ｃ１）でアクセスされた前記フィールドに関連するトレーニング済
みの前記２次モデルとなる機械学習アルゴリズムを使用して、ステップ（ｂ１）で認識さ
れた単一の前記フィールドのための置換データ値を作成し、
（ｅ１）当該不良データレコード内のステップ（ｂ１）で認識されたフィールドにおけ
る無効なデータ値を当該置換データ値に置き換えて、無効なデータ値が当該置換データ値
に置き換えられた拡張トレーニングデータレコードを作成し、
（ｆ１）前記不良データセット内の異なるデータレコードに対して、ステップ（ｂ１）
〜（ｅ１）を複数回繰り返し、
（ｇ１）前記不良データセット内で、無効なデータ値をもつ複数のフィールドをもつ欠
陥履歴データレコードを識別し、
（ｈ１）前記置換モデルデータ構造の前記３次モデルエントリによって特定されるトレ
ーニングされた前記３次モデルとなる機械学習クラスタリングアルゴリズムにアクセスし
、
（ｉ１）ステップ（ｈ１）でアクセスされた前記のトレーニングされた３次モデルとな
る機械学習アルゴリズムを使用し、当該欠陥履歴データレコード内においてステップ（ｇ
１）で認識された無効なデータ値をもつ複数のフィールドにおける無効なデータ値の置換
データ値を作成し、
（ｊ１）当該欠陥履歴データレコード内の複数の無効なデータ値をそれぞれの当該置換
データ値に置き換えて、無効なデータ値が当該置換データ値に置き換えられた拡張トレー
ニングデータレコードを作成し、
（ｋ１）前記クリーンデータセットのデータレコードをステップ（ｅ１）及び（ｊ１）
で作成された前記拡張トレーニングデータレコードと組み合わせて使用して、前記１次モ
デルとなる機械学習アルゴリズムをトレーニングする、
ことを特徴とする、請求項１９に記載の方法。
【請求項２３】
前記１次モデルとなる機械学習アルゴリズムの入力として指定された前記履歴データレ
コード内のフィールドが、前記１次モデルとなる機械学習アルゴリズムをトレーニングし
て目的の出力を生成するためには役立たないデータ値を含むことを特定するために、ヒュ
ーリスティック分析を使用することを特徴とすることを特徴とする請求項１９に記載の方
法。
【請求項２４】
前記置換モデルデータ構造には、当該置換モデルデータ構造の不注意または悪意のある
変更を検出を可能にするために、セキュリティのための署名データが設けられていること
を特徴とする請求項１９に記載の方法。
【請求項２５】
対象となる出力をする１次モデルとなる機械学習アルゴリズムをトレーニングするため
の入力として指定された複数のフィールドるフィールドが、対応する同種の前記フィール
ドを各々が複数具備するように設けられた複数の履歴データレコードを使用して、前記１
次モデルとなる機械学習アルゴリズムをトレーニングするための拡張トレーニングデータ
レコードを作成する方法であって、
（ａ）ベースデータセットから、無効なデータ値をもつフィールド、前記１次モデルを
トレーニングするためには役立たないフィールド、及び対象となる出力を表すフィールド
を有する欠陥履歴データレコード、を削除することにより、補助クリーンデータセットを
作成し、
（ｂ）前記補助クリーンデータセットのデータレコードを、（Ａ）前記補助クリーンデ
ータセット内の１つを除く全ての前記データレコードのフィールドをトレーニング入力デ
ータ値として指定し、残りのフィールドデータ値を、前記フィールドに関連付けられた前
記２次モデルとなる機械学習アルゴリズムのトレーニングターゲット値として指定し、（
Ｂ）前記補助クリーンデータセットの各フィールドに対してステップ（Ａ）を繰り返す、
ことによってトレーニングデータとして使用し、トレーニングされた複数のコンピュータ
に実装され前記補助クリーンデータセットのフィールドの各々に対応づけられた前記２次
モデルとなる機械学習アルゴリズムを生成し、
（ｃ）前記補助クリーンデータセットのデータレコードをトレーニングデータとして使
用してトレーニングされた、コンピュータに実装され、トレーニング中の類似度メトリッ
クの計算に基づいて類似しているとみなされる前記補助クリーンデータセット内のレコー
ドのクラスターを表すそれぞれの重みを持つ複数のノードを含む前記３次モデルとなる機
械学習クラスタリングアルゴリズムを生成し、
（ｄ）前記ベースデータセットから削除された欠陥履歴データレコードを含む不良デー
タセットを作成し、
（ｅ）前記不良データセットで、無効なデータ値をもつ単一のフィールドを有する、欠
陥履歴データレコードを認識し、
（ｆ）ステップ（ｅ）で特定されたフィールドに関連するトレーニングされた前記２次
モデルとなる機械学習アルゴリズムを使用して、無効なデータ値をもつ単一の当該フィー
ルドのための置換データ値を作成し、
（ｇ）拡張トレーニングデータレコードにおけるステップ（ｅ）で特定されたフィール
ドのために、当該フィールドにおける無効なデータ値を前記置換データ値に置き換え、
（ｈ）前記不良データセットにおける無効なデータ値をもつ単一のフィールドを有する
異なる複数のデータレコードに対して、ステップ（ｅ１）〜ステップ（ｇ）を繰り返し、
（ｉ）前記不良データセットで、無効なデータ値をもつ複数のフィールドを有する、欠
陥履歴データレコードを認識し、
（ｊ）（１）各前記ノードの重みと、当該欠陥履歴データレコードにおける適正な値を
もつ各フィールドの間の類似度メトリックを計算し、（２）前記類似度メトリックの各々
を使用して、無効なデータ値を持つ当該欠陥履歴データレコード内のそれぞれのフィール
ドの対応する有効な値に最も類似した重みを持つ所定数の勝者ノードを特定し、（３）無
効な前記データ値のそれぞれに関連付けられた前記勝者ノードの重みのそれぞれの平均を
計算し、（４）各前記平均を使用して、前記重みに対応するフィールド内の無効なデータ
値のそれぞれに対するそれぞれの置換値を作成すること、によって、トレーニングされた
前記３次モデルとなる機械学習クラスタリングアルゴリズムを使用して、ステップ（ｉ）
で認識された無効なデータ値を有する複数のフィールドのそれぞれの置換データ値を作成
し、
（ｋ）前記置換データ値を対応する無効な前記データ値の代わりに有する前記拡張トレ
ーニングデータレコードを作成するために、当該フィールドにおける複数の無効な前記デ
ータ値を対応する複数の前記置換データ値に置き換え、
（ｌ）前記不良データセットにおける無効なデータ値をもつ複数のフィールドを有する
異なる複数のデータレコードに対して、ステップ（ｉ）〜ステップ（ｋ）を繰り返す、
ことを特徴とする、方法。
【請求項２６】
前記３次モデルとなる機械学習クラスタリングアルゴリズムは自己組織化マップを含み
、前記類似度メトリックとして、無効なデータ値を含む前記欠陥履歴データレコード内の
各フィールドの対応する有効な値に最も類似した重みをもつ前記ノードを決定するために
、前記ノードと前記欠陥履歴データデコードとの間の距離が用いられることを特徴とする
請求項２５に記載の方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００４
【補正方法】変更
【補正の内容】
【０００４】
図１の左側は、本明細書に記載されているデータ準備技術を使用することができる典型
的な機械学習プロセスを示している。このプロセスは、ステップＳ１０２で始まり、ここ
ではモデル化プロセスの目的が指定される。少なくとも、分析に関与する特定のドメイン
（主題）を十分に理解している人が、予測、分類、クラスタリングなどの問題の性質と、
モデルの品質や有用性を判断するために使用される適切な評価指標を特定する。このモデ
ルが予測モデルまたは分類モデルである場合、開発者は、関連する１つ以上の現象を表す
１つ以上の値（「ターゲット値」として呼ばれることが多い）も識別する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
ステップＳ１０４では、経験的モデルを生成するための機械学習アルゴリズムが選択さ
れる。一般的に、予測問題においては教師あり学習が採用され、アルゴリズムによって得
られる結果は連続的な数値である。予測機械学習アルゴリズムは、利用可能な履歴データ
をモデル出力として連続曲線（あるいは直線）に適合させる。分類問題においても教師付
き学習が採用され、分類問題によって得られる結果は（ラベルで識別される）離散クラス
である。一般に、分類機械学習アルゴリズムは、レコード内のデータがレコードが特定の
カテゴリーに属していることを示す確率を最大化するように動作する。クラスタリング分
析においては、通常、モデルの出力としてデータの類似性を識別する教師なし学習アルゴ
リズムが採用される。このように、問題の性質（予測、分類、またはクラスタリング分析
）により、モデル開発者による適切なアルゴリズムが選択される。このモデルのコンピュ
ータ実装は、市販されているソフトウェアを用いるか、特定の目的のために開発者によっ
て作成されたソフトウェアを用いることができる。一般的には、求められる結果が数値で
あるか、離散的なカテゴリーの区分であるか、求められる結果が特定のデータにおけるデ
ータ値を示す出力が他のデータにおけるデータ値に近いことの判定であるか、に関わらず
、機械学習アルゴリズムは、得られたデータセットと、データに関連付けられた対象の出
力との関係を求める。
【国際調査報告】
2021518024.tif 000014
2021518024.tif 000015
2021518024.tif 000016