JP6673367B2 - 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム - Google Patents

情報処理装置、情報処理システム、および情報処理方法、並びにプログラム Download PDF

Info

Publication number
JP6673367B2
JP6673367B2 JP2017560052A JP2017560052A JP6673367B2 JP 6673367 B2 JP6673367 B2 JP 6673367B2 JP 2017560052 A JP2017560052 A JP 2017560052A JP 2017560052 A JP2017560052 A JP 2017560052A JP 6673367 B2 JP6673367 B2 JP 6673367B2
Authority
JP
Japan
Prior art keywords
variable
data
calculation
information processing
result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017560052A
Other languages
English (en)
Other versions
JPWO2017119211A1 (ja
Inventor
洋平 川元
洋平 川元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of JPWO2017119211A1 publication Critical patent/JPWO2017119211A1/ja
Application granted granted Critical
Publication of JP6673367B2 publication Critical patent/JP6673367B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/20ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Public Health (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Primary Health Care (AREA)
  • Biomedical Technology (AREA)
  • Epidemiology (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Operations Research (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Pathology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本開示は、情報処理装置、情報処理システム、および情報処理方法、並びにプログラムに関する。さらに詳細には、異なる複数のセキュアデータを開示することなく、各セキュアデータ間の関係性を推定可能とする情報処理装置、情報処理システム、および情報処理方法、並びにプログラムに関する。
ある説明変数(x)から結果変数(y)を予測する手法としてロジスティック回帰分析が知られている。
具体的には、例えば、説明変数(x)を、
(x1)ユーザの性別(男=1、女=0)
(x2)ユーザの年齢(0〜)、
(x3)ユーザのコレステロール値(例えば150〜250)、
これらの複数の説明変数(x1〜x3)とする。
また、結果変数(y)を、
(y1)病気(例えば高脂血症)の発症の有無(発症あり=1、発症なし=0)
この1つの結果変数(y1)とする。
ある組織A(エンティティA)、具体的には、例えば、あるWebサイトの運営者である組織A(エンティティA)は、Webサイトの閲覧ユーザからの閲覧情報等に基づいて、多数のユーザ、例えば100人分の上記の説明変数(x1〜x3)を取得することができる。
これらの各ユーザ対応の説明変数は、各ユーザの個人情報であり、公開することは好ましくない。
一方、この100人のユーザの結果変数(y)、すなわち、上記の(y1)病気(例えば高脂血症)の発症の有無(発症あり=1、発症なし=0)については、別の組織B(エンティティB)、例えばある病院が保持している。
この病院の保持しているデータも個人情報であり、公開すべきではない。
なお、個人情報等、公開すべきではないデータを、セキュアデータ、あるいはセンシティブデータ(機微データ)と呼ぶ。
上記の設定では、説明変数(x)と、結果変数(y)はそれぞれ別の組織が保持しており、説明変数(x)と、結果変数(y)との関係性について解析することは困難である。
しかし、例えば任意の説明変数(x1〜x3)から、結果変数(y)を推定することが求められる場合がある。
具体的には、例えば、上記の組織A(エンティティA)であるWebサイトの運営者が、Webサイト上に、特定のユーザに向けた広告、いわゆる「ユーザターゲット広告」を出力する場合等である。
具体的には、(y1)病気(例えば高脂血症)の発症があると推定されるユーザに、その病気(例えば高脂血症)の薬、あるいは予防薬の薬の広告を提供するといった広告出力を行えば、薬を買ってもらえる可能性を高めることができ、より効果の高い広告出力が可能となる。
このように、説明変数(x)の保持者と結果変数(y)の保持者が異なり、これらの2つのデータを相互に開示できない場合、説明変数(x)から、より確からしい結果変数(y)を推定する処理は、様々な分野において利用可能性が高い処理である。
ロジスティック回帰分析は、この推定処理手法の一つである。
説明変数(x)の保持者は、結果変数(y)の保持者から、直接、結果変数(y)を受領できないが、結果変数(y)に対して暗号処理や変換処理を施したデータ、すなわち変換データ(秘匿化データ)を受領して、説明変数(x)から、より確からしい結果変数(y)を推定する解析処理を行なうことができる。
このような解析処理を開示した従来技術として、例えば特許文献1(特開2011−83101号公報)や、特許文献2(特開2009−199068号公報)がある。
特許文献1(特開2011−83101号公報)は、複数の秘匿化データを統合して、統計解析を行う秘密計算システムを開示している。
秘匿化データを利用して統計量を求める方法としては秘密計算(セキュア計算)を使う。しかし、秘匿化データから、お互いに情報を開示せずに統計量を計算する具体的な方法は示されておらず、秘密計算を行うための枠組みに関する構成のみを開示しているにすぎない。
データの秘匿化処理や、秘匿化データを用いた秘密計算(セキュア計算)は処理が煩雑であり、データ量に応じて処理時間が増大し、処理コストが過大になるという問題がある。
この特許文献1に開示されている秘密計算システムを用いて、ロジスティック回帰のパラメータを推定する場合、一般的なセキュア計算をそのまま用いることになり、非常に効率が悪くなる。
また、特許文献2(特開2009−199068号公報)は、入力値mを秘匿したまま、入力値mに対する論理回路f(x)の演算結果f(m)を算出する秘密計算(セキュア計算)システムを開示しており、セキュア計算を行う具体的な論理回路を開示している。この特許文献2に示される論理回路で表現可能な計算を行う場合には、この特許文献2の開示システムを用いたセキュア計算が可能となる。
しかし、ロジスティック回帰のパラメータを推定するためには、加減乗算等の異なる種類の演算処理が多く必要となり、これらを論理回路で表現すると、回路サイズが大きくなり、計算量が増大してしまうという問題がある。
また、入力値を秘匿して計算を行う一般的なセキュア計算では、秘密にすべき入力値の個数に応じて計算量や通信量が増大するという問題がある。
特開2011−83101号公報 特開2009−199068号公報
本開示は、例えば上述の問題点に鑑みてなされたものであり、異なる複数のセキュアデータ(秘匿データ)を開示することなく、各セキュアデータの関係性の推定を効率的に実行可能とする情報処理装置、情報処理システム、および情報処理方法、並びにプログラムを提供することを目的とする。
さらに、本開示の一実施態様では、ロジスティック回帰パラメータの推定を効率的に実行する情報処理装置、情報処理システム、および情報処理方法、並びにプログラムを提供することを目的とする。
本開示の第1の側面は、
各標本に対応付けられた2種類の異なるセキュアデータである第1の変数と第2の変数との関係性を示すロジスティック回帰モデルのパラメータであるロジスティック回帰パラメータを算出するデータ処理部を有し、
前記データ処理部は、
第1の変数と第2の変数との内積(t_s)を、各変数の変換データを適用した計算処理であるセキュア計算を適用して算出し、
前記内積算出処理以外の計算処理を、変換データを用いない計算処理として実行して、前記ロジスティック回帰パラメータを算出する情報処理装置にある。
さらに、本開示の第2の側面は、
各標本に対応付けられたセキュアデータである説明変数を保持する説明変数保持装置と、
各標本に対応付けられたセキュアデータである結果変数を保持する結果変数保持装置を有する情報処理システムであり、
前記結果変数保持装置は、
各標本に対応付けられた結果変数の総和(t_0)を算出して前記説明変数保持装置に出力し、
前記説明変数保持装置は、
結果変数との関係性を示すロジスティック回帰モデルのパラメータであるロジスティック回帰パラメータを算出するデータ処理部を有し、
前記データ処理部は、
説明変数と結果変数との内積(t_s)を、各変数の変換データを適用した計算処理であるセキュア計算を適用して算出し、
算出した内積(t_s)、および結果変数保持装置から入力した結果変数の総和(t_0)を適用してロジスティック回帰パラメータを算出する情報処理システムにある。
さらに、本開示の第3の側面は、
情報処理装置において実行する情報処理方法であり、
前記情報処理装置は、
各標本に対応付けられた2種類の異なるセキュアデータである第1の変数と第2の変数との関係性を示すロジスティック回帰モデルのパラメータであるロジスティック回帰パラメータを算出するデータ処理部を有し、
前記データ処理部は、
第1の変数と第2の変数との内積(t_s)を、各変数の変換データを適用した計算処理であるセキュア計算を適用して算出し、
前記内積算出処理以外の計算処理を、変換データを用いない計算処理として実行して、前記ロジスティック回帰パラメータを算出する情報処理方法にある。
さらに、本開示の第4の側面は、
各標本に対応付けられたセキュアデータである説明変数を保持する説明変数保持装置と、
各標本に対応付けられたセキュアデータである結果変数を保持する結果変数保持装置を有する情報処理システムにおいて実行する情報処理方法であり、
前記結果変数保持装置は、
各標本に対応付けられた結果変数の総和(t_0)を算出して前記説明変数保持装置に出力し、
前記説明変数保持装置は、
結果変数との関係性を示すロジスティック回帰モデルのパラメータであるロジスティック回帰パラメータを算出するデータ処理部を有し、
前記データ処理部は、
説明変数と結果変数との内積(t_s)を、各変数の変換データを適用した計算処理であるセキュア計算を適用して算出し、
算出した内積(t_s)、および結果変数保持装置から入力した結果変数の総和(t_0)を適用してロジスティック回帰パラメータを算出する情報処理方法にある。
さらに、本開示の第5の側面は、
情報処理装置において情報処理を実行させるプログラムであり、
前記情報処理装置は、
各標本に対応付けられた2種類の異なるセキュアデータである第1の変数と第2の変数との関係性を示すロジスティック回帰モデルのパラメータであるロジスティック回帰パラメータを算出するデータ処理部を有し、
前記プログラムは、前記データ処理部に、
第1の変数と第2の変数との内積(t_s)を、各変数の変換データを適用した計算処理であるセキュア計算を適用して算出する処理と、
前記内積算出処理以外の計算処理を、変換データを用いない計算処理として実行させて、前記ロジスティック回帰パラメータ算出処理を実行させるプログラムにある。
なお、本開示のプログラムは、例えば、様々なプログラム・コードを実行可能な情報処理装置やコンピュータ・システムに対して例えば記憶媒体によって提供されるプログラムである。このようなプログラムを情報処理装置やコンピュータ・システム上のプログラム実行部で実行することでプログラムに応じた処理が実現される。
本開示のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
本開示の一実施例の構成によれば、高速かつ効率的なロジスティック回帰モデルのパラメータ算出処理が実現される。
具体的には、各標本に対応のセキュアデータである説明変数と結果変数との関係性を示すロジスティック回帰モデルのパラメータであるロジスティック回帰パラメータを算出する。データ処理部は、説明変数と結果変数との内積(t_s)を、各変数の変換データを適用した計算処理であるセキュア計算を適用して算出し、内積算出処理以外の計算処理を、変換データを用いない計算処理として実行してNewton−Raphson法(繰返し収束法)を用いた最尤法に従って、ロジスティック回帰パラメータを算出する。
本構成により、高速かつ効率的なロジスティック回帰モデルのパラメータ算出処理が実現される。
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また付加的な効果があってもよい。
ロジスティック回帰分析を行うためのデータ例について説明する図である。 ロジスティック回帰分析処理を実行する1つの情報処理システム構成例を示す図である。 情報処理装置が各々保持するデータの例について説明する図である。 ロジスティック回帰分析に適用する学習データと、ロジスティック回帰モデルについて説明する図である。 標本単位データとプロファイル単位データの例について説明する図である。 セキュア計算によるセキュアデータの加算結果算出処理例について説明する図である。 セキュア計算によるセキュアデータの乗算結果算出処理例について説明する図である。 Newton−Raphson法(繰返し収束法)を用いて、パラメータβを最尤法に従って推定する処理について説明する図である。 結果変数保持装置である情報処理装置A110と、説明変数保持装置である情報処理装置B120内に構成されるパラメータ算出実行部111,121の構成を示す図である。 本開示の情報処理装置が実行する処理シーケンスについて説明するフローチャートを示す図である。 Newton−Raphson法(繰返し収束法)を用いて、パラメータβを最尤法に従って推定する処理について説明する図である。 Newton−Raphson法(繰返し収束法)を用いて、パラメータβを最尤法に従って推定する処理シーケンスについて説明するフローチャートを示す図である。 Newton−Raphson法(繰返し収束法)を用いて、パラメータβを最尤法に従って推定する処理においてセキュア計算を削減したシーケンスを説明するフローチャートを示す図である。 情報処理装置のハードウェア構成例を示す図である。
以下、図面を参照しながら本開示に係る情報処理装置、情報処理システム、および情報処理方法、並びにプログラムの詳細について説明する。説明は、以下の項目に従って行う。
1.ロジスティック回帰分析の概要について
2.ロジスティック回帰分析によるパラメータ推定処理について
3.最尤法によるロジスティック回帰パラメータの推定処理について
4.セキュア計算を用いたロジスティック回帰パラメータの推定方法について
5.セキュア計算を削減したロジスティック回帰パラメータの推定方法について
6.本開示のパラメータ算出処理における計算量の削減効果について
7.情報処理装置のハードウェア構成例について
8.本開示の構成のまとめ
[1.ロジスティック回帰分析の概要について]
まず、ロジスティック回帰分析の概要について説明する。
ある説明変数(x)から結果変数(y)を予測する手法としてロジスティック回帰分析が知られている。
ロジスティック回帰分析を用いた処理について説明する。
図1は、ロジスティック回帰分析を行うためのデータ例である。
複数の標本(i)についての、結果変数(y)と説明変数(x)のリストを示している。標本iは、例えば1人のユーザiに相当する。
結果変数(y)は、病気、例えば高脂血症の発症の有無(発症あり=1、発症なし=0)である。
説明変数(x)は性別(x1)、年齢(x2)、コレステロール値(x3)としている。
前述したように、ある組織A(エンティティA)、具体的には、例えば、あるWebサイトの運営者はWebサイトの閲覧ユーザからの閲覧情報等に基づいて、多数のユーザ(標本(i))、例えば100人分(i=1〜100)の説明変数(x1〜x3)を取得することができる。
このデータは、組織A(エンティティA)がWebサイトの閲覧ユーザからの閲覧情報等に基づいて生成、取得したデータであり、マーケッティング上、価値のあるデータである。しかし、個人情報を含む情報であるため、公開することは好ましくない。すなわち、セキュアデータ(センシティブデータや機微データ等とも呼ばれる)であり、漏えいを防止すべきデータである。
一方、この100人のユーザ(標本)の結果変数(y)、すなわち、(y1)病気(例えば高脂血症)の発症の有無(発症あり=1、発症なし=0)については、別の組織B(エンティティB)、例えばある病院が保持している。
この病院の保持しているデータも、セキュアデータであり、漏えいを防止すべきデータである。
すなわち、図1に示す説明変数(x1〜x3)と、結果変数(y1)は、それぞれ別の組織が保有し、各データのいずれもが、漏えいを防止すべきセキュアデータである。
従って、組織A,Bを含め、第三者も説明変数(x1〜x3)と、結果変数(y1)を併せて確認することができないという設定である。
このような設定において、例えば、説明変数(x)の保持者が、説明変数(x)から結果変数(y)を予測するためにロジスティック回帰分析が用いられる。
具体的なロジスティック回帰分析処理例について説明する。
図1に示すように、説明変数(x)を、
(x1)ユーザの性別(男=1、女=0)
(x2)ユーザの年齢(0〜)、
(x3)ユーザのコレステロール値(例えば150〜250)、
これらの複数の説明変数(x1〜x3)とする。
また、結果変数(y)を、
(y1)病気(例えば高脂血症)の発症の有無(発症あり=1、発症なし=0)
この1つの結果変数(y1)とする。
前述したように、ある組織A(エンティティA)、具体的には、例えば、あるWebサイトの運営者はWebサイトの閲覧ユーザからの閲覧情報等に基づいて、多数のユーザ、例えば100人分の説明変数(x1〜x3)を取得することができる。
しかし、この100人のユーザの結果変数(y)、すなわち、(y1)病気(例えば高脂血症)の発症の有無(発症あり=1、発症なし=0)については、別の組織B(エンティティB)、例えばある病院が保持しているセキュアデータである。
従って、組織A(エンティティA)は、この100人のユーザの結果変数(y)を取得できない。
セキュアデータである説明変数(x)の保持者は、同じくセキュアデータである結果変数(y)の保持者から、結果変数(y)を受領することはできない。しかし、結果変数(y)に対する暗号処理や変換処理を施したデータ、すなわちセキュアデータの変換データ(秘匿化データ)を受領することができる。
説明変数(x)の保持者は、この結果変数(y)の変換データ(秘匿化データ)を受領して、様々な演算を実行することで、所定の説明変数(x)に対応付けられる結果変数(y)を推定することができる。
この推定処理の1つの代表的手法がロジスティック回帰分析である。
ロジスティック回帰分析は、医学や社会科学でよく使われる統計的回帰モデルの一種で、説明変数から結果変数を予測するためのデータ分析手法である。
ロジスティック回帰分析では、説明変数(x)の観測値、例えば、図1に示す(x1〜x3)が与えられている条件のもとで、ある事象が発生する確率p(x)を算出する式を設定し、設定した式中のパラメータを算出(推定)する。
確率p(x)は、図1に示す例では、結果変数(y)として示される病気の発症を示す結果変数(y1)が1となる確率に相当する。すなわち、病気を発症する確率を示す。確率p(x)は0〜1の値を取る。
説明変数(x)の観測値(x1〜xr)が与えられている条件のもとで、ある事象が発生する確率p(x)を算出する式は、以下の(式1)として与えられる。
Figure 0006673367
上記(式1)はロジスティック回帰モデルと呼ばれる。
上記(式1)において、
x_1,・・・,x_rは、説明変数である。
β_0,・・・,β_rは、ロジスティック回帰パラメータである。以下、単にパラメータと呼ぶ。
なお、以下の説明において、下線に続く文字(例えば_0)は、下付き文字を表すものとする。
β_0,・・・,β_rは、β〜βを示している。
ロジスティック回帰分析では、上記(式1)のパラメータβ_0,・・・,β_rを推定する処理を実行する。
パラメータβ_0,・・・,β_rを決定することで、上記(式1)に従って、説明変数(x)の観測値(x_1,・・・,x_r)が与えられているという条件の下で、ある事象が発生する確率p(x)を算出することが可能になる。
[2.ロジスティック回帰分析によるパラメータ推定処理について]
次に、ロジスティック回帰分析によるパラメータ推定処理について説明する。
図2は、本開示のロジスティック回帰分析処理を実行する1つの情報処理システム構成例を示す図である。
図2に示すように、2つの情報処理装置A110、120が存在する。
これらの情報処理装置A110と情報処理装置B120は、説明変数(x)と、結果変数(y)のいずれかのみを保持する装置である。
本実施例では、情報処理装置A110が結果変数(y)を保持する結果変数保持装置であり、情報処理装置B120が説明変数(x)を保持する説明変数保持装置である。
例えば、2つの情報処理装置A110、120は、図3のようなデータを保有する。これらのデータが個人データや機微データの場合、個人のプライバシー保護の観点で、これらのデータは公開されないことが望まれる。
また、企業にとっては、これらのデータは経済的価値がある資産であり、他社に渡したくないという事情がある。
その一方で、異なる企業間でデータを組み合わせて、単独で使う場合よりもより多くの知見を得たいというニーズはある。以下に説明する本開示の処理では、これら2つのエンティティ(情報処理装置A110、情報処理装置B120)が、互いにデータ自体を共有することなく、安全に、ロジスティック回帰のパラメータ、すなわち、先に説明した(式1)のパラメータ:β_0,・・・,β_rを推定する。
以下に説明する本開示の処理により、2つのエンティティ(情報処理装置A110、情報処理装置B120)は、互いにデータ共有を行うことなく、ロジスティック回帰のパラメータβ_0,・・・,β_rを推定することが可能となる。このパラメータ推定により、各エンティティ(情報処理装置A110、情報処理装置B120)は、説明変数(x)と結果変数(y)との関係を導く(推定)ことが可能となる。
図4に示すように、
(A)学習データとして、各エンティティ(情報処理装置A110、情報処理装置B120)が、説明変数(x)と結果変数(y)を個別に秘密データ(セキュアデータ)として保持している場合、
(B)ロジスティック回帰モデルを適用することで、
所定の説明変数(x)が与えられたとき、その説明変数(x)が与えられた要素i(例えばユーザi)についての結果変数(y)を推定可能となるという、有益な知見を取得することができる。
なお、ロジスティック回帰モデルは、先に説明した(式1)によって示され、説明変数(x)と、ロジスティック回帰のパラメータβ_0,・・・,β_rから事象発生確率p(x)を算出する式である。事象発生確率p(x)は、例えば、結果変数(y)の推定値(0〜1)に相当する。
具体的には、p(x)=1は、結果変数y=1、すなわち病気が発症することを示し、p(x)=0は、結果変数y=0、すなわち病気が発症しないことを示する。
(式1)に示すロジスティック回帰モデルを利用したパラメータ推定によってパラメータβ_0,・・・,β_rを推定し、推定したパラメータを(式1)に設定し、結果変数(y)を得られていないあるユーザi(標本i)の説明変数(x1〜x3)を代入することで、事象発生確率p(x)=0〜1の値を算出することができる。
算出値p(x)が1に近ければ、そのユーザi(標本i)は、病気発症の可能性が高いと判断することができる。
一方、算出値p(x)が0に近ければ、そのユーザi(標本i)は、病気発症の可能性が低いと判断することができる。
以下では、ロジスティック回帰パラメータβ_0,・・・,β_rを推定するための具体的な実施例を説明する。
具体的な説明の前に、まず、用語の定義と基本アルゴリズムの説明を行う。
(2−1.説明変数について)
(2−1−1)説明変数(x)が連続変数である場合のパラメータ推定アルゴリズム
連続変数とは、数や量で測れる変数で、例えば、図1に示す例では、年齢やコレステロールの値等である。
このように、説明変数xが連続変数である場合は、先に説明した(式1)に従った確率推定式の説明変数(x_1,・・・,x_r)として、連続変数である説明変数(x)の値をそのまま代入してよい。
すなわち、例えば年齢を示す説明変数(x)の年齢データ(54)や、コレステロール値を示す(213)等を(式1)の説明変数(x_1,・・・,x_r)にそのまま代入してよい。
(2−1−2)説明変数(x)がカテゴリ変数である場合のパラメータ推定アルゴリズム
カテゴリ変数とは、数や量で測れない変数で、例えば性別等のデータ(男=1、女=0等)である。カテゴリ変数がとり得る値が2つの場合、説明変数(x)の値は0、または1である。
この場合は、先に説明した(式1)に従った確率推定式の説明変数(x_1,・・・,x_r)として、説明変数(x)の値(0または1)をそのまま代入してよい。
カテゴリ変数がとり得る値が3つ以上の場合、例えば、居住地(東京、神奈川、埼玉・・・)等、3つ以上のカテゴリを持つ説明変数(x)を用いる場合には、
先に説明した(式1)に従った確率推定式の説明変数(x_1,・・・,x_r)として、説明変数(x)の値をそのまま代入することができない。
j番目の説明変数(x_j)の3つ以上のカテゴリ数をKとし、カテゴリ識別子k=1,2,・・・Kとする。
このとき、j番目の説明変数(x_j)について、カテゴリ数Kに対応するK個の説明変数(x_jk)を設定し、このK個の説明変数(x_jk)の値を以下のように設定する。
x_jk=1:j番目の説明変数の第kカテゴリに属する
x_jk=0:j番目の説明変数の第kカテゴリに属しない
kは、1〜Kであり、説明変数(x_jk)はカテゴリ数Kに等しい個数、設定される。
さらに、パラメータβについても、j番目の説明変数(x_j)について、上記のカテゴリ数Kに応じた個数のパラメータを設定する。すなわち、
パラメータβ_jk(k=1,・・・,K_j)を、説明変数(x_jk)対応のパラメータとする。
これらの処理により、先に説明した(式1)、すなわち、説明変数(x)の観測値(x1〜xr)が与えられている条件のもとで、ある事象が発生する確率p(x)を算出する式は、以下の(式2)に変更される。
Figure 0006673367
上記(式2)において、
x_1k,・・・,x_rkは、事象j(j=1〜r)のカテゴリk(k=1〜K_j)の説明変数である。
この説明変数(x_jk)は、本来の説明変数(x_j)から生成されるカテゴリ対応の仮の説明変数であり、ダミー変数とも呼ばれる。
また、β_0、β_1k,・・・,β_rkは、ロジスティック回帰パラメータである。
なお、β_1k,・・・,β_rkは、事象j(j=1〜r)のカテゴリk(k=1〜K_j)の説明変数に対応するロジスティック回帰パラメータである。
なお、上記(式2)を用いる場合、各カテゴリ対応のパラメータ(β_jk)の推定値は絶対値としての意味はなく相対的な差が意味を持つため、一般的には、例えば第1カテゴリのパラメータを0とおく。そのため、カテゴリ数Kに対し、自由度はK−1となる。
(2−1−3)説明変数(x)に、連続変数と、カテゴリ変数が混在する場合のパラメータ推定アルゴリズム
次に、説明変数(x)に、連続変数と、カテゴリ変数が混在する場合のパラメータ推定アルゴリズムについて説明する。
連続変数対応の説明変数(x_j)と、カテゴリ変数対応の説明変数(x_jk)に対応して設定されるパラメータは、以下のパラメータである。
(a)連続変数対応の説明変数(x_j)対応のパラメータ(β_j)、
(b)カテゴリ変数対応の説明変数(x_jk)対応のパラメータ(β_jk)、
これら各パラメータの自由度(独立に推定すべきパラメータ数)は、
(a)連続変数対応の説明変数(x_j)対応のパラメータ(β_j)については、1、
(b)カテゴリ変数対応の説明変数(x_jk)対応のパラメータ(β_jk)については、各jについて、K−1(カテゴリ数=K)、
上記の自由度となる。
従って、連続変数対応の説明変数(x_j)がs個と、カテゴリ変数対応の説明変数(x_jk)がt個、混在している場合は、
連続変数対応のs個の説明変数(x_j)に関する独立なパラメータ数は、s個、
カテゴリ数(K_j)個のカテゴリ変数対応のt個の説明変数(x_jk)に関する独立なパラメータ数は、
(K_1−1)+(K_2−1)+・・・+(K_t−1)個となる。
(2−1−4)標本とプロファイルについて
次に、パラメータ推定のために用いるデータである標本と、標本から生成される中間的なデータ構造であるプロファイルについて説明する。
標本とは、例えば図1の標本(i)であり、例えば個々のユーザである。
標本(i)の各々には、j個の説明変数(x_j)と、1つ以上の結果変数(y)の値が設定されている。
(i)標本について
標本の大きさ(数)をnとして、第i番目の標本(i=1,・・・,n)に対応する結果変数(y_i)の値を以下のように定義する。
y_i=1;ある事象が発生
y_i=0;ある事象が発生せず
同様に、第i番目の標本(i=1,・・・,n)に対応する説明変数(x_j)として、r個の説明変数(x_1,x_2,・・・,x_r)、
これらが得られているものとする。
例えば、図5の左に示す(1)標本単位データのようなデータである。
結果変数(y)の値が1、すなわち、y_i=1となる標本数に相当する事象の発生数は、以下の(式3)によって示される。
Figure 0006673367
(ii)プロファイルについて
説明変数(x_1,x_2,・・・,x_r)、ただしi=1〜n、この説明変数の構成値からなるベクトルを説明変数ベクトルxとする。
n個の説明変数ベクトルxの中から、相異なるパターンを抽出し、それらに番号をつけたものx_j(j=1,・・・,J)をプロファイルと呼ぶ。
このプロファイル抽出により、図5の右に示す(2)プロファイル単位データが生成される。
プロファイルx_jの標本数をn_j、事象の発生数をd_jとすると、以下の(式4)が成立する。
Figure 0006673367
上記(式4)において、
Jは標本の中で出現する説明変数のパターン数である。
また、x_j=(x_j1,・・・,x_jr)とする。
(2)プロファイル単位データ中の(d)は、結果変数(y)がy=1となる標本数に相当するデータである。
[3.最尤法によるロジスティック回帰パラメータの推定処理について]
先に説明したように、前述の(式1)、すなわちロジスティック回帰モデルに従った(式1)を用いて、ロジスティック回帰パラメータ(β_0,・・・,β_r)を推定することで、ある説明変数(x)の値が与えられたとき、その説明変数に対応する、より確からしい結果変数(y)を推定することができる。
前述の(式1:ロジスティック回帰モデル)は、説明変数(x)の観測値(x1〜xr)と、ロジスティック回帰パラメータ(β_0,・・・,β_r)との演算によって、ある事象の発生確率p(x)を算出する式である。
まず、標本やプロファイルが与えられている場合に、パラメータβ=β_0,・・・,β_rを、最尤法を用いて推定する方法を説明する。
例えば、図1や、図4(A)に示すデータを全て把握している場合のパラメータ推定処理である。
すなわち、例えば1つの組織(エンティティ)が、結果変数値と説明変数値からなるデータを両方とも保持し、1つの組織(エンティティ)が利用可能な情報処理装置の記憶部に複数標本の結果変数値と説明変数値からなるデータを格納している場合に、これらのデータを用いてパラメータβ=β_0,・・・,β_rを、最尤法を用いて推定する方法について説明する。
プロファイルx_jが観測されたグループでの尤度を、以下の(式5)とする。
Figure 0006673367
プロファイルx_jが観測されたグループでの尤度を、上記の(式5)とすると、全体の尤度は、以下の(式6)で示される。
Figure 0006673367
最尤法では、標本が与えられた時、パラメータβの一番、尤もらしい値を探す。つまり、パラメータβの全ての可能な値の中から、観測されたデータセットの尤度を最大にするパラメータβを探すことになる。
具体的には、尤度関数like(β)を最大にする最尤推定値β_MLを求めることで、尤度を最大にするパラメータβを推定する。その計算には、以下の(式7)を用いる。
Figure 0006673367
上記(式7)について、パラメータβで偏微分して0とおいた連立方程式を解けばよい。
つまり、下記(式8)の連立方程式を解く。
Figure 0006673367
上記(式8)に示す連立方程式はパラメータβについて非線形となるので、Taylor展開の線形近似により、Newton−Raphson法(繰返し収束法)を用いて、βを求める。
Newton−Raphson法(繰返し収束法)を用いて、パラメータβを算出する。一般にパラメータβの最尤推定値の解は、以下の繰り返し計算によって算出できる。
Figure 0006673367
上記(式9)を、以下の(式10)を満足するまで繰り返す。
なお、上記(式9)におけるkは繰り返し数である。
k=0としたパラメータ初期値:β(k)には、適当な任意値を設定して繰り返し計算を開始する。
Figure 0006673367
上記(式9)を、上記(式10)を満足するまで繰り返し計算することで、パラメータβを求めることができる。
各変数の意味を、以下の(式11)に示す。
Figure 0006673367
上述した手法は、説明変数(x)、結果変数(y)の双方とも知り得る状況におけるパラメータ推定方法である。
しかし、前述したように、実際には、説明変数(x)、結果変数(y)はいずれも個人データ等のセキュアデータである場合が多く、説明変数(x)、結果変数(y)の双方とも知り得る状況にはならないケースが多い。
以下、このような場合のパラメータ推定方法について説明する。
[4.セキュア計算を用いたロジスティック回帰パラメータの推定方法について]
次に、図3に示すように、説明変数(x)と結果変数(y)の各データが、異なる組織等によって分割して保有され、これらのデータを相互に開示できない設定である場合に、セキュア計算を用いてパラメータβ=β_0,・・・,β_rを、最尤法を用いて推定する方法について説明する。
先に、図3を参照して説明したように、説明変数(x)と結果変数(y)の各データが個人データや機微データの場合、個人のプライバシー保護の観点で、これらのデータは公開されないことが望まれるデータである。すなわちセキュアデータである。
また、企業にとっては、これらのデータは経済的価値がある資産であり、他社に渡したくないという事情がある。
その一方で、異なる企業間でデータを組み合わせて、単独で使う場合よりもより多くの知見を得たいというニーズはある。
以下では、図3に示す2つのエンティティ(情報処理装置A110、情報処理装置B120)が、互いに説明変数(x)や結果変数(y)からなるセキュアデータを共有することなく、安全に、ロジスティック回帰のパラメータ、すなわち、先に説明した(式1)のパラメータ:β_0,・・・,β_rを推定する処理について説明する。
以下に説明する処理は、2つのエンティティ(情報処理装置A110、情報処理装置B120)が、互いにセキュアデータの共有を行うことなく、ロジスティック回帰のパラメータβ_0,・・・,β_rを推定する処理である。
このパラメータ推定により、各エンティティ(情報処理装置A110、情報処理装置B120)は、説明変数(x)と結果変数(y)との関係を導く(推定)ことが可能となる。
説明変数(x)と結果変数(y)のいずれか一方のみを保持する異なる2つの装置は、自己の保持する説明変数(x)、または結果変数(y)を暗号化する等のデータ変換を行い、相手方装置に提供する。
これらの変換データを適用して、ロジスティック回帰モデル、すなわち前述した(式1)に設定されたロジスティック回帰パラメータβ_0,・・・,β_rを推定する。
このように各エンティティ(情報処理装置A110、情報処理装置B120)は、説明変数(x)や結果変数(y)等のセキュアデータの共有処理を行なうことなく、セキュアデータの変換データを用いた演算処理を実行して、セキュアデータの演算結果、例えばセキュアデータの加算結果、乗算結果、内積等、様々なセキュアデータの演算結果を取得する。
なお、セキュアデータの変換データを用いた計算処理をセキュア計算と呼ぶ。
セキュア計算においては、セキュアデータ自体は利用されず、セキュアデータの変換データが利用される。変換データには、例えばセキュアデータの暗号化データや、分割データ等、様々なタイプの変換データがある。
セキュア計算の一例として、例えば非特許文献1(O.Goldreich,S.Micali and A.Wigderson.How to play any mental game.STOC'87,pp.218−229,1987.)に記載のGMW方式がある。
GMW方式に従ったセキュア計算処理の概要について、図6、図7を参照して説明する。
図6は、セキュアデータの加算値を、GMW方式に従ったセキュア計算によって算出する処理例を示す図である。
装置A,210は、セキュアデータX(例えば説明変数(x))を保持している。
また、装置B,220は、セキュアデータY(例えば結果変数(y))を保持している。
これらのセキュアデータX,Yは、公開することが好ましくない個人データ等のセキュアデータである。
装置A,210は、セキュアデータXを、以下のように、2つのデータに分割する。なお、Xを、予め規定した数値mの剰余データ:mod mとして設定する。
X=((x_1)+(x_2))mod_m
上記式において、(x_1)は、0〜(m−1)から一様にランダムに選択し、
(x_2)は、
(x_2)=(X−(x_1))mod m
上記式を満たすように定める。
このように、2つの分割データ(x_1),(x_2)を生成する。
なお、ここで分割対象となるデータは、例えば、図1に示すセキュアデータである、ある標本(ユーザ)の性別の値(1)であり、m=100としたとき、値(1)を(30)と(71)に分割する、あるいは(45)と(56)等、様々な異なる態様の分割データを設定することができる。
性別の値(0)の場合は、分割値は(40)と(60)に分割する等の処理が可能である。
年齢(54)は(10)と(44)に分割する等の処理が可能であり、その他の様々な分割処理が可能である。
重要なことは、単独の変換データ(ここでは1つの分割データ)から元のセキュアデータ(説明変数)が特定できないことが重要である。
例えば、分割データはセットで公開されず、例えば、一方の分割データのみが公開、すなわち、他の装置に提供される。
一方、装置B,220も、セキュアデータYを、以下のように、2つのデータに分割する。
Y=((y_1)+(y_2))mod_m
上記式において、(y_1)は、0〜(m−1)から一様にランダムに選択し、
(y_2)は、
(y_2)=(Y−(y_1))mod m
上記式を満たすように定める。
このように、2つの分割データ(y_1),(y_2)を生成する。
図6に示すように、装置A,210と、装置B,220は、ステップS20において、上記の分割データの一部を相互に提供する。
装置A,210は、装置B,220に分割データ(x_1)を提供する。
一方、装置B,220は、装置A,210に、分割データ(y_2)を提供する。
X,Yの各々はセキュアデータであり、外部に流出させることはできない。
しかし、Xの分割データである(x_1)、(x_2)の一方のデータのみを取得しても、セキュアデータXを特定することはできない。
同様に、Yの分割データである(y_1)、(y_2)の一方のデータのみを取得しても、セキュアデータYを特定することはできない。
従って、セキュアデータの分割データの一部のみのデータは、セキュアデータを特定できないデータであり、外部に出力することが許容される。
このように、装置A,210は、分割データ(x_1)を、装置B,220の計算処理実行部に出力する。
一方、装置B,220は、分割データ(y_2)を、装置A,210の計算処理実行部に出力する。
(ステップS21a)
装置A,210の計算処理実行部は、ステップS21aにおいて、分割データを利用して、以下の分割データ同士の加算処理を実行する。
((x_2)+(y_2))mod m
装置A,210は、この加算結果を装置B,220の計算処理実行部に出力する。
(ステップS21b)
一方、装置B,220の計算処理実行部は、ステップS21bにおいて、分割データを利用して、以下の分割データ同士の加算処理を実行する。
((x_1)+(y_1))mod m
装置B,220は、この加算結果を装置A,210の計算処理実行部に出力する。
(ステップS22a)
次に、装置A,210の計算処理実行部は、ステップS22aにおいて、以下の処理を実行する。
(1)ステップS21aにおいて算出した分割データの加算結果、(x_2)+(y_2)、
(2)装置B,220から入力した分割データの加算結果、(x_1)+(y_1)、
これらの2つの加算結果を、さらに加算する。すなわち、以下の計算を実行する。
((x_1)+(y_1)+(x_2)+(y_2))mod m
この分割データの総加算値は、元のセキュアデータXとYの加算値に等しい。
すなわち、
((x_1)+(y_1)+(x_2)+(y_2))mod m
=X+Y
となる。
(ステップS22b)
一方、装置B,220の計算処理実行部は、ステップS22bにおいて、以下の処理を実行する。
(1)ステップS21bにおいて算出した分割データの加算結果、(x_1)+(y_1)、
(2)装置A,210から入力した、分割データの加算結果、(x_2)+(y_2)、
これらの2つの加算結果を、さらに加算する。すなわち、以下の計算を実行する。
((x_1)+(y_1)+(x_2)+(y_2))mod m
この分割データの総加算値は、元のセキュアデータXとYの加算値に等しい。
すなわち、
((x_1)+(y_1)+(x_2)+(y_2))mod m
=X+Y
となる。
このように、装置A,装置Bは、いずれの装置も、それぞれのセキュアデータX,Yを外部に出力することなく、セキュアデータX,Yの加算値、すなわち、X+Yを算出することができる。
この図6に示す処理が、GMW方式に従ったセキュア計算を適用したセキュアデータの加算値算出処理例である。
なお、図6を参照して説明した上記の処理は、セキュアデータX,Yの加算値算出処理の概要を簡略化して説明したものであり、実際のセキュアデータの加算処理や乗算処理を行なう場合、一般的には、1回のセキュア計算によって得られた計算結果を次のセキュア計算の入力値として適用する等、セキュア計算を繰り返し実行することが必要である。
図7は、セキュアデータの乗算値を、GMW方式に従ったセキュア計算によって算出する処理例を示す図である。
装置A,210は、セキュアデータXを保持している。
また、装置B,220は、セキュアデータYを保持している。
これらのセキュアデータX,Yは、公開することが好ましくないセキュアデータである。
装置A,210は、セキュアデータXを2つのデータに分割する。
X=((x_1)+(x_2))mod m
このように、セキュアデータXをランダムに分割して2つの分割データ(x_1),(x_2)を生成する。
一方、装置B,220も、セキュアデータYを2つのデータに分割する。
Y=((y_1)+(y_2))mod m
このように、セキュアデータYをランダムに分割して2つの分割データ(y_1),(y_2)を生成する。
図7に示すステップS30において、装置A,210は、装置B,220の計算処理実行部に、分割データ(x_1)を提供する。
一方、装置B,220は、装置A,210の計算処理実行部に、分割データ(y_2)を提供する。
X,Yはセキュアデータであり、外部に流出させることはできない。
しかし、Xの分割データである(x_1)、(x_2)の一方のデータのみを取得しても、セキュアデータXを特定することはできない。
同様に、Yの分割データである(y_1)、(y_2)の一方のデータのみを取得しても、セキュアデータYを特定することはできない。
従って、セキュアデータの分割データの一部のみのデータは、セキュアデータを特定できないデータであり、外部に出力することが許容される。
このように、装置A,210は、分割データ(x_1)を、装置B,220の計算処理実行部に出力する。
一方、装置B,220は、分割データ(y_2)を、装置A,210の計算処理実行部に出力する。
装置A,210の計算処理実行部の処理について説明する。
装置A,210は、Xの分割データである(x_1)、(x_2)と、装置B,220から受信したYの分割データ(y_1)を保持している。
処理は、以下の手順で実行される。
(ステップS31a)
入力値を、x_2、
出力値M(x_2)を、M_(x_2)=(x_2)×(y_1)+r、
上記の入出力値設定とした[1−out−of−m OT]を、装置B,220と実行する。
なお、[1−out−of−m OT (Oblivious Transfer)]は、以下の処理を実行する演算プロトコルである。
送信者と選択者という2つのエンティティが存在する。
送信者はm個の要素からなる入力値(M_0,M_1,・・・,M_(m−1))を持つ。
選択者はσ∈{0,1,...,m−1}という入力値を持つ。
選択者は、m個の要素を持つ送信者に1つの要素の送信を要求し、選択者は、1つの要素M_σの値のみを得ることができる。その他の(m−1)個の要素:M_i(i≠σ)は入手できない。
一方、送信者は選択者の入力値σを知ることができない.
このように、[1−out−of−m OT]プロトコルは、m個の要素から1要素のみを送受信して演算処理を進めるプロトコルであり、m個の要素のどの要素が送受信されたかについては、要素受信側は特定できない設定としたプロトコルである。
(ステップS32a)
入力値を、y_2、
出力値M_(y_2)'を、M_(y_2)'=(x_1)×(y_2)+r'、
上記の入出力値設定とした[1−out−of−m OT]を、装置B,220と実行する。
(ステップS33a)
装置A,210の出力値として、出力値:M_(x_2)+M_(y_2)を以下の式に従って計算する。
M_(x_2)+M_(y_2)
=((x_2)×(y_2)+(x_2)×(y_1)+r+(x_1)×(y_2)+r')mod m
一方の、装置B,220の計算処理実行部の処理について説明する。
装置B,220は、Yの分割データである(y_1)、(y_2)と、装置A,210から受信したXの分割データ(x_1)を保持している。
処理は、以下の手順で実行される。
(ステップS31b)
乱数r∈{0,...,m−1}を選び、セキュアデータYの分割値y_1に基づいて、[1−out−of−m OT]で用いる入力値列、
i×(y_1)+r
ただし、i=0,1,・・・,(m−1)
上記の入力値列を生成する。
具体的には、以下の入力値列:M_0〜M_(m−1)を生成する。
M_0=0×(y_1)+r,
M_1=1×(y_1)+r,
...,
M_(m−1)=(m−1)×(y_1)+r、
これらの入力値列を生成する。
さらに、前述したステップS31aの設定に従った[1−out−of−m OT]を、装置A,210と実行する。
(ステップS32b)
乱数r'∈{0,...,m−1}を選び、分割値y_1に基づいて、[1−out−of−m OT]で用いる入力値列、
i×(x_1)+r'
ただし、i=0,1,・・・,(m−1)
上記の入力値列を生成する。
具体的には、以下の入力値列:M'_0〜M'_(m−1)を生成する。
M'_0=0×(x_1)+r',
M'_1=1×(x_1)+r'
...,
M'_(m−1)=(m−1)×(x_1)+r'
これらの入力値列を生成する。
さらに、前述したステップS32aの設定に従った[1−out−of−m OT]を、装置A,210と実行する。
(ステップS33b)
装置B,220の出力値として、以下の出力値を計算する。
((x_1)×(y_1)−r−r')mod m
上記の値を、装置B,220の出力値として計算する.
ステップS33aにおいて装置A,210が算出した出力値と、ステップS33bにおいて装置B,220が算出した出力値を用いた以下の計算処理によって、セキュアデータX,Yの乗算値X×Yが算出できる。
(((x_2)×(y_2)+(x_2)×(y_1)+r+(x_1)×(y_2)+r')+((x_1)×(y_1)−r−r')
=((x_1)+(x_2))×((y_1)+(y_2))
=X×Y
装置A,210と、装置B,220間で、ステップS33a、ステップS33bの算出結果を相互に提供することで、上記のセキュアデータX,Yの乗算値X×Yが算出できる。
このように、装置A,装置Bは、いずれの装置も、それぞれのセキュアデータX,Yを外部に出力することなく、セキュアデータX,Yの乗算値、すなわち、XYを算出することができる。
この図7に示す処理が、GMW方式に従ったセキュア計算を適用したセキュアデータの乗算値算出処理例である。
なお、図7を参照して説明した上記の処理は、セキュアデータX,Yの乗算値算出処理の概要を簡略化して説明したものであり、実際のセキュアデータの加算処理や乗算処理を行なう場合、一般的には、1回のセキュア計算によって得られた計算結果を次のセキュア計算の入力値として適用する等、セキュア計算を繰り返し実行することが必要である。
また、図6、図7に示すセキュア計算処理例は、セキュア計算の一例であり、セキュア計算態様には、その他、様々な異なる計算処理が可能である。
先に説明した図3に示すように、説明変数(x)と結果変数(y)の各データが、異なる組織(エンティティ)等によって分割して保有され、これらのデータを相互に開示できない設定である場合、セキュア計算を用いてパラメータβ=β_0,・・・,β_rを、最尤法を用いて推定する場合のセキュア計算例について、図8を参照して説明する。
図8に示す(式a)は、先に説明した(式9)である。
すなわち、Newton−Raphson法(繰返し収束法)を用いて、パラメータβを最尤法に従って推定するための式である。
Newton−Raphson法(繰返し収束法)を用いて、パラメータβを算出する。一般にパラメータβの最尤推定値の解は、以下の(式a)の繰り返し計算によって算出できる。
Figure 0006673367
上記(式a)を、以下の(式a2)を満足するまで繰り返す。
Figure 0006673367
上記(式a)を、上記(式a2)を満足するまで繰り返し計算することで、パラメータβを求めることができる。
上記(式a)は、図8に示すように展開することができる。
図8に示すように、上記(式a)には、図8に示す(式b)、(式c)、すなわち、以下の各式が含まれる。
Figure 0006673367
さらに、上記(式b)には、以下の(式b2)に示すマトリックス(行列)X,Vが含まれる。
Figure 0006673367
図8に示すように、(式b2)に示すマトリックスX,Vは、セキュアデータである説明変数(x)を行列要素、または行列要素の構成データとして含むするマトリックス(行列)である。
また、上記(式c)は、図8に示すように、以下に示す(式d)、(式e)を含む。
Figure 0006673367
上記(式d)、(式e)は、先に説明した(式8)の連立方程式である。すなわち、尤度関数like(β)を最大にする最尤推定値β_MLを求めるための(式7)、
L(β)=log{like(β)}=・・・
をβで偏微分して0とおいた連立方程式である。
この連立方程式には、図8に示すように、セキュアデータである結果変数(y)に基づくデータ(d)や、説明変数(x)が含まれる。
なお、図8の(式d)、(式e)に含まれる(d_j)は、先に図5を参照して説明した図5の右に示す(2)プロファイル単位データ中の(d)であり、結果変数(y)がy=1となる標本数に相当するデータである。
前述したように、ロジスティック回帰パラメータの推定処理では、図8に示す(式a)を、上記(式a2)を満足するまで繰り返し計算することで、パラメータβを求める。
しかし、図8に示すように、(式a)にはセキュアデータとしての説明変数(x)、結果変数(y)が多数、用いられている。
これらのセキュアデータ、すなわち、説明変数(x)と、結果変数(y)は、それぞれ2つの異なる情報処理装置が個別に保持しており、共有や公開ができないデータである。
従って、この図8に示す(式a)を、上記(式a2)を満足するまで繰り返し計算する処理は、説明変数(x)と、結果変数(y)をそのまま用いず、これらの変数の変換データを生成して、変換データを用いた演算、すなわちセキュア計算として実行することが必要となる。
セキュア計算は、例えば図6、図7を参照して説明したように、セキュアデータの変換データ(例えば分割データ)を生成して、この変換データを装置間で入出力する等、各セキュアデータを変換したデータを装置間で入出力し変換データを適用した計算を行うものである。
例えば図8に示すマトリックスXやマトリックスVには、多数の説明変数が含まれている。これらは1つ1つが全てセキュアデータである。
従って、セキュア計算を行うためには、図8に示すマトリックスXやマトリックスVに含まれる説明変数1つ1つについて、それぞれ分割データ等の変換データを生成して、装置間で入出力し、この変換データを用いた計算を行うことが必要となる。
図8に示す(式d)、(式e)についても同様であり、これらの式の構成要素として含まれる説明変数(x)、結果変数(y)について、個別に1つ1つ、分割データ等の変換データを生成して装置間で入出力して変換データを適用した計算を行うことが必要となる。
このようなデータ変換処理やデータ入出力処理、さらに変換データを用いた計算処理の量は、セキュア計算に適用するセキュアデータ数の増加に応じて増大することになる。
従って、セキュアデータの数が多い場合、図8に示す(式a)の繰り返し計算処理は、多大な計算時間や計算資源を要することになる。すなわち計算コストが増大してしまうという問題がある。
[5.セキュア計算を削減したロジスティック回帰パラメータの推定方法について]
上述したように、説明変数(x)と結果変数(y)の各データが、異なる組織等によって分割して保有され、これらのデータを相互に開示できない設定である場合に、セキュア計算を用いてパラメータβ=β_0,・・・,β_rを推定しようとすると、多大な計算時間や計算資源を要し、計算コストが増大してしまうという問題がある。
以下、この問題を解決した構成、すなわち、説明変数(x)と結果変数(y)の各データを相互に開示することなく、かつセキュア計算の計算量を削減してロジスティック回帰パラメータβ=β_0,・・・,β_rを推定可能とした処理について説明する。
先に、図3を参照して説明したように、説明変数(x)と結果変数(y)の各データが個人データや機微データの場合、個人のプライバシー保護の観点で、これらのデータは公開されないことが望まれる。
また、企業にとっては、これらのデータは経済的価値がある資産であり、他社に渡したくないという事情がある。
その一方で、異なる企業間でデータを組み合わせて、単独で使う場合よりもより多くの知見を得たいというニーズはある。以下に説明する本開示の処理では、図3に示す2つのエンティティ(情報処理装置A110、情報処理装置B120)が、互いにデータ自体を共有することなく、安全に、かつセキュア計算の計算量を少なくしてロジスティック回帰パラメータβ_0,・・・,β_rを推定する。
なお、推定したパラメータを、例えばロジスティック回帰モデル(前述の式1)に設定することで、様々な説明変数(x)の値から確率p(x)、すなわち結果変数(y)の推定値を算出することが可能となる。
すなわち、各エンティティ(情報処理装置A110、情報処理装置B120)は、説明変数(x)と結果変数(y)との関係を推定することが可能となる。
説明変数(x)と結果変数(y)のいずれか一方のみを保持する異なる2つの装置は、自己の保持する説明変数(x)、または結果変数(y)を暗号化する等のデータ変換を行い、相手方装置に提供する。
これらの変換データを適用して、ロジスティック回帰モデル、すなわち前述した(式1)に設定されたロジスティック回帰パラメータβ_0,・・・,β_rを推定する。
図9は、結果変数保持装置である情報処理装置A110と、説明変数保持装置である情報処理装置B120の構成の一部を示している。
図9には、パラメータ推定処理を実行するデータ処理部であるパラメータ算出実行部111,121を示している。
パラメータ算出実行部111,121は、説明変数(x)や結果変数(y)を外部に漏らすことなく、パラメータ推定を実行する。
結果変数保持装置である情報処理装置A110のパラメータ算出実行部111は、入力部131、内積計算部132、繰り返し計算用入力値生成部133、データ送受信部134を有する。
一方、説明変数保持装置である情報処理装置B120のパラメータ算出実行部121は、入力部141、内積計算部142、データ送受信部143、繰り返し計算部144、出力部145を有する。
図10に示すフローチャートは、図9に示す装置を利用したロジスティック回帰パラメータβ=β_0,・・・,β_rの推定処理のシーケンスを説明するフローチャートである。
すなわち、ロジスティック回帰モデル(式1)のロジスティック回帰パラメータβ=β_0,・・・,β_rを、最尤法を用いて推定する処理シーケンスを説明するフローチャートである。
以下、図9に示すブロック図と、図10に示すフローチャートを参照して、最尤法を用いたロジスティック回帰パラメータβ=β_0,・・・,β_rの算出処理の具体的シーケンスについて説明する。
(a.設定)
まず、ロジスティック回帰モデル(式1)のロジスティック回帰パラメータβ=β_0,・・・,β_rの算出処理の対象となるデータを構成する要素(i)、および各要素に対応して設定される説明変数(x)と、結果変数(y)を以下の設定とする。
標本数=n、第i番目の標本(i=1,・・・,n)に関して、
結果変数:y_i∈{0,1}
説明変数:r個の変数(x_1,x_2,・・・,x_r)
これらの説明変数と、結果変数が対応付けられているものとする。
情報処理装置A110は、結果変数値からなるデータy_i(i=1,・・・,n)を保持する。
情報処理装置B120は、説明変数値からなるデータ(x_1,x_2,・・・,x_r)(i=1,・・・,n)を保持する。
これらのデータはいずれも公開が許容されないセキュアデータである。
これら各装置が個別に保持する結果変数と説明変数を相互に開示することなく、ロジスティック回帰パラメータβ=β_0,・・・,β_rを推定する。
(b.手順)
次に、ロジスティック回帰パラメータβ=β_0,・・・,β_r推定処理の手順を説明する。
図10に示すフローチャートに示す各ステップの処理について、順次、説明する。
(ステップS101)
ステップS101の処理は、入力部からのデータ入力処理である。
図9に示す結果変数(y)保持装置である情報処理装置A110のパラメータ算出実行部111の入力部131は、ステップS101aにおいて、情報処理装置A110の記憶部に保持された結果変数y_i(ただし、i=1,・・・,n)を記憶部から取得してパラメータ算出実行部111に入力する。
一方、説明変数(x)保持装置である情報処理装置B120のパラメータ算出実行部121の入力部141は、ステップS101bにおいて、情報処理装置B120の記憶部に保持された説明変数(x_1,x_2,・・・,x_r)(ただし、i=1,・・・,n)を記憶部から取得してパラメータ算出実行部121に入力する。
(ステップS102)
ステップS102の処理は、情報処理装置A110、情報処理装置B120のパラメータ算出実行部111,121内の内積計算部132,142の実行する処理である。
内積計算部132,142は、以下の(式12)に従って、説明変数(x)と結果変数(y)の内積(t_s)を算出する。
Figure 0006673367
ただし、説明変数(x)と結果変数(y)はいずれも公開が制限されるセキュアデータであり、上記(式12)に従った内積(t_s)の算出処理は、これらセキュアデータである説明変数(x)と結果変数(y)を直接、適用しない演算、すなわち、図6や図7を参照して説明したと同様、説明変数(x)や結果変数(y)の変換データを適用したセキュア計算によって行う。
上記(式12)に従った内積(t_s)の算出処理は、
情報処理装置A110の入力値である結果変数値からなるデータy_i(i=1,・・・,n)と、
情報処理装置B120の入力値である説明変数値からなるデータ(x_1,x_2,・・・,x_r)(i=1,・・・,n)、
これらのデータを直接、利用することのないセキュア計算によって実行する。
先に図6、図7を参照して説明したように、セキュア計算とは、公開が許容されないセキュアデータを直接利用することなく、セキュアデータに基づいて生成される変換データを用いた演算により、セキュアデータの演算結果、例えばセキュアデータの加算結果、乗算結果、上述の内積等、様々なセキュアデータの演算結果を取得可能とした計算処理である。
なお、上記の(式12)に示す説明変数(x)と結果変数(y)との内積(t_s)は、先に図5を参照して説明した図5の右に示す(2)プロファイル単位データ中の(d)、すなわち、結果変数(y)がy=1となる標本数に相当するデータ(d)を使用した以下の(式13)として表現することができる。
Figure 0006673367
上記(式13)に示すdを適用した演算、すなわち、結果変数(y)がy=1となる標本数に相当するデータdを適用した演算式は、先に図8を参照して説明した、Newton−Raphson法(繰返し収束法)を用いて、パラメータβを最尤法に従って推定するための計算式中の(式e)の一部を構成する演算式である。
図11は、先に説明した図8と同じNewton−Raphson法(繰返し収束法)を用いて、パラメータβを最尤法に従って推定するための計算処理構成を示している。
図11に示すように、上記の(式13)の説明変数(x)と結果変数(y)との内積(t_s)算出式として示すデータdを適用した演算式は図11中の(式e)の演算式301に相当する。
ステップS102で実行する内積(t_s)の算出処理、すなわち、説明変数(x)と結果変数(y)との内積(t_s)算出処理は、この図11中の(式e)の演算式301をセキュア計算として実行する処理に相当する。
なお、前述したように、セキュア計算においては、セキュアデータ自体は利用されず、セキュアデータの変換データが利用される。
変換データには、例えばセキュアデータの暗号化データや、図6、図7を参照して説明した分割データ等、様々な変換データがある。
先に説明した図6、図7は、セキュアデータの分割データを利用したセキュア計算の一手法であるGMW方式に従ったセキュア計算の処理例である。
図6は、セキュアデータの加算値を、GMW方式に従ったセキュア計算によって算出する処理例を示す図である。
また、図7は、セキュアデータの乗算値を、GMW方式に従ったセキュア計算によって算出する処理例を示す図である。
図6、図7を参照して説明したように、各々が開示の許容されない異なるセキュアデータを保持する、装置A,装置Bは、それぞれのセキュアデータX,Yを外部に出力することなく、セキュアデータX,Yの加算値や乗算値等、セキュアデータ相互の演算結果をセキュア計算により算出することができる。
図10のフローに示すステップS102の処理は、情報処理装置A110、情報処理装置B120のパラメータ算出実行部111,121内の内積計算部132,142によって実行する説明変数(x)と結果変数(y)の内積(t_s)をセキュア計算によって算出する処理である。具体的には、(式12)や、(式13)に示す演算式、すなわち、図11(式e)中の演算式301をセキュア計算によって算出する処理となる。
説明変数(x)と結果変数(y)の内積(t_s)は、先に図6を参照して説明したセキュアデータX,Yの加算値算出処理と、図7を参照して説明したセキュアデータX,Yの乗算値算出処理を組み合わせることで算出可能となる。
すなわち、ステップS102において、情報処理装置A,110、情報処理装置B,120の各々は、それぞれの装置が保持するセキュアデータである説明変数(x)や結果変数(y)の値を他装置に開示することなく、変換データのみを他装置に出力して、説明変数(x)と結果変数(y)の内積(t_s)をセキュア計算によって算出する。
(ステップS103)
次に、図10に示すフローのステップS103において、結果変数(y)保持装置である情報処理装置A110のパラメータ算出実行部111の繰り返し計算用入力値生成部133は、結果変数(y)の総和(t_0)を以下の(式14)に従って算出して、算出値を、データ送受信部134を介して情報処理装置B120のパラメータ算出実行部121に出力する。
Figure 0006673367
説明変数(x)保持装置である情報処理装置B120のパラメータ算出実行部121のデータ送受信部143は、情報処理装置Aの送信した結果変数(y)の総和(t_0)を受信する。
なお、上記の(式14)に示す結果変数(y)の総和(t_0)は、先に図5を参照して説明した図5の右に示す(2)プロファイル単位データ中の(d)、すなわち、結果変数(y)がy=1となる標本数に相当するデータ(d)を使用した以下の(式15)として表現することができる。
Figure 0006673367
上記(式15)に示すdを適用した演算、すなわち、結果変数(y)がy=1となる標本数に相当するデータdを適用した演算式は、先に図8を参照して説明した、Newton−Raphson法(繰返し収束法)を用いてパラメータβを最尤法に従って推定するための計算式に示す(式d)の一部を構成する演算式である。
図8と同様のNewton−Raphson法(繰返し収束法)を示す図11に示すように、上記の(式15)の結果変数(y)の総和(t_0)の算出式として示すデータdを適用した演算式は図11中の(式d)の演算式302に相当する。
ステップS103で実行する結果変数(y)の総和(t_0)の算出処理は、この図11中の(式d)の演算式302を実行する処理に相当する。
なお、ステップS103の処理は、結果変数(y)保持装置である情報処理装置A110の内部で実行されるため、セキュア計算として実行する必要はない。
すなわち、結果変数(y)の変換データの生成処理や、変換データの外部装置への出力処理を行なうことなく、情報処理装置A110が内部に保持するセキュアデータである結果変数(y)を取得して、取得した結果変数(y)を、そのまま適用して情報処理装置A110内部の演算装置において、結果変数(y)の総和(t_0)を算出する処理として実行することができる。
なお、結果変数(y)の総和(t_0)はセキュアデータではないため、外部出力可能となる。
このように結果変数(y)保持装置である情報処理装置A110は、セキュア計算ではなく、セキュアデータを適用した一般的な演算処理により、結果変数(y)の総和(t_0)を算出して情報処理装置Bに出力する。
このような一般的な演算処理とすることで、セキュア計算を実行する場合に比較して、計算時間や計算資源を大幅に削減することが可能となる。
情報処理装置A110の繰り返し計算用入力値生成部133は、結果変数(y)の総和(t_0)を、上述した(式14)や(式15)に従って算出して、算出値を、データ送受信部134を介して情報処理装置B120のパラメータ算出実行部121に出力する。
(ステップS104)
次に、ステップS104において、説明変数(x)保持装置である情報処理装置B120のパラメータ算出実行部121の繰り返し計算部144は、先に説明した(式1)で示されるロジスティック回帰モデルに従った式に対して、Newton−Raphson法による繰返し計算を実行して、ロジスティック回帰パラメータβ_i(i=0,1,・・・,r)の更新および算出処理を実行する。
具体的には、予め設定したε(例えばε=0.00001)に対して、以下の(式16)を満足するまで、以下の(式17)に示す(a),(b)の計算を繰り返す。
Figure 0006673367
Figure 0006673367
上記(式16)を満足するまで、(式17)に示す(a),(b)の計算を繰り返して、ロジスティック回帰パラメータβ_i(i=0,1,・・・,r)を更新し、上記(式16)を満足した時点のパラメータを出力パラメータとする。、
なお、上記(式16)、(式17)のパラメータの初期値:β(0)には、適当な任意の値を設定してよい。
また、上記(式16)、(式17)に示す各記号の意味は、先に最尤法によるロジスティック回帰パラメータの推定処理として説明した(式6)〜(式11)に示す記号と同じ意味である。例えば、
L(β)=log{like(β)}
である。
ステップS104において、説明変数(x)保持装置である情報処理装置B120のパラメータ算出実行部121の繰り返し計算部144が実行する処理は、図11に示すNewton−Raphson法による繰返し計算であり、これは、先に説明した図8の処理と同様である。
しかし、このステップS104におけるNewton−Raphson法による繰返し計算においては、セキュア計算は必要とならない。
ステップS104でも、図11に示すNewton−Raphson法による繰返し計算におけるマトリックスX、マトリックスV等の計算が行われる。これらのマトリックスにはセキュアデータとしての説明変数(x)が含まれる。
しかし、ステップS104の処理は、説明変数保持装置である情報処理装置B120において実行される。
説明変数保持装置である情報処理装置B120は、自装置の記憶部に保持する説明変数(x)をそのまま適用して図11(式b2)に示すマトリックスX、マトリックスVを設定して、図11に従った計算を実行することができる。
すなわち、説明変数保持装置である情報処理装置B120は、外部にセキュアデータ(説明変数)を出力する必要がなく、ステップS101bにおいて入力した説明変数をそのまま利用してマトリックスX,Vを用いた計算を行うことができる。
また、図11に示す(式d)にはセキュアデータとしての結果変数(y)に基づく値(d)が用いられている。
しかし、この結果変数(y)に基づく値(d)を用いた計算結果、すなわち、図11に示す演算式302の演算結果(t_0)は、結果変数保持装置である情報処理装置A110がステップS103で生成し、情報処理装置B120に入力されている。
従って、情報処理装置B120は、この入力値(t_0)を図11(式d)に代入するのみでよく、図11に示す(式d)についてもセキュア計算として実行する必要がない。
図11(式e)に示す演算式301はステップS102において算出した内積(t_s)であり、この値のみ、事前のステップS102においてセキュア計算によって算出された値を適用することになる。
このように、図10に示すフローに従った処理を実行することで、セキュア計算が必要となる処理が大幅に削減され、ロジスティック回帰パラメータβ_i(i=0,1,・・・,r)の算出処理に必要となる計算量が大幅に削減され、演算コストの削減、処理の高速化が可能となる。
(ステップS105)
次に、ステップS105において、説明変数(x)保持装置である情報処理装置B120のパラメータ算出実行部121の出力部145は、ステップS104において算出したロジスティック回帰パラメータβ_i(i=0,1,・・・,r)を、情報処理装置B120のデータ処理部に出力する。
情報処理装置B120のデータ処理部は、パラメータ算出実行部121から出力されたロジスティック回帰パラメータβ_i(i=0,1,・・・,r)を、ロジスティック回帰モデル、すなわち先に説明した(式1)に代入し、様々な説明変数(x)から結果変数(y)を推定する処理を実行する。
先に説明したように、(式1)に示す、ロジスティック回帰モデルに従って、説明変数(x)の観測値(x_1,・・・,x_r)が与えられているという条件の下で、ある事象が発生する確率p(x)を算出することができる。
確率p(x)は結果変数(y)の値に相当する。
なお、図10に示すフローチャートから理解されるように、この処理例では、ロジスティック回帰パラメータβ_i(i=0,1,・・・,r)の算出を行うのは、情報処理装置B120、すなわち、説明変数(x)保持装置である情報処理装置B120である。
結果変数(y)保持装置である情報処理装置A110は、ロジスティック回帰パラメータβ_i(i=0,1,・・・,r)の算出を行っていない。
ロジスティック回帰パラメータβ_i(i=0,1,・・・,r)の算出を実行した説明変数(x)保持装置である情報処理装置B120は、結果変数(y)保持装置である情報処理装置A110からの要求に応じて、算出したパラメータを情報処理装置A110に提供することも可能である。ロジスティック回帰パラメータβ_i(i=0,1,・・・,r)自体は、セキュアデータではないため、各装置間での入出力処理や、共有処理が許容される。
この図10に示すフローに従った処理では、セキュア計算処理による計算は、説明変数(x)と結果変数(y)の内積(t_s)の計算のみである。
すなわち、先に説明した様に、以下の(式13)に従った内積(t_s)の算出処理のみである。
Figure 0006673367
上記の(式13)として示す説明変数(x)と結果変数(y)の内積(t_s)は、公開が許容されないセキュアデータである説明変数(x)と結果変数(y)を含む演算であり、この演算は、セキュア計算として実行する必要がある。
すなわち、例えば先に図6、図7を参照して説明したように、セキュアデータである説明変数(x)と結果変数(y)の分割データ等の変換データを生成して、生成した変換データを適用した演算を行うことになる。
しかし、図10に示すフローにおいて、セキュア計算が必要な処理は、ステップS102におけるこの説明変数(x)と結果変数(y)の内積(t_s)算出処理のみとなる。
すなわち、先に図8を参照して説明したNewton−Raphson法による繰返し計算において必要となるマトリックスX、マトリックスV等のセキュア計算は、不要となるため、パラメータ算出に必要となる計算量が大幅に削減され、演算コストの削減、処理の高速化が可能となる。
[6.本開示のパラメータ算出処理における計算量の削減効果について]
次に、図12と図13に示す2つのフローチャートを参照して、本開示のパラメータ算出処理による計算量の削減効果について説明する。
図12、および図13には、以下の2つのフローチャートを示している。
(1)Newton−Raphason法による繰り返し計算に適用する説明変数(x)と結果変数(y)のすべてを変換データとしたセキュア計算により実行する処理フロー
(2)説明変数(x)と結果変数(y)の内積(t_s)算出処理のみをセキュア計算として実行する本開示の処理フロー
これら2つの処理フローに従ったロジスティック回帰パラメータβ_i(i=0,1,・・・,r)の算出シーケンスについて説明する。
まず、図12に示すフローチャートに従って、
「(1)Newton−Raphason法による繰り返し計算に適用する説明変数(x)と結果変数(y)のすべてを変換データとしたセキュア計算により実行する処理」
について説明する。
(ステップS201a,S201b)
ステップS201a,bの処理は、入力部からのデータ入力処理である。
結果変数(y)保持装置である情報処理装置A110は、ステップS201aにおいて、情報処理装置A110の記憶部に保持された結果変数y_i(ただし、i=1,・・・,n)を記憶部から取得して情報処理装置A110のデータ処理部(演算実行部)に入力する。
一方、説明変数(x)保持装置である情報処理装置B120は、ステップS201bにおいて、情報処理装置B120の記憶部に保持された説明変数(x_1,x_2,・・・,x_r)(ただし、i=1,・・・,n)を記憶部から取得してデータ処理部(演算実行部)に入力する。
(ステップS202a,S202b)
ステップS202a,S202bの処理は、情報処理装置A110、情報処理装置B120のデータ処理部(演算実行部)におけるセキュアデータの変換データ生成処理である。
説明変数(x)と結果変数(y)はいずれも公開が制限されるセキュアデータであり、これらセキュアデータをロジスティック回帰パラメータβ_i(i=0,1,・・・,r)の算出処理に直接、用いることはできない。
そのため、セキュアデータである説明変数(x)と結果変数(y)の変換データの生成処理を実行する。
結果変数保持装置である情報処理装置A110は、ステップS202aにおいて、結果変数(y)の変換データを生成する。
一方、説明変数(x)保持装置である情報処理装置B120は、ステップS202bにおいて、説明変数(x)の変換データを生成する。
変換データとしては、例えばセキュアデータ(説明変数(x)、結果変数(y))の暗号化データや、図6、図7を参照して説明した分割データ等、様々な態様の変換データがある。
(ステップS203)
次のステップS203の処理は、先に図8を参照して説明したNewton−Raphson法(繰返し収束法)を用いた最尤法によるロジスティック回帰パラメータβ_i(i=0,1,・・・,r)の算出処理である。
先に図8を参照して説明したように、ロジスティック回帰パラメータの推定処理を行なう場合、図8に示す(式a)を、図8に示す(式a2)を満足するまで繰り返し計算することが必要となる。
しかし、図8に示すように、(式a)にはセキュアデータとしての説明変数(x)、結果変数(y)が多数、用いられている。
これらのセキュアデータ、すなわち、説明変数(x)と、結果変数(y)は、それぞれ2つの異なる情報処理装置が個別に保持しており、相互に公開できないデータである。
従って、この図8に示す(式a)を、(式a2)を満足するまで繰り返し計算する処理は、セキュア計算として実行することが必要となる。
セキュア計算は、例えば図6、図7を参照して説明したように、セキュアデータの分割データを生成して、その一部を装置間で入出力する等、セキュアデータを個別に変換して装置間で入出力する処理が必要である。
例えば図8(式b2)に示すマトリックスXやマトリックスVには、多数の説明変数が含まれている。これらは1つ1つが全てセキュアデータである。
従って、セキュア計算を行うためには、図8(式b2)に示すマトリックスXやマトリックスVに含まれる説明変数1つ1つについて、それぞれ分割データ等の変換データを生成して、装置間で入出力する等の処理が必要となる。
図8に示す(式d)、(式e)についても同様であり、これらの式の構成要素として含まれる説明変数(x)、結果変数(y)について、個別に1つ1つ、分割データ等の変換データを生成して装置間で入出力することが必要となる。
このようなデータ変換処理やデータ入出力処理は、セキュア計算に適用するセキュアデータ数の増加に応じて増大することになる。
従って、セキュアデータの数が多い場合、図8に示す(式a)の繰り返し計算処理は、多大な計算時間や計算資源を要することになる。すなわち計算コストが増大してしまう。
すなわち、図12に示すフローのステップS203の処理には、多大な計算資源と計算時間を要することになる。
(ステップS204)
ステップS203におけるセキュア計算によるロジスティック回帰パラメータβ_i(i=0,1,・・・,r)の算出が終了すると、次に、ステップS204において、2つの情報処理装置A、Bは、これらのパラメータをデータ処理部に出力する。
データ処理部では、例えば算出パラメータを用いて、先に説明した(式1)、すなわちロジスティック回帰モデルに従って、新たな説明変数から結果変数を推定する処理等を実行する。
この図12に示すフローでは、ステップS203におげるNewton−Raphson法(繰返し収束法)を用いた最尤法によるロジスティック回帰パラメータβ_i(i=0,1,・・・,r)の算出処理の計算量が膨大なものとなる。
これは、先に図8を参照して説明したように、図8に示すNewton−Raphson法(繰返し収束法)を用いたパラメータ算出処理を行なう場合には、説明変数(x)、結果変数(y)の変換データを、多数利用する必要があるからである。
図8(式b2)に示すマトリックスXやマトリックスVには、多数の説明変数が含まれている。これらは1つ1つが全てセキュアデータである。
図8に示す(式d)、(式e)についても同様であり、これらの式の構成要素として含まれる説明変数(x)、結果変数(y)も全てセキュアデータである。
従って、これらの計算を行う場合には、セキュアデータである説明変数、および結果変数各々に対応する分割データ等の変換データを生成して計算処理を実行することが必要となる。
このように図12に示すフローに従った処理を実行すると、セキュアデータに対する変換データの生成処理、変換データを用いた計算処理の計算量が大きくなり、計算処理資源や、処理時間が増大してしまうという問題がある。
次に、図13に示すフロー、すなわち、
「(2)説明変数(x)と結果変数(y)の内積(t_s)算出処理のみをセキュア計算として実行する本開示の処理」
について説明する。
(ステップS301a,S301b)
ステップS301a,bの処理は、入力部からのデータ入力処理である。
結果変数(y)保持装置である情報処理装置A110は、ステップS301aにおいて、情報処理装置A110の記憶部に保持された結果変数y_i(ただし、i=1,・・・,n)を記憶部から取得して情報処理装置A110のデータ処理部(演算実行部)に入力する。
一方、説明変数(x)保持装置である情報処理装置B120は、ステップS301bにおいて、情報処理装置B120の記憶部に保持された説明変数(x_1,x_2,・・・,x_r)(ただし、i=1,・・・,n)を記憶部から取得してデータ処理部(演算実行部)に入力する。
(ステップS302a,S302b)
ステップS302a,S302bの処理は、情報処理装置A110、情報処理装置B120のデータ処理部(演算実行部)におけるセキュアデータの変換データ生成処理である。
説明変数(x)と結果変数(y)はいずれも公開が制限されるセキュアデータであり、これらセキュアデータをロジスティック回帰パラメータβ_i(i=0,1,・・・,r)の算出処理に直接、用いることはできない。
そのため、セキュアデータである説明変数(x)と結果変数(y)の変換データの生成処理を実行する。
結果変数保持装置である情報処理装置A110は、ステップS302aにおいて、結果変数(y)の変換データを生成する。
一方、説明変数(x)保持装置である情報処理装置B120は、ステップS302bにおいて、説明変数(x)の変換データを生成する。
変換データとしては、例えばセキュアデータ(説明変数(x)、結果変数(y))の暗号化データや、図6、図7を参照して説明した分割データ等、様々な態様の変換データがある。
(ステップS303)
ステップS303の処理は、情報処理装置A110、情報処理装置B120のデータ処理部(演算実行部)において、説明変数(x)と結果変数(y)の内積(t_s)を算出する処理である。
この処理は、先に説明した図10のフローにおけるステップS102の処理に対応する処理である。
先に説明したように、以下の(式12)に従って、説明変数(x)と結果変数(y)の内積(t_s)を算出する。
Figure 0006673367
なお、前述したように、上記の(式12)に示す説明変数(x)と結果変数(y)との内積(t_s)は、先に図5を参照して説明した図5の右に示す(2)プロファイル単位データ中の(d)、すなわち、結果変数(y)がy=1となる標本数に相当するデータ(d)を使用した以下の(式13)として表現することができる。
Figure 0006673367
図11を参照して説明したように、上記の(式13)の説明変数(x)と結果変数(y)との内積(t_s)算出式として示すデータdを適用した演算式は図11中の(式e)の演算式301に相当する。
説明変数(x)と結果変数(y)はいずれも公開が制限されるセキュアデータであり、上記(式12)に従った内積(t_s)の算出処理は、これらセキュアデータである説明変数(x)と結果変数(y)を直接適用しない演算、すなわち、図6や図7を参照して説明したと同様のセキュア計算によって行う必要がある。
このセキュア計算に、ステップS302a,302bで生成したセキュアデータ(説明変数(x),結果変数(y))の変換データを利用する。
図13に示すフローにおいて、セキュアデータ(説明変数(x),結果変数(y))の変換データを利用したセキュア計算は、このステップS303の処理のみとなる。
先に、図11を参照して説明した(式e)の一部の計算処理のみが、セキュア計算として実行されることになる。
図13に示すフローにおいても、図12に示すフローと同様、図8や図11を参照して説明したNewton−Raphson法(繰返し収束法)を用いたパラメータ算出処理を実行する。
図12に示すフローでは、図8(式b2)に示すマトリックスXやマトリックスVや、(式d)、(式e)に含まれる説明変数(x)、結果変数(y)を含む計算を全てセキュア計算として実行していた。すなわち、説明変数、および結果変数各々に対応する分割データ等の変換データを生成して計算処理を実行していた。
しかし、この図13に示すフローに従った処理では、図11に示す(式e)の演算式301の算出のみをセキュア計算として実行するのみである。
(ステップS304)
次のステップS304は、結果変数(y)保持装置である情報処理装置A110が、結果変数(y)の総和(t_0)を以下の(式14)に従って算出して、算出値を、データ送受信部134を介して情報処理装置B120のパラメータ算出実行部121に出力する処理である。
Figure 0006673367
なお、上記の(式14)に示す結果変数(y)の総和(t_0)は、先に図5を参照して説明した図5の右に示す(2)プロファイル単位データ中の(d)、すなわち、結果変数(y)がy=1となる標本数に相当するデータ(d)を使用した以下の(式15)として表現することができる。
Figure 0006673367
上記(式15)に示すdを適用した演算、すなわち、結果変数(y)がy=1となる標本数に相当するデータdを適用した演算式は、先に図8参照して説明した、Newton−Raphson法(繰返し収束法)を用いてパラメータβを最尤法に従って推定するための計算式に示す(式d)の一部を構成する演算式である。
図11に示すように、上記の(式15)の結果変数(y)の総和(t_0)の算出式として示すデータdを適用した演算式は図11中の(式d)の演算式302に相当する。
ステップS304で実行する結果変数(y)の総和(t_0)の算出処理は、この図11中の(式d)の演算式302を実行する処理に相当する。
なお、このステップS304の処理は、結果変数(y)保持装置である情報処理装置A110の内部で実行されるため、セキュア計算として実行する必要はない。
すなわち、結果変数(y)の変換データの生成処理や、変換データの外部装置への出力処理を行なうことなく、情報処理装置A110が内部に保持するセキュアデータである結果変数(y)を取得して、取得した結果変数(y)を、そのまま適用して情報処理装置A110内部の演算装置において、結果変数(y)の総和(t_0)を算出する処理として実行することができる。
このようにセキュア計算とすることなく、セキュアデータを適用した一般的な演算処理とすることで、セキュア計算を実行する場合に比較して、計算時間や計算資源を大幅に削減することが可能となる。
情報処理装置A110は、結果変数(y)の総和(t_0)を、上述した(式14)や(式15)に従って算出して、算出値を情報処理装置B120に出力する。結果変数(y)の総和(t_0)自体はセキュアデータではないため、外部出力しても問題がない。
(ステップS305)
次に、ステップS305において、説明変数(x)保持装置である情報処理装置B120は、先に説明した(式1)で示されるロジスティック回帰モデルに従った式に対して、図8、図11を参照して説明したNewton−Raphson法による繰返し計算を実行して、ロジスティック回帰パラメータβ_i(i=0,1,・・・,r)の更新および算出処理を実行する。
(ステップS306)
次に、ステップS306において、説明変数(x)保持装置である情報処理装置B120は、ステップS305において算出したロジスティック回帰パラメータβ_i(i=0,1,・・・,r)を、情報処理装置B120のデータ処理部に出力する。
情報処理装置B120のデータ処理部は、ロジスティック回帰パラメータβ_i(i=0,1,・・・,r)を、ロジスティック回帰モデル、すなわち先に説明した(式1)に代入し、様々な説明変数(x)から結果変数(y)を推定する処理を実行する。
なお、ロジスティック回帰パラメータβ_i(i=0,1,・・・,r)の算出を実行した説明変数(x)保持装置である情報処理装置B120は、結果変数(y)保持装置である情報処理装置A110からの要求に応じて、算出したパラメータを情報処理装置A110に提供する。ロジスティック回帰パラメータβ_i(i=0,1,・・・,r)自体は、セキュアデータではないため、各装置間での入出力処理や、共有処理が許容される。
この図13に示すフローに従った処理では、セキュア計算処理による計算は、ステップS303において実行する説明変数(x)と結果変数(y)の内積(t_s)の計算のみである。
図13を参照して説明したフローにおいても、ステップS305において、図8、図11に示すNewton−Raphson法による繰返し計算におけるマトリックスX、マトリックスV等の計算が行われる。これらのマトリックスにはセキュアデータとしての説明変数(x)が含まれる。
しかし、ステップS305の処理は、説明変数保持装置である情報処理装置Bにおいて実行されるため、外部にセキュアデータ(説明変数)を出力する必要がなく、ステップS101bにおいて入力した説明変数をそのまま利用してマトリックスX,Vを用いた計算を行うことができる。
また、図11に示す(式d)にはセキュアデータとしての結果変数(y)に基づく値(d)が用いられている。
しかし、この結果変数(y)に基づく値(d)を用いた計算結果、すなわち、図11に示す演算式302の演算結果を、結果変数保持装置である情報処理装置AがステップS304で生成し、情報処理装置Bは、この演算結果を入力してそのまま利用可能であるため、図11に示す(式d)についてもセキュア計算として実行する必要がない。
このように、図13に示すフローに従った処理を実行することで、セキュア計算が必要となる処理が大幅に削減され、ロジスティック回帰パラメータβ_i(i=0,1,・・・,r)の算出処理に必要となる計算量が大幅に削減され、演算コストの削減、処理の高速化が可能となる。
[7.情報処理装置のハードウェア構成例について]
最後に、上述した実施例に従った処理を実行する情報処理装置のハードウェア構成例について、図14を参照して説明する。
図14は、情報処理装置のハードウェア構成例を示す図である。
CPU(Central Processing Unit)401は、ROM(Read Only Memory)402、または記憶部408に記憶されているプログラムに従って各種の処理を実行する制御部やデータ処理部として機能する。例えば、上述した実施例において説明したシーケンスに従った処理を実行する。RAM(Random Access Memory)403には、CPU401が実行するプログラムやデータなどが記憶される。これらのCPU401、ROM402、およびRAM403は、バス404により相互に接続されている。
CPU401はバス404を介して入出力インタフェース405に接続され、入出力インタフェース405には、各種スイッチ、キーボード、マウス、マイクロホンなどよりなる入力部406、ディスプレイ、スピーカなどよりなる出力部407が接続されている。CPU401は、入力部406から入力される指令に対応して各種の処理を実行し、処理結果を例えば出力部407に出力する。
入出力インタフェース405に接続されている記憶部408は、例えばハードディスク等からなり、CPU401が実行するプログラムや各種のデータを記憶する。通信部409は、インターネットやローカルエリアネットワークなどのネットワークを介したデータ通信の送受信部として機能し、外部の装置と通信する。
入出力インタフェース405に接続されているドライブ410は、磁気ディスク、光ディスク、光磁気ディスク、あるいはメモリカード等の半導体メモリなどのリムーバブルメディア411を駆動し、データの記録あるいは読み取りを実行する。
[8.本開示の構成のまとめ]
以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
なお、本明細書において開示した技術は、以下のような構成をとることができる。
(1) 各標本に対応付けられた2種類の異なるセキュアデータである第1の変数と第2の変数との関係性を示すロジスティック回帰モデルのパラメータであるロジスティック回帰パラメータを算出するデータ処理部を有し、
前記データ処理部は、
第1の変数と第2の変数との内積(t_s)を、各変数の変換データを適用した計算処理であるセキュア計算を適用して算出し、
前記内積算出処理以外の計算処理を、変換データを用いない計算処理として実行して、前記ロジスティック回帰パラメータを算出する情報処理装置。
(2) 前記データ処理部は、
Newton−Raphson法(繰返し収束法)を用いた最尤法に従って、ロジスティック回帰パラメータを算出する(1)に記載の情報処理装置。
(3) 前記第1の変数は、説明変数であり、
前記第2の変数は、結果変数である(1)に記載の情報処理装置。
(4) 前記データ処理部は、
説明変数と結果変数との内積(t_s)の算出処理を、説明変数の分割データと、結果変数の分割データを適用したセキュア計算により算出する(3)に記載の情報処理装置。
(5) 前記情報処理装置は、
前記説明変数の保持装置であり、
前記データ処理部は、
前記Newton−Raphson法(繰返し収束法)を用いた最尤法に従ったロジスティック回帰パラメータ算出処理において、前記内積算出処理以外の説明変数を適用した計算処理をセキュア計算ではなく、説明変数をそのまま適用した計算処理として実行する(3)または(4)いずれかに記載の情報処理装置。
(6) 前記情報処理装置は、
説明変数の保持装置であり、
前記データ処理部は、
結果変数保持装置から、結果変数を適用した計算結果を入力し、入力した結果変数適用計算結果を利用してロジスティック回帰パラメータを算出する(3)〜(5)いずれかに記載の情報処理装置。
(7) 前記結果変数適用計算結果は、結果変数の総和(t_0)である(6)に記載の情報処理装置。
(8) 前記情報処理装置は、
説明変数の保持装置であり、
前記データ処理部は、
算出したロジスティック回帰パラメータを結果変数保持装置に出力する(3)〜(7)いずれかに記載の情報処理装置。
(9) 各標本に対応付けられたセキュアデータである説明変数を保持する説明変数保持装置と、
各標本に対応付けられたセキュアデータである結果変数を保持する結果変数保持装置を有する情報処理システムであり、
前記結果変数保持装置は、
各標本に対応付けられた結果変数の総和(t_0)を算出して前記説明変数保持装置に出力し、
前記説明変数保持装置は、
結果変数との関係性を示すロジスティック回帰モデルのパラメータであるロジスティック回帰パラメータを算出するデータ処理部を有し、
前記データ処理部は、
説明変数と結果変数との内積(t_s)を、各変数の変換データを適用した計算処理であるセキュア計算を適用して算出し、
算出した内積(t_s)、および結果変数保持装置から入力した結果変数の総和(t_0)を適用してロジスティック回帰パラメータを算出する情報処理システム。
(10) 前記データ処理部は、
Newton−Raphson法(繰返し収束法)を用いた最尤法に従って、ロジスティック回帰パラメータを算出する(9)に記載の情報処理システム。
(11) 前記データ処理部は、
説明変数と結果変数との内積(t_s)の算出処理を、説明変数の分割データと、結果変数の分割データを適用したセキュア計算により算出する(9)または(10)に記載の情報処理システム。
(12) 前記データ処理部は、
前記Newton−Raphson法(繰返し収束法)を用いた最尤法に従ったロジスティック回帰パラメータ算出処理において、前記内積算出処理以外の説明変数を適用した計算処理をセキュア計算ではなく、説明変数をそのまま適用した計算処理として実行する(9)〜(11)いずれかに記載の情報処理システム。
(13) 前記説明変数保持装置は、
算出したロジスティック回帰パラメータを結果変数保持装置に出力する(9)〜(12)いずれかに記載の情報処理システム。
(14) 情報処理装置において実行する情報処理方法であり、
前記情報処理装置は、
各標本に対応付けられた2種類の異なるセキュアデータである第1の変数と第2の変数との関係性を示すロジスティック回帰モデルのパラメータであるロジスティック回帰パラメータを算出するデータ処理部を有し、
前記データ処理部は、
第1の変数と第2の変数との内積(t_s)を、各変数の変換データを適用した計算処理であるセキュア計算を適用して算出し、
前記内積算出処理以外の計算処理を、変換データを用いない計算処理として実行して、前記ロジスティック回帰パラメータを算出する情報処理方法。
(15) 各標本に対応付けられたセキュアデータである説明変数を保持する説明変数保持装置と、
各標本に対応付けられたセキュアデータである結果変数を保持する結果変数保持装置を有する情報処理システムにおいて実行する情報処理方法であり、
前記結果変数保持装置は、
各標本に対応付けられた結果変数の総和(t_0)を算出して前記説明変数保持装置に出力し、
前記説明変数保持装置は、
結果変数との関係性を示すロジスティック回帰モデルのパラメータであるロジスティック回帰パラメータを算出するデータ処理部を有し、
前記データ処理部は、
説明変数と結果変数との内積(t_s)を、各変数の変換データを適用した計算処理であるセキュア計算を適用して算出し、
算出した内積(t_s)、および結果変数保持装置から入力した結果変数の総和(t_0)を適用してロジスティック回帰パラメータを算出する情報処理方法。
(16) 情報処理装置において情報処理を実行させるプログラムであり、
前記情報処理装置は、
各標本に対応付けられた2種類の異なるセキュアデータである第1の変数と第2の変数との関係性を示すロジスティック回帰モデルのパラメータであるロジスティック回帰パラメータを算出するデータ処理部を有し、
前記プログラムは、前記データ処理部に、
第1の変数と第2の変数との内積(t_s)を、各変数の変換データを適用した計算処理であるセキュア計算を適用して算出する処理と、
前記内積算出処理以外の計算処理を、変換データを用いない計算処理として実行させて、前記ロジスティック回帰パラメータ算出処理を実行させるプログラム。
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
上述したように、本開示の一実施例の構成によれば、高速かつ効率的なロジスティック回帰モデルのパラメータ算出処理が実現される。
具体的には、各標本に対応のセキュアデータである説明変数と結果変数との関係性を示すロジスティック回帰モデルのパラメータであるロジスティック回帰パラメータを算出する。データ処理部は、説明変数と結果変数との内積(t_s)を、各変数の変換データを適用した計算処理であるセキュア計算を適用して算出し、内積算出処理以外の計算処理を、変換データを用いない計算処理として実行してNewton−Raphson法(繰返し収束法)を用いた最尤法に従って、ロジスティック回帰パラメータを算出する。
本構成により、高速かつ効率的なロジスティック回帰モデルのパラメータ算出処理が実現される。
110 情報処理装置A
111 パラメータ算出実行部
112 内積計算部
113 繰り返し計算用入力値生成部
114 データ送受信部
120 情報処理装置B
121 入力部
122 内積計算部
123 データ送受信部
124 繰り返し計算部
125 出力部
401 CPU
402 ROM
403 RAM
404 バス
405 入出力インタフェース
406 入力部
407 出力部
408 記憶部
409 通信部
410 ドライブ
411 リムーバブルメディア

Claims (13)

  1. 各標本に対応付けられた2種類の異なるセキュアデータである説明変数結果変数との関係性を示すロジスティック回帰モデルのパラメータであるロジスティック回帰パラメータを、Newton−Raphson法(繰返し収束法)を用いた最尤法に従って算出するデータ処理部を有し、
    前記データ処理部は、
    説明変数結果変数との内積(t_s)を、各変数の変換データを適用した計算処理であるセキュア計算を適用して算出し、
    前記内積算出処理以外の計算処理を、変換データを用いない計算処理として実行して、前記ロジスティック回帰パラメータを算出する情報処理装置。
  2. 前記データ処理部は、
    説明変数と結果変数との内積(t_s)の算出処理を、説明変数の分割データと、結果変数の分割データを適用したセキュア計算により算出する請求項1に記載の情報処理装置。
  3. 前記情報処理装置は、
    前記説明変数の保持装置であり、
    前記データ処理部は、
    前記Newton−Raphson法(繰返し収束法)を用いた最尤法に従ったロジスティック回帰パラメータ算出処理において、前記内積算出処理以外の説明変数を適用した計算処理をセキュア計算ではなく、説明変数をそのまま適用した計算処理として実行する請求項1に記載の情報処理装置。
  4. 前記情報処理装置は、
    説明変数の保持装置であり、
    前記データ処理部は、
    結果変数保持装置から、結果変数を適用した計算結果を入力し、入力した結果変数適用計算結果を利用してロジスティック回帰パラメータを算出する請求項1に記載の情報処理装置。
  5. 前記結果変数適用計算結果は、結果変数の総和(t_0)である請求項4に記載の情報処理装置。
  6. 前記情報処理装置は、
    説明変数の保持装置であり、
    前記データ処理部は、
    算出したロジスティック回帰パラメータを結果変数保持装置に出力する請求項1に記載の情報処理装置。
  7. 各標本に対応付けられたセキュアデータである説明変数を保持する説明変数保持装置と、
    各標本に対応付けられたセキュアデータである結果変数を保持する結果変数保持装置を有する情報処理システムであり、
    前記結果変数保持装置は、
    各標本に対応付けられた結果変数の総和(t_0)を算出して前記説明変数保持装置に出力し、
    前記説明変数保持装置は、
    結果変数との関係性を示すロジスティック回帰モデルのパラメータであるロジスティック回帰パラメータを、Newton−Raphson法(繰返し収束法)を用いた最尤法に従って算出するデータ処理部を有し、
    前記データ処理部は、
    説明変数と結果変数との内積(t_s)を、各変数の変換データを適用した計算処理であるセキュア計算を適用して算出し、
    前記内積算出処理以外の計算処理を、変換データを用いない計算処理として実行し、
    算出した内積(t_s)、および結果変数保持装置から入力した結果変数の総和(t_0)を適用してロジスティック回帰パラメータを算出する情報処理システム。
  8. 前記データ処理部は、
    説明変数と結果変数との内積(t_s)の算出処理を、説明変数の分割データと、結果変数の分割データを適用したセキュア計算により算出する請求項7に記載の情報処理システム。
  9. 前記データ処理部は、
    前記Newton−Raphson法(繰返し収束法)を用いた最尤法に従ったロジスティック回帰パラメータ算出処理において、前記内積算出処理以外の説明変数を適用した計算処理をセキュア計算ではなく、説明変数をそのまま適用した計算処理として実行する請求項7に記載の情報処理システム。
  10. 前記説明変数保持装置は、
    算出したロジスティック回帰パラメータを結果変数保持装置に出力する請求項7に記載の情報処理システム。
  11. 情報処理装置において実行する情報処理方法であり、
    前記情報処理装置は、
    各標本に対応付けられた2種類の異なるセキュアデータである説明変数結果変数との関係性を示すロジスティック回帰モデルのパラメータであるロジスティック回帰パラメータを、Newton−Raphson法(繰返し収束法)を用いた最尤法に従って算出するデータ処理部を有し、
    前記データ処理部は、
    説明変数結果変数との内積(t_s)を、各変数の変換データを適用した計算処理であるセキュア計算を適用して算出し、
    前記内積算出処理以外の計算処理を、変換データを用いない計算処理として実行して、前記ロジスティック回帰パラメータを算出する情報処理方法。
  12. 各標本に対応付けられたセキュアデータである説明変数を保持する説明変数保持装置と、
    各標本に対応付けられたセキュアデータである結果変数を保持する結果変数保持装置を有する情報処理システムにおいて実行する情報処理方法であり、
    前記結果変数保持装置は、
    各標本に対応付けられた結果変数の総和(t_0)を算出して前記説明変数保持装置に出力し、
    前記説明変数保持装置は、
    結果変数との関係性を示すロジスティック回帰モデルのパラメータであるロジスティック回帰パラメータを、Newton−Raphson法(繰返し収束法)を用いた最尤法に従って算出するデータ処理部を有し、
    前記データ処理部は、
    説明変数と結果変数との内積(t_s)を、各変数の変換データを適用した計算処理であるセキュア計算を適用して算出し、
    前記内積算出処理以外の計算処理を、変換データを用いない計算処理として実行し、
    算出した内積(t_s)、および結果変数保持装置から入力した結果変数の総和(t_0)を適用してロジスティック回帰パラメータを算出する情報処理方法。
  13. 情報処理装置において情報処理を実行させるプログラムであり、
    前記情報処理装置は、
    各標本に対応付けられた2種類の異なるセキュアデータである説明変数結果変数との関係性を示すロジスティック回帰モデルのパラメータであるロジスティック回帰パラメータを、Newton−Raphson法(繰返し収束法)を用いた最尤法に従って算出するデータ処理部を有し、
    前記プログラムは、前記データ処理部に、
    説明変数結果変数との内積(t_s)を、各変数の変換データを適用した計算処理であるセキュア計算を適用して算出する処理と、
    前記内積算出処理以外の計算処理を、変換データを用いない計算処理として実行させて、前記ロジスティック回帰パラメータ算出処理を実行させるプログラム。
JP2017560052A 2016-01-07 2016-11-28 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム Active JP6673367B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016001677 2016-01-07
JP2016001677 2016-01-07
PCT/JP2016/085115 WO2017119211A1 (ja) 2016-01-07 2016-11-28 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム

Publications (2)

Publication Number Publication Date
JPWO2017119211A1 JPWO2017119211A1 (ja) 2018-10-25
JP6673367B2 true JP6673367B2 (ja) 2020-03-25

Family

ID=59274135

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017560052A Active JP6673367B2 (ja) 2016-01-07 2016-11-28 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム

Country Status (4)

Country Link
US (1) US20180366227A1 (ja)
EP (1) EP3401828B1 (ja)
JP (1) JP6673367B2 (ja)
WO (1) WO2017119211A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019164722A (ja) * 2018-03-20 2019-09-26 ヤフー株式会社 情報処理装置、情報処理方法および情報処理プログラム
JP7159717B2 (ja) * 2018-09-10 2022-10-25 日本電信電話株式会社 秘密統計処理システム、方法、統計処理装置及びプログラム
CN112805769B (zh) * 2018-10-04 2023-11-07 日本电信电话株式会社 秘密s型函数计算系统、装置、方法及记录介质
AU2019352310B2 (en) * 2018-10-04 2022-07-28 Nippon Telegraph And Telephone Corporation Secret sigmoid function calculation system, secret logistic regression calculation system, secret sigmoid function calculation apparatus, secret logistic regression calculation apparatus, secret sigmoid function calculation method, secret logistic regression calculation method and program
PL3602379T3 (pl) * 2019-01-11 2021-08-02 Advanced New Technologies Co., Ltd. Rozproszona struktura ramowa szkoleniowa wielostronnego modelu bezpieczeństwa do ochrony prywatności
SG11201909946UA (en) 2019-01-11 2019-11-28 Alibaba Group Holding Ltd Logistic regression modeling scheme using secrete sharing
US11190336B2 (en) * 2019-05-10 2021-11-30 Sap Se Privacy-preserving benchmarking with interval statistics reducing leakage
WO2021002008A1 (ja) * 2019-07-04 2021-01-07 日本電信電話株式会社 学習装置、予測装置、学習方法、予測方法、及びプログラム
JP7318721B2 (ja) * 2019-10-10 2023-08-01 日本電信電話株式会社 近似関数計算装置、方法及びプログラム
CN111611545B (zh) * 2020-05-18 2023-06-06 国网江苏省电力有限公司电力科学研究院 基于主成分分析和logistic回归的电缆老化状态评估方法和装置
AU2020472128B2 (en) * 2020-10-16 2023-11-30 Nippon Telegraph And Telephone Corporation Parameter estimation device, parameter estimation system, parameter estimation method, and program
CN114692133A (zh) * 2021-01-22 2022-07-01 支付宝(杭州)信息技术有限公司 一种程序运行方法及系统
CN112836211A (zh) * 2021-01-22 2021-05-25 支付宝(杭州)信息技术有限公司 一种程序运行方法及系统
CN112818337A (zh) * 2021-01-22 2021-05-18 支付宝(杭州)信息技术有限公司 一种程序运行方法及系统
CN112836210A (zh) * 2021-01-22 2021-05-25 支付宝(杭州)信息技术有限公司 一种程序运行方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5047198B2 (ja) 2008-01-21 2012-10-10 日本電信電話株式会社 秘密計算システム、秘密計算方法、秘密計算装置、検証装置、およびプログラム
JP5479838B2 (ja) 2009-10-06 2014-04-23 古河電工パワーシステムズ株式会社 電線用カバーおよび電線とカバーの防水構造
JP5772558B2 (ja) * 2011-12-12 2015-09-02 富士通株式会社 情報処理方法、プログラム及び装置
JP2014206696A (ja) * 2013-04-15 2014-10-30 株式会社インテック データ秘匿型内積計算システム、方法、及びプログラム
JP2015194959A (ja) * 2014-03-31 2015-11-05 ソニー株式会社 情報処理装置、情報処理方法及びプログラム

Also Published As

Publication number Publication date
WO2017119211A1 (ja) 2017-07-13
EP3401828A1 (en) 2018-11-14
US20180366227A1 (en) 2018-12-20
EP3401828B1 (en) 2020-05-06
EP3401828A4 (en) 2019-01-02
JPWO2017119211A1 (ja) 2018-10-25

Similar Documents

Publication Publication Date Title
JP6673367B2 (ja) 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
US11902413B2 (en) Secure machine learning analytics using homomorphic encryption
Rahulamathavan et al. Privacy-preserving multi-class support vector machine for outsourcing the data classification in cloud
Bansal et al. Privacy preserving back-propagation neural network learning over arbitrarily partitioned data
Fremdt et al. Testing the equality of covariance operators in functional samples
Masuda et al. Self-exciting point process modeling of conversation event sequences
CN110990871A (zh) 基于人工智能的机器学习模型训练方法、预测方法及装置
WO2022247620A1 (zh) 保护隐私的确定业务数据特征有效值的方法及装置
Kadison et al. A note on derivations of Murray–von Neumann algebras
Aljably et al. Anomaly detection over differential preserved privacy in online social networks
Tanneru et al. Quantifying uncertainty in natural language explanations of large language models
Khan et al. Vertical federated learning: A structured literature review
WO2023100720A1 (ja) 機械学習装置、機械学習システム、機械学習方法、および機械学習プログラム
JP2018055057A (ja) データ撹乱装置、方法及びプログラム
Sun et al. Differentially private AUC computation in vertical federated learning
Achar Data Privacy-Preservation: A Method of Machine Learning
JP6978385B2 (ja) 匿名化装置、匿名化方法及び匿名化プログラム
Hu et al. Inferring weighted directed association network from multivariate time series with a synthetic method of partial symbolic transfer entropy spectrum and granger causality
Guo et al. A privacy preserving Markov model for sequence classification
Ullah et al. Bayesian analysis of the weibull paired comparison model using numerical approximation
Darwish et al. Modelling the privacy impact of external knowledge for sensor data in the industrial internet of things
Ponte et al. Where’s Waldo? A framework for quantifying the privacy-utility trade-off in marketing applications
Su et al. Inferring infection rate based on observations in complex networks
Nguyen Duy et al. FedMSPC: A Federated Multivariate Statistical Process Control Framework For Privacy-Preserving Process Modeling Across Company Borders
Baruch et al. Fighting COVID-19 in the Dark: Methodology for Improved Inference Using Homomorphically Encrypted DNN

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191002

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200121

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200217

R151 Written notification of patent or utility model registration

Ref document number: 6673367

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151