(57)【要約】分散データ統合装置は、分散している複数の解析対象データの統合において共通に用いられるデータであるアンカーデータが第１関数によって変換されて得られる中間表現であるアンカーデータ中間表現、及び解析対象データが第１関数によって変換されて得られる中間表現である解析対象中間表現を、解析対象データ毎に取得する取得部と、複数のアンカーデータ中間表現を第２関数によって解析対象データ毎に変換するアンカーデータ変換部と、アンカーデータ中間表現相互間の差を最小にする解析対象データ毎の第２関数を算出する算出部と、解析対象中間表現を第２関数によって解析対象データ毎に変換する解析対象データ変換部と、を備える。
2020137728.tif 000002
【特許請求の範囲】
【請求項１】
分散している複数の解析対象データの統合において共通に用いられるデータであるアンカーデータが第１関数によって変換されて得られる中間表現であるアンカーデータ中間表現、及び前記解析対象データが前記第１関数によって変換されて得られる中間表現である解析対象中間表現を、前記解析対象データ毎に取得する取得部と、
前記取得部によって取得された前記複数の前記アンカーデータ中間表現を第２関数によって前記解析対象データ毎に変換するアンカーデータ変換部と、
前記アンカーデータ変換部によって変換された前記アンカーデータ中間表現相互間の差を最小にする前記解析対象データ毎の前記第２関数を算出する算出部と、
前記取得部によって取得された前記解析対象中間表現を、前記算出部によって算出された前記第２関数によって前記解析対象データ毎に変換する解析対象データ変換部と、
を備える分散データ統合装置。
【請求項２】
前記第１関数は、データを抽象化する関数である
請求項１に記載の分散データ統合装置。
【請求項３】
前記アンカーデータに含まれる属性には、前記複数の前記解析対象データに含まれる属性の全てが含まれる
請求項１または請求項２に記載の分散データ統合装置。
【請求項４】
分散している複数の解析対象データの統合において共通に用いられるデータであるアンカーデータが第１関数によって変換されて得られる中間表現であるアンカーデータ中間表現、及び前記解析対象データが前記第１関数によって変換されて得られる中間表現である解析対象中間表現を、前記解析対象データ毎に取得する取得過程と、
前記取得過程によって取得された前記複数の前記アンカーデータ中間表現を第２関数によって前記解析対象データ毎に変換するアンカーデータ変換過程と、
前記アンカーデータ変換過程によって変換された前記アンカーデータ中間表現相互間の差を最小にする前記解析対象データ毎の前記第２関数を算出する算出過程と、
前記取得過程によって取得された前記解析対象中間表現を、前記算出過程によって算出された前記第２関数によって前記解析対象データ毎に変換する解析対象データ変換過程と
を有する分散データ統合方法。
【請求項５】
コンピュータに、
分散している複数の解析対象データの統合において共通に用いられるデータであるアンカーデータが第１関数によって変換されて得られる中間表現であるアンカーデータ中間表現、及び前記解析対象データが前記第１関数によって変換されて得られる中間表現である解析対象中間表現を、前記解析対象データ毎に取得する取得ステップと、
前記取得ステップによって取得された前記複数の前記アンカーデータ中間表現を第２関数によって前記解析対象データ毎に変換するアンカーデータ変換ステップと、
前記アンカーデータ変換ステップによって変換された前記アンカーデータ中間表現相互間の差を最小にする前記解析対象データ毎の前記第２関数を算出する算出ステップと、
前記取得ステップによって取得された前記解析対象中間表現を、前記算出ステップによって算出された前記第２関数によって前記解析対象データ毎に変換する解析対象データ変換ステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散データ統合装置、分散データ統合方法、及びプログラムに関する。
本願は、２０１８年１２月２６日に、日本に出願された特願２０１８−２４３３７６号に基づき優先権を主張し、その内容をここに援用する。
【背景技術】
【０００２】
分散されたデータを統合して解析を行う場合に、元のデータに秘匿情報が含まれる場合や元データが巨大である場合などに、元のデータを共有して解析できないことがある。例えば、医療データには患者の個人情報が含まれるため、一般的には医療機関は医療データを提供できないため、元のデータを共有することができない。
秘匿情報が含まれる分散されたデータを解析する技術として、例えば、医療情報等の秘匿対象のデータを保護しながら、開示可能なデータを開示して解析しつつ、その結果得られた情報をアクセスレベルが異なる者や組織等の間でデータ通信を行うデータ解析装置が知られている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−０９５９３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載のデータ解析装置では、開示可能なデータを開示して解析が行われるため、解析ができるのは開示可能なデータについてのみである。特許文献１に記載のデータ解析装置では、分散されて保持される複数のデータについてデータを共有せずに統合解析を行うことができない。【０００５】
本発明は上記の点に鑑みてなされたものであり、分散されて保持される複数のデータについてデータを共有せずに統合解析を行うことができる分散データ統合装置、分散データ統合方法、及びプログラムを提供する。
【課題を解決するための手段】
【０００６】
本発明は上記の課題を解決するためになされたものであり、本発明の一態様は、分散している複数の解析対象データの統合において共通に用いられるデータであるアンカーデータが第１関数によって変換されて得られる中間表現であるアンカーデータ中間表現、及び前記解析対象データが前記第１関数によって変換されて得られる中間表現である解析対象中間表現を、前記解析対象データ毎に取得する取得部と、前記取得部によって取得された前記複数の前記アンカーデータ中間表現を第２関数によって前記解析対象データ毎に変換するアンカーデータ変換部と、前記アンカーデータ変換部によって変換された前記アンカーデータ中間表現相互間の差を最小にする前記解析対象データ毎の前記第２関数を算出する算出部と、前記取得部によって取得された前記解析対象中間表現を、前記算出部によって算出された前記第２関数によって前記解析対象データ毎に変換する解析対象データ変換部と、を備える分散データ統合装置である。【０００７】
また、本発明の一態様は、上記の分散データ統合装置において、前記第１関数は、データを抽象化する関数である。【０００８】
また、本発明の一態様は、上記の分散データ統合装置において、前記アンカーデータに含まれる属性には、前記複数の前記解析対象データに含まれる属性の全てが含まれる。【０００９】
また、本発明の一態様は、分散している複数の解析対象データの統合において共通に用いられるデータであるアンカーデータが第１関数によって変換されて得られる中間表現であるアンカーデータ中間表現、及び前記解析対象データが前記第１関数によって変換されて得られる中間表現である解析対象中間表現を、前記解析対象データ毎に取得する取得過程と、前記取得過程によって取得された前記複数の前記アンカーデータ中間表現を第２関数によって前記解析対象データ毎に変換するアンカーデータ変換過程と、前記アンカーデータ変換過程によって変換された前記アンカーデータ中間表現相互間の差を最小にする前記解析対象データ毎の前記第２関数を算出する算出過程と、前記取得過程によって取得された前記解析対象中間表現を、前記算出過程によって算出された前記第２関数によって前記解析対象データ毎に変換する解析対象データ変換過程とを有する分散データ統合方法である。【００１０】
また、本発明の一態様は、コンピュータに、分散している複数の解析対象データの統合において共通に用いられるデータであるアンカーデータが第１関数によって変換されて得られる中間表現であるアンカーデータ中間表現、及び前記解析対象データが前記第１関数によって変換されて得られる中間表現である解析対象中間表現を、前記解析対象データ毎に取得する取得ステップと、前記取得ステップによって取得された前記複数の前記アンカーデータ中間表現を第２関数によって前記解析対象データ毎に変換するアンカーデータ変換ステップと、前記アンカーデータ変換ステップによって変換された前記アンカーデータ中間表現相互間の差を最小にする前記解析対象データ毎の前記第２関数を算出する算出ステップと、前記取得ステップによって取得された前記解析対象中間表現を、前記算出ステップによって算出された前記第２関数によって前記解析対象データ毎に変換する解析対象データ変換ステップとを実行させるためのプログラムである。
【発明の効果】
【００１１】
本発明によれば、分散されて保持される複数のデータについてデータを共有せずに統合解析を行うことができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係る統合データ解析システムの概略の一例を示す図である。
【図２】本発明の実施形態に係る統合データ解析システムの構成の一例を示す図である。
【図３】本発明の実施形態に係る各データの一例を示す図である。
【図４】本発明の実施形態に係る分散データ統合装置の処理の一例を示す図である。
【図５】本発明の実施形態に係る統合データ解析の結果の一例を示す図である。
【図６】従来の標準規格化による統合データを用いた統合データ解析の一例を示す図である。
【図７】元データを統合しない場合の解析結果の一例を示す図である。
【図８】本発明の実施形態に係る機械学習に用いられる正解データ、及び学習データの一例を示す図である。
【図９】本発明の実施形態に係る統合データ解析の結果の一例を示す図である。
【図１０】従来の標準規格化による統合データを用いた統合データ解析の結果の一例を示す図である。
【図１１】従来の分散している学習データを個別に用いた場合の解析の結果の一例を示す図である。
【図１２】本発明の実施形態に係る統合データ解析の結果の正確度の一例を示す図である。
【発明を実施するための形態】
【００１３】
（実施形態）
［統合データ解析ＩＡの概要］
以下、図面を参照しながら本発明の実施形態について詳しく説明する。図１は、本実施形態に係る統合データ解析システムＳＳの概略の一例を示す図である。
元データＤ１〜Ｄ４は、統合データ解析システムＳＳにおける解析の対象となるデータである。元データＤ１〜Ｄ４は、複数の解析対象データの一例である。元データＤ１〜Ｄ４は、サーバ１−１〜１−４に分散されてそれぞれ保持される。サーバ１−１〜１−４は、例えば、医療機関のサーバである。元データＤ１〜Ｄ４は、例えば、患者の個人情報などの秘匿情報を含む医療データである。
【００１４】
サーバ１−１は、元データＤ１を独自の方法によって抽象化し、元データ中間表現ＩＲ１に変換する。元データＤ２〜Ｄ４についても、同様にサーバ１−２〜１−４において元データ中間表現ＩＲ２〜ＩＲ４にそれぞれ独自の方法によって変換される。抽象化の方法は、サーバ１−１〜１−４において共有されない。つまり、統合データ解析ＩＡでは、分散されたデータを統合して解析する場合において、予め規定された標準規格化は行われない。
【００１５】
元データ中間表現ＩＲ１〜ＩＲ４は、統合されてデータコラボレーション表現ＣＲに変換される。統合データ解析ＩＡでは、このデータコラボレーション表現ＣＲについて解析を行う。したがって、統合データ解析システムＳＳでは、分散されたデータである元データＤ１〜Ｄ４は、元データ中間表現ＩＲ１〜ＩＲ４に変換された後、データコラボレーション表現ＣＲとして統合されて解析が行われ、元データＤ１〜Ｄ４は共有されない。
【００１６】
［分散データ統合装置２の構成］
図２は、本実施形態に係る統合データ解析システムＳＳの構成の一例を示す図である。
統合データ解析システムＳＳは、サーバ１−ｉ（ｉ＝１、２、・・・、ｎ：ｎは元データの数）と、分散データ統合装置２と、解析装置３とを備える。なお、以下では、サーバ１−ｉ（ｉ＝１、２、・・・、ｎ：ｎは元データの数）などの記載を単にサーバ１−１〜１−ｎなどと記載することがある。
【００１７】
サーバ１−１〜１−ｎには、共通のアンカーデータＡＤが予め供給される。このアンカーデータＡＤは、例えば、分散データ統合装置２から供給される。アンカーデータＡＤとは、分散している元データＤ１〜Ｄｎの統合において共通に用いられるデータである。アンカーデータＡＤには、秘匿情報は含まれていない。
【００１８】
アンカーデータＡＤは、元データＤ１〜Ｄｎに近いデータであることが、統合データ解析ＩＡの解析の精度の観点から好ましい。アンカーデータＡＤが元データＤ１〜Ｄｎに近いデータであるとは、例えば、アンカーデータＡＤの数値範囲と、元データＤ１〜Ｄｎの数値範囲とが共通であることである。また、アンカーデータＡＤが元データＤ１〜Ｄｎに近いデータであるとは、例えば、アンカーデータＡＤに含まれる属性には、元データＤ１〜Ｄｎに含まれる属性の全てが含まれることである。アンカーデータＡＤの各データの値は、例えば、ランダムに生成された値である。
【００１９】
ここでサーバ１−１〜１−ｎは、互いに同様の機能を有するため、サーバ１−１〜１−ｎの機能を、サーバ１−１に代表させて説明する。
サーバ１−１は、元データＤ１を第１関数ｆ１によって元データ中間表現ＩＲ１に変換する。第１関数ｆ１は、元データＤ１を抽象化する線形もしくは非線形の関数である。ここで抽象化は、例えば、教師なし次元削減法である主成分分析（Ｐｒｉｎｃｉｐａｌ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ：ＰＣＡ）、局所性保存射影（Ｌｏｃａｌｉｔｙ  Ｐｒｅｓｅｒｖｉｎｇ  Ｐｒｏｊｅｃｔｉｏｎ：ＬＰＰ）、ｔ分布型確率的近傍埋め込み法（Ｔ−ｄｉｓｔｒｉｂｕｔｅｄ  Ｓｔｏｃｈａｓｔｉｃ  Ｎｅｉｇｈｂｏｒ  Ｅｍｂｅｄｄｉｎｇ：ｔ−ＳＮＥ）など、教師あり次元削減法である線形判別分析（Ｆｉｓｈｅｒ  Ｄｉｓｃｒｉｍｉｎａｎｔ  Ａｎａｌｙｓｉｓ：ＦＤＡ）、ｌｏｃａｌ  ＦＤＡ（ＬＦＤＡ）、ｓｅｍｉ−ｓｕｐｅｒｖｉｓｅｄ  ＬＦＤＡ（ＳＥＬＦ）など、またこれらに非線形カーネル版を用いた非線形次元削減法、及びディープニューラルネットワークにおいて用いられるオートエンコーダなどによって実行される。なお、サーバ１−１は、元データＤ１から秘匿情報を除いた後に、秘匿情報が除かれた元データＤ１を元データ中間表現ＩＲ１に変換してよい。
元データ中間表現ＩＲ１は、解析対象データが第１関数によって変換されて得られる中間表現である解析対象中間表現の一例である。
【００２０】
また、サーバ１−１は、自装置に予め供給されるアンカーデータＡＤを、第１関数ｆ１によってアンカーデータ中間表現ＡＩＲ１に変換する。この第１関数ｆ１は、元データＤ１を元データ中間表現ＩＲ１に変換するのに用いられた関数と同じである。
【００２１】
分散データ統合装置２は、元データ中間表現ＩＲ１〜ＩＲｎをデータコラボレーション表現ＣＲに統合する装置である。分散データ統合装置２は、取得部２０と、アンカーデータ変換部２１と、算出部２２と、解析対象データ変換部２３とを備える。
【００２２】
取得部２０は、サーバ１−１〜１−ｎからアンカーデータ中間表現ＡＩＲ１〜ＡＩＲｎを取得する。また、取得部２０は、サーバ１−１〜１−ｎから元データ中間表現ＩＲ１〜ＩＲｎを取得する。
【００２３】
アンカーデータ変換部２１は、取得部２０によって取得されたアンカーデータ中間表現ＡＩＲ１〜ＡＩＲｎを、線形もしくは非線形の第２関数ｇ１〜ｇｎによってそれぞれ変換する。アンカーデータ中間表現ＡＩＲ１〜ＡＩＲｎが第２関数ｇ１〜ｇｎによって変換されたデータを変換後データＧ１〜Ｇｎという。
【００２４】
算出部２２は、アンカーデータ変換部２１によって変換されたアンカーデータ中間表現である変換後データＧ１〜Ｇｎ相互間の差を最小にする第２関数ｇ１〜ｇｎを算出する。
つまり、算出部２２は、アンカーデータ中間表現ＡＩＲ１〜ＡＩＲｎが第２関数ｇ１〜ｇｎによって変換された結果である変換後データＧ１〜Ｇｎを相互に一致させるように第２関数ｇ１〜ｇｎを算出する。
【００２５】
ここで算出部２２は、例えば、最小化問題を解くことによって第２関数ｇ１〜ｇｎを算出する。特に第２関数ｇ１〜ｇｎが線形関数である場合には、当該最小化問題は一般化されたＴｏｔａｌ  Ｌｅａｓｔ  Ｓｑｕａｒｅｓ問題となる。
なお、分散された元データＤ１〜Ｄｎの数は、最小化問題を解く際の精度の点において、所定の数以上であることが好ましい。
【００２６】
解析対象データ変換部２３は、取得部２０によって取得された元データ中間表現ＩＲ１〜ＩＲｎを、算出部２２によって算出された第２関数ｇ１〜ｇｎによってそれぞれ変換する。変換された結果を、データコラボレーション表現ＣＲ１〜ＣＲｎという。
【００２７】
解析装置３は、分散データ統合装置２によって得られたデータコラボレーション表現ＣＲ１〜ＣＲｎを、元データＤ１〜Ｄｎについて統合し解析を行う。解析装置３は、例えば、Ｋｅｒｎｅｌ  ＬＳＰＣ（Ｌｅａｓｔ  Ｓｑｕａｒｅｓ  Ｐｒｏｂａｉｌｉｓｔｉｃ  Ｃｌａｓｓｉｆｉｅｒ）法やディープニューラルネットワークなどの機械学習を用いて、統合されたデータコラボレーション表現ＣＲ１〜ＣＲｎの解析を行う。
【００２８】
［各データの具体例］
図３は、本実施形態に係る各データの一例を示す図である。図３では、分散された解析対象データが元データＤ１、及び元データＤ２の２つである場合の一例である。
元データＤ１は、５次元のデータｄａｔａ１１及びデータｄａｔａ１２を含む。データｄａｔａ１１の成分は［２、１、５、３、２］であり、データｄａｔａ１２の成分は［４、１、２、１、３］である。元データＤ２は、５次元のデータｄａｔａ２１及びデータｄａｔａ２２を含む。データｄａｔａ２１の成分は［１、２、４、３、２］であり、データｄａｔａ２２の成分は［３、２、１、５、２］である。
５次元のデータであるアンカーデータＡＤの成分は、［１、２、３、４、５］である。
【００２９】
上述したように元データＤ１、元データＤ２、及びアンカーデータＡＤは、サーバ１−１、及びサーバ１−２毎に独自の方法によって抽象化される。抽象化の結果、データｄａｔａ１１及びデータｄａｔａ１２は元データ中間表現ＩＲ１である３次元のデータ［４．０、４．５、５．０］、及び［３．５、２．０、３．０］に変換される。サーバ１−１に供給されるアンカーデータＡＤは、アンカーデータ中間表現ＡＩＲ１である３次元のデータ［３．０、４．５、６．０］に変換される。
一方、抽象化の結果、データｄａｔａ２１及びデータｄａｔａ２２は、元データ中間表現ＩＲ２である３次元のデータ［１．５、３．０、２．５］、及び［２．５、１．５、３．５］に変換される。サーバ１−２に供給されるアンカーデータＡＤは、アンカーデータ中間表現ＡＩＲ２である３次元のデータ［１．５、２．５、４．５］に変換される。
【００３０】
元データ中間表現ＩＲ１〜ＩＲ２、及びアンカーデータ中間表現ＡＩＲ１〜ＡＩＲ２は、分散データ統合装置２によって、データコラボレーション表現ＣＲ１〜ＣＲ２に変換される。元データＤ１（データｄａｔａ１１及びデータｄａｔａ１２）は、データコラボレーション表現ＣＲ１である３次元のデータ［１．５、２．５、２．５］及び「２．５、１．０、２．０」に変換される。アンカーデータ中間表現ＡＩＲ１は、変換後データＧ１として３次元のデータ［１．５、１．５、４．５］に変換される。
一方、元データＤ２（データｄａｔａ２１及びデータｄａｔａ２２）は、データコラボレーション表現ＣＲ２である３次元のデータ［１．５、２．０、２．５］及び「２．５、０．５、３．５」に変換される。アンカーデータ中間表現ＡＩＲ２は、変換後データＧ２として３次元のデータ［１．５、１．５、４．５］に変換される。
【００３１】
ここで、サーバ１−１において抽象化されて得られたアンカーデータ中間表現ＡＩＲ１と、サーバ１−２において抽象化されて得られたアンカーデータ中間表現ＡＩＲ２とは、分散データ統合装置２において、変換後データＧ１、及び変換後データＧ２として共に３次元のデータ［１．５、１．５、４．５］に変換されている。分散データ統合装置２では、アンカーデータ中間表現ＡＩＲ１〜ＡＩＲｎが変換後データＧ１〜Ｇｎ相互間の差を最小にするような第２関数ｇ１〜ｇｎが算出されるため、変換後データＧ１と変換後データＧ２との差は最小となっている。
【００３２】
統合データ解析ＩＡでは、データコラボレーション表現ＣＲ１である３次元のデータ［１．５、２．５、２．５］及び「２．５、１．０、２．０」と、データコラボレーション表現ＣＲ２である３次元のデータ［１．５、２．０、２．５］及び「２．５、０．５、３．５」とを統合して解析が行われる。
【００３３】
なお、本実施形態では、元データＤ１〜Ｄｎは、抽象化による変換の結果、元データ中間表現ＩＲ１〜ＩＲｎにおいてデータの次元が元データＤ１〜Ｄｎに比べて減る場合について説明するが、これに限らない。抽象化は、変換の結果、元データ中間表現ＩＲ１〜ＩＲｎにおいてデータの次元は元データＤ１〜Ｄｎと同じである変換であってもよい。
また、元データ中間表現ＩＲ１〜ＩＲｎを得る変換とは、抽象化に限らない。例えば、元データ中間表現ＩＲ１〜ＩＲｎを得る変換は、元データＤ１〜Ｄｎの次元を増やす変換であってもよい。
【００３４】
なお、元データ中間表現ＩＲ１〜ＩＲｎ、及びアンカーデータ中間表現ＡＩＲ１〜ＡＩＲｎの次元は、データ毎に異なっていてもよい。これらの中間表現の次元を過度に小さくすることは、元データＤ１〜Ｄｎのもつ情報が過度に落ちてしまうため好ましくない。
【００３５】
またなお、元データ中間表現ＩＲ１〜ＩＲｎを得る変換は、元データＤ１〜Ｄｎの中身を変えない自明な変換であってもよい。ただし、元データ中間表現ＩＲ１〜ＩＲｎを得る変換が自明な変換である場合には、元データＤ１〜Ｄｎがそのまま分散データ統合装置２に供給されることになるため、元データＤ１〜Ｄｎからは変換前に秘匿情報が除かれることが好ましい。
【００３６】
［分散データ統合装置２の処理］
図４は、本実施形態に係る分散データ統合装置２の処理の一例を示す図である。
本実施形態では、一例として、遺伝子発現データによって白血病の種類を３クラスに分類するクラス分類問題を扱う。当該クラス分類問題では、３８個の学習用データが、２つに分割されて、元データＤ１及び元データＤ２として、サーバ１−１、及びサーバ１−２にそれぞれ保持されている。ここで学習用データでは、遺伝子発現データに関する複数の種類の特徴量と、白血病の種類とが検体毎に対応づけられている。
以下、図４の説明において、数ｎは２である。
【００３７】
元データＤ１〜Ｄｎは、それぞれ７１２９次元のデータである。元データＤ１〜Ｄｎは、サーバ１−１〜１−ｎにおいて、Ｋｅｒｎｅｌ  ＬＰＰ（Ｌｏｃａｌｉｔｙ  Ｐｒｅｓｅｒｖｉｎｇ  ｐｒｏｊｅｃｔｉｏｎ）法を用いた抽象化によって、１７次元のデータである元データ中間表現ＩＲ１〜ＩＲｎへと変換されている。ここでＫｅｒｎｅｌ  ＬＰＰ法では、変換の対象となるデータに依存して異なる変換となる。元データＤ１〜Ｄｎは一般には互いに異なるため、Ｋｅｒｎｅｌ  ＬＰＰ法の変換はサーバ１−１〜１−ｎ毎に互いに異なる。
【００３８】
サーバ１−１〜１−ｎにそれぞれ供給されるアンカーデータＡＤは、サーバ１−１〜１−ｎ毎に共通であり、ランダムに生成されたデータである。サーバ１−１〜１−ｎにおいて、アンカーデータＡＤは、Ｋｅｒｎｅｌ  ＬＰＰ法を用いてアンカーデータ中間表現ＡＩＲ１〜ＡＩＲｎへと変換されている。
【００３９】
ステップＳ１０：取得部２０は、元データ中間表現ＩＲ１〜ＩＲｎ、及びアンカーデータ中間表現ＡＩＲ１〜ＡＩＲｎを分散された元データＤ１〜Ｄｎ毎に取得する。取得部２０は、取得したアンカーデータ中間表現ＡＩＲ１〜ＡＩＲｎをアンカーデータ変換部２１に供給する。また、取得部２０は、取得した元データ中間表現ＩＲ１〜ＩＲｎを解析対象データ変換部２３に供給する。
【００４０】
ここで、アンカーデータ中間表現ＡＩＲ１〜ＡＩＲｎとは、アンカーデータＡＤが第１関数ｆ１〜ｆｎによって変換されて得られる中間表現である。また、元データ中間表現ＩＲ１〜ＩＲｎとは、解析対象データ（この一例において、元データＤ１〜Ｄｎ）が第１関数ｆ１〜ｆｎによって変換されて得られる中間表現である解析対象中間表現である。
つまり、取得部２０は、分散している複数の解析対象データの統合において共通に用いられるデータであるアンカーデータが第１関数ｆ１〜ｆｎによって変換されて得られる中間表現であるアンカーデータ中間表現ＡＩＲ１〜ＡＩＲｎ、及び解析対象データ（この一例において、元データＤ１〜Ｄｎ）が第１関数ｆ１〜ｆｎによって変換されて得られる中間表現である解析対象中間表現（この一例において、元データ中間表現ＩＲ１〜ＩＲｎ）を、解析対象データ毎に取得する。
【００４１】
ステップＳ２０：アンカーデータ変換部２１は、取得部２０によって取得された複数のアンカーデータ中間表現ＡＩＲ１〜ＡＩＲｎを第２関数ｇ１〜ｇｎによって元データＤ１〜Ｄｎ毎に変換する。アンカーデータ変換部２１は、アンカーデータ中間表現ＡＩＲ１〜ＡＩＲｎを変換して得られる変換後データＧ１〜Ｇｎを算出部２２に供給する。
【００４２】
ステップＳ３０：算出部２２は、アンカーデータ変換部２１によって変換された変換後データＧ１〜Ｇｎ相互間の差を最小にする元データＤ１〜Ｄｎ毎の第２関数ｇ１〜ｇｎを算出する。
つまり、算出部２２は、アンカーデータ変換部２１によって変換されたアンカーデータ中間表現ＡＩＲ１〜ＡＩＲｎ相互間の差を最小にする元データＤ１〜Ｄｎ毎の第２関数ｇ１〜ｇｎを算出する。
【００４３】
ここで本実施形態では、ステップＳ２０、及びステップＳ３０の各処理は、一例として、一般化されたＴｏｔａｌ  Ｌｅａｓｔ  Ｓｑｕａｒｅｓ問題を解く処理に対応する。当該処理においては、アンカーデータ中間表現ＡＩＲ１〜ＡＩＲｎ相互間の差を最小にする元データＤ１〜Ｄｎ毎の第２関数ｇ１〜ｇｎが算出されるまでステップＳ２０、及びステップＳ３０の各処理が繰り返される場合もある。
算出部２２は、算出した第２関数ｇ１〜ｇｎを解析対象データ変換部２３に供給する。
【００４４】
ステップＳ４０：解析対象データ変換部２３は、取得部２０によって取得された元データ中間表現ＩＲ１〜ＩＲｎを、算出部２２によって一般化されたＴｏｔａｌ  Ｌｅａｓｔ  Ｓｑｕａｒｅｓ問題の解として算出された第２関数ｇ１〜ｇｎによってデータコラボレーション表現ＣＲ１〜ＣＲｎに変換する。
つまり、解析対象データ変換部２３は、取得部２０によって取得された解析対象中間表現を、算出部２２によって算出された第２関数ｇ１〜ｇｎによって解析対象データ毎に変換する。
解析対象データ変換部２３は、変換して得られたデータコラボレーション表現ＣＲ１〜ＣＲｎを解析装置３に供給する。
【００４５】
解析装置３では、分散データ統合装置２が供給するデータコラボレーション表現ＣＲ１〜ＣＲｎを統合して、統合データ解析ＩＡを行う。解析装置３は、例えば、Ｋｅｒｎｅｌ  ＬＳＰＣ法を用いて統合データ解析ＩＡを行う。
【００４６】
ここで、図５を参照して統合データ解析ＩＡの結果の第１の具体例について説明する。以下の第１の具体例の説明において統合データ解析ＩＡを統合データ解析ＩＡ１という。
図５は、本実施形態に係る統合データ解析ＩＡ１の結果の一例を示す図である。図５では、遺伝子発現データに関する複数種類の特徴量のうち３種類の特徴量を示す３次元空間において、検体毎のデータが示されている。クラスＣ１〜Ｃ３は、白血病の種類に対応し、検体毎のデータが白血病の種類毎に分類されている。クラスＣ１〜Ｃ３に含まれるデータは互いに重なっていないほど解析精度が高い。
【００４７】
統合データ解析ＩＡ１では、２つに分散された学習データを本実施形態に係る統合データ解析ＩＡによって統合し学習データとして用いて、Ｋｅｒｎｅｌ  ＬＳＰＣ法を行った結果、９４．３±０．７０パーセントの精度において、白血病の種類を３つのクラスＣ１〜Ｃ３に分類することができた。
【００４８】
図５に示す解析結果を得るために、統合データ解析ＩＡ１では、データの抽象化のための第１関数として、一例としてカーネル版局所性保存射影が用いられている。ここでカーネル版局所性保存射影のカーネルには、ガウスカーネルを使用している。統合データ解析ＩＡ１では、アンカーデータ中間表現相互間の差を最小にする第２関数を算出するために、一例として特異値分解に基づく解法が用いられている。
【００４９】
ここで第１関数として用いられる局所性保存射影（Ｌｏｃａｌｉｔｙ  Ｐｒｅｓｅｒｖｉｎｇ  Ｐｒｏｊｅｃｔｉｏｎ：  ＬＰＰ）について説明する。ＬＰＰは、教師なし次元削減法であり、ＬＰＰでは、局所構造を保存する低次元空間が構築される。局所構造を保存するとは、ＬＰＰが実行される前の元のデータにおいて、データ間の距離が近いデータ同士は、ＬＰＰによって構築される低次元空間においてもデータ間の距離が近くなることである。ＬＰＰでは元のデータに依存した射影関数を構築するため、生成される関数は（例えば医療機関などに）分散されたデータ毎に異なる。
ＬＰＰは、式（１）に示すように定式化される。
【００５０】
【数１】
2020137728.tif 000003
【００５１】
ｘｉやｘｊは、特徴量の値である元のデータの値を示す。行列Ｂは、ＬＰＰを示す行列である。重みｗｉｊは、式（２）によって示されるｘｉとｘｊとの間の類似度である。
【００５２】
【数２】
2020137728.tif 000004
【００５３】
重みｗｉｊの値は、元のデータ同士においてデータ間の距離が近いほど大きい。なお、重みｗｉｊの値は、実用上はｋ近傍法によりスパース化し、元のデータ同士においてデータ間の距離が十分遠いデータに対してはｗｉｊ＝０とする。
【００５４】
［従来の統合データ解析ＩＡ０］
ここで図６及び図７を参照し、本実施形態の統合データ解析ＩＡ１との比較のために、従来の標準規格化による統合データＳＤ０を用いた統合データ解析ＩＡ０について説明する。
図６は、従来の標準規格化による統合データＳＤ０を用いた統合データ解析ＩＡ０の一例を示す図である。分散された元データＤ１０及び元データＤ２０は、各サーバにおいて、予め規定された標準規格化によって変換される。標準規格化によって変換された元データＤ１０及び元データＤ２０は、標準規格化による統合データＳＤ０として統合される。標準規格化による統合データＳＤ０が、統合データ解析ＩＡ０によって解析される。
【００５５】
図７は、元データを統合しない場合の解析結果の一例を示す図である。クラスＣ１０〜Ｃ３０は、白血病の種類に対応する。２つに分散された学習データのうち一方のデータを用いてＫｅｒｎｅｌ  ＬＳＰＣ法を行った結果、８７．７±３．１７パーセントの精度において、白血病の種類は３つのクラスＣ１〜Ｃ３に分類されている。
図５の本実施形態の統合データ解析ＩＡ１の解析精度と、２つに分散された学習データのうち一方のデータを用いたＫｅｒｎｅｌ  ＬＳＰＣ法の解析精度とを比較すると、本実施形態の統合データ解析ＩＡ１の方が解析精度の方が、２つに分散された学習データのうち一方のみのデータを用いたＫｅｒｎｅｌ  ＬＳＰＣ法の解析精度に比べて高いことがわかる。
【００５６】
次に図８から図９を参照し、統合データ解析ＩＡの結果の第２の具体例について説明する。以下の第２の具体例の説明において統合データ解析ＩＡを統合データ解析ＩＡ２という。統合データ解析ＩＡ２では、複数種類の点の分布に基づいて空間をそれらの複数種類の点に対応する複数の領域に分ける問題を機械学習に基づいて解析する。
この空間とは、１０種類の特徴量を示す空間であり、空間の次元は１０次元である。なお、図８から図９に示す例では、１０種類の特徴量のうち８種類は、乱数を用いてランダムに値が設定されており、残りの２種類に対応する平面上において学習データや解析結果が示されている。
機械学習とは、一例としてＫｅｒｎｅｌ  ＬＳＰＣ法である。なお、機械学習としては、教師あり学習であればいずれの機械学習の手法が用いられてもよい。
【００５７】
図８は、本実施形態に係る機械学習に用いられる正解データ、及び学習データの一例を示す図である。図８（Ａ）は、正解データを示し、図８（Ｂ）、（Ｃ）、及び（Ｄ）は、学習データを示す。
図８（Ａ）では、平面が３つの領域に分けられており、平面を領域に分ける問題において正解となる領域の分け方を示している。図８（Ｂ）、（Ｃ）、及び（Ｄ）に示す学習データは、平面において３つの領域のいずれかに属する複数の点の分布が、正解となる領域の境界を示す閉曲線とともに示されている。ここで複数の点の分布は、属する領域に応じて異なる態様において示されている。複数の点の数は、図８（Ｂ）、（Ｃ）、及び（Ｄ）それぞれについて４０個である。図８（Ｂ）、（Ｃ）、及び（Ｄ）に示す学習データは、分散している複数の解析対象データに対応する。
【００５８】
図９は、本実施形態に係る統合データ解析ＩＡ２の結果の一例を示す図である。図９（Ａ）、（Ｂ）、及び（Ｃ）は、図８（Ｂ）、（Ｃ）、及び（Ｄ）に示した複数の点の分布を、それぞれ学習データとして用いた場合の統合データ解析ＩＡ２の結果を示す。
【００５９】
図９に示す解析結果を得るために、統合データ解析ＩＡ２では、データの抽象化のための第１関数として、一例としてカーネル版局所性保存射影が用いられている。ここでカーネル版局所性保存射影のカーネルには、ガウスカーネルを使用している。統合データ解析ＩＡ２では、アンカーデータ中間表現相互間の差を最小にする第２関数を算出するために、一例として特異値分解に基づく解法が用いられている。
【００６０】
統合データ解析ＩＡ２の結果と比較するために、図１０に、分散している学習データを、従来の標準規格化によって統合して用いた場合の解析結果を示す。図１０では、図８（Ｂ）、（Ｃ）、及び（Ｄ）に示す学習データがデータの保持者間において共有されて、１組の学習データとして用いられて機械学習による解析が実行された場合の結果である。
また、図１１に、分散している学習データを個別に用いた場合の解析結果を示す。図１１（Ａ）、（Ｂ）、及び（Ｃ）は、図８（Ｂ）、（Ｃ）、及び（Ｄ）に示す学習データがそれぞれ個別に用いられて機械学習による解析が実行された場合の結果である。
【００６１】
図９に示す統合データ解析ＩＡ２による解析結果と、図１０に示す学習データを統合して用いた場合の解析結果と、図１１に示す分散された学習データが個別に用いられた場合の解析結果を比較すると、統合データ解析ＩＡ２による解析結果は、分散された学習データが個別に用いられた場合の解析結果に比べて、分散された学習データがデータの保持者間において共有された場合の解析結果に近い。つまり統合データ解析ＩＡ２による解析結果では、分散された学習データが個別に用いられた場合の解析結果に比べて高い判定精度が得られている。
【００６２】
次に図１２を参照し、統合データ解析ＩＡの結果の第３の具体例について説明する。以下の第３の具体例の説明において統合データ解析ＩＡを統合データ解析ＩＡ３という。統合データ解析Ｉ３Ａでは、手書き数字認識を機械学習に基づいて実行する。機械学習とは、一例としてＫｅｒｎｅｌ  ＬＳＰＣ法である。なお、機械学習としては、教師あり学習であればいずれの機械学習の手法が用いられてもよい。
【００６３】
図１２は、本実施形態に係る統合データ解析ＩＡ３の結果の正確度の一例を示す図である。図１２では、分散された学習データの数を１から５０まで変化させた場合の解析結果の正確度を示すグラフＧＲ１、グラフＧＲ１０、及びグラフＧＲ２０が示されている。グラフＧＲ１は、統合データ解析ＩＡ３による解析結果を示す。グラフＧＲ１０、及びグラフＧＲ２０は、統合データ解析ＩＡ３との比較のための従来の解析による解析結果についてのグラフである。グラフＧＲ１０は、分散された学習データを統合し解析をおこなった場合の解析結果の正確度を示す。グラフＧＲ２０は、分散された学習データが個別に用いられた場合の解析結果の正確度を示す。グラフＧＲ２０に対応する解析では、学習に用いる分散された学習データの数自体は１つであり、分散された学習データのうち学習に用いるデータを変化させている。
【００６４】
分散された学習データはそれぞれ、一例として１００個のデータが組になっている。分散された学習データの数は、データを保持する機関の数に対応する。つまり、統合データ解析ＩＡ３では、データを保持する機関がそれぞれ１００個のデータを保持している状況が想定されている。統合データ解析ＩＡ３では、ＭＮＩＳＴ（Ｍｏｄｉｆｉｅｄ  Ｎａｔｉｏｎａｌ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｓｔａｎｄａｒｄｓ  ａｎｄ  Ｔｅｃｈｎｏｌｏｇｙ）が、学習データとして用いられている。学習データは、縦及び横についてそれぞれ２８画素から構成される画像の画素数に相当する７８４個の特徴量を含む。
【００６５】
図１２に示す解析結果を得るために、統合データ解析ＩＡ３では、データの抽象化のための第１関数として、一例としてカーネル版局所性保存射影が用いられている。ここでカーネル版局所性保存射影のカーネルには、ガウスカーネルを使用している。統合データ解析ＩＡ３では、アンカーデータ中間表現相互間の差を最小にする第２関数を算出するために、一例として特異値分解に基づく解法が用いられている。
【００６６】
図１２に示すように、グラフＧＲ１が示す正確度は、グラフＧＲ２０が示す正確度よりも高く、グラフＧＲ２０が示す正確度に比べてグラフＧＲ１０が示す正確度に近い。つまり、つまり統合データ解析ＩＡ３による解析結果では、分散された学習データが個別に用いられた場合の解析結果に比べて高い判定精度が得られている。
【００６７】
［まとめ］
以上に説明したように、本実施形態に係る分散データ統合装置２は、取得部２０と、アンカーデータ変換部２１と、算出部２２と、解析対象データ変換部２３とを備える。
取得部２０は、分散している複数の解析対象データ（この一例において、元データＤ１〜Ｄｎ）の統合において共通に用いられるデータであるアンカーデータＡＤが第１関数ｆ１〜ｆｎによって変換されて得られる中間表現であるアンカーデータ中間表現ＡＩＲ１〜ＡＩＲｎ、及び解析対象データ（この一例において、元データＤ１〜Ｄｎ）が第１関数ｆ１〜ｆｎによって変換されて得られる中間表現である解析対象中間表現（この一例において、元データ中間表現ＩＲ１〜ＩＲｎ）を、解析対象データ（この一例において、元データＤ１〜Ｄｎ）毎に取得する。
【００６８】
この構成により、本実施形態に係る分散データ統合装置２では、中間表現をデータコラボレーション表現ＣＲに変換できるため、分散されて保持される複数のデータについてデータを共有せずに統合解析を行うことができる。
【００６９】
本実施形態において一例として扱った遺伝子発現データのような医療データでは、医療機関ごとに元データを共有することが、情報秘匿の観点から困難である。また、医療データ以外にも、製造業の企業の保持する各種の開発データは、統合解析の需要が高いものの、秘密保持の観点から元データの統合は困難である。情報秘匿以外の観点においても元データが巨大である場合にはデータを統合することが困難である。本実施形態に係る分散データ統合装置２による元データを共有しない統合データ解析ＩＡは、医療機関や製造業など様々な分野における応用が期待される。
【００７０】
また、上述したように、従来、分散されたデータが秘匿情報を含む場合に、秘匿情報を削除し標準規格化を用いて、元データを統合して解析する方法がある。
従来の標準規格化を用いた分散データの統合解析では、解析対象を考慮し必要なデータの標準規格を制定する必要がある。標準規格を制定することは、元データの種類が多い場合や解析目的が多岐に渡る場合に困難となる。また、将来、元データの種類が増加したり、新たな解析目的が生じたりすることが予想され、標準規格を制定することはますます困難となる。
【００７１】
従来の標準規格化を用いた分散データの統合解析では、分散データの保持者の全てが、予め制定された標準規格に基づいて元のデータを変換する必要がある。標準規格の制定、及び元のデータの変換に伴うコストは、元データの種類や、ビッグデータなど元のデータのサイズが増加するにつれ甚大となる。
【００７２】
本実施形態に係る分散データ統合装置２では、分散データの保持者がそれぞれ独自の抽象化によって変化した中間表現をデータコラボレーション表現ＣＲに変換できるため、予め標準規格を制定することや、元データを標準規格に変換することに伴うコストを減らすことができる。
【００７３】
また、本実施形態に係る分散データ統合装置２では、第１関数ｆ１〜ｆｎは、データを抽象化する関数である。
この構成により、本実施形態に係る分散データ統合装置２では、分散されて保持される元データを抽象化できるため、分散されて保持される複数のデータについて抽象化を用いてデータを共有せずに統合解析を行うことができる。
【００７４】
また、本実施形態に係る分散データ統合装置２では、アンカーデータＡＤに含まれる属性には、複数の解析対象データ（この一例において、元データＤ１〜Ｄｎ）に含まれる属性の全てが含まれる。
この構成により、本実施形態に係る分散データ統合装置２では、アンカーデータＡＤに含まれる属性に複数の解析対象データ（この一例において、元データＤ１〜Ｄｎ）に含まれる属性の全てが含まれない場合に比べて統合データ解析ＩＡの精度を高くすることができる。
【００７５】
なお、上述した実施形態における分散データ統合装置２の一部、例えば、取得部２０、アンカーデータ変換部２１、算出部２２、及び解析対象データ変換部２３をコンピュータで実現するようにしてもよい。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、取得部２０に内蔵されたコンピュータシステムであって、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
また、上述した実施形態における分散データ統合装置２の一部、または全部を、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等の集積回路として実現してもよい。分散データ統合装置２の各機能ブロックは個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はＬＳＩに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりＬＳＩに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【００７６】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【符号の説明】
【００７７】
ＳＳ…統合データ解析システム、１−１〜１−ｎ…サーバ、２…分散データ統合装置、２０…取得部、２１…アンカーデータ変換部、２２…算出部、２３…解析対象データ変換部、３…解析装置、Ｄ１〜Ｄｎ…元データ、ＡＤ…アンカーデータ、ｆ１〜ｆｎ…第１関数、ｇ１〜ｇｎ…第２関数、ＩＲ１〜ＩＲｎ…元データ中間表現、ＡＩＲ１〜ＡＩＲｎ…アンカーデータ中間表現
【図１】
2020137728.tif 000005
【図２】
2020137728.tif 000006
【図３】
2020137728.tif 000007
【図４】
2020137728.tif 000008
【図５】
2020137728.tif 000009
【図６】
2020137728.tif 000010
【図７】
2020137728.tif 000011
【図８】
2020137728.tif 000012
【図９】
2020137728.tif 000013
【図１０】
2020137728.tif 000014
【図１１】
2020137728.tif 000015
【図１２】
2020137728.tif 000016
【国際調査報告】
2020137728.tif 000017
2020137728.tif 000018
2020137728.tif 000019
2020137728.tif 000020