特許第6768681号(P6768681)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ナショナル・アイシーティ・オーストラリア・リミテッドの特許一覧

<>
  • 特許6768681-分散データからの学習 図000028
  • 特許6768681-分散データからの学習 図000029
  • 特許6768681-分散データからの学習 図000030
  • 特許6768681-分散データからの学習 図000031
  • 特許6768681-分散データからの学習 図000032
  • 特許6768681-分散データからの学習 図000033
  • 特許6768681-分散データからの学習 図000034
  • 特許6768681-分散データからの学習 図000035
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6768681
(24)【登録日】2020年9月25日
(45)【発行日】2020年10月14日
(54)【発明の名称】分散データからの学習
(51)【国際特許分類】
   G06N 20/00 20190101AFI20201005BHJP
【FI】
   G06N20/00 130
【請求項の数】18
【全頁数】25
(21)【出願番号】特願2017-542168(P2017-542168)
(86)(22)【出願日】2016年2月12日
(65)【公表番号】特表2018-511109(P2018-511109A)
(43)【公表日】2018年4月19日
(86)【国際出願番号】AU2016050088
(87)【国際公開番号】WO2016127218
(87)【国際公開日】20160818
【審査請求日】2018年11月19日
(31)【優先権主張番号】2015900463
(32)【優先日】2015年2月13日
(33)【優先権主張国】AU
(73)【特許権者】
【識別番号】507074133
【氏名又は名称】ナショナル・アイシーティ・オーストラリア・リミテッド
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100103034
【弁理士】
【氏名又は名称】野河 信久
(74)【代理人】
【識別番号】100153051
【弁理士】
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100179062
【弁理士】
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100189913
【弁理士】
【氏名又は名称】鵜飼 健
(74)【代理人】
【識別番号】100199565
【弁理士】
【氏名又は名称】飯野 茂
(72)【発明者】
【氏名】ノック、リチャード
(72)【発明者】
【氏名】パトリーニ、ジョルジオ
【審査官】 多胡 滋
(56)【参考文献】
【文献】 特開2011−100229(JP,A)
【文献】 米国特許第06539391(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
複数の第1のデータサンプルから複数の第1のトレーニングサンプルを決定するためのコンピュータ実装された方法であって、前記複数の第1のデータサンプルのそれぞれが、複数の第1の特徴値、およびその第1のデータサンプルを分類する第1のラベルを備える方法において、
前記複数の第1のデータサンプルの第1のサブセットが前記複数の第1の特徴値のうちの対応する1つまたは複数を有するデータサンプルを備えるように、前記第1のサブセットを選択することと、
前記第1のサブセットの前記第1のデータサンプルのそれぞれの前記第1のラベルに基づいて、前記第1のサブセットの前記データサンプルの前記第1の特徴値を結合することと、
によって、前記複数の第1のトレーニングサンプルのそれぞれを決定することを備える、方法。
【請求項2】
前記複数の第1のデータサンプルが、第1のデータセットのデータサンプルであり、 前記複数の第1の特徴値のうちの前記対応する1つまたは複数が、第2のデータセットの複数の第2のデータサンプルの第2のサブセットの対応する特徴値でもある、請求項1に記載の方法。
【請求項3】
結合されたトレーニングサンプルをそれによって決定するために、前記複数の第1のトレーニングサンプルのうちの2つ以上を結合することをさらに備える、請求項1または2に記載の方法。
【請求項4】
前記複数の第1のトレーニングサンプルのうちの前記2つ以上を結合することが、前記複数の第1のトレーニングサンプルのうちの前記2つ以上を追加することを備える、請求項3に記載の方法。
【請求項5】
前記第1のサブセットを選択することが、前記複数の特徴値のうちの対応する1つまたは複数を有する前記複数の第1のデータサンプルの全てを選択することを備える、請求項1から4のいずれか1項に記載の方法。
【請求項6】
前記複数の第1のデータサンプルの第1のサブセットを選択することが、前記複数の第1のデータサンプルの第1のサブセットが前記複数の第1の特徴値のうちの対応する2つ以上を有するデータサンプルを備えるように前記第1のサブセットを選択することを備える、請求項1から5のいずれか1項に記載の方法。
【請求項7】
前記複数の第1のデータサンプルの第1のサブセットを選択することが、前記第1のラベルが前記複数の第1のデータサンプルの第1のサブセットについて一致するように前記複数の第1のデータサンプルの前記第1のサブセットを選択することを備える、請求項1から6のいずれか1項に記載の方法。
【請求項8】
前記データサンプルの前記第1の特徴値を結合することが、前記第1のトレーニングサンプルの特徴の前記特徴値が前記データサンプルのその特徴の前記第1の特徴値の合計であるように、前記第1のデータサンプルの前記第1の特徴値の前記合計を決定することを備える、請求項1から7のいずれか1項に記載の方法。
【請求項9】
前記合計を決定することが、前記第1のデータサンプルのそれぞれの前記第1のラベルに基づいて重み付けされる、重み付け合計を決定することを備える、請求項8に記載の方法。
【請求項10】
前記第1のデータサンプルが、第1の特徴値として符号付き実数値を有し、
前記第1のラベルが、「−1」および「+1」のうちの1つである、請求項1から9のいずれか1項に記載の方法。
【請求項11】
前記第1のサブセットを選択することが、前記第1のサブセットが前記複数の第1の特徴値のうちの一致する1つまたは複数を有するデータサンプルのみを備えるように前記第1のサブセットを選択することを備える、請求項1から10のいずれか1項に記載の方法。
【請求項12】
第1のトレーニングデータセットを第2のトレーニングデータセットと融合するための方法であって、
複数の第1のトレーニングサンプルを決定するために、前記第1のトレーニングデータセットについて請求項1から11のいずれか1項に記載の方法を実行することと、
複数の第2のトレーニングサンプルを決定するために、前記第2のトレーニングデータセットについて請求項1から11のいずれか1項に記載の方法を実行することと、
前記複数の第1のトレーニングサンプルのそれぞれを、その第1のトレーニングサンプルと同一の一致する特徴値に基づく前記複数の第2のトレーニングサンプルのうちの1つとマージすることと、を備える方法。
【請求項13】
前記複数の第1のトレーニングサンプルのそれぞれを、前記複数の第2のトレーニングサンプルのうちの1つとマージすることが、
前記1つまたは複数の一致する特徴値と、
前記対応する1つまたは複数の特徴値以外の、その第1のトレーニングサンプルの前記第1の特徴値と、
前記対応する1つまたは複数の特徴値以外の、前記複数の第2のトレーニングサンプルのうちの前記1つの前記第2の特徴値と、
を備える第3のトレーニングサンプルを決定することを備える、請求項12に記載の方法。
【請求項14】
コンピュータ上にインストールされているときに、前記コンピュータに請求項1から13のいずれか1項に記載の方法を実行させる、ソフトウェア。
【請求項15】
複数の第1のトレーニングサンプルを決定するためのコンピュータシステムであって、
複数のデータサンプルを受信する入力ポートと、前記複数のデータサンプルのそれぞれが、複数の特徴値、およびそのデータサンプルを分類するラベルを備える、
前記複数のデータサンプルのサブセットが前記複数の第1の特徴値のうちの対応する1つまたは複数を有するデータサンプルを備えるように前記サブセットを選択すること、および、
前記サブセットの前記データサンプルのそれぞれの前記ラベルに基づいて前記サブセットの前記データサンプルの前記特徴値を結合すること
によって、前記複数の第1のトレーニングサンプルのそれぞれを決定するプロセッサと、を備えるコンピュータシステム。
【請求項16】
複数の結合されたトレーニングサンプルを決定するための方法であって、
複数の第1のトレーニングサンプルを受信することと、前記複数の第1のトレーニングサンプルのそれぞれが複数のデータサンプルのサブセットの結合であここにおいて、前記複数のデータサンプルの前記サブセットが複数の特徴値のうちの対応する1つまたは複数を有するデータサンプルを備え、
前記複数の第1のトレーニングサンプルのサブセットをランダムに選択すること、および、
前記サブセットの前記第1のトレーニングサンプルの前記特徴値を結合することによって、前記複数の結合されたトレーニングサンプルのそれぞれを決定することと、
を備える、方法。
【請求項17】
コンピュータ上にインストールされているときに、前記コンピュータに請求項16に記載の方法を実行させる、ソフトウェア。
【請求項18】
複数の結合されたトレーニングサンプルを決定するためのコンピュータシステムであって、
複数の第1のトレーニングサンプルを受信する入力ポートと、前記複数の第1のトレーニングサンプルのそれぞれが複数のデータサンプルのサブセットの結合であここにおいて、前記複数のデータサンプルの前記サブセットが複数の特徴値のうちの対応する1つまたは複数を有するデータサンプルを備え、
前記複数の第1のトレーニングサンプルのサブセットをランダムに選択すること、および、
前記サブセットの前記第1のトレーニングサンプルの前記特徴値を結合することによって、前記複数の結合されたトレーニングサンプルのそれぞれを決定するプロセッサと、を備える、コンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、その内容が参照により本明細書に組み込まれる、2015年2月13日に出願したオーストラリア仮特許出願第2015900463号からの優先権を主張する。
【0002】
本開示は、分散データからの学習に関する。
【背景技術】
【0003】
インターネット上でサービスまたは製品を提供する会社はしばしば、彼らの顧客から幅広いデータを収集し、このデータを処理して、クライアントの行動への集約された見通しを取得する。
【0004】
多くの場合、1人の個人顧客に関するデータが、複数の別々のデータベース内で発見され得る。しかしながら、これらのデータベースの多くが、社会保障番号などの共通の一意の識別子を共有していない。したがって、学習のためにこれら2つのデータベースからデータを使用することは困難である。
【0005】
図1は、個人102、会社などのデータアグリゲータ104、第1のデータベース106、および第2のデータベース108を備える、先行技術のシナリオ100を示す。矢印110および112によって示されるように、個人102に関するデータは、データベース106と108の両方に含まれている。
【0006】
本明細書に含まれている文書、行為、材料、デバイス、製品などのいかなる議論も、これらの事項のいずれかまたは全てが、先行技術の基礎の一部を形成するか、または、本出願の各請求項の優先日前に存在していた本開示に関連する分野において共通の一般的知識であったことを認めるものと受け取られるべきではない。
【0007】
本明細書全体を通じて、「備える(comprise)」という語、または「備える(comprises)」、もしくは「備えている(comprising)」などの変化形は、記述した要素、整数、もしくはステップ、または要素、整数、もしくはステップの群を含むが、いかなる他の要素、整数、もしくはステップ、または要素、整数、もしくはステップの群も除外しないことを示唆すると理解されるであろう。
【発明の概要】
【0008】
複数の第1のデータサンプルから複数の第1のトレーニングサンプルを決定するためのコンピュータ実装された方法が提供される。複数の第1のデータサンプルのそれぞれが、複数の第1の特徴値(multiple first feature values)、およびその第1のデータサンプルを分類する第1のラベルを備える。方法は、
複数の第1のデータサンプルの第1のサブセットが複数の第1の特徴値のうちの対応する1つまたは複数を有するデータサンプルを備えるように第1のサブセットを選択することと、
第1のサブセットの第1のデータサンプルのそれぞれの第1のラベルに基づいて、第1のサブセットのデータサンプルの第1の特徴値を結合することと、によって、複数の第1のトレーニングサンプルのそれぞれを決定することを備える。
【0009】
対応する特徴を共有するデータサンプルは、結合され、すなわち、データセットの同一ブロックにあるため、結果となるトレーニングサンプルは、同一の対応する特徴を共有する、他のデータベースからのトレーニングサンプルと結合され得る。その結果、エンティティマッチングは必要なく、それは、別々のデータセットからの学習時に、他の方法と比較して精度が高く、計算複雑性が低いことを意味する。
【0010】
複数の第1のデータサンプルが、第1のデータセットのデータサンプルであってもよく、複数の第1の特徴値のうちの対応する1つまたは複数が、第2のデータセットの複数の第2のデータサンプルの第2のサブセットの対応する特徴値でもあってもよい。
【0011】
方法は、結合されたトレーニングサンプルをそれによって決定するために、複数の第1のトレーニングサンプルのうちの2つ以上を結合することをさらに備えてもよい。
【0012】
複数の第1のトレーニングサンプルのうちの2つ以上を結合することが、複数の第1のトレーニングサンプルのうちの2つ以上を追加することを備えてもよい。
【0013】
第1のサブセットを選択することが、複数の特徴値のうちの対応する1つまたは複数を有する複数の第1のデータサンプルの全てを選択することを備えてもよい。
【0014】
複数の第1のデータサンプルの第1のサブセットを選択することが、複数の第1のデータサンプルの第1のサブセットが複数の第1の特徴値のうちの対応する2つ以上を有するデータサンプルを備えるように第1のサブセットを選択することを備えてもよい。
【0015】
複数の第1のデータサンプルの第1のサブセットを選択することが、第1のラベルが複数の第1のデータサンプルの第1のサブセットについて一致するように、複数の第1のデータサンプルの第1のサブセットを選択することを備えてもよい。
【0016】
データサンプルの第1の特徴値を結合することが、第1のトレーニングサンプルの特徴の特徴値がデータサンプルのその特徴の第1の特徴値の合計であるように、第1のデータサンプルの第1の特徴値の合計を決定することを備えてもよい。
【0017】
合計を決定することが、第1のデータサンプルのそれぞれの第1のラベルに基づいて重み付けされる、重み付け合計を決定することを備えてもよい。
【0018】
第1のデータサンプルが、第1の特徴値として符号付き実数値を有してもよく、第1のラベルが、「−1」および「+1」のうちの1つであってもよい。
【0019】
第1のサブセットを選択することが、第1のサブセットが複数の第1の特徴値のうちの一致する1つまたは複数を有するデータサンプルのみを備えるように、第1のサブセットを選択することを備えてもよい。
【0020】
第1のトレーニングデータセットを第2のトレーニングデータセットと融合するための方法が、
複数の第1のトレーニングサンプルを決定するために、第1のトレーニングデータセットについて請求項1から11のいずれか1項に記載の方法を実行することと、
複数の第2のトレーニングサンプルを決定するために、第2のトレーニングデータセットについて請求項1から11のいずれか1項に記載の方法を実行することと、
複数の第1のトレーニングサンプルのそれぞれを、その第1のトレーニングサンプルと同一の一致する特徴値に基づく複数の第2のトレーニングサンプルのうちの1つとマージすることと、を備える。
【0021】
複数の第1のトレーニングサンプルのそれぞれを、複数の第2のトレーニングサンプルのうちの1つとマージすることが、
1つまたは複数の一致する特徴値と、
対応する1つまたは複数の特徴値以外の、その第1のトレーニングサンプルの第1の特徴値と、
対応する1つまたは複数の特徴値以外の、複数の第2のトレーニングサンプルのうちの1つの第2の特徴値と、を備える第3のトレーニングサンプルを決定することを備えてもよい。
【0022】
ソフトウェアが、コンピュータ上にインストールされているときに、コンピュータに上記方法を実行させる。
【0023】
複数の第1のトレーニングサンプルを決定するためのコンピュータシステムが、
複数のデータサンプルを受信する入力ポートと、複数のデータサンプルのそれぞれが、複数の特徴値、およびそのデータサンプルを分類するラベルを備える、
複数のデータサンプルのサブセットが複数の第1の特徴値のうちの対応する1つまたは複数を有するデータサンプルを備えるように、サブセットを選択すること、および、
サブセットのデータサンプルのそれぞれのラベルに基づいて、サブセットのデータサンプルの特徴値を結合することによって、複数の第1のトレーニングサンプルのそれぞれを決定するためのプロセッサと、を備える。
【0024】
複数の結合されたトレーニングサンプルを決定するための方法が、
複数の第1のトレーニングサンプルを受信することと、複数のデータサンプルのサブセットが複数の特徴値のうちの対応する1つまたは複数を有するデータサンプルを備えるように、複数の第1のトレーニングサンプルのそれぞれがサブセットの結合である、
複数の第1のトレーニングサンプルのサブセットをランダムに選択すること、および、
サブセットの第1のトレーニングサンプルの特徴値を結合することによって、複数の結合されたトレーニングサンプルのそれぞれを決定することと、を備える。
【0025】
ソフトウェアが、コンピュータ上にインストールされているときに、コンピュータに、複数の結合されたトレーニングサンプルを決定するための上記方法を実行させる。
【0026】
複数の結合されたトレーニングサンプルを決定するためのコンピュータシステムが、
複数の第1のトレーニングサンプルを受信する入力ポートと、複数のデータサンプルのサブセットが複数の特徴値のうちの対応する1つまたは複数を有するデータサンプルを備えるように、複数の第1のトレーニングサンプルのそれぞれがサブセットの結合である、
複数の第1のトレーニングサンプルのサブセットをランダムに選択すること、および、
サブセットの第1のトレーニングサンプルの特徴値を結合することによって、複数の結合されたトレーニングサンプルのそれぞれを決定するプロセッサと、を備える。
【図面の簡単な説明】
【0027】
図1】個人データを別々のデータベース上に記憶するデータアグリゲータの先行技術のシナリオを示す図。
【0028】
例が、以下を参照して説明される。
図2】分散データから学習するためのコンピュータシステム200を示す図。
図3】融合されるべき2つのデータセットを示す図。
図4図3のデータセットのうちの1つのデータサンプルからトレーニングサンプルを決定するための方法を示す図。
図5】複数のトレーニングサンプルから複数の結合されたトレーニングサンプルを決定するための方法を示す図。
図6】ロジスティック回帰のためのアルゴリズムを示す図。
図7】ブロック型観測のサンプリングのためのアルゴリズムを示す図。
図8】データ融合および学習のためのアルゴリズムを示す図。
【発明を実施するための形態】
【0029】
図2は、複数のデータサンプルから複数のトレーニングサンプルを決定することによって分散データから学習するためのコンピュータシステム200を示す。コンピュータシステム200は、携帯電話であってもよく、プログラムメモリ204、データメモリ206、通信ポート208、およびユーザポート210に接続されたプロセッサ202を備える。プログラムメモリ204は、ハードドライブ、ソリッドステートディスク、またはCD−ROMなどの、非一時的コンピュータ可読媒体である。
【0030】
ソフトウェア、すなわち、プログラムメモリ204上に記憶された実行可能なプログラムは、プロセッサ202に図3の方法を実行させる。すなわち、プロセッサ402は、サブセットが、対応する特徴値を有するデータサンプルを備えるように、複数のデータサンプルのサブセットを選択することによって、複数のトレーニングサンプルのそれぞれを決定する。次いで、プロセッサ202は、そのトレーニングサンプルを決定するために、選択されたデータサンプルの特徴値を結合する。
【0031】
一例では、1つのデータセットが、データメモリ206上に記憶されている。そのときに、第2のデータセットおよびさらなるデータセットが、コンピュータシステム200に類似の他のコンピュータシステム上に記憶されてもよい。いくつかの例では、全てのデータセットが、データメモリ206上に記憶され、またはデータセットは、データメモリ206上に記憶されない。データセットは、分散ハッシュテーブル(DHT)などのクラウドストレージ上に記憶されてもよい。
【0032】
プロセッサ202は、決定されたトレーニングサンプルまたは分類係数を、RAMまたはプロセッサレジスタなどのデータストア206上に記憶してもよい。プロセッサ202は、また、決定されたトレーニングサンプルまたは分類係数を、通信ポート208を介して、別の携帯電話などの別のコンピュータシステムに送信してもよい。次いで、プロセッサ202、またはトレーニングサンプルを受信する別のコンピュータシステムは、分類子を決定するために、正規凸学習アルゴリズムまたはロジスティック回帰アルゴリズムなどの学習アルゴリズムを実行することができる。
【0033】
プロセッサ202は、データメモリ206から、ならびに通信ポート208およびユーザポート210から、データサンプルまたはトレーニングサンプルのデータなどのデータを受信してもよい。ユーザポート210は、データセットまたはデータセットの特徴の視覚表示214をユーザ216に見せるディスプレイ212に接続される。一例では、プロセッサ202は、IEEE802.11によるWi−Fiネットワークを使用することなどによって、通信ポート208を介して記憶デバイスからデータを受信する。Wi−Fiネットワークは、ルータなどの専用管理基盤が必要ないように、集中型でないアドホックネットワークであってもよく、またはネットワークを管理するルータもしくはアクセスポイントを有する集中型ネットワークであってもよい。
【0034】
一例では、プロセッサ202は、リアルタイムでデータセットを受信し、処理する。これは、プロセッサ202が、新たなデータサンプルを受信する度にトレーニングサンプルを決定し、次のデータ更新が提供される前にこの計算を完了することを意味する。
【0035】
通信ポート208およびユーザポート210は、別個のエンティティとして示されているが、ネットワーク接続、メモリインターフェース、プロセッサ202のチップパッケージのピン、またはIPソケット、もしくはプログラムメモリ204上に記憶され、プロセッサ202によって実行される関数のパラメータなどの論理ポートなどの、任意の種類のデータポートが、データを受信するために使用されてもよいと理解されるべきである。これらのパラメータは、データメモリ206上に記憶されてもよく、値によって、または参照によって、すなわちポインタとして、ソースコード内で扱われてもよい。
【0036】
プロセッサ202は、これら全てのインターフェースを通じてデータを受信してもよく、キャッシュもしくはRAMなどの揮発性メモリ、または光ディスクドライブ、ハードディスクドライブ、ストレージサーバ、もしくはクラウドストレージなどの不揮発性メモリのメモリアクセスを含む。コンピュータシステム200は、動的な数の仮想機械をホストする相互接続されたサーバの管理されたグループなどの、クラウドコンピューティング環境内でさらに実装されてもよい。
【0037】
任意の受信ステップは、プロセッサ202が、後で受信されるデータを決定し、または計算することによって先行されてもよいことが理解されるべきである。例えば、プロセッサ202は、トレーニングサンプルまたは分類係数を決定し、RAMまたはプロセッサレジスタなどのデータメモリ206にそれらを記憶する。次いで、プロセッサ202は、メモリアドレスと共に読み出し信号を提供することなどによって、データメモリ206からデータを要求する。データメモリ206は、物理ビット線上の電圧信号としてデータを提供し、プロセッサ202は、メモリインターフェースを介してトレーニングサンプルまたは分類係数を受信する。
【0038】
図3は、融合されるべき第1のデータセット302および第2のデータセット304を示す。2つのデータセット302および304は、異なる観点からの同一の実世界エンティティの特徴、例えば、同一の顧客ベースの銀行および保険会社の記録を含む。この例では、第1のデータセット302は、郵便番号306、性別308、毎月のクレジットカード支出310、この個人の自動車の毎月の推定コスト312(モデル、製造メーカなどに基づく)の特徴のための列、および最近12か月間にこの個人が債務の履行を怠ったかどうかを示すラベル314のための列を備える。
【0039】
第2のデータセットもまた、郵便番号316、性別318のための特徴列、およびラベル列324を備える。第2のデータセット304は、年収320および結婚歴322についてのさらなる特徴列を備える。表現を単純化するために、データセット302と304の両方が、郵便番号および性別でソートされて示される。一方、他の例では、データセットは、ソートされていなくともよい。
【0040】
目的は、共有される識別子が、2つのソース302および304の間のビューにマッピングされていない難しい場合において、データの全てを活用する分類子を学習することである。図3の例では、双方向矢印330などの双方向矢印で示されるように、何人かの個人がデータセット302と304の両方に共通である。結果として、対応する行が、同一の郵便番号306/316、性別308/318、およびラベル314を共有する。しかしながら、これらの行は、同一の郵便番号、性別、およびラベルを共有する2人の異なる個人に属することもあることに留意すべきである。
【0041】
エンティティマッチングは、同一の個人に関連するマッチング行を識別することを目的とする。一方、行が、社会保障番号などの一意の識別子を含まない場合において、エンティティマッチングは、正確ではない。結果として、行の特徴は、それらが、異なる個人に関係するとしても、単一の観測に属するように考えられる。これは、完全なマッチングから得られるオラクル分類子(oracle classifier)とは著しく異なる、重大な欠陥のある分類子を学習することに繋がり得る。
【0042】
図4は、第1のデータセット302のデータサンプルからトレーニングサンプルを決定するための方法400を示す。記述は、エンティティマッチングなしにデータセット302および304から学習する学習方法において、これらのトレーニングサンプルがどのように使用され得るかを、以下でさらに説明する。方法400は、コンパイルされ、プログラムメモリ204上に記憶されるC++、Java(登録商標)、Python、または他の言語で実装され得るコンピュータプログラムについてのブループリントまたは疑似コードである。プロセッサ202は、そこで、方法400を実行するためにコンピュータプログラムの個々のコマンドを実行する。
【0043】
上述されたように、データセット302のデータサンプルのそれぞれは、特徴値306、308、310、および312、ならびにそのデータサンプルを分類するラベル314を備える。プロセッサ202は、以下のステップを実行することによって、各トレーニングサンプルを個々に決定する。
【0044】
サブセット332が、複数の第1の特徴値のうちの対応する1つまたは複数を有するデータサンプルを備えるように、プロセッサ402は、まず、データセット302内のデータサンプルのサブセット332を選択する。下記の例では、「対応する(corresponding)」という用語は、「一致する(identical)」と交換可能に使用される。
【0045】
一方、他の例では、選択されたサンプルが、それらのそれぞれの特徴値間でいくらかの類似性を示すように、プロセッサ202は、サブセットを選択する。一例では、名前および姓は、共有特徴であり、プロセッサ202は、同一のサブセットとして、特徴値「John Smith」、「J.Smith」、または「John C.Smith」を有するデータサンプルを選択する。言い換えると、これらのわずかに異なるが十分に類似する特徴値が、「対応する」特徴値と呼ばれる。別の例では、郵便番号が共有され、プロセッサ202は、サブセットとして、「2000」、「2OOO」(数字のゼロに代えて文字の「O」)、または「20**」を有するデータサンプルを選択する。再度、これらのわずかに異なるが十分に類似する特徴値が、「対応する」特徴値と呼ばれる。このように、プロセッサ202は、共有特徴内のノイズまたは欠落値を扱う。
【0046】
「サブセット」および「ブロック」という用語は、特段の記載がない限り、本明細書において交換可能に使用されていることに留意すべきである。図3の例では、郵便番号列306および性別列308についての特徴値が、サブセット332の2つのデータサンプルについて一致するため、プロセッサ202は、サブセット332を選択する。この例では、ラベル314もまた、これらのデータサンプルについて一致する。プロセッサ202は、1つの対応する特徴値、2つの対応する特徴値、または任意の他の数の対応する特徴値に基づいて、サブセットを選択してもよいことに留意すべきである。
【0047】
図3の例では、データセット302内のデータサンプルの数が、少ない数しかなく、したがって、各サブセット内に少ない数のサンプルしかないことに留意すべきである。一方、多くの適用では、データサンプルの数は、100,000など、より著しく大きく、したがって、サブセットは、より多くのデータサンプルを含む。
【0048】
次いで、プロセッサ202は、サブセット332のデータサンプルのそれぞれのラベル314に基づいて、サブセット332のデータサンプルの特徴値306、308、310、および312を結合402する。一例では、プロセッサ202は、ラベル314によって重み付けされる重み付け合計を計算することによって、各列の特徴値306、308、310、および312を追加する。さらなる例では、プロセッサ202は、サブセット332内の一致しない特徴値のみの重み付け合計を計算する。
【0049】
図3の例では、サブセット332についての計算は、
年間支出特徴310については、56*(−1)+987*(−1)、
自動車コスト特徴312については、22,578*(−1)+13,886(−1)となる。
【0050】
結果となるトレーニングサンプルは、(2004,M,−1,043,−36,464)であり、それは、以下で「基本rado」とも呼ばれる。この計算は、定義1において、以下でより形式的に述べられる。
【0051】
同様に、第2のデータセット304は、サブセット334を備える。サブセット332について対応する特徴値306および308は、また、サブセット334についても対応する。すなわち、これらのサンプルは、郵便番号2004の男性に関係する。方法400が開始する前に、プロセッサ202は、第1のサブセット332および第2のサブセット334について一致する特徴値の識別子を受信してもよい。これらの識別子は、データセット302および304が、サブセットまたはブロックを定義するために最も適当な特徴について分析される、前処理ステップにおいて決定されてもよい。一例では、プロセッサ202は、第1のデータセット302の特徴のうちのどれが、第2のデータセット304の特徴でもあるかを簡単にチェックする。図3の例では、プロセッサ202は、郵便番号および性別が両方のデータセット内に出現すると決定する。
【0052】
サブセット334についての計算は、
78,643*(−1)+11,211*(−1)、および(−1)*(−1)+(−1)*(−1)であり、結果として、
(2004,M,−89,854,2)がトレーニングサンプルとして得られる。
【0053】
対応する特徴値を繰り返すことなく、サブセット332および334それぞれからのトレーニングサンプルをマージすることは、結果として、
(2004,M,−1,043,−36,464,−89,854,2)を生じる。
【0054】
上記の例は、非共有特徴をマージし、共有特徴、すなわち、対応する特徴、定数を維持する。これは、共有特徴についての決定木、および非共有特徴についての線形分離子を学習するのに有用であり得る。
【0055】
別の例では、線形分離子のみに依拠するために、共有される特徴は、非共有特徴と同じやり方で取り扱われる。したがって、それは、非共有特徴の共有特徴への変換を拡張することを示唆する。
【0056】
図3の例では、サブセット332についての計算は、
郵便番号特徴306については、2004*(−1)+2004*(−1)、
性別特徴308については、(−1)*(−1)+(−1)*(−1)、
年間支出特徴310については、56*(−1)+987*(−1)、
自動車コスト特徴312については、22,578*(−1)+13,886(−1)となる。
【0057】
そこで、結果となるトレーニングサンプルは、(−4008,2,−1,043,−36,464)であり、それは、以下で「基本rado(basic rado)」とも呼ばれる。
【0058】
サブセット334についての計算は、
2004*(−1)+2004*(−1)、および(−1)*(−1)+(−1)*(−1)および78,643*(−1)+11,211*(−1)、および(−1)*(−1)+(−1)*(−1)であり、結果として、(−4008,2,−89,854,2)がトレーニングサンプルとして得られる。
【0059】
サブセット332および334それぞれからのトレーニングサンプルをマージすることは、(−4008,2,−1,043,−36,464,−89,854,2)という結果となる。
【0060】
プロセッサ202は、バイナリ値などに値の数を減少させるために、基本radoを後処理することができる。一例では、非対応特徴値の支出310、自動車コスト312、収入320は、閾値を適用することによって、バイナリ値「+1」および「−1」に変換される。一例では、クレジットカード支出310についての閾値は500であり、自動車コスト312については、30,000であり、収入320については、50,000である。
【0061】
サブセット332についての簡易化計算は、そこで、
クレジットカード支出310については、(−1)*(−1)+1*(−1)=0であり、それは、クレジットカード支出310が、郵便番号2004の男性についての不履行リスクに影響を及ぼさないことを示す。自動車コスト312については、(−1)*(−1)+(−1)*(−1)=2であり、それは、自身の自動車により多くのコストを費やす、郵便番号2004の選択された男性は、履行を怠りそうにないことを示す。
【0062】
同様に、サブセット334についての簡易化計算は、そこで、
年収320については、1*(−1)+(−1)*(−1)=0であり、それは、年収320が、郵便番号2004の男性についての不履行リスクに影響を及ぼさないことを示す。結婚歴322については、(−1)*(−1)+(−1)*(−1)=2であり、それは、結婚していることが、郵便番号2004の男性についての不履行リスクを増加させることを示す。
【0063】
共有特徴および非共有特徴が、異なった取り扱いをされる例において、マージされたトレーニングサンプルは、(2004,M,0,2,0,2)であり、上述されたように共有特徴が非共有特徴と同様に取り扱われる例においては、(−4008,2,0,2,0,2)である。共有値は、例えば、それが間隔[2000,2050]の間に属する場合は「+1」、そうでなければ「−1」などといったように、2つのバイナリ値「+1」および「−1」に郵便番号を減少させるようになど、さらに後処理され得る。
【0064】
図3の例では、第1のデータセット302内にさらなるサブセット336があり、それは結果として、(2012,M,2,−2)(または共有および非共有特徴の同等の処理の場合(4024,−2,2,−2))の(マージ前の)トレーニングサンプルを生じる。第2のデータセット304内にさらなるサブセット338があり、それは結果として(2012,M,0,0)(または共有および非共有特徴の同等の処理の場合(4024,−2,0,0))のトレーニングサンプルを生じる。したがって、マージされた第2のトレーニングサンプルは、(2012,M,2,−2,0,0)(または共有および非共有特徴の同等の処理の場合(4024,−2,2,−2,0,0))であることになる。
【0065】
このことが示すように、各データセット内の2つのサブセットから2つのマージされたトレーニングサンプルが存在する。言い換えると、トレーニングサンプルの数は、サブセットまたはブロックの数に一致する。一方、トレーニングサンプルの数がより大きい場合、学習アルゴリズムにとって、しばしばより良い性能をもたらす。
【0066】
図5は、プロセッサ202によって実行される、複数の結合されたトレーニングサンプルを決定するための方法500を示す。方法500は、トレーニングサンプルを生成するための方法400を実行するプロセッサとは異なるコンピュータシステムの異なるプロセッサによって実行されてもよいことに留意すべきである。一例では、方法500は、方法400とは関係なく実行される。
【0067】
方法500を実行すると、プロセッサ202は、複数の第1のトレーニングサンプルを受信する。上述されるように、複数のデータサンプルのサブセットが複数の特徴値のうちの対応する1つまたは複数を有するデータサンプルを備えるように、複数のトレーニングサンプルのそれぞれがサブセットの結合である。
【0068】
次いで、プロセッサ202は、結合されたトレーニングサンプルを決定するために、複数の第1のトレーニングサンプルのサブセットをランダムに選択し、サブセットの第1のトレーニングサンプルの特徴値を結合する。
【0069】
これは、プロセッサ202が、1つまたは複数のサブセットの結合が存在するのと同じ数の結合されたトレーニングサンプルを生成することを可能にする。図3の例では、2つのサブセットのただ1つの結合が存在し、すなわち、プロセッサ202は、第3のトレーニングサンプルを決定する。一方、2つの異なる郵便番号を有するより大きなデータセットの場合、性別特徴を考慮する8個のサブセットが存在し、ラベルは、サブセットの数をそれぞれ2倍する。これは、255の異なる結合を可能にし、プロセッサ202は、さらなる結合されたトレーニングサンプルを決定するために、これらのランダムな結合を選択する。
【0070】
プロセッサ202は、特徴値を追加することによって、結合されたトレーニングサンプルを決定してもよい。すなわち、上記2つのトレーニングサンプルを結合することが、第3の結合されたトレーニングサンプルとして、(2012,M,2,0,0,2)(または共有および非共有特徴の同等の処理の場合(4024,−2,2,0,0,2))を与えることとなる。
【0071】
共有および非共有特徴の同等の処理の場合の計算を含む上記変換は、下記の定義2と整合することに留意すべきである。
【0072】
一例では、プロセッサ202は、バイナリ分類子を学習し、すなわち、2つのドメイン302と304の間でエンティティマッチングを実行する必要なく、ドメイン302と304の両方のクロス積空間において、分類係数を決定する。学習は、ある集計された統計値の関数としてのロジスティック損失の公式化に基づいてもよく、それは、ラーデマッヘル観測(Rademacher observation)(rado)と呼ばれる。一度分類子が学習されると、すなわち、分類係数が決定されると、プロセッサ202は、ラベルなしの新たなデータサンプルのために推定されるラベルを決定することができる。例えば、プロセッサ202は、個人の郵便番号、性別、クレジットカード支出、自動車コスト、収入および結婚歴を受信し、その個人が、履行を怠りそうであるかどうかを、分類係数に基づいて決定することができる。
【0073】
元の観測についてのロジスティック損失の最小化は、これらのradoについての指数rado損失の最小化と等価である。したがって、それらは実際上知られていないため、プロセッサ202は、個々の観測を無視する分類子を学習することができる。
【0074】
既存のインスタンスについての新たな特徴を取得する手段として、データセットをマージすることは、予測力を大幅に高める可能性を有することに留意すべきである。保険および銀行データはともに、不正利用検出を向上させ得る。買物記録は、病気のリスクを推定するための病歴をうまく補完し得る。データ融合、ノイズのある異種のデータセットのエンティティをマージするプロセスは、いくつかのドメイン内、例えば、ゲノミクスにおいて、予測問題に対して効果的であり得る。
【0075】
一例では、データセット302および304は、(一方の組織にその個々の顧客の他方のビューを明らかにすることとなる)共通IDを共有することなく、彼らのデータ資産の共同力を活用したい別々の組織によって保持される。
【0076】
radoは、学習サンプルのサブセットについての集計された統計値である。その評価のために個々の例が必要とされないように、それらは、便利な形態でロジスティック損失に基づいて代理リスクを表現することを可能にする。そのような集計されたレベルで動作すると、エンティティ照合は必要とされない。
【0077】
2つの基本的な結果は、学習動作を容易にする。第1に、その数が、サンプルの大きさにおいて指数的であり、したがって扱いにくい、radoの全てのセットについて、損失間で等価が保持される。しかしながら、統計的観点から、下記で提示される集中特性を考慮すると、多数のradoは、学習には必要ではない。
【0078】
第2に、上述したように、エンティティ分析は必要とされないが、複数のデータセットからradoを構築することは、簡単ではない。例えば、性別、郵便番号などの特徴のうちのいくつかが、データセット間で共有されるとき、プロセッサ202は、例のサブセット(ブロック)、したがってそれらのradoを照合することが分かる。必要とされる情報は、エンティティの照合方法を知るよりももっと粗い。
【0079】
n∈N*および[n]={1,2,...,n}とする。ベクトルを示すためにvのように太字を使用し、その座標は、i∈[n]についてのviと示される。線形モデルθを用いたバイナリ分類のタスクは、学習サンプルS={(xi,yi),i∈[m]}からラベルyについての予測因子を学習することを備える。各例は、
【0080】
【数1】
【0081】
である観測ラベルのペア(xi,yi)∈X×{−1,+1}であり、それは、未知の分散Dから独立同分布で表される。ラベルは、θΤxの符号によって予測される。エンティティという語は、エンティティマッチングのオブジェクトとして、データセット内の全体的な記録をいい、属性は、その値を指す。
【0082】
図3における設定は、次の意味で異なる。2つの互いに素な(学習)サンプルSj,j∈[2]が与えられる。それぞれが、それ自体の特徴空間、
【0083】
【数2】
【0084】
であって
【0085】
【数3】
【0086】
、d=d1+d2内で定義され、
【0087】
【数4】
【0088】
は、ビューjの特徴iによって張られる空間である。
【0089】
【数5】
【0090】
における例は、ρ(i)によって、
【0091】
【数6】
【0092】
におけるそれらのビューにマッピングされる。目的は、x∈Xについての線形分類器θを学習することである。提案される方法は、カーネルで拡張されてもよい。
【0093】
以下の仮定が用いられてもよい。
・互いに素なサンプルは、同一のm個の観測のビューである。すなわち、ρ:[m]→[m]は、S1とS2との間の1対1マッピングである。ρは未知である。
・ラベルは、互いに素であるサンプル
【0094】
【数7】
【0095】
の間で整合している。
・欠けているラベルはない。
マッピングρが既知であった場合、3つの仮定は、プロセッサ202が、
【0096】
【数8】
【0097】
のような連結によってサンプルSを形成することを可能にすることとなる。
【0098】
理想化されたプロセスは、図3のS1302およびS2304をS(図示せず)から生成してもよい。1)特徴空間XをX1およびX2に分配する。2)全ての観測xiをそれに従って分割し、それらをS1およびS2に割り当てる。3)yiを、S1およびS2の関係する分割観測に割り当てる。4)ρを通じてS2を並べ替える。
【0099】
学習のためにデータセットをマージするためのおおよその順列を見つけることは、結果として、真の順列で得られるものとは著しく異なる分類子を生じることがある。
【0100】
ラーデマッヘル観測およびロジスティック損失
Σm={−1,1}mとする。そのとき[1]である。
【0101】
定義1:任意のσ∈Σmについて、記号σを有するラーデマッヘル観測πσは、
【0102】
【数9】
【0103】
である。
【0104】
Sへの参照は、πσの定義において陰伏的である。したがって、ラーデマッヘル観測は、yi=σiである例のサブセットについての項yiiを合計する。σ=yが、クラスのベクトルであるとき、πσ=mμSは、平均演算子のm倍である。σ=−yのとき、ヌルベクトルπσ=0を得る。
【0105】
Sについてθを学習する手法は、ロジスティック損失から構築される代理リスクFlog(S,θ)の最小化にそれを適合させることである。
【0106】
【数10】
【0107】
指数radoリスク(exponential rado−risk)
【0108】
【数11】
【0109】
は、任意のU⊆Σmについてプロセッサ202によって以下のように計算されてもよい。
【0110】
【数12】
【0111】
U=Σmであるとき、Flogおよび
【0112】
【数13】
【0113】
は、単純な単調関係によって関係しており、したがって、1つの基準を最小化することは、他の基準を最小化することと等価であり、逆もまた同様であることが分かる。
【0114】
任意のθおよびSについて、以下が成り立つ。
【0115】
【数14】
【0116】
これは、ロジスティック損失についての学習サンプルSに関するラーデマッヘル観測のセット全体の十分性の説明であり得る。これは、ラベル変数についての平均演算子の十分性を導き出す。
【0117】
しかしながら、Σmのサイズがmにおいて指数関数的であると、指数関数的に多くのradoが学習に必要とされるために上記等価は実際的でないことがある。したがって、プロセッサ202は、|U|=n=2mradoのみを使用して代理リスクの近似を定量化する。
【0118】
次の結果は、|Flog(S,θ,U)−Flog(S,θ)|の確率境界を詳細に述べる。ここで、
【0119】
【数15】
【0120】
方程式(3)は、近似Flog(S,θ,U)が、Flog(S,θ)の周囲にはっきりと集中されることを示す。
【0121】
図6は、ソフトウェアとして実装され、プロセッサ202によって実行されるアルゴリズム600を示す。1)1つのデータセットのみが与えられ、したがって、2)radoが、全て自由に計算され得るとき、それが「初期ケース」における問題を解くため、アルゴリズム600は、背景情報として提供される。ブロックは、以下でさらに考慮される。
【0122】
上述の集中特性は、標準的な分類設定においてラーデマッヘル観測を用いてSから学習するためのアルゴリズム600を容易にする。以下の説明は、プロセッサ202が、互いに素である学習サンプルからのradoをどのようにしてマージするかを述べる。
【0123】
互いに素であるサンプルから集中されるradoのセットを
【0124】
【数16】
【0125】
として表すとする。
【0126】
同一のσは、S1とS2の両方をサブサンプリングするために使用されることに留意する。一般的にはρ(i)≠iであるため、集中の結果、インコヒーレントなサブサンプリングとなり、セット{πσ:σ∈U}に等しくない。そのような等式は、4つの特定の記号、すなわち、全てのiについてのσi=±1,±yiについてのみ真である。これらは、それぞれ、負および正の観測のサブセット、(非正規形)平均演算子mμおよびヌルベクトルに基づいて構築されたradoである。
【0127】
Σmに対応するradoのセット全体についての誤りのない連結は、本質的に完全ERを意味し、実際にはradoのmが、1つの例のみについての合計である。したがって、|U|=2mは、扱いにくいだけでなく、実際にERなしでは達成できない。それにもかかわらず、上記で説明したように、統計的にはこれは必要ですらない。以下の説明は、プロセッサ202が、事前知識に基づいて、radoのサブセットについての誤りのない連結をどのようにして取得するかを示している。
【0128】
ブロッキング(blocking)は、ERプロセス内の一段階である。データセットからのエンティティは、それらが同一の値のブロッキングキー(blocking key)を共有する場合に、同一のブロック内に挿入される。ブロッキングキーは、例えば、郵便番号などいずれか1つの属性の値、または郵便番号および性別などデータセットによって共有される複数の属性、または姓の最初の文字のようにそれらの機能から導き出され得る。言い換えると、1つのブロックからのサンプルのみを考慮することによって、サブセットが、特徴値、すなわち、ブロッキングキーのうちの対応する1つまたは複数を有するサンプルを備えるように、プロセッサ202は、データサンプルのサブセット(そのブロック)を選択する。
【0129】
ブロッキングキーは、データサンプルのサブセットを選択することと等価であるデータの一部を誘導する。
【0130】
後で説明されるように、プロセッサ202は、「基本ブロック」、すなわちサブセットの、全ての可能性のある和集合をとることによって、ブロックの拡大されたセットを考慮してもよい。「基本ブロック」は、上記で説明されたように定義されるものである。
【0131】
より形式的には、正の数K≦min(d1,d2)の特徴は、2つのデータセット間で共有され、それぞれの共有される特徴kは、濃度Ck>1を有する。一例では、プロセッサ202は、実数値特徴を定量化する。ラベルは、追加の共有属性としての役割をする。基本ブロックは、あらゆる共有特徴およびラベル、例えば、郵便番号=2000、性別=「F」、およびy=1について同一の値と共に発生する、例のサブセットである。より一般的には、ブロックは、基本ブロックの和集合であり、郵便番号∈[2000,2999]、性別=「F」、およびy∈{−1,1}を有する例を含みうる。
【0132】
基本ブロックの数は、
【0133】
【数17】
【0134】
である。2は、2つのラベルに起因し、それは、常に2つの基本ブロックを誘導する。数字は、別個の基本ブロックの数量についての上限を与える。実際に、いくつかの共有特徴は、新たなブロックを構築する追加の情報をもたらすことはない。
【0135】
【数18】
【0136】
が、別個の基本ブロックの数であるように、割引因子は、
【0137】
【数19】
【0138】
である。例えば、k’が、kの複製であるとき、内部合計は、Ckである。それは、外部合計によって2倍にカウントされるため、全ての項が2で割られ、したがって、α=Ckである。その結果、各基本ブロックが選択されるか、または和集合内にないため、ブロックは、2H−1の数のうちにあり、1は、空のブロックに相当する。
【0139】
各ブロックは、radoを定義する。
【0140】
定義2:B={bt⊆S,t∈[T]}とする、ブロックのシーケンスである。ブロックラーデマッヘル観測πt(btと整合する)は、
【0141】
【数20】
【0142】
として定義される。また、Π(B){bt∈Bと整合するπt}とする。定義2は、基本ブロックにも特化され、1つが、和集合による他の全てを生成する。基本ブロックの和集合のradoが、基本radoの合計であるから、この最後の特性は、基本(ブロック)radoのセットに移行する。したがって、基本radoΠ(BB)のセットは、全てのブロックradoΠ(B)についての生成元であり、その大きさは、指数関数的に大きい。これは、次の補助定理を証明する。
【0143】
ブロックBのセットおよび基本ブロックBB⊂Bとすると、
【0144】
【数21】
【0145】
であるように
【0146】
【数22】
【0147】
となる。
【0148】
図7は、この補助定理に基づくさらなるアルゴリズム700を示し、それは、Π(B)からのサンプリングの非常に容易な実装を可能にする。Π(BB)から全ての要素が一度計算されると、データセットへのいかなる他のコストのかかる訪問も回避することができる。分散された設定も、大いに利益があり得る。
【0149】
データ融合に戻って、以下の完全ブロッキングの仮定が使用されてもよい。互いに素である学習サンプルについて定義される、対応するブロック(b1,b2)のそれぞれのペアについて、
【0150】
【数23】
【0151】
となる。すなわち、2つのブロックは、同一の例のビューを正確に含む。ブロックradoの連結は、誤りがない。
【0152】
【数24】
【0153】
とする。
【0154】
U(B)={σ:πσ∈Π(B)}とする。任意のU⊆U(B)を選ぶと、次のように等価性を得る。
【0155】
【数25】
【0156】
下記の方程式は、上記のロジスティック損失の式に対する証明を提供する。
【0157】
【数26】
【0158】
ここで、(20,22)においてU=U(B)を、(21)において上記完全ブロッキングの仮定を使用している。
【0159】
図8は、radoをサンプリングするための、図7のアルゴリズム700を使用するさらなるアルゴリズム800を示す。
【0160】
プロセッサ202は、L−BFGSを用いて凸問題を解いてもよい。最適化の間、radoは、方程式(18)におけるべき乗を分岐させることができる。それによって、それぞれのradoは、radoによって合計されたトレーニングサンプルの数またはサンプルサイズmのいずれかによって正規化されてもよい。
【0161】
上記で示されるように、分類のための基準としてradoリスクを最小化することは、効果的である。別の例では、特徴空間は、例えば、年齢、出生国などの人口統計学の変数のサブセットと、例えば、時間当たりの賃金、キャピタルゲインなどの、収入関連の変数のサブセットの間で分割される。3つの特徴、すなわち、性別、年齢、人種は、共有されると仮定されてもよい。年齢は、連続的な変数であり、したがって、プロセッサ202は、その分位値を考慮する。タスクは、人が、1年に5万ドルより多く稼ぐかどうかを分類することである。
【0162】
n∈{50,5000}である。アルゴリズム500によってサンプリングされたradoの数は、50から5000の間であってもよい。プロセッサ202は、別個のものを保持するだけで、より小さなセットでトレーニングを実行してもよい。一例では、正則化は適用されない。
【0163】
第2に、実際には、別の適切な状況が存在する。X1またはX2のいずれかにおいてのみ予測することが可能であるが、依然としてX全体についてのモデルを学習したと仮定する。提示した損失関数が、この問題に取り組むために設計されていないとしても、関連するサブ空間Xjによってモデルを単に分割してもよい。この稚拙な発見的教授法は、ジョンソン−リンデンストラウス(Johnson−Lindenstrauss)の定理に鑑みてうまく動作し得る。
【0164】
並列および分散型学習。radoは、線形演算子であり、したがって、並列化可能である。並行計算は、この方法に大いに利益をもたらす。これは、データが分配され、効果的にマージされないことによって、容易となる。
【0165】
通信プロトコルは、データが存在する場合に一度radoが計算されると、それらは、1回で中央の学習者に送信される。H個の基本radoのみが必要であり、データにはもはやアクセスされる必要はない。ブロックradoのサンプリングは、必要であれば、同様に分散され得る。
【0166】
リソースが、中央ユニットにおいて不足していないとの仮定の下で、学習の大部分は、標準凸最適化によって実行される。radoは、また、データ圧縮を助け、nは、mよりも著しく小さく、したがって、中央オプティマイザのスケーラビリティに肯定的な効果を有し得る。
【0167】
一例では、2つのデータプロバイダは、予測モデルを改善することに関心があるが、共有する情報を最小化することを目的とする。学習者は、radoを受信し、モデルをトレーニングする。学習者は、第3のエージェント、またはデータプロバイダの一方のいずれかであり得る。プロバイダは、潜在的な中間者攻撃と学習者それ自体の両方に対して保護する必要がある。チャネルを通じて送信される情報のみが、radoからなり、例は、全く共有されない。σまたはmについての情報は、どちらも交換されないことに留意する。データセットを再構成するためのいかなる試みも、十分な情報が不足することになる。
【0168】
一例では、データセットは、同一の観測のビューを含み、それらのラベルは、整合しており、常に存在し、ブロッキングは完全である。radoが持っている統計的特性のおかげで、それらの仮定全てが、アルゴリズムに対し必須ではない。
【0169】
ラベル以外のいかなる共有特徴もなしで、プロセッサ202は、4つのradoのみを決定する。それらのうちの1つは、ロジスティック損失を最小化するためのラベルに関する十分な統計値である。学習のための全ての管理は、この量に組み込まれる。
【0170】
特許請求の範囲で定義される範囲から逸脱することなく、多数の変形および/または修正が、特定の実施形態に対して行われ得ると、当業者により理解されるであろう。
【0171】
本開示の技術は、様々な技術を用いて実施されてもよいと、理解されるべきである。例えば、本明細書に記載された方法は、適当なコンピュータ可読媒体上に存在する一連のコンピュータ実行可能命令によって実施されてもよい。適当なコンピュータ可読媒体は、揮発性(例えば、RAM)および/または不揮発性(例えば、ROM、ディスク)メモリ、搬送波、ならびに伝送媒体を含んでもよい。例示的な搬送波は、ローカルネットワーク、またはインターネットなどの公開アクセス可能なネットワークに沿って、デジタルデータストリームを伝達する電気、電磁気、または光信号の形態をとってもよい。
【0172】
特段の記載がない限り、以下の議論全体を通して明らかなように、「推定する(estimating)」、または「処理する(processing)」、または「計算する(computing)」、または「計算する(calculating)」、「最適化する(optimizing)」、または「決定する(determining)」、または「表示する(displaying)」、または「最大化する(maximising)」などの用語を利用する議論は、コンピュータシステムのレジスタおよびメモリ内の物理(電子)量として表されるデータを処理し、コンピュータシステムのメモリもしくはレジスタ、または他のそのような情報記憶装置、伝送または表示デバイス内の物理量として同様に表される他のデータに変換する、コンピュータシステム、または類似の電子コンピューティングデバイスの動作および処理を指すことを理解されたい。
【0173】
したがって、本実施形態は、全ての点において、例示的であり、限定的ではないと考えられるべきである。 以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1] 複数の第1のデータサンプルから複数の第1のトレーニングサンプルを決定するためのコンピュータ実装された方法であって、前記複数の第1のデータサンプルのそれぞれが、複数の第1の特徴値、およびその第1のデータサンプルを分類する第1のラベルを備える方法において、
前記複数の第1のデータサンプルの第1のサブセットが前記複数の第1の特徴値のうちの対応する1つまたは複数を有するデータサンプルを備えるように、前記第1のサブセットを選択することと、
前記第1のサブセットの前記第1のデータサンプルのそれぞれの前記第1のラベルに基づいて、前記第1のサブセットの前記データサンプルの前記第1の特徴値を結合することと、
によって、前記複数の第1のトレーニングサンプルのそれぞれを決定することを備える、方法。
[2] 前記複数の第1のデータサンプルが、第1のデータセットのデータサンプルであり、 前記複数の第1の特徴値のうちの前記対応する1つまたは複数が、第2のデータセットの複数の第2のデータサンプルの第2のサブセットの対応する特徴値でもある、[1]に記載の方法。
[3] 結合されたトレーニングサンプルをそれによって決定するために、前記複数の第1のトレーニングサンプルのうちの2つ以上を結合することをさらに備える、[1]または[2]に記載の方法。
[4] 前記複数の第1のトレーニングサンプルのうちの前記2つ以上を結合することが、前記複数の第1のトレーニングサンプルのうちの前記2つ以上を追加することを備える、[3]に記載の方法。
[5] 前記第1のサブセットを選択することが、前記複数の特徴値のうちの対応する1つまたは複数を有する前記複数の第1のデータサンプルの全てを選択することを備える、[1]から[4]のいずれか1項に記載の方法。
[6] 前記複数の第1のデータサンプルの第1のサブセットを選択することが、前記複数の第1のデータサンプルの第1のサブセットが前記複数の第1の特徴値のうちの対応する2つ以上を有するデータサンプルを備えるように前記第1のサブセットを選択することを備える、[1]から[5]のいずれか1項に記載の方法。
[7] 前記複数の第1のデータサンプルの第1のサブセットを選択することが、前記第1のラベルが前記複数の第1のデータサンプルの第1のサブセットについて一致するように前記複数の第1のデータサンプルの前記第1のサブセットを選択することを備える、[1]から[6]のいずれか1項に記載の方法。
[8] 前記データサンプルの前記第1の特徴値を結合することが、前記第1のトレーニングサンプルの特徴の前記特徴値が前記データサンプルのその特徴の前記第1の特徴値の合計であるように、前記第1のデータサンプルの前記第1の特徴値の前記合計を決定することを備える、[1]から[7]のいずれか1項に記載の方法。
[9] 前記合計を決定することが、前記第1のデータサンプルのそれぞれの前記第1のラベルに基づいて重み付けされる、重み付け合計を決定することを備える、[8]に記載の方法。
[10] 前記第1のデータサンプルが、第1の特徴値として符号付き実数値を有し、
前記第1のラベルが、「−1」および「+1」のうちの1つである、[1]から[9]のいずれか1項に記載の方法。
[11] 前記第1のサブセットを選択することが、前記第1のサブセットが前記複数の第1の特徴値のうちの一致する1つまたは複数を有するデータサンプルのみを備えるように前記第1のサブセットを選択することを備える、[1]から[10]のいずれか1項に記載の方法。
[12] 第1のトレーニングデータセットを第2のトレーニングデータセットと融合するための方法であって、
複数の第1のトレーニングサンプルを決定するために、前記第1のトレーニングデータセットについて[1]から[11]のいずれか1項に記載の方法を実行することと、
複数の第2のトレーニングサンプルを決定するために、前記第2のトレーニングデータセットについて[1]から[11]のいずれか1項に記載の方法を実行することと、
前記複数の第1のトレーニングサンプルのそれぞれを、その第1のトレーニングサンプルと同一の一致する特徴値に基づく前記複数の第2のトレーニングサンプルのうちの1つとマージすることと、を備える方法。
[13] 前記複数の第1のトレーニングサンプルのそれぞれを、前記複数の第2のトレーニングサンプルのうちの1つとマージすることが、
前記1つまたは複数の一致する特徴値と、
前記対応する1つまたは複数の特徴値以外の、その第1のトレーニングサンプルの前記第1の特徴値と、
前記対応する1つまたは複数の特徴値以外の、前記複数の第2のトレーニングサンプルのうちの前記1つの前記第2の特徴値と、
を備える第3のトレーニングサンプルを決定することを備える、[12]に記載の方法。
[14] コンピュータ上にインストールされているときに、前記コンピュータに[1]から[13]のいずれか1項に記載の方法を実行させる、ソフトウェア。
[15] 複数の第1のトレーニングサンプルを決定するためのコンピュータシステムであって、 複数のデータサンプルを受信する入力ポートと、前記複数のデータサンプルのそれぞれが、複数の特徴値、およびそのデータサンプルを分類するラベルを備える、
前記複数のデータサンプルのサブセットが前記複数の第1の特徴値のうちの対応する1つまたは複数を有するデータサンプルを備えるように前記サブセットを選択すること、および、
前記サブセットの前記データサンプルのそれぞれの前記ラベルに基づいて前記サブセットの前記データサンプルの前記特徴値を結合すること
によって、前記複数の第1のトレーニングサンプルのそれぞれを決定するプロセッサと、を備えるコンピュータシステム。
[16] 複数の結合されたトレーニングサンプルを決定するための方法であって、
複数の第1のトレーニングサンプルを受信することと、複数のデータサンプルのサブセットが複数の特徴値のうちの対応する1つまたは複数を有するデータサンプルを備えるように前記複数の第1のトレーニングサンプルのそれぞれが前記サブセットの結合である、 前記複数の第1のトレーニングサンプルのサブセットをランダムに選択すること、および、
前記サブセットの前記第1のトレーニングサンプルの前記特徴値を結合することによって、前記複数の結合されたトレーニングサンプルのそれぞれを決定することと、
を備える、方法。
[17] コンピュータ上にインストールされているときに、前記コンピュータに[16]に記載の方法を実行させる、ソフトウェア。
[18] 複数の結合されたトレーニングサンプルを決定するためのコンピュータシステムであって、
複数の第1のトレーニングサンプルを受信する入力ポートと、複数のデータサンプルのサブセットが複数の特徴値のうちの対応する1つまたは複数を有するデータサンプルを備えるように前記複数の第1のトレーニングサンプルのそれぞれが前記サブセットの結合である、
前記複数の第1のトレーニングサンプルのサブセットをランダムに選択すること、および、
前記サブセットの前記第1のトレーニングサンプルの前記特徴値を結合することによって、前記複数の結合されたトレーニングサンプルのそれぞれを決定するプロセッサと、を備える、コンピュータシステム。
図1
図2
図3
図4
図5
図6
図7
図8