居場所を隠すために差分プライバシーを使おう

35
居場所を隠すために 差分プライバシーを使う 中川裕志 (東京大学)

Upload: hiroshi-nakagawa

Post on 17-Nov-2014

1.456 views

Category:

Data & Analytics


0 download

DESCRIPTION

スマホなどの携帯端末のGPS機能によって、個人の居場所(ある時刻における滞在位置情報)を容易にアプリ提供業者が収集できます。そして、個人の居場所情報は様々なビジネスで有用な情報です。多数の業者が使いたい情報であり、収集した業者から第3の業者への転売も起こりえます。  しかし、このような情報を含む個人データのデータベース自体が転売されるとなると、悪用される危険がつきまといます。  データベース自体を転売するのではなく、データベースへの質問をさせ、統計情報を回答する使い方が安全で使いやすいかもしれません。データベース自体が時々刻々と変化しています からなおさらです。  そこでこのスライドでは、多数の人の滞在場所情報のデータベース質問への答えに雑音を加算してプライバシーを保護する差分プライバシー技術について最近の論文を紹介します。  膨大な滞在情報データベースを直接扱うのではなく、適宜、階層的に分割を繰り返し、GqadTreeやKD-treeという木構造にして雑音を加算しする方法と評価について説明しています。

TRANSCRIPT

Page 1: 居場所を隠すために差分プライバシーを使おう

居場所を隠すために 差分プライバシーを使う

中川裕志

(東京大学)

Page 2: 居場所を隠すために差分プライバシーを使おう

ビッグデータにおける 個人の居場所情報を巡る状況

• スマホなどの携帯端末のGPS機能によって、個人の居場所(ある時刻における滞在位置情報)を容易にアプリ提供業者が収集できます。

• 個人の居場所情報は様々なビジネスで有用な情報です。

• 多数の業者が使いたい情報であり、収集した業者から第3の業者への転売も起こりえます。

Page 3: 居場所を隠すために差分プライバシーを使おう

• EUでは個人の居場所は名前、住所などと同様の個人情報と見なされます。

• パーソナルデータ検討会の大綱(2014年6月19日発表)では、行動履歴や購買履歴は保護すべき個人情報から外れています。 – しかし、このような情報を含む個人データのデータベース自体が転売されるとなると、悪用される危険がつきまといます。

• データベース自体を転売するのではなく、データベースへの質問をさせる使い方が使いやすいかもしれません。

Page 4: 居場所を隠すために差分プライバシーを使おう

• データベース自体を転売するのではなく、データベースへの質問をさせる使い方が使いやすいかもしれません。

• 理由 – データベース自体が時々刻々と変化しています

– データベースを無理矢理改変しなくても、

• 質問への答えに雑音を加算する差分プライバシー

• 質問自体を許可するか否かの質問監査

– によって個人データの漏洩リスクを評価しやすく、「大綱」にいうところの「個人特定性の低減した」という部分の「低減」の度合いを評価しやすいようです

Page 5: 居場所を隠すために差分プライバシーを使おう

–データベースを無理矢理改変しなくても、 • 質問への答えに雑音を加算する差分プライバシー

–によって個人データの漏洩リスクを評価しやすく、「大綱」にいうところの「個人特定性の低減した」という部分の「低減」の度合いを評価しやすいと思われます。

• そこで、このスライドではデータベースへの質問に対して

• 個人の位置情報プライバシー(location privacy)を守る差分プライバシーの手法について説明します。

Page 6: 居場所を隠すために差分プライバシーを使おう

基本的アイデア データベース:D1 データベース:D2

質問 f:

このエリアに何人いますか?

回答: f(D1)=17人 回答: f(D2)=18人

これでは、 が1名余分に居ることが分かってしまうので、雑音(平均=0)を加算して質問者に回答します

回答: f(D1)+X=17+2=18人 回答: f(D2)+X’=18-2=16人

これらの答えでは、D1とD2の差が質問からは分かりません。 ですから、質問者には の存在の有無もわかりません。

Page 7: 居場所を隠すために差分プライバシーを使おう

質問される領域分割と雑音

• 上の図のように元の領域aをb、cに分割し、bをd,eに分割し....としていくと、下の木構造になります • a • b c • d e j k

• f g h i l m n o

• a,b,… ,kの各複合領域に入っている領域数、f,g,…,oの最小領域に入っている人数の各々に雑音を

加算します。

• 最小領域や複合領域のいる人数を質問されたときには、加算された雑音の効果で、本当の人数が分かりませんプライバシー保護

• 技術的には、 – どのように領域分割をするか – 設定されたプライバシー保護のレベルを達成するには、各複合領域にどのような大きさの雑音を加算するか

• が解決すべき問題になります

b c d

e

f g

n

m l j

k h a o

i

ちなみに、ある軸で分割するとき、その軸方向の中央値(データ数を半々の分ける点)を使う場合を

KD-treeと言います。

Page 8: 居場所を隠すために差分プライバシーを使おう

ここからは数式がでてきて難しくなります。

数学が好きでない方は ここで引き返すのもよいでしょう。

Page 9: 居場所を隠すために差分プライバシーを使おう

差分プライバシー

• D1とD2が質問では区別できない(実際はできにくい)ことを以下の式で表します。

• まず、質問結果𝑓 𝐷 に雑音Xを加算した値を𝑀 𝑓,𝐷 と書きます。 • 任意のD1とD2のペアについて下の式が成り立つときε-差分プライバシー(以下では、휀 − 𝐷𝑃 と書きます)が成り立つと定義します。

•𝑃𝑟 𝑀 𝑓,𝐷1

𝑃𝑟 𝑀 𝑓,𝐷2≤ 𝑒𝜀

• 雑音Xは期待値=0,パラメタ=σのラプラス分布

𝐿𝑎𝑝 𝑥; 𝜎 =1

2𝜎𝑒𝑥𝑝 −

𝑥

𝜎で、σは以下のようにして決めます。

– なお、このラプラス分布の分散は2𝜎 2

• ∆𝑓 = 𝑚𝑎𝑥𝐷1,𝐷2 𝑓 𝐷1 − 𝑓 𝐷2 1 これをsensitivityと呼びます。

• 𝜎 =∆𝑓

𝜀

• 実際は、 ∆𝑓の計算はデータベースの各レコードについて、それが無かった場合を調べなければならず、計算量が大きいのです。

Page 10: 居場所を隠すために差分プライバシーを使おう

居場所のプライバシーを “領域分割+差分プライバシー” で実現するとき重要になる定理

• 領域分割の階層𝑖でラプラス分布の雑音加算し휀𝑖 − 𝐷𝑃 が成立させると、全体で𝑛階層あるとき、

• 全体での휀 − 𝐷𝑃と各階層の휀𝑖 − 𝐷𝑃の間に以下の関係が成り立つ。

• 휀 = 휀𝑖𝑛𝑖=1 --(1)

• つまり、全体として達成したい휀を各階層の휀𝑖に分割して総和が휀になるように設計すればよいわけです。

• 휀が大きいほど加算すべき雑音が大きくなり、回答の精度が落ちることに気をつけましょう。

. . . . . . .

i=1 휀1

i=n 휀𝑛

휀 = 휀𝑖𝑛

𝑖=1

Page 11: 居場所を隠すために差分プライバシーを使おう

휀 − 𝐷𝑃 の合成定理 • 前のページの式(1)は以下に示す휀 − 𝐷𝑃 の合成定理の繰り返しによって得られます。 ℕは正の整数全体を表します。

• 定理: • Χをレコード全体の集合とする。よって Χ はデータベース中のレコード数 • 𝑅1,𝑅2はレコードであり、𝑀1:ℕ

Χ → 𝑅1、 𝑀2:ℕΧ → 𝑅2は各々휀1 − 𝐷𝑃、

휀2 − 𝐷𝑃を満たす雑音加算メカニズムとする。

• 𝑀1,2:ℕΧ → 𝑅1 × 𝑅2 、つまり𝑀1、 𝑀2を直列に適用する写像とする。この

とき、 • 𝑴𝟏,𝟐 𝒙 = 𝑴𝟏 𝒙 ,𝑴𝟐 𝒙 は(𝜺𝟏 + 𝜺𝟐)−𝑫𝑷 である。

• 証明

• 𝑥, 𝑦 ∈ ℕ 𝑋 であり、 𝑥 − 𝑦 1 ≤ 1とし、 𝑟1, 𝑟2 ∈ 𝑅1, 𝑅 すると、

•𝑃𝑟 𝑀1,2 𝑥 = 𝑟1,𝑟2

𝑃𝑟 𝑀1,2 𝑥 = 𝑟1,𝑟2=𝑃𝑟 𝑀1 𝑥 =𝑟1

𝑃𝑟 𝑀1 𝑦 =𝑟1

𝑃𝑟 𝑀2 𝑥 =𝑟2

𝑃𝑟 𝑀2 𝑦 =𝑟2≤ 𝑒𝜀1 𝑒𝜀2= 𝑒𝜀1+𝜀2

• 対称性により𝑃𝑟 𝑀1,2 𝑥 = 𝑟1,𝑟2

𝑃𝑟 𝑀1,2 𝑥 = 𝑟1,𝑟2≥ 𝑒− 𝜀1+𝜀2 □

Page 12: 居場所を隠すために差分プライバシーを使おう

• 補遺:

• より一般に、下の式を満たす 휀, 𝛿 − 𝐷𝑃となると定理の証明はかなり難しいです。

• 휀, 𝛿 − 𝐷𝑃: 𝑃𝑟 𝑀 𝑓, 𝐷1 ≤ 𝑒𝜀𝑃𝑟 𝑀 𝑓, 𝐷2 + 𝛿

– “The Algorithmic Foundations of Differential Privacy” Foundations and Trends R in Theoretical Computer Science, Vol. 9, Nos. 3–4 (2013) 211–407, Dwork and A. Roth, DOI: 10.1561/0400000042 の pp.477-478 に証明が書かれています。

Page 13: 居場所を隠すために差分プライバシーを使おう

휀, 𝛿 − 𝐷𝑃 の合成定理

• 𝑀1 𝐷 ∈ 𝐶1は 휀1, 𝛿1 − 𝐷𝑃を満たす雑音加算メカニズム

• 𝑀1 𝐷 の結果𝑠1 ∈ 𝐶1を別の 휀2𝛿2 − 𝐷𝑃である雑音加算メカニズム𝑀2の入力に使い、 𝑀2 𝑠1 ∈ 𝐶2

• このとき、任意の1レコードだけ異なる隣接データベース𝐷,𝐷′

に対して

• 𝑃𝑟 𝑀1 𝐷 ∈ 𝐶1⋀ 𝑀2 𝑠1 ∈ 𝐶2 ≤ 𝑒𝜀1+𝜀2 𝑃𝑟 𝑀1 𝐷′ ∈ 𝐶1⋀ 𝑀2 𝑠′1 ∈ 𝐶2 + 𝛿1 + 𝛿2

– 𝛿1 = 𝛿2= 0のときには휀 − 𝐷𝑃の合成定理となる。

Page 14: 居場所を隠すために差分プライバシーを使おう

Differential Privacy for Location Pattern Mining

• 以下ではまず Ho and Ruan の上記タイトルの論文を紹介します。定義の説明から開始します。

を含む領域より多い滞留点た値の     予め決まっ

において、集合重要領域:移動履歴の

の中心点に対応  下の図の大きな円中心        円の

いたときの、の円の中にとどまってが半径        

たって以上の長さの期間にわとは、滞留点

移動履歴:

=滞在時刻=緯度=経度     ただし、

とする。滞在地点:

point)stay (

,,

,

T:point)stay (

,,,

,,,

,,

1

21

1

r

trajtrajTJ

yx

traj

ppptraj

tttyx

tyxp

ksk

ki

kiki

iiiii

iiii

2δ ),,( iii tyx

Ttttyx ikikikiki ただし、),,(

r’以上とい

う多数人が滞留している領域

Page 15: 居場所を隠すために差分プライバシーを使おう

居場所が差分プライバシーで保護されていないと

• 太郎の居場所(緯度、経度)が差分プライバシーの雑音加算されずに、正確に知られてしまうと、

• 太郎がopt-outする以前と以後の太郎を含む数名の居た領域がAからA’に変化してしまい

• 結果として、太郎がA-A’に居たことが漏洩してしい、かえって危険なことになります。

A A‘

太郎がopt-out

太郎が居た領域

Page 16: 居場所を隠すために差分プライバシーを使おう

QuadTree(領域4分割木)に基づく 差分プライバシーのアルゴリズム

• 入力:滞留点の集合S, 平面領域R,閾値T

• 出力:分割された領域の集合P, Spの部分集合の集合

• 初期化: P={},Sp={}

• BuildDPQuadTree(S,R,T)

1. S’=|S|+Lap(σqt)

2. if S’>T then

3. if S’≤3T then

4. P=P∪{R};Sp=Sp ∪{S};

5. return

6. else

7. Split:Rを4個の領域に分割してBuildDPQuadTreeを

再帰呼び出し

8. end if

9. else P=P;Sp=Sp;

10. return

11. end if

Page 17: 居場所を隠すために差分プライバシーを使おう

アルゴリズムの補遺と説明 • 入力Pはこれからアルゴリズムを適用する対象領域です。

• QuadTree: 右図のような階層的に4分割されていく木。

• 左上大きな をRとすると、その4分割領域はRnw,Rne,Rsw,Rseとなる。

• その内部の滞留点集合をSnw,Sne,Ssw,Sseとする

Rnw

Rsw

Rne

Rse

これらの4個の領域に対してline 7. では BuildDPQuadTree (Rnw,Snw,T); BuildDPQuadTree (Rne,Sne,T);

BuildDPQuadTree (Rsw,Ssw,T); BuildDPQuadTree (Rse,Sse,T) ;

を再帰的に呼んでいます。

line 1, line 2によれば、領域中のデータ点数+ Lap(σqt) 雑音がT個以下の場合は分割せず、そのまま結果領域とする。

line 4, line 5の終了条件によれば、最も細分された4分割領域に入っているデータ点数+Lap雑音=|S|+Lap(σqt)は T< |S|+Lap(σqt)<3T となる。

Page 18: 居場所を隠すために差分プライバシーを使おう

アルゴリズムの補遺と説明

• T< |S|+Lap(σqt)<3T という条件から、4分割領域中のデータ数のsensitibity

∆𝑓 = 𝑚𝑎𝑥𝐷1,𝐷2 𝑓 𝐷1 − 𝑓 𝐷2 1

に対応する∆𝑓𝑞𝑡 = 3T

• ∆𝑓𝑞𝑡は分割の任意のレベルにおける全分割領域における滞留点数の固定された上界です。 – ∆𝑓𝑞𝑡 が固定されているので、計算が楽になっています。

• よってラプラス分布Lap 𝜎𝑞𝑡 のパラメタ𝜎𝑞𝑡 =∆𝑓𝑞𝑡

𝜀𝑞𝑡=3

𝜀𝑞𝑡 ただし、휀𝑞𝑡はこ

の分割レベルに割り振当てられた差分プライバシーの量:휀𝑞𝑡-DP

Page 19: 居場所を隠すために差分プライバシーを使おう

差分プライバシーを満たす 重要領域の抽出アルゴリズム

• 入力:処理の対象領域Pにおける滞留点の集合Sp={S1,…,Sk},閾値r’

• 出力:重要地点(すなわち領域の重心)I, I中の滞留点の数

1. 初期化: I={};Cts’=0;Cg=(0,0);

2. for i=1 to k do

3. CL=DBSCAN(Si): 実際はCL={R1,…,Rl}で、 Ri はDBSCANで作ら

4. れたクラスタ。クラスタRi内の点は{Lat(i),Lon(i)}つまり緯度と経度の組

5. for j=1 to |CL| do

6. Cts’=|Rj|+Lap(𝜎𝑗cts): クラスタRj 内の滞留点の数+Lap雑音

7. if Cts’ > r’ then

8. Cgj= 𝐿𝑎𝑡𝑘,𝐿𝑜𝑛𝑘|R𝑗|𝑘=1

R𝑗: r’より多数の地点を含むクラスタの重心計算

9. Cg’=Cgj+Lap(𝜎𝑗cg) : Lap雑音加算(コメント:Cgjは経度、緯度の2要素が あるので、各々に別の雑音を加算すべきかも。後で詳しく述べる)

10. I=I∪{Cg’}; C=C ∪{Cts’}

11. end if

12. Cts’=0, Cg’=(0,0); r’以下の地点しか含まないクラスタのカウントは0にする

13. end for

14. end for

Page 20: 居場所を隠すために差分プライバシーを使おう

アルゴリズムの補遺と説明 • DBSCANは文献[Ester et al. KDD 1996]で提案された点密度の高さに基づくクラスタ抽出(=近い点を集めたもの)を行うモジュールです。抽出されたクラスタはRiです。 – クラスタRi内の点は{Lat(i),Lon(i)}つまり経度と緯度と組です

• line 6: クラスタRj内の滞留点の数を|Rj|とします。これに分散𝜎𝑗ctsのラプラス分布から生成された雑音Lap(𝜎𝑗cts)を加算し、Cts’とします。

• line 7,8,9: Cts’が予め与えられた閾値r’より大きい、つまり多数の滞留点を含むクラスタなら、その重心Cgj’を計算します。

• line 9: Cgj’の経度成分と緯度成分の各々に分散𝜎𝑗cgのラプラス分布から生成された雑音Lap(𝜎𝑗cg)を加算し、Cg’とします。

• このようにして計算されたCg’の集合I、およびIの要素であるクラスタ内の滞留点数(雑音が加算されています)を結果とします。

Page 21: 居場所を隠すために差分プライバシーを使おう

クラスタRjに加算するラプラス雑音の分散

• クラスタRjのsensitivityは下の式のように与えられます。

• ∆𝑓𝑗𝑐𝑡𝑠= 𝑚𝑎𝑥𝑖∈𝐷# 𝑠 ∈ 𝑅𝑗|𝑠は個人𝑖の滞留点

– Dはデータベース内全個人の集合、 Rjはクラスタj内の滞留点の集合

– つまり、∆𝑓𝑗𝑐𝑡𝑠はline 4のDBSCANの結果として出力し

たクラスタに対する滞留点の個数の最大値

• よって、雑音を生成するラプラス分布Lap(𝜎𝑗cts)

の分散𝜎𝑗cts=∆𝑓𝑗𝑐𝑡𝑠𝜀𝑐𝑡𝑠

Page 22: 居場所を隠すために差分プライバシーを使おう

重心Cgに加算するラプラス雑音の分散

• クラスタCgの重心のsensitivityは下の式のように与えられます。

• ∆𝑓𝑗𝑐𝑔= クラスタ𝑗内の2点間距離の最大値/2

– 私のコメント:論文ではこのように書いてあるが、重心は経度、緯度の2成分からなるので、正確には以下のようなことかもしれない。

– ∆𝑓𝑗𝑐𝑔(経度) = クラスタ𝑗内の2点間経度方向距離の最大値/2

– ∆𝑓𝑗𝑐𝑔(緯度) = クラスタ𝑗内の2点間緯度方向距離の最大値/2

• よって、経度、緯度の各々に加算する雑音を生成するラプラス分布は

– Lap(𝜎𝑗cg(経度))の分散𝜎𝑗cg(経度)=∆𝑓𝑗𝑐𝑔(経度)

𝜀𝑐𝑡𝑠−𝑙𝑎𝑡

– Lap(𝜎𝑗cg(緯度))の分散𝜎𝑗cg(緯度)=∆𝑓𝑗𝑐𝑔(緯度)

𝜀𝑐𝑡𝑠−𝑙𝑜𝑛

Page 23: 居場所を隠すために差分プライバシーを使おう

全体に加算するラプラス雑音の分散

• 휀-DPの合成定理 휀 = 휀𝑖𝑛𝑖=1 より

• 最終結果に加算する雑音を生成するラプラス分布の分散を生成する휀たちには以下の関係が成り立つ – ℎはQuadTreeにおける分割の回数(=4分木の高さ)とすると

• 閾値r’以下の個数の滞留点しか含まないクラスタでは

– 휀 = 휀𝑐𝑡𝑠 + 휀𝑞𝑡ℎ𝑖=1

• 閾値r’より多い滞留点を含むクラスタでは

– 휀 = 휀𝑐𝑔 経度 + 휀𝑐𝑔 緯度 + 휀𝑐𝑡𝑠 + 휀𝑞𝑡ℎ𝑖=1

Page 24: 居場所を隠すために差分プライバシーを使おう

評価 • Ho and Ruan論文では • 100x50の領域に5000データ点がランダムに存在する場合、閾値r’=500 のシミュレーションをしたとき、 • 휀𝑞𝑡=5で以下のような結果を得ている

– 個々の領域中の滞留点個数に関して、差分プライバシー(雑音加算)を適用した場合としない場合の差の絶対値の平均:Mt=300

– 個々の領域の重心に関して差分プライバシー(雑音加算)を適用した場合としない場合の差の絶対値の平均:Mg=7

– QuadTreeの各領域で加算する雑音は大きく精度を劣化させる – 差分プライバシーによって正しい重要点が捉えられた割合(True Positive Rate:TPR)=0.9 – 差分プライバシーによって見逃した需要点の割合(False Negative Rate:FNR)=0.2

• 휀𝑐𝑡𝑠=1で以下のような結果を得ている – Mt=340, TPR=0.88, FNR=0.12

• 휀𝑐𝑔=1で Mg=5 • 出力への雑音加算による精度劣化小さい

• 一般的傾向としては휀を大きくしてプライバシー保護性能を下げると精度が改善さ

れる。

Page 25: 居場所を隠すために差分プライバシーを使おう

Differentially Private Spatial Decompositions

• 以下では、Cormode, et al.の上記タイトルの論文(ICDE2012)についてサマリーをします。

• 空間分割をQuadTree、KD-tree、Hilbert-R-treeなどで行った場合に、treeの各ノードの配下の部分木含まれるデータ数に雑音加算する差分プライバシーの性能について調べている論文です。 – QuadTreeはデータの分布と独立に分割法が決まります。 – KD-treeはデータの分布に依存して分割法がきまります。(領域中の分割する方向の軸で中央値を分割面にしますから)

• QuadTreeの分割例を次のスライドに示します。

Page 26: 居場所を隠すために差分プライバシーを使おう

QuadTreeの分割例 7

3 2 0 2

1 0 1 1 0 0 0 0 0 0 0 2 0 0 0 2

• 左の領域分割QuadTreeを上に示します。

• ○の中の数はその○の支配下にある領域中のデータ数の総和です。

• 実際は、この○の中の数そのものではなく、雑音を加算したものを出力します。例えば、2行目の4つは(3,2,0,2)ではなく雑音(-1,2,-1,-1)を加算して(2,5,-1,1)にします。

Page 27: 居場所を隠すために差分プライバシーを使おう

準備:評価法

• 質問qに対して差分プライバシーのメカニズムを用いて得た答えQ は、期待値=0の雑音が加算されています。

• そこで、qの回答Qの誤差尺度𝐸𝑟𝑟 𝑄 = 𝑉𝑎𝑟 𝑄 : Q の分散とします。

• 階層毎(i=1,..,s)に雑音が加算されQ 1,…, Q sが得られた場合は、 𝐸𝑟𝑟 𝑄 = 𝐸𝑟𝑟 𝑄𝑖 𝑠

𝑠𝑖=1 となります。

• treeの深さ方向のインデクスはiとし、treeの高さをhとします。

• 回答Q が含む深さiのノード数をniとします。すると、 Q に関与するノード数𝑛 𝑄 = 𝑛𝑖

𝑠𝑖=1 となります。

Page 28: 居場所を隠すために差分プライバシーを使おう

𝑛 𝑄 の評価

• 回答Qが含む深さiのノード数をniとします。すると、Qに関与するノード数𝑛 𝑄 = 𝑛𝑖

𝑠𝑖=1 となり

ます。 • QuadTreeの場合

– 𝑛𝑖 ≤ 8 ∙ 2ℎ−𝑖 ---(q1)

– 𝑛 𝑄 ≤ 8 2ℎ+1 − 1 = 𝑂 4ℎ/2

• KD-treeの場合 – 𝑛𝑖 ≤ 8 ∙ 2

ℎ−𝑖+1 /2 ,

– 𝑛 𝑄 ≤ 8 2 ℎ+1 /2 +1 − 1 = 𝑂 2ℎ/2

Page 29: 居場所を隠すために差分プライバシーを使おう

휀の配分

• 雑音がラプラス分布Lapの場合について検討します。

– パラメタ휀𝑖のラプラス分布の分散は𝑉𝑎𝑟 𝐿𝑎𝑝 휀𝑖 =2

𝜀𝑖2

𝐸𝑟𝑟 𝑄 = 2𝑛𝑖 휀𝑖2 ℎ

𝑖=0 (1)

– この定義から分かるようにtreeの高さが大きくなると、各レベルでの 휀𝑖 が小さくなって、h個加算されるため、誤差𝐸𝑟𝑟 𝑄 が大きくなります。

– つまり、レベル毎に小さな휀𝑖で保護性能を高めるため、精度が劣化することになってしまうわけです。

Page 30: 居場所を隠すために差分プライバシーを使おう

휀の配分:QuadTreeにおける均等分配

–以下では簡単のためにQuadtreeの場合の結果を示す。

• 均等分配

–データ全体に対する휀をQuadTreeの各レベルに均等分配すると、휀𝑖 = 휀 ℎ + 1 となり、そのときの誤

差は

𝐸𝑟𝑟 𝑄 =2 ℎ+1 2

𝜀2 𝑛𝑖ℎ𝑖=0 ≤

16

𝜀2ℎ + 1 2 2ℎ+1 − 1

–証明は原論文を読んで欲しいのですが、結果は𝑂 ℎ2 ∙ 2ℎ なのでうれしくないものです。

Page 31: 居場所を隠すために差分プライバシーを使おう

휀の配分:QuadTreeにおける傾斜配分 • 傾斜配分

– そこで휀𝑖を𝑖によって変化させて 𝐸𝑟𝑟 𝑄 を最小化する方法を考えてみます。

– QuadTreeの𝑛𝑖 ≤ 8 ∙ 2ℎ−𝑖 ---(q1)を𝐸𝑟𝑟 𝑄 に代入して最小化する問題と

して定式化します。 – ただし、휀を各レベルに分配しているという制約条件がつきます。

• 最適化問題 Minimize 2ℎ−𝑖 휀𝑖2 ℎ

𝑖=0 Subject to 휀𝑖

ℎ𝑖=0 = ε

– この最適化問題における𝐸𝑟𝑟 𝑄 の上界は以下で与えられます。

– 𝐸𝑟𝑟 𝑄 ≤16 2 ℎ+1 /3−1

3

𝜀2 2−13 3 ≤

2ℎ+7

𝜀2

– ただし、上界は 휀𝑖 = 2ℎ−𝑖 /3휀

2−13

2 ℎ+1 /3−1 のとき

– 𝑖が大きくなるにつれて2−𝑖に比例して小さくなるという휀𝑖の傾斜配分が良いのです。末端の小さな領域ほど、 휀𝑖が小さくなりプライバシー保護が厳重になるというのは、直感にもあっています。

Page 32: 居場所を隠すために差分プライバシーを使おう

最適化問題の上界の証明

• 証明は以下のようにCauchy-Schwarzの不等式を使うことが分かれば簡単です。

• 휀𝑖ℎ𝑖=0 2ℎ−1 휀𝑖

2 ℎ𝑖=0 ≥

𝜀𝑖2ℎ−𝑖

𝜀𝑖2

ℎ𝑖=0

2

• 等式が成立するのは定数Cを使うと휀𝑖 = 𝐶 2ℎ−1 휀𝑖

2 つまり휀𝑖 = 𝐶

32 ℎ−𝑖 3 のときであり、

• 휀𝑖ℎ𝑖=0 = ε を使うと、 𝐶

3=𝜀 23−1

2 ℎ+1 3 −1 となり、 𝐸𝑟𝑟 𝑄

の上界 16 2 ℎ+1 /3−1

3

𝜀2 2−13 3 が求まります。

Page 33: 居場所を隠すために差分プライバシーを使おう

論文ではそのほかに以下のような提案も書かれています

• 分割された領域におけるデータ数だけで휀 −差分プライバシーを実現するのではなく、最終的な回答にも雑音を乗せると誤差はより小さくできる。 – このことは、QuadTreeに限れば、直前に紹介したHo and Ruan の論文ではすでに取り入れられています。

• KD-treeの場合は領域分割境界を領域内の中央値(median)にしますが、中央値に雑音加算した場合の分析がしてあります。 – Medianに加算する雑音と領域内のデータ個数に加算する雑音との関係についても述べています。

• やや詳細に過ぎるので、(ここまでもだいぶ詳細過ぎかも )、興味のある方は原論文にあたってください。

Page 34: 居場所を隠すために差分プライバシーを使おう

まとめ

• 多数の個人の滞在場所情報を含むデータベースの利用において、

• そのデータベースの統計量を質問するような場合に、個人情報を保護する方法として휀 −差分プライバシーを使う方法を紹介しました。 – QuadtreeやKD-treeという領域分割法において分割境界線に雑音を加算する方法

– 領域内部のデータ数に雑音を加算する方法 – その両者を組み合わせて휀 − 𝐷𝑃 を実現する方法の性能評価の話が主な話題でした。

• 居場所に係わるプライバシー情報の重要度は高く、このようなプライバシー保護技術はかなり有用なものになりそうです。

Page 35: 居場所を隠すために差分プライバシーを使おう

参考文献

• Shen-Shyang Ho, Shuhua Ruan. Differential Privacy for Location Pattern Mining. ACM SPRINGL ’11 November 1, 2011. Chicago, IL, USA ISBN 978-1-4503-1032-1/11/11

• Martin Ester, Hans-Peter Kriegel, JZrg Sander and Xiaowei Xu, A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise, KDD, pp. 226-231, 1996.

• Graham Cormode, Magda Procopiuc, Divesh Srivastava, Entong Shen, Ting Yu. Differentially Private Spatial Decompositions. ICDE2012, 2012