(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-01-12
(45)【発行日】2023-01-20
(54)【発明の名称】分散データ統合装置、分散データ統合解析装置、分散データ統合方法、及びプログラム
(51)【国際特許分類】
G06F 16/25 20190101AFI20230113BHJP
【FI】
G06F16/25
(21)【出願番号】P 2020563129
(86)(22)【出願日】2019-12-18
(86)【国際出願番号】 JP2019049551
(87)【国際公開番号】W WO2020137728
(87)【国際公開日】2020-07-02
【審査請求日】2022-06-14
(31)【優先権主張番号】P 2018243376
(32)【優先日】2018-12-26
(33)【優先権主張国・地域又は機関】JP
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成30年度、国立研究開発法人新エネルギー・産業技術総合開発機構次世代人工知能・ロボット中核技術開発/次世代人工知能技術の日米共同研究開発委託研究、産業技術力強化法第17条の適用を受ける特許出願
【早期審査対象出願】
(73)【特許権者】
【識別番号】504171134
【氏名又は名称】国立大学法人 筑波大学
(74)【代理人】
【識別番号】100106909
【氏名又は名称】棚井 澄雄
(74)【代理人】
【識別番号】100188558
【氏名又は名称】飯田 雅人
(74)【代理人】
【識別番号】100169764
【氏名又は名称】清水 雄一郎
(72)【発明者】
【氏名】今倉 暁
(72)【発明者】
【氏名】櫻井 鉄也
【審査官】甲斐 哲雄
(56)【参考文献】
【文献】国際公開第2018/124104(WO,A1)
【文献】国際公開第2014/010202(WO,A1)
【文献】特開2016-027391(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
分散している複数の解析対象データの統合において共通に用いられるデータであるアンカーデータが第1関数によって変換されて得られる中間表現であるアンカーデータ中間表現、及び前記解析対象データが前記第1関数によって変換されて得られる中間表現である解析対象中間表現を、前記解析対象データ毎に取得する取得部と、
前記取得部によって取得された前記複数の前記アンカーデータ中間表現を第2関数によって前記解析対象データ毎に変換するアンカーデータ変換部と、
前記アンカーデータ変換部によって変換された前記アンカーデータ中間表現相互間の差を小さくする前記解析対象データ毎の前記第2関数を算出する算出部と、
前記取得部によって取得された前記解析対象中間表現を、前記算出部によって算出された前記第2関数によって前記解析対象データ毎に変換する解析対象データ変換部と、
を備える分散データ統合装置。
【請求項2】
前記第1関数は、データを抽象化する関数である
請求項1に記載の分散データ統合装置。
【請求項3】
前記第1関数は、教師なし次元削減法、教師あり次元削減法、教師なし次元削減法若しくは教師あり次元削減法に非線形カーネル版を用いた非線形次元削減法、又はオートエンコーダのいずれか1つによってデータを変換する関数である
請求項1に記載の分散データ統合装置。
【請求項4】
前記第1関数は、教師なし次元削減法として主成分分析、局所性保存射影、又はt分布型確率的近傍埋め込み法のいずれか1つによってデータを変換する関数である
請求項3に記載の分散データ統合装置。
【請求項5】
前記第1関数は、教師あり次元削減法として線形判別分析、local FDA、又はsemi-supervised LFDAのうちいずれか1つによってデータを抽象化する関数である
請求項3に記載の分散データ統合装置。
【請求項6】
前記アンカーデータに含まれる属性には、前記複数の前記解析対象データに含まれる属性の全てが含まれる
請求項1から請求項5のいずれか一項に記載の分散データ統合装置。
【請求項7】
請求項1から請求項6のいずれか一項に記載の分散データ統合装置によって前記解析対象中間表現が前記第2関数によって変換された結果であるデータコラボレーション表現を前記解析対象データについて統合し解析を行う
分散データ統合解析装置。
【請求項8】
分散している複数の解析対象データの統合において共通に用いられるデータであるアンカーデータが第1関数によって変換されて得られる中間表現であるアンカーデータ中間表現、及び前記解析対象データが前記第1関数によって変換されて得られる中間表現である解析対象中間表現を、前記解析対象データ毎に取得する取得過程と、
前記取得過程によって取得された前記複数の前記アンカーデータ中間表現を第2関数によって前記解析対象データ毎に変換するアンカーデータ変換過程と、
前記アンカーデータ変換過程によって変換された前記アンカーデータ中間表現相互間の差を小さくする前記解析対象データ毎の前記第2関数を算出する算出過程と、
前記取得過程によって取得された前記解析対象中間表現を、前記算出過程によって算出された前記第2関数によって前記解析対象データ毎に変換する解析対象データ変換過程と
を
コンピュータが実行する分散データ統合方法。
【請求項9】
コンピュータに、
分散している複数の解析対象データの統合において共通に用いられるデータであるアンカーデータが第1関数によって変換されて得られる中間表現であるアンカーデータ中間表現、及び前記解析対象データが前記第1関数によって変換されて得られる中間表現である解析対象中間表現を、前記解析対象データ毎に取得する取得ステップと、
前記取得ステップによって取得された前記複数の前記アンカーデータ中間表現を第2関数によって前記解析対象データ毎に変換するアンカーデータ変換ステップと、
前記アンカーデータ変換ステップによって変換された前記アンカーデータ中間表現相互間の差を小さくする前記解析対象データ毎の前記第2関数を算出する算出ステップと、
前記取得ステップによって取得された前記解析対象中間表現を、前記算出ステップによって算出された前記第2関数によって前記解析対象データ毎に変換する解析対象データ変換ステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、分散データ統合装置、分散データ統合解析装置、分散データ統合方法、及びプログラムに関する。
本願は、2018年12月26日に、日本に出願された特願2018-243376号に基づき優先権を主張し、その内容をここに援用する。
【背景技術】
【0002】
分散されたデータを統合して解析を行う場合に、元のデータに秘匿情報が含まれる場合や元データが巨大である場合などに、元のデータを共有して解析できないことがある。例えば、医療データには患者の個人情報が含まれるため、一般的には医療機関は医療データを提供できないため、元のデータを共有することができない。
秘匿情報が含まれる分散されたデータを解析する技術として、例えば、医療情報等の秘匿対象のデータを保護しながら、開示可能なデータを開示して解析しつつ、その結果得られた情報をアクセスレベルが異なる者や組織等の間でデータ通信を行うデータ解析装置が知られている(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載のデータ解析装置では、開示可能なデータを開示して解析が行われるため、解析ができるのは開示可能なデータについてのみである。特許文献1に記載のデータ解析装置では、分散されて保持される複数のデータについてデータを共有せずに統合解析を行うことができない。
【0005】
本発明は上記の点に鑑みてなされたものであり、分散されて保持される複数のデータについてデータを共有せずに統合解析を行うことができる分散データ統合装置、分散データ統合解析装置、分散データ統合方法、及びプログラムを提供する。
【課題を解決するための手段】
【0006】
本発明は上記の課題を解決するためになされたものであり、本発明の一態様は、分散している複数の解析対象データの統合において共通に用いられるデータであるアンカーデータが第1関数によって変換されて得られる中間表現であるアンカーデータ中間表現、及び前記解析対象データが前記第1関数によって変換されて得られる中間表現である解析対象中間表現を、前記解析対象データ毎に取得する取得部と、前記取得部によって取得された前記複数の前記アンカーデータ中間表現を第2関数によって前記解析対象データ毎に変換するアンカーデータ変換部と、前記アンカーデータ変換部によって変換された前記アンカーデータ中間表現相互間の差を小さくする前記解析対象データ毎の前記第2関数を算出する算出部と、前記取得部によって取得された前記解析対象中間表現を、前記算出部によって算出された前記第2関数によって前記解析対象データ毎に変換する解析対象データ変換部と、を備える分散データ統合装置である。
【0007】
また、本発明の一態様は、上記の分散データ統合装置において、前記第1関数は、データを抽象化する関数である。
また、本発明の一態様は、上記の分散データ統合装置において、前記第1関数は、教師なし次元削減法、教師あり次元削減法、教師なし次元削減法若しくは教師あり次元削減法に非線形カーネル版を用いた非線形次元削減法、又はオートエンコーダのいずれか1つによってデータを変換する関数である。
また、本発明の一態様は、上記の分散データ統合装置において、前記第1関数は、教師なし次元削減法として主成分分析、局所性保存射影、又はt分布型確率的近傍埋め込み法のいずれか1つによってデータを変換する関数である。
また、本発明の一態様は、上記の分散データ統合装置において、前記第1関数は、教師あり次元削減法として線形判別分析、local FDA、又はsemi-supervised LFDAのうちいずれか1つによってデータを抽象化する関数である。
【0008】
また、本発明の一態様は、上記の分散データ統合装置において、前記アンカーデータに含まれる属性には、前記複数の前記解析対象データに含まれる属性の全てが含まれる。
また、本発明の一態様は、上記の分散データ統合装置によって前記解析対象中間表現が前記第2関数によって変換された結果であるデータコラボレーション表現を前記解析対象データについて統合し解析を行う分散データ統合解析装置である。
【0009】
また、本発明の一態様は、分散している複数の解析対象データの統合において共通に用いられるデータであるアンカーデータが第1関数によって変換されて得られる中間表現であるアンカーデータ中間表現、及び前記解析対象データが前記第1関数によって変換されて得られる中間表現である解析対象中間表現を、前記解析対象データ毎に取得する取得過程と、前記取得過程によって取得された前記複数の前記アンカーデータ中間表現を第2関数によって前記解析対象データ毎に変換するアンカーデータ変換過程と、前記アンカーデータ変換過程によって変換された前記アンカーデータ中間表現相互間の差を小さくする前記解析対象データ毎の前記第2関数を算出する算出過程と、前記取得過程によって取得された前記解析対象中間表現を、前記算出過程によって算出された前記第2関数によって前記解析対象データ毎に変換する解析対象データ変換過程とをコンピュータが実行する分散データ統合方法である。
【0010】
また、本発明の一態様は、コンピュータに、分散している複数の解析対象データの統合において共通に用いられるデータであるアンカーデータが第1関数によって変換されて得られる中間表現であるアンカーデータ中間表現、及び前記解析対象データが前記第1関数によって変換されて得られる中間表現である解析対象中間表現を、前記解析対象データ毎に取得する取得ステップと、前記取得ステップによって取得された前記複数の前記アンカーデータ中間表現を第2関数によって前記解析対象データ毎に変換するアンカーデータ変換ステップと、前記アンカーデータ変換ステップによって変換された前記アンカーデータ中間表現相互間の差を小さくする前記解析対象データ毎の前記第2関数を算出する算出ステップと、前記取得ステップによって取得された前記解析対象中間表現を、前記算出ステップによって算出された前記第2関数によって前記解析対象データ毎に変換する解析対象データ変換ステップとを実行させるためのプログラムである。
【発明の効果】
【0011】
本発明によれば、分散されて保持される複数のデータについてデータを共有せずに統合解析を行うことができる。
【図面の簡単な説明】
【0012】
【
図1】本発明の実施形態に係る統合データ解析システムの概略の一例を示す図である。
【
図2】本発明の実施形態に係る統合データ解析システムの構成の一例を示す図である。
【
図3】本発明の実施形態に係る各データの一例を示す図である。
【
図4】本発明の実施形態に係る分散データ統合装置の処理の一例を示す図である。
【
図5】本発明の実施形態に係る統合データ解析の結果の一例を示す図である。
【
図6】従来の標準規格化による統合データを用いた統合データ解析の一例を示す図である。
【
図7】元データを統合しない場合の解析結果の一例を示す図である。
【
図8】本発明の実施形態に係る機械学習に用いられる正解データ、及び学習データの一例を示す図である。
【
図9】本発明の実施形態に係る統合データ解析の結果の一例を示す図である。
【
図10】従来の標準規格化による統合データを用いた統合データ解析の結果の一例を示す図である。
【
図11】従来の分散している学習データを個別に用いた場合の解析の結果の一例を示す図である。
【
図12】本発明の実施形態に係る統合データ解析の結果の正確度の一例を示す図である。
【発明を実施するための形態】
【0013】
(実施形態)
[統合データ解析IAの概要]
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
図1は、本実施形態に係る統合データ解析システムSSの概略の一例を示す図である。
元データD1~D4は、統合データ解析システムSSにおける解析の対象となるデータである。元データD1~D4は、複数の解析対象データの一例である。元データD1~D4は、サーバ1-1~1-4に分散されてそれぞれ保持される。サーバ1-1~1-4は、例えば、医療機関のサーバである。元データD1~D4は、例えば、患者の個人情報などの秘匿情報を含む医療データである。
【0014】
サーバ1-1は、元データD1を独自の方法によって抽象化し、元データ中間表現IR1に変換する。元データD2~D4についても、同様にサーバ1-2~1-4において元データ中間表現IR2~IR4にそれぞれ独自の方法によって変換される。抽象化の方法は、サーバ1-1~1-4において共有されない。つまり、統合データ解析IAでは、分散されたデータを統合して解析する場合において、予め規定された標準規格化は行われない。
【0015】
元データ中間表現IR1~IR4は、統合されてデータコラボレーション表現CRに変換される。統合データ解析IAでは、このデータコラボレーション表現CRについて解析を行う。したがって、統合データ解析システムSSでは、分散されたデータである元データD1~D4は、元データ中間表現IR1~IR4に変換された後、データコラボレーション表現CRとして統合されて解析が行われ、元データD1~D4は共有されない。
【0016】
[分散データ統合装置2の構成]
図2は、本実施形態に係る統合データ解析システムSSの構成の一例を示す図である。
統合データ解析システムSSは、サーバ1-i(i=1、2、・・・、n:nは元データの数)と、分散データ統合装置2と、解析装置3とを備える。なお、以下では、サーバ1-i(i=1、2、・・・、n:nは元データの数)などの記載を単にサーバ1-1~1-nなどと記載することがある。
【0017】
サーバ1-1~1-nには、共通のアンカーデータADが予め供給される。このアンカーデータADは、例えば、分散データ統合装置2から供給される。アンカーデータADとは、分散している元データD1~Dnの統合において共通に用いられるデータである。アンカーデータADには、秘匿情報は含まれていない。
【0018】
アンカーデータADは、元データD1~Dnに近いデータであることが、統合データ解析IAの解析の精度の観点から好ましい。アンカーデータADが元データD1~Dnに近いデータであるとは、例えば、アンカーデータADの数値範囲と、元データD1~Dnの数値範囲とが共通であることである。また、アンカーデータADが元データD1~Dnに近いデータであるとは、例えば、アンカーデータADに含まれる属性には、元データD1~Dnに含まれる属性の全てが含まれることである。アンカーデータADの各データの値は、例えば、ランダムに生成された値である。
【0019】
ここでサーバ1-1~1-nは、互いに同様の機能を有するため、サーバ1-1~1-nの機能を、サーバ1-1に代表させて説明する。
サーバ1-1は、元データD1を第1関数f1によって元データ中間表現IR1に変換する。第1関数f1は、元データD1を抽象化する線形もしくは非線形の関数である。ここで抽象化は、例えば、教師なし次元削減法である主成分分析(Principal Component Analysis:PCA)、局所性保存射影(Locality Preserving Projection:LPP)、t分布型確率的近傍埋め込み法(T-distributed Stochastic Neighbor Embedding:t-SNE)など、教師あり次元削減法である線形判別分析(Fisher Discriminant Analysis:FDA)、local FDA(LFDA)、semi-supervised LFDA(SELF)など、またこれらに非線形カーネル版を用いた非線形次元削減法、及びディープニューラルネットワークにおいて用いられるオートエンコーダなどによって実行される。なお、サーバ1-1は、元データD1から秘匿情報を除いた後に、秘匿情報が除かれた元データD1を元データ中間表現IR1に変換してよい。
元データ中間表現IR1は、解析対象データが第1関数によって変換されて得られる中間表現である解析対象中間表現の一例である。
【0020】
また、サーバ1-1は、自装置に予め供給されるアンカーデータADを、第1関数f1によってアンカーデータ中間表現AIR1に変換する。この第1関数f1は、元データD1を元データ中間表現IR1に変換するのに用いられた関数と同じである。
【0021】
分散データ統合装置2は、元データ中間表現IR1~IRnをデータコラボレーション表現CRに統合する装置である。分散データ統合装置2は、取得部20と、アンカーデータ変換部21と、算出部22と、解析対象データ変換部23とを備える。
【0022】
取得部20は、サーバ1-1~1-nからアンカーデータ中間表現AIR1~AIRnを取得する。また、取得部20は、サーバ1-1~1-nから元データ中間表現IR1~IRnを取得する。
【0023】
アンカーデータ変換部21は、取得部20によって取得されたアンカーデータ中間表現AIR1~AIRnを、線形もしくは非線形の第2関数g1~gnによってそれぞれ変換する。アンカーデータ中間表現AIR1~AIRnが第2関数g1~gnによって変換されたデータを変換後データG1~Gnという。
【0024】
算出部22は、アンカーデータ変換部21によって変換されたアンカーデータ中間表現である変換後データG1~Gn相互間の差を最小にする第2関数g1~gnを算出する。
つまり、算出部22は、アンカーデータ中間表現AIR1~AIRnが第2関数g1~gnによって変換された結果である変換後データG1~Gnを相互に一致させるように第2関数g1~gnを算出する。
【0025】
ここで算出部22は、例えば、最小化問題を解くことによって第2関数g1~gnを算出する。特に第2関数g1~gnが線形関数である場合には、当該最小化問題は一般化されたTotal Least Squares問題となる。
なお、分散された元データD1~Dnの数は、最小化問題を解く際の精度の点において、所定の数以上であることが好ましい。
【0026】
解析対象データ変換部23は、取得部20によって取得された元データ中間表現IR1~IRnを、算出部22によって算出された第2関数g1~gnによってそれぞれ変換する。変換された結果を、データコラボレーション表現CR1~CRnという。
【0027】
解析装置3は、分散データ統合装置2によって得られたデータコラボレーション表現CR1~CRnを、元データD1~Dnについて統合し解析を行う。解析装置3は、例えば、Kernel LSPC(Least Squares Probailistic Classifier)法やディープニューラルネットワークなどの機械学習を用いて、統合されたデータコラボレーション表現CR1~CRnの解析を行う。
【0028】
[各データの具体例]
図3は、本実施形態に係る各データの一例を示す図である。
図3では、分散された解析対象データが元データD1、及び元データD2の2つである場合の一例である。
元データD1は、5次元のデータdata11及びデータdata12を含む。データdata11の成分は[2、1、5、3、2]であり、データdata12の成分は[4、1、2、1、3]である。元データD2は、5次元のデータdata21及びデータdata22を含む。データdata21の成分は[1、2、4、3、2]であり、データdata22の成分は[3、2、1、5、2]である。
5次元のデータであるアンカーデータADの成分は、[1、2、3、4、5]である。
【0029】
上述したように元データD1、元データD2、及びアンカーデータADは、サーバ1-1、及びサーバ1-2毎に独自の方法によって抽象化される。抽象化の結果、データdata11及びデータdata12は元データ中間表現IR1である3次元のデータ[4.0、4.5、5.0]、及び[3.5、2.0、3.0]に変換される。サーバ1-1に供給されるアンカーデータADは、アンカーデータ中間表現AIR1である3次元のデータ[3.0、4.5、6.0]に変換される。
一方、抽象化の結果、データdata21及びデータdata22は、元データ中間表現IR2である3次元のデータ[1.5、3.0、2.5]、及び[2.5、1.5、3.5]に変換される。サーバ1-2に供給されるアンカーデータADは、アンカーデータ中間表現AIR2である3次元のデータ[1.5、2.5、4.5]に変換される。
【0030】
元データ中間表現IR1~IR2、及びアンカーデータ中間表現AIR1~AIR2は、分散データ統合装置2によって、データコラボレーション表現CR1~CR2に変換される。元データD1(データdata11及びデータdata12)は、データコラボレーション表現CR1である3次元のデータ[1.5、2.5、2.5]及び「2.5、1.0、2.0」に変換される。アンカーデータ中間表現AIR1は、変換後データG1として3次元のデータ[1.5、1.5、4.5]に変換される。
一方、元データD2(データdata21及びデータdata22)は、データコラボレーション表現CR2である3次元のデータ[1.5、2.0、2.5]及び「2.5、0.5、3.5」に変換される。アンカーデータ中間表現AIR2は、変換後データG2として3次元のデータ[1.5、1.5、4.5]に変換される。
【0031】
ここで、サーバ1-1において抽象化されて得られたアンカーデータ中間表現AIR1と、サーバ1-2において抽象化されて得られたアンカーデータ中間表現AIR2とは、分散データ統合装置2において、変換後データG1、及び変換後データG2として共に3次元のデータ[1.5、1.5、4.5]に変換されている。分散データ統合装置2では、アンカーデータ中間表現AIR1~AIRnが変換後データG1~Gn相互間の差を最小にするような第2関数g1~gnが算出されるため、変換後データG1と変換後データG2との差は最小となっている。
【0032】
統合データ解析IAでは、データコラボレーション表現CR1である3次元のデータ[1.5、2.5、2.5]及び「2.5、1.0、2.0」と、データコラボレーション表現CR2である3次元のデータ[1.5、2.0、2.5]及び「2.5、0.5、3.5」とを統合して解析が行われる。
【0033】
なお、本実施形態では、元データD1~Dnは、抽象化による変換の結果、元データ中間表現IR1~IRnにおいてデータの次元が元データD1~Dnに比べて減る場合について説明するが、これに限らない。抽象化は、変換の結果、元データ中間表現IR1~IRnにおいてデータの次元は元データD1~Dnと同じである変換であってもよい。
また、元データ中間表現IR1~IRnを得る変換とは、抽象化に限らない。例えば、元データ中間表現IR1~IRnを得る変換は、元データD1~Dnの次元を増やす変換であってもよい。
【0034】
なお、元データ中間表現IR1~IRn、及びアンカーデータ中間表現AIR1~AIRnの次元は、データ毎に異なっていてもよい。これらの中間表現の次元を過度に小さくすることは、元データD1~Dnのもつ情報が過度に落ちてしまうため好ましくない。
【0035】
またなお、元データ中間表現IR1~IRnを得る変換は、元データD1~Dnの中身を変えない自明な変換であってもよい。ただし、元データ中間表現IR1~IRnを得る変換が自明な変換である場合には、元データD1~Dnがそのまま分散データ統合装置2に供給されることになるため、元データD1~Dnからは変換前に秘匿情報が除かれることが好ましい。
【0036】
[分散データ統合装置2の処理]
図4は、本実施形態に係る分散データ統合装置2の処理の一例を示す図である。
本実施形態では、一例として、遺伝子発現データによって白血病の種類を3クラスに分類するクラス分類問題を扱う。当該クラス分類問題では、38個の学習用データが、2つに分割されて、元データD1及び元データD2として、サーバ1-1、及びサーバ1-2にそれぞれ保持されている。ここで学習用データでは、遺伝子発現データに関する複数の種類の特徴量と、白血病の種類とが検体毎に対応づけられている。
以下、
図4の説明において、数nは2である。
【0037】
元データD1~Dnは、それぞれ7129次元のデータである。元データD1~Dnは、サーバ1-1~1-nにおいて、Kernel LPP(Locality Preserving projection)法を用いた抽象化によって、17次元のデータである元データ中間表現IR1~IRnへと変換されている。ここでKernel LPP法では、変換の対象となるデータに依存して異なる変換となる。元データD1~Dnは一般には互いに異なるため、Kernel LPP法の変換はサーバ1-1~1-n毎に互いに異なる。
【0038】
サーバ1-1~1-nにそれぞれ供給されるアンカーデータADは、サーバ1-1~1-n毎に共通であり、ランダムに生成されたデータである。サーバ1-1~1-nにおいて、アンカーデータADは、Kernel LPP法を用いてアンカーデータ中間表現AIR1~AIRnへと変換されている。
【0039】
ステップS10:取得部20は、元データ中間表現IR1~IRn、及びアンカーデータ中間表現AIR1~AIRnを分散された元データD1~Dn毎に取得する。取得部20は、取得したアンカーデータ中間表現AIR1~AIRnをアンカーデータ変換部21に供給する。また、取得部20は、取得した元データ中間表現IR1~IRnを解析対象データ変換部23に供給する。
【0040】
ここで、アンカーデータ中間表現AIR1~AIRnとは、アンカーデータADが第1関数f1~fnによって変換されて得られる中間表現である。また、元データ中間表現IR1~IRnとは、解析対象データ(この一例において、元データD1~Dn)が第1関数f1~fnによって変換されて得られる中間表現である解析対象中間表現である。
つまり、取得部20は、分散している複数の解析対象データの統合において共通に用いられるデータであるアンカーデータが第1関数f1~fnによって変換されて得られる中間表現であるアンカーデータ中間表現AIR1~AIRn、及び解析対象データ(この一例において、元データD1~Dn)が第1関数f1~fnによって変換されて得られる中間表現である解析対象中間表現(この一例において、元データ中間表現IR1~IRn)を、解析対象データ毎に取得する。
【0041】
ステップS20:アンカーデータ変換部21は、取得部20によって取得された複数のアンカーデータ中間表現AIR1~AIRnを第2関数g1~gnによって元データD1~Dn毎に変換する。アンカーデータ変換部21は、アンカーデータ中間表現AIR1~AIRnを変換して得られる変換後データG1~Gnを算出部22に供給する。
【0042】
ステップS30:算出部22は、アンカーデータ変換部21によって変換された変換後データG1~Gn相互間の差を最小にする元データD1~Dn毎の第2関数g1~gnを算出する。
つまり、算出部22は、アンカーデータ変換部21によって変換されたアンカーデータ中間表現AIR1~AIRn相互間の差を最小にする元データD1~Dn毎の第2関数g1~gnを算出する。
【0043】
ここで本実施形態では、ステップS20、及びステップS30の各処理は、一例として、一般化されたTotal Least Squares問題を解く処理に対応する。当該処理においては、アンカーデータ中間表現AIR1~AIRn相互間の差を最小にする元データD1~Dn毎の第2関数g1~gnが算出されるまでステップS20、及びステップS30の各処理が繰り返される場合もある。
算出部22は、算出した第2関数g1~gnを解析対象データ変換部23に供給する。
【0044】
ステップS40:解析対象データ変換部23は、取得部20によって取得された元データ中間表現IR1~IRnを、算出部22によって一般化されたTotal Least Squares問題の解として算出された第2関数g1~gnによってデータコラボレーション表現CR1~CRnに変換する。
つまり、解析対象データ変換部23は、取得部20によって取得された解析対象中間表現を、算出部22によって算出された第2関数g1~gnによって解析対象データ毎に変換する。
解析対象データ変換部23は、変換して得られたデータコラボレーション表現CR1~CRnを解析装置3に供給する。
【0045】
解析装置3では、分散データ統合装置2が供給するデータコラボレーション表現CR1~CRnを統合して、統合データ解析IAを行う。解析装置3は、例えば、Kernel LSPC法を用いて統合データ解析IAを行う。
【0046】
ここで、
図5を参照して統合データ解析IAの結果の第1の具体例について説明する。以下の第1の具体例の説明において統合データ解析IAを統合データ解析IA1という。
図5は、本実施形態に係る統合データ解析IA1の結果の一例を示す図である。
図5では、遺伝子発現データに関する複数種類の特徴量のうち3種類の特徴量を示す3次元空間において、検体毎のデータが示されている。クラスC1~C3は、白血病の種類に対応し、検体毎のデータが白血病の種類毎に分類されている。クラスC1~C3に含まれるデータは互いに重なっていないほど解析精度が高い。
【0047】
統合データ解析IA1では、2つに分散された学習データを本実施形態に係る統合データ解析IAによって統合し学習データとして用いて、Kernel LSPC法を行った結果、94.3±0.70パーセントの精度において、白血病の種類を3つのクラスC1~C3に分類することができた。
【0048】
図5に示す解析結果を得るために、統合データ解析IA1では、データの抽象化のための第1関数として、一例としてカーネル版局所性保存射影が用いられている。ここでカーネル版局所性保存射影のカーネルには、ガウスカーネルを使用している。統合データ解析IA1では、アンカーデータ中間表現相互間の差を最小にする第2関数を算出するために、一例として特異値分解に基づく解法が用いられている。
【0049】
ここで第1関数として用いられる局所性保存射影(Locality Preserving Projection: LPP)について説明する。LPPは、教師なし次元削減法であり、LPPでは、局所構造を保存する低次元空間が構築される。局所構造を保存するとは、LPPが実行される前の元のデータにおいて、データ間の距離が近いデータ同士は、LPPによって構築される低次元空間においてもデータ間の距離が近くなることである。LPPでは元のデータに依存した射影関数を構築するため、生成される関数は(例えば医療機関などに)分散されたデータ毎に異なる。
LPPは、式(1)に示すように定式化される。
【0050】
【0051】
xiやxjは、特徴量の値である元のデータの値を示す。行列Bは、LPPを示す行列である。重みwijは、式(2)によって示されるxiとxjとの間の類似度である。
【0052】
【0053】
重みwijの値は、元のデータ同士においてデータ間の距離が近いほど大きい。なお、重みwijの値は、実用上はk近傍法によりスパース化し、元のデータ同士においてデータ間の距離が十分遠いデータに対してはwij=0とする。
【0054】
[従来の統合データ解析IA0]
ここで
図6及び
図7を参照し、本実施形態の統合データ解析IA1との比較のために、従来の標準規格化による統合データSD0を用いた統合データ解析IA0について説明する。
図6は、従来の標準規格化による統合データSD0を用いた統合データ解析IA0の一例を示す図である。分散された元データD10及び元データD20は、各サーバにおいて、予め規定された標準規格化によって変換される。標準規格化によって変換された元データD10及び元データD20は、標準規格化による統合データSD0として統合される。標準規格化による統合データSD0が、統合データ解析IA0によって解析される。
【0055】
図7は、元データを統合しない場合の解析結果の一例を示す図である。クラスC10~C30は、白血病の種類に対応する。2つに分散された学習データのうち一方のデータを用いてKernel LSPC法を行った結果、87.7±3.17パーセントの精度において、白血病の種類は3つのクラスC1~C3に分類されている。
図5の本実施形態の統合データ解析IA1の解析精度と、2つに分散された学習データのうち一方のデータを用いたKernel LSPC法の解析精度とを比較すると、本実施形態の統合データ解析IA1の方が解析精度の方が、2つに分散された学習データのうち一方のみのデータを用いたKernel LSPC法の解析精度に比べて高いことがわかる。
【0056】
次に
図8から
図9を参照し、統合データ解析IAの結果の第2の具体例について説明する。以下の第2の具体例の説明において統合データ解析IAを統合データ解析IA2という。統合データ解析IA2では、複数種類の点の分布に基づいて空間をそれらの複数種類の点に対応する複数の領域に分ける問題を機械学習に基づいて解析する。
この空間とは、10種類の特徴量を示す空間であり、空間の次元は10次元である。なお、
図8から
図9に示す例では、10種類の特徴量のうち8種類は、乱数を用いてランダムに値が設定されており、残りの2種類に対応する平面上において学習データや解析結果が示されている。
機械学習とは、一例としてKernel LSPC法である。なお、機械学習としては、教師あり学習であればいずれの機械学習の手法が用いられてもよい。
【0057】
図8は、本実施形態に係る機械学習に用いられる正解データ、及び学習データの一例を示す図である。
図8(A)は、正解データを示し、
図8(B)、(C)、及び(D)は、学習データを示す。
図8(A)では、平面が3つの領域に分けられており、平面を領域に分ける問題において正解となる領域の分け方を示している。
図8(B)、(C)、及び(D)に示す学習データは、平面において3つの領域のいずれかに属する複数の点の分布が、正解となる領域の境界を示す閉曲線とともに示されている。ここで複数の点の分布は、属する領域に応じて異なる態様において示されている。複数の点の数は、
図8(B)、(C)、及び(D)それぞれについて40個である。
図8(B)、(C)、及び(D)に示す学習データは、分散している複数の解析対象データに対応する。
【0058】
図9は、本実施形態に係る統合データ解析IA2の結果の一例を示す図である。
図9(A)、(B)、及び(C)は、
図8(B)、(C)、及び(D)に示した複数の点の分布を、それぞれ学習データとして用いた場合の統合データ解析IA2の結果を示す。
【0059】
図9に示す解析結果を得るために、統合データ解析IA2では、データの抽象化のための第1関数として、一例としてカーネル版局所性保存射影が用いられている。ここでカーネル版局所性保存射影のカーネルには、ガウスカーネルを使用している。統合データ解析IA2では、アンカーデータ中間表現相互間の差を最小にする第2関数を算出するために、一例として特異値分解に基づく解法が用いられている。
【0060】
統合データ解析IA2の結果と比較するために、
図10に、分散している学習データを、従来の標準規格化によって統合して用いた場合の解析結果を示す。
図10では、
図8(B)、(C)、及び(D)に示す学習データがデータの保持者間において共有されて、1組の学習データとして用いられて機械学習による解析が実行された場合の結果である。
また、
図11に、分散している学習データを個別に用いた場合の解析結果を示す。
図11(A)、(B)、及び(C)は、
図8(B)、(C)、及び(D)に示す学習データがそれぞれ個別に用いられて機械学習による解析が実行された場合の結果である。
【0061】
図9に示す統合データ解析IA2による解析結果と、
図10に示す学習データを統合して用いた場合の解析結果と、
図11に示す分散された学習データが個別に用いられた場合の解析結果を比較すると、統合データ解析IA2による解析結果は、分散された学習データが個別に用いられた場合の解析結果に比べて、分散された学習データがデータの保持者間において共有された場合の解析結果に近い。つまり統合データ解析IA2による解析結果では、分散された学習データが個別に用いられた場合の解析結果に比べて高い判定精度が得られている。
【0062】
次に
図12を参照し、統合データ解析IAの結果の第3の具体例について説明する。以下の第3の具体例の説明において統合データ解析IAを統合データ解析IA3という。統合データ解析I3Aでは、手書き数字認識を機械学習に基づいて実行する。機械学習とは、一例としてKernel LSPC法である。なお、機械学習としては、教師あり学習であればいずれの機械学習の手法が用いられてもよい。
【0063】
図12は、本実施形態に係る統合データ解析IA3の結果の正確度の一例を示す図である。
図12では、分散された学習データの数を1から50まで変化させた場合の解析結果の正確度を示すグラフGR1、グラフGR10、及びグラフGR20が示されている。グラフGR1は、統合データ解析IA3による解析結果を示す。グラフGR10、及びグラフGR20は、統合データ解析IA3との比較のための従来の解析による解析結果についてのグラフである。グラフGR10は、分散された学習データを統合し解析をおこなった場合の解析結果の正確度を示す。グラフGR20は、分散された学習データが個別に用いられた場合の解析結果の正確度を示す。グラフGR20に対応する解析では、学習に用いる分散された学習データの数自体は1つであり、分散された学習データのうち学習に用いるデータを変化させている。
【0064】
分散された学習データはそれぞれ、一例として100個のデータが組になっている。分散された学習データの数は、データを保持する機関の数に対応する。つまり、統合データ解析IA3では、データを保持する機関がそれぞれ100個のデータを保持している状況が想定されている。統合データ解析IA3では、MNIST(Modified National Institute of Standards and Technology)が、学習データとして用いられている。学習データは、縦及び横についてそれぞれ28画素から構成される画像の画素数に相当する784個の特徴量を含む。
【0065】
図12に示す解析結果を得るために、統合データ解析IA3では、データの抽象化のための第1関数として、一例としてカーネル版局所性保存射影が用いられている。ここでカーネル版局所性保存射影のカーネルには、ガウスカーネルを使用している。統合データ解析IA3では、アンカーデータ中間表現相互間の差を最小にする第2関数を算出するために、一例として特異値分解に基づく解法が用いられている。
【0066】
図12に示すように、グラフGR1が示す正確度は、グラフGR20が示す正確度よりも高く、グラフGR20が示す正確度に比べてグラフGR10が示す正確度に近い。つまり、つまり統合データ解析IA3による解析結果では、分散された学習データが個別に用いられた場合の解析結果に比べて高い判定精度が得られている。
【0067】
[まとめ]
以上に説明したように、本実施形態に係る分散データ統合装置2は、取得部20と、アンカーデータ変換部21と、算出部22と、解析対象データ変換部23とを備える。
取得部20は、分散している複数の解析対象データ(この一例において、元データD1~Dn)の統合において共通に用いられるデータであるアンカーデータADが第1関数f1~fnによって変換されて得られる中間表現であるアンカーデータ中間表現AIR1~AIRn、及び解析対象データ(この一例において、元データD1~Dn)が第1関数f1~fnによって変換されて得られる中間表現である解析対象中間表現(この一例において、元データ中間表現IR1~IRn)を、解析対象データ(この一例において、元データD1~Dn)毎に取得する。
【0068】
この構成により、本実施形態に係る分散データ統合装置2では、中間表現をデータコラボレーション表現CRに変換できるため、分散されて保持される複数のデータについてデータを共有せずに統合解析を行うことができる。
【0069】
本実施形態において一例として扱った遺伝子発現データのような医療データでは、医療機関ごとに元データを共有することが、情報秘匿の観点から困難である。また、医療データ以外にも、製造業の企業の保持する各種の開発データは、統合解析の需要が高いものの、秘密保持の観点から元データの統合は困難である。情報秘匿以外の観点においても元データが巨大である場合にはデータを統合することが困難である。本実施形態に係る分散データ統合装置2による元データを共有しない統合データ解析IAは、医療機関や製造業など様々な分野における応用が期待される。
【0070】
また、上述したように、従来、分散されたデータが秘匿情報を含む場合に、秘匿情報を削除し標準規格化を用いて、元データを統合して解析する方法がある。
従来の標準規格化を用いた分散データの統合解析では、解析対象を考慮し必要なデータの標準規格を制定する必要がある。標準規格を制定することは、元データの種類が多い場合や解析目的が多岐に渡る場合に困難となる。また、将来、元データの種類が増加したり、新たな解析目的が生じたりすることが予想され、標準規格を制定することはますます困難となる。
【0071】
従来の標準規格化を用いた分散データの統合解析では、分散データの保持者の全てが、予め制定された標準規格に基づいて元のデータを変換する必要がある。標準規格の制定、及び元のデータの変換に伴うコストは、元データの種類や、ビッグデータなど元のデータのサイズが増加するにつれ甚大となる。
【0072】
本実施形態に係る分散データ統合装置2では、分散データの保持者がそれぞれ独自の抽象化によって変化した中間表現をデータコラボレーション表現CRに変換できるため、予め標準規格を制定することや、元データを標準規格に変換することに伴うコストを減らすことができる。
【0073】
また、本実施形態に係る分散データ統合装置2では、第1関数f1~fnは、データを抽象化する関数である。
この構成により、本実施形態に係る分散データ統合装置2では、分散されて保持される元データを抽象化できるため、分散されて保持される複数のデータについて抽象化を用いてデータを共有せずに統合解析を行うことができる。
【0074】
また、本実施形態に係る分散データ統合装置2では、アンカーデータADに含まれる属性には、複数の解析対象データ(この一例において、元データD1~Dn)に含まれる属性の全てが含まれる。
この構成により、本実施形態に係る分散データ統合装置2では、アンカーデータADに含まれる属性に複数の解析対象データ(この一例において、元データD1~Dn)に含まれる属性の全てが含まれない場合に比べて統合データ解析IAの精度を高くすることができる。
【0075】
なお、上述した実施形態における分散データ統合装置2の一部、例えば、取得部20、アンカーデータ変換部21、算出部22、及び解析対象データ変換部23をコンピュータで実現するようにしてもよい。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、取得部20に内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
また、上述した実施形態における分散データ統合装置2の一部、または全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。分散データ統合装置2の各機能ブロックは個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【0076】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【符号の説明】
【0077】
SS…統合データ解析システム、1-1~1-n…サーバ、2…分散データ統合装置、20…取得部、21…アンカーデータ変換部、22…算出部、23…解析対象データ変換部、3…解析装置、D1~Dn…元データ、AD…アンカーデータ、f1~fn…第1関数、g1~gn…第2関数、IR1~IRn…元データ中間表現、AIR1~AIRn…アンカーデータ中間表現