Tải bản đầy đủ (.pdf) (44 trang)

Ứng dụng differential privacy trong các thuật toán học máy

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (762.48 KB, 44 trang )

Mục lục
Danh mục từ viết tắt

1

Danh mục hình vẽ và bảng

1

Lời nói đầu

3

1

Differential Privacy.

5

1.1

Định nghĩa Differential Privacy. . . . . . . . . . . . . . . . .

6

1.2

Ví dụ về mơ hình Differential Privacy. . . . . . . . . . . . . .

8


1.3

Cơ chế Laplace. . . . . . . . . . . . . . . . . . . . . . . . . .

9

1.4

Cơ chế mũ. . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.5

Tương quan giữa hiệu năng và an tồn của thuật tốn Differential Privacy. . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2

Differential Privacy với thuật toán rừng ngẫu nhiên.
2.1

2.2
3

Thuật toán rừng ngẫu nhiên thoả mãn DP cho bài toán phân lớp. 15
2.1.1

Nội dung thuật toán. . . . . . . . . . . . . . . . . . . 15

2.1.2

Kết quả phân lớp trên bộ dữ liệu iris và NYC taxi. . . . 19


Thuật toán rừng ngẫu nhiên thoả mãn DP cho bài toán hồi quy. 20

Phương pháp mẫu ngẫu nhiên và tổng hợp.
3.1

14

23

Độ nhạy cảm trơn. . . . . . . . . . . . . . . . . . . . . . . . . 23


4

3.2

Hiệu chỉnh nhiễu. . . . . . . . . . . . . . . . . . . . . . . . . 26

3.3

Tính tốn độ nhạy cảm trơn. . . . . . . . . . . . . . . . . . . 28

3.4

Lấy mẫu ngẫu nhiên và tổng hợp kết quả với rừng ngẫu nhiên.

3.5

Lấy mẫu ngẫu nhiên và tổng hợp kết quả với XGboost. . . . . 31


Ứng dụng của Differential Privacy trong các thuật toán khác.

29

33

4.1

Thuật toán DBSCAN đảm bảo Differential Privacy. . . . . . . 33

4.2

Differential Privacy trong học sâu. . . . . . . . . . . . . . . . 35
4.2.1

Thuật toán hướng giảm gradient ngẫu nhiên đảm bảo
DP. . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.2.2

Phân tích thuật tốn SGD. . . . . . . . . . . . . . . . 36

Kết luận.

40

Tài liệu tham khảo.

41



Danh mục từ viết tắt
DP Riêng tư vi phân - Differential Privacy
RF Thuật toán rừng ngẫu nhiên - Random Forest
SGD Thuật toán hướng giảm nhanh nhất ngẫu nhiên - Stochastic Gradient
Decent

1


Danh mục hình vẽ và bảng
1.1

Ảnh hưởng của ε đối với kết quả phân lớp. . . . . . . . . . . . 13

2.1

Hiệu năng của 3 thuật toán random forest trên bộ dữ liệu iris
dataset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.2

Hiệu năng phụ thuộc vào giá trị của ε otrên bộ dữ liệu iris. . 20

2.3

Hiệu năng phụ thuộc vào ε trên bộ dữ liệu NYC taxi. . . . . . 21

2.4


So sánh hàm MSE and R2 trên bộ dữ liệu Boston and NYC
Taxi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.1

Giá trị hàm MSE and R2 theo số mẫu ngẫu nhiên sử dụng RF. . 31

3.2

Giá trị hàm log MSE and R2 theo giá trị của ε sử dụng RF. . . 32

3.3

Giá trị hàm MSE and R2 theo số mẫu ngẫu nhiên sử dụng
XGboost. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.4

Giá trị hàm log MSE and R2 theo giá trị của ε sử dụng XGboost. 32

2


Lời nói đầu
Từ việc tham khảo các nghiên cứu gần đây, tác giả nhận thấy rằng có 4
phương pháp chính để đạt được Differential Privacy. Về cơ bản, cả 4 phương
pháp đều có cùng cơ chế tạo DP là thêm nhiễu vào q trình thực thi thuật
tốn nhưng khác nhau ở vị trí thêm nhiễu. Phương pháp đầu tiên là xáo trộn
đầu vào (Input perturbation) bằng cách thêm trực tiếp nhiễu thống kê vào dữ

liệu thơ ban đầu, từ đó tạo ra dữ liệu tổng hợp (Synthetic data) có thể dùng
để phân tích bằng các thuật tốn học máy thơng thường. Phương pháp thứ 2
và thứ 3 lần lượt là sử dụng cơ chế hàm mũ (Exponential mechanism) và xáo
trộn hàm mục tiêu (Objective perturbation) nhằm đảo bảo quá trình học trong
thuật toán học máy thoả mãn DP. Phương pháp cuối cùng là xáo trộn đầu ra
(Output perturbation) bằng cách thêm nhiễu vào đầu ra nhằm ngăn chặn các
phương pháp thu thập thông tin thông qua giải mã ngược, thống kê trên đầu
ra.
Với luận văn này, tác giả tập trung vào phương pháp thêm nhiễu vào quá
trình học của các thuật tốn học máy, thể hiện nó thơng qua thuật toán rừng
ngẫu nhiên và phương pháp xáo trộn đầu ra, thể hiện nó thơng qua kỹ thuật
mẫu ngẫu nhiên và tổng hợp kết quả. Để tạo ra thuật toán rừng ngẫu nhiên
thoả mãn DP, đầu tiên tác giả xây dựng lại thuật toán rừng ngẫu nhiên, sử
dụng Sklearn và bộ dữ liệu Iris để đánh giá độ chính xác phân lớp của thuật
3


tốn. Sau đó, tác giả tiến hành thêm nhiễu thống kê vào q trình thuật tốn
xây dựng cây phân loại nhằm tạo ra kết quả phân lớp thoả mãn DP. Với đầu
ra mới này, chúng tôi tiếp tục sử dụng Sklearn để đánh giá độ chính xác của
kết quả phân lớp và cuối cùng là áp dụng thuật toán rừng ngẫu nhiên phiên
bản DP vào bộ dữ liệu hành trình NYC taxi dataset. Đối với bài toán hồi quy,
nhiễu Laplace có tính chất thích nghi được thêm ở đầu ra của thuật toán rừng
ngẫu nhiên hoặc XGboost.
Luận văn gồm 4 chương với nội dung:
• Chương 1: Lý thuyết và các định lý liên quan đến khái niệm DP.
• Chương 2: Cài đặt DP vào thuật tốn rừng ngẫu nhiên.
• Chương 3: Giải quyết bài toán hồi quy với thuật toán rừng ngẫu nhiên
sử dụng kỹ thuật lấy mẫu ngẫu nhiên và tổng hợp kết quả.
• Chương 4: Thảo luận các thuận tốn khác có cài đặt DP.

Luận văn được hồn thành trong chương trình Thạc sĩ Khoa học ngành
Tốn tin tại Viện Toán ứng dụng và Tin học, Đại học Bách Khoa Hà Nội dưới
sự hướng dẫn của PGS. TS. Đỗ Đức Thuận.
Mặc dù được hoàn thành với nhiều cố gắng nhưng do những hạn chế về
thời gian và kinh nghiệm, luận văn này không thể tránh khỏi những sai sót.
Tác giả rất mong nhận được những ý kiến đóng góp q báu từ thầy cơ và các
bạn học viên để luận văn được hoàn thiện hơn nữa.

4


Chương 1

Differential Privacy.
Lý thuyết về Differential Privacy (riêng tư vi phân) được đưa ra lần đầu
tiên bởi Dwork [1], cung cấp mơ hình thống kê nhằm bảo vệ dữ liệu riêng tư
của một cá nhân trong q trình cơng khai một số thông tin khác của họ nhằm
phục vụ mục đích nghiên cứu. Ngun lý hoạt động của mơ hình dựa trên việc
đảm bảo rằng bất kỳ thơng tin ngồi lề (so với dữ liệu được công bố) được sử
dụng trong đầu vào của một thuật toán thống kê bất kỳ, với mục đích xác định
danh tính người dùng, sẽ không làm thay đổi đáng kể đầu ra của thuật tốn
đó, so với dữ liệu ban đầu.
Sau một số vụ rị rỉ thơng tin khách hàng đến từ việc tin tặc kết hợp nhiều
nguồn dữ liệu khác nhau [2], các ứng dụng của Differential Privacy gần đây
được các nhà khoa học quan tâm nghiên cứu, đặc biệt là các công ty thu thập
và công bố dữ liệu lớn của người dùng như Grab, Google, Netflix.
Một số ưu điểm của Differtial Privacy có thể kể đến như:
1. Khơng phụ thuộc vào một kịch bản tấn công cụ thể nào của tin tặc,
phân tích mức độ an tồn dựa trên trường hợp xấu nhất (the worst-case
analysis).

2. Ngăn chặn tấn công liên kết dữ liệu.
5


3. Đánh giá lượng thơng tin rị rỉ (privacy loss).
4. Ngăn chặn rủi ro hậu xử lý (dữ liệu đầu ra của một thuật tốn học máy
có trang bị Differential Privacy khơng làm tăng tính rủi ro để lộ thơng
tin cá nhân so với dữ liệu đầu vào).

1.1

Định nghĩa Differential Privacy.

Trước khi đi vào định nghĩa của Differential Privacy, ta cần mơ hình hố
khơng gian dữ liệu.
Định nghĩa 1.1. Cho tập vũ trụ X gồm tất cả các bản ghi. Một bộ dữ liệu
x là vector của không gian N|X | , trong đó xi là số lượng bản ghi loại i chứa
trong x.
Tiếp theo, ta cần định nghĩa khoảng cách giữa hai bộ dữ liệu trong không
gian dữ liệu.
Định nghĩa 1.2. Khoảng cách giữa hai bộ dữ liệu x, y ∈ N|X | được xác định
thông qua chuẩn l1 :
|X |

d(x, y) = ∥x − y∥1 =

∑ |xi − yi|

i=1


Dễ thấy rằng khoảng cách giữa hai bộ dữ liệu x, y ∈ N|X | bằng khoảng
cách Hamming giữa chúng (số bản ghi khác nhau giữa hai bộ dữ liệu). Khi
đó, hai dữ liệu x, y được gọi là hàng xóm nếu chúng sai khác nhau đúng 1 bản
ghi.
Differential Privacy cung cấp lý thuyết toán học chặt chẽ giúp ta lượng
hố rủi ro rị rỉ dữ liệu riêng tư.

6


Định nghĩa 1.3. Thuật toán ngẫu nhiên M là (ε, δ )–DP nếu với mọi đầu ra
O của M , và với mọi đầu vào hàng xóm D, D′ ,
Pr[M (D) = O] ≤ exp(ε)Pr[M (D′ ) = O] + δ .
Trong trường hợp δ = 0, thuật toán ngẫu nhiên M được gọi là thuần tuý
Differential Privacy. Xét bất kỳ một thuật toán thuần tuý Differential Privacy,
với ε rất bé, dễ thấy rằng xác suất quan sát được một đầu ra bất kỳ gần như
giống nhau đối với các dữ liệu đầu vào hàng xóm. Từ đó, đảm bảo khơng thể
xác định chính xác một cá nhân bất kỳ từ tập dữ liệu hàng xóm của nó theo
nghĩa xác suất.
Trong luận văn này, chúng tôi chỉ tập trung khai thác các thuật tốn thuần
t Differential Privacy.
Một trong những tính chất quan trọng của thuật toán đảm bảo DP là cho
dù ta tác động một thuật toán tuỳ ý vào kết quả đầu ra của thuật tốn ban đầu
thì kết quả cuối cùng vẫn đảm bảo DP. Qua đó ngặn chặn việc khai thác thông
tin thông qua xử lý hậu kỳ kết quả.
Định lý 1.1. Giả sử A1 là thuật tốn thoả mãn ε–DP, khi đó với mọi thuật
tốn A2 , hợp của chúng là A2 (A1 ) vẫn thoả mãn ε–DP.
Chứng minh. Gọi D, D′ là hai dữ liệu hàng xóm, S là tập hợp đầu ra của
A1 và t là một đầu ra tuỳ ý của thuật toán A2 . Khi đó:
Pr [A2 (A1 (D)) = t] =


∑ Pr[A1(D) = s]Pr[A2(s) = t]
s∈S



∑ exp(ε)Pr[A1(D′) = s]Pr[A2(s) = t]
s∈S

= exp(ε)Pr A2 (A1 (D′ )) = t
Trong định lý trên thuật tốn A2 khơng có quyền truy cập vào đầu vào D
của A1 . Trong trường hợp chúng ta sử dụng kết hợp cho nhiều thuật toán DP
7


có tham số khả năng bảo vệ thơng tin riêng tư ε khác nhau với cùng một đầu
vào, thì định lý sau khẳng định thuật toán tổng hợp của chúng vẫn đảm bảo
DP.
Định lý 1.2. Giả sử A1 là thuật toán thoả mãn ε1 –DP, A2 là thuật toán thoả
mãn ε2 –DP. Khi đó, thuật tốn A (D) = A2 (A1 (D), D) thoả mãn (ε1 + ε2 )–
DP
Chứng minh. Gọi D, D′ là hai dữ liệu hàng xóm, S là tập hợp đầu ra của
A1 và t là một đầu ra tuỳ ý của thuật toán A2 . Khi đó:
Pr [A2 (A1 (D), D) = t] =

∑ Pr[A1(D) = s]Pr[A2(s, D) = t]
s∈S




∑ exp(ε1)Pr[A1(D′) = s] exp(ε2)Pr[A2(s, D′) = t]
s∈S

= exp(ε1 + ε2 )Pr A2 (A1 (D′ ), D′ ) = t

1.2

Ví dụ về mơ hình Differential Privacy.

Giả sử một tổ chức xã hội tiến hành khảo sát trực tuyến hành vi hút thuốc
lá của người dùng. Dwork đề xuất một thuật toán ngẫu nhiên ghi lại kết quả
khảo sát như sau:
1. Tung một đồng xu.
2. Nếu ra mặt sấp, ghi lại đúng hành vi của khách hàng.
3. Nếu ra mặt ngửa, tung đồng xu thêm một lần nữa.
4. Ở lần tung thứ hai, nếu ra mặt ngửa thì ghi có và ghi khơng nếu ra mặt
sấp.

8


Bằng một vài tính tốn xác suất, dễ thấy rằng đây là một thuật tốn ln 3DP. Ở đây, khơng mất tính tổng quát, giả sử O = ”yes”, trường hợp O = ”no”
chứng minh hoàn toàn tương tự.
Pr[M (D) = O]
Pr[Response = Yes | Smoker ]
3/4
=
=
= 3.
Pr[M (D′ ) = O] Pr[Response = Yes | Non-Smoker ] 1/4

Do đó, thuật toán ngẫu nhiên trên cung cấp sự bảo vệ thông tin cho người
được khảo sát với một mực độ nhất định, khi kết quả được ghi nhận một cách
ngẫu nhiên hơn là tất định.

1.3

Cơ chế Laplace.

Một trong những cách cơ bản để tạo ra thuật toán Differential Privacy
là thêm nhiễu vào đầu ra. Cơ chế Laplace thêm nhiễu tuân theo phân phối
Laplace vào các đầu ra của các bước sử dụng truy vấn số như trung bình cộng,
trung vị, đếm số lượng phần tử, tổng các phần tử của dữ liệu. Tham số của cơ
chế Laplace thay đổi phụ thuộc vào độ nhạy cảm của truy vấn.
Định nghĩa 1.4 (Độ nhạy cảm toàn cục của hàm truy vấn số). Giả sử f là truy
vấn số với đầu ra là có dạng vector số thực f : N|X | → Rk . Khi đó, độ nhạy
cảm ∆ f của truy vấn f được xác định như sau:
∆ f := max′ f (D) − f (D′ )
D,D

1

trong đó D, D′ lấy trên tât cả các dữ liệu đầu vào là hàng xóm của nhau.
Một cách trực quan, rõ ràng độ nhạy cảm của truy vấn đo sự biến đổi của
đầu ra, khi ta thay đổi nhỏ dữ liệu đầu vào. Từ đó, định lượng giá trị nhiễu cần
thêm vào nhằm mục đích che dấu sự thay đổi đó.

9


Định nghĩa 1.5. Với mọi truy vấn số f , cơ chế Laplace thêm nhiễu vào đầu ra

của f theo công thức:
ML (D, f (·), ε) := f (D) + (Y1 , . . . ,Yk )
trong đó Yi là biến ngẫu nhiên tuân theo phân phối Lap(∆ f /ε)
Từ định nghĩa trên, ta thấy rằng khi độ nhạy cảm ∆ f lớn, và ta muốn rủi
ro rị rỉ thơng tin cá nhân ε bé thì giá trị nhiễu cần thêm vào sẽ tương đối lớn.
Định lý 1.3. Cơ chế Laplace tạo ra thuật toán ε–thuần tuý Differential Privacy.
Chứng minh. Giả sử x, y là hai dữ liệu hàng xóm tuỳ ý, hay là ∥x − y∥1 = 1.
Gọi px , py theo thứ tự là hàm mật độ xác suất của ML (x, f (·), ε) và ML (y, f (·), ε).
Khi đó, với z ∈ Rk , ta có:

ε| f (x) −z |

i
i
k exp −
∆f
px (z)
=
ε| f (y)i −zi |
py (z) ∏
i=1 exp −
∆f

k

= ∏ exp

ε (| f (y)i − zi | − | f (x)i − zi |)
∆f


⩽ ∏ exp

ε | f (x)i − f (y)i |
∆f

i=1
k

i=1

= exp

ε ∥ f (x) − f (y)∥1
∆f

⩽ exp(ε)
Vậy cơ chế Laplace là ε–thuần tuý DP.

10


1.4

Cơ chế mũ.

Trong phần trước, chúng tôi đã giới thiệu cơ chế Laplace thêm nhiễu có
phân phối Laplace nhằm xáo trộn đầu ra của các truy vấn số. Tuy nhiên, trong
một số trường hợp, đặc tính của dữ liệu khơng phù hợp với thay đổi quá lớn
của giá trị đầu ra (như giá thầu) hoặc dữ liệu chứa các thông tin chỉ nhận hữu
hạn giá trị rời rạc (chẳng hạn biến nhị phân 0, 1), việc thêm nhiễu Laplace là

không có ý nghĩa. Cơ chế mũ tạo ra dựa trên việc thay vì xáo trộn trực tiếp giá
trị của biến đầu ra, sẽ xáo trộn xác suất mà một giá trị được chọn làm đầu ra
trong tập hữu hạn các giá trị có thể.
Giả sử trong một thuật tốn tuỳ ý, hàm trọng số xác suất u là hàm số được
sử dụng để chọn ra ứng viên đầu ra (thông thường, hàm u tính xác suất một
ứng viên đầu ra được chọn và do đó ứng viên nào có xác suất lớn hơn sẽ là
đầu ra của thuật toán). Khi đó, độ nhảy cảm của hàm u được định nghĩa như
sau:
Định nghĩa 1.6 (Độ nhạy cảm toàn cục của hàm trọng số xác suất). Gọi R là
tập hợp các giá trị có thể của đầu ra và u : N|X | × R → R. Độ nhạy cảm ∆u
được xác định bởi công thức:
∆u = max max′ |u(D, r) − u(D′ , r)|.
r∈R D,D

trong đó D, D′ lấy trên tất cả các bộ dữ liệu đầu vào là hàng xóm của nhau.
Giống với cơ chế Laplace, cơ chế mũ tạo ra xáo trộn đầu ra dựa trên độ
nhạy cảm của hàm u.
Định nghĩa 1.7. Cơ chế mũ ME (x, u, R) chọn đầu ra r ∈ R với xác suất tỷ lệ
với exp(

εu(x,r)
2∆u ).

Định lý 1.4. Cơ chế mũ taọ ra thuật toán ε–thuần tuý differential privacy.
11


Chứng minh. Giả sử x, y là 2 dữ liệu hàng xóm và r là giá trị bất kỳ nằm
trong tập đầu ra. Khi đó:
Pr[ME (x, u, R) = r]

=
Pr[ME (y, u, R) = r]

εu(x,r)
εu(y,r)
exp( 2∆u )
2∆u )
:
εu(x,r′ )
εu(y,r′ )
∑r′ ∈R exp( 2∆u )
∑r′ ∈R exp( 2∆u )
εu(y,r′ )
εu(x,r)
exp( 2∆u )
∑r′ ∈R exp( 2∆u )
.
=
εu(y,r)
εu(x,r′ )
exp( 2∆u )
∑r′ ∈R exp( 2∆u )
εu(y,r′ )
ε (u(x, r) − u(y, r))
∑r′ ∈R exp( 2∆u )
.
= exp
εu(x,r′ )
2∆u
∑r′ ∈R exp( 2∆u )

εu(x,r′ )
ε
ε
∑r′ ∈R exp( 2∆u )
. exp
.
⩽ exp
εu(x,r′ )
2
2
∑r′ ∈R exp( 2∆u )

exp(

= exp(ε)
Vậy cơ chế mũ là ε–thuần tuý DP.

1.5

Tương quan giữa hiệu năng và an tồn của
thuật tốn Differential Privacy.

Trong khi thêm nhiễu giúp tạo ra chiếc khiên bảo vệ dữ liệu người dùng,
việc ảnh hưởng đến độ chính xác và qua đó ảnh hưởng khả năng ứng dụng của
thuật tốn trong phân tích dữ liệu lớn là điều khơng thể tránh khỏi. Đối với
các cơ chế tạo ra Differential Privacy cho thuật tốn ngẫu nhiên chúng tơi giới
thiệu ở trên, rõ ràng khi muốn hằng số đặc trưng cho mức rủi ro rị rỉ thơng tin
cá nhân ε càng bé thì giá trị nhiễu cần thêm để xáo trộn dữ liệu đầu ra càng
lớn. Trong phần này, chúng tôi sẽ nghiên cứu mối tương quan này dựa trên
việc quan sát kết quả của thuật toán phân lớp Naive Bayes đảm bảo DP.

Thuật toán Gaussian Naive Bayes giả sử rằng dữ liệu đầu vào tuân theo
luật phân phối chuẩn, từ đó tính tốn xác suất hậu nghiệm nhằm sử dụng để
12


phân lớp. Trong q trình thực hiện thuật tốn, 2 đại lượng thống kê được
sử dụng là trung bình và phương sai. Do đó, thuật tốn được giới thiệu trong
[3] thêm nhiễu Laplace vào cả trung bình và phương sai để tạo ra thuật tốn
Gaussian Naive Bayes thoả mãn DP.

Hình 1.1: Ảnh hưởng của ε đối với kết quả phân lớp.
Tiếp theo, chúng tôi sẽ sử dụng mã nguồn mở thuật toán Gaussian Naive
Bayes đã được thêm nhiễu Laplace để đảm bảo Differential Privacy của IBM
[4] để minh hoạ mối tương quan giữa lượng thơng tin rị rỉ và độ chính xác của
thuật tốn. Đồ thị 1.1 thể hiện hiệu năng của thuật tốn phụ thuộc vào lượng
thơng tin rửi ro ε trong khoảng từ 10−2 đến 102 . Với mỗi giá trị của ε, chúng
tôi tiến hành chạy thuật tốn 200 lần và lấy trung bình sai số phân lớp để tạo
ra đồ thị trơn hơn. Quan sát đồ thị, ta có thể thấy độ chính xác phân lớp tương
đối thấp khi ε rất bé và tăng lên nhanh chóng khi ε tăng dần đến 102 .
Như vậy, mặc dù khả năng bảo vệ và tính chính xác của một thuật toán DP
đều nên được tối ưu, cải tiến một đại lượng sẽ dẫn đến sự xấu đi của đại lượng
cịn lại. Tuỳ thuộc vào thuật tốn và dữ liệu được nghiên cứu, độ dốc của đồ
thị chỉ mối tương quan này có thể khác nhau. Vì vậy, với mỗi ứng dụng trên
một tập dữ liệu cụ thể, điểm cân bằng giữa hiệu năng và mức độ bảo vệ của
thuật cần được nghiên cứu dựa trên mục đích của việc phân tích dữ liệu.
13


Chương 2


Differential Privacy với
thuật toán rừng ngẫu nhiên.
Trong chương này, chúng tơi trình bày một thuật tốn rừng ngẫu nhiên
thoả mãn DP có sửa đổi từ thuật tốn của Li [5] và Patil [6]. Trong khi thuật
toán của Li và Patil thêm một lớp nhiễu Laplace mỗi khi có truy vấn số được
gọi từ tập dữ liệu, chúng tôi chọn cách lược bỏ bước này với giả thiết tin tặc
chỉ có quyền truy cập vào dữ liệu đầu ra và mơ hình cây. Các truy vấn số cụ
thể bên trong thuật tốn do đó vẫn được bảo mật. Thuật tốn trình bày dưới
đây sử dụng cơ chế mũ trong quá trình chọn đặc trưng tại mỗi lần phân nhánh,
do đó tạo ra cây quyết định với cách phân nhánh xác xuất thay vì tất định như
thuật tốn rừng ngẫu nhiên thông thường.

14


2.1

Thuật toán rừng ngẫu nhiên thoả mãn DP
cho bài toán phân lớp.

2.1.1

Nội dung thuật tốn.

Thơng thường, thuật tốn rừng ngẫu nhiên sử dụng hàm Information Gain
hoặc Gini Index để xác định tiêu chuẩn phân nhánh. Đối với thuật toán rừng
ngẫu nhiên áp dụng Differential Privacy, chúng tôi chọn hàm Gini Index âm.
Mã giả của thuật toán được thể hiện trong thuật toán 1.

15



Algorithm 1: Thuật toán rừng ngẫu nhiên đảm bảo DP
Result: Rừng ngẫu nhiên phân lớp đảm bảo Differential Privacy
Input: D: Tập huấn luyện; B: Số lượng cây quyết định; Pε ′ : Ngân sách
riêng tư; h: Độ sâu; A = {A1 , . . . Ad }: Tập các trường thông
tin của dữ liệu dùng phân lớp
ε′
h+1

1

ε ′ = Pε ′ /B, ε =

2

for b=1,. . . ,B do

3

Lấy mẫu ngẫu nhiên Z với kích thước |D|;

4

Xây dựng cây quyết định, lặp lại các bước sau cho đến khi h = 0
1. Chọn ngẫu nhiên m trường thông tin từ d đặc trưng đầu vào. m thông

thường là d.
2. Sử dụng cơ chế mũ bằng cách chọn đặc trưng rẽ nhánh A với xác suất
ε

q(Z, A)
exp − 2∆q
ε
q(Z, A)
∑A∈m exp − 2∆q

ở đây q là Gini index của đặc trưng A
3. Phân nhánh nút hiện tại thành 2 nút con, gán h = h − 1.
5

end

6

Output là một tập hợp các cây quyết định; việc phân lớp một dữ liệu
đầu vào mới được tổng hợp từ kết quả phân loại của các cây quyết
định.

16


Rõ ràng, tính tốn độ nhạy cảm của Gini Index là quan trọng trong việc
thực thi cơ chế mũ. Firedman trong [7] chỉ ra rằng hàm Gini index có độ nhạy
cảm tồn cục là 2.
Định lý 2.1. Kí hiệu T là tập dữ liệu, C là tập hợp các lớp. Với mỗi thuộc
A = r ∈ T A , r ∈ c . Đặt
tính A và lớp c ∈ C, gọi T jA = {r ∈ T , rA = j}, T j,c
j
A |. Khi đó hàm Gini Index âm:
τ = |T |, τ Aj = |T jA |, τ Aj,c = |T j,c



2
A
τ j,c

qGini (T , A) = − ∑ τ Aj 1 − ∑
A
τ
j∈A
c∈C
j

có độ nhạy cảm tồn cục S(qGini ) = 2
Chứng minh. Với hai tập dữ liệu hàng xóm bất kỳ, vì chúng chỉ khác nhau
duy nhất ở 1 bản ghi r, nên nếu giả sử rA = j thì chúng ta chỉ cần quan tâm
giá trị của số hạng:

τ Aj 1 −

τ Aj,c
τ Aj



c∈C

2



 = τ Aj − 1 ∑ τ Aj,c
τ Aj c∈C

2

Khi đó:
S(qGini (T , A)) ⩽

(τ Aj + 1) −

= 1+
= 1+

(τ Aj,cr + 1)2 + ∑c̸=cr (τ Aj,c )2
τ Aj + 1

− τ Aj +

∑c∈C (τ Aj,c )2 − τ Aj (2τ Aj,cr + 1)
τ Aj (τ Aj + 1)
∑c∈C (τ Aj,c )2
τ Aj (τ Aj + 1)

2τ Aj,cr + 1



τ Aj + 1

Từ đó, với chú ý:

0⩽

∑c∈C (τ Aj,c )2
τ Aj (τ Aj + 1)

0⩽



2τ Aj,cr + 1
τ Aj + 1

(τ Aj )2
τ Aj (τ Aj + 1)



17

2τ Aj + 1
τ Aj + 1

⩽ 1,

⩽2

1
τ Aj,c

A

τ j c∈C

2


Suy ra:
S(qGini ) ⩽ 2
Từ định lý trên, ta có thể xây dựng thuật toán phân nhánh cho cây quyết
định sử dụng cơ chế mũ như sau (xem thuật toán 2).
Algorithm 2: Cơ chế mũ sử dụng để chọn đặc trưng phân nhánh.
Result: Đặc trưng phân nhánh
Input: D: Tập dữ liệu; A = {A1 , . . . An }: Tập hợp các đặc trưng của
dữ liệu; ε: hằng số đặc trưng cho lượng thông tin rủi ro
1

gini ← [ ]

2

splitting_point ← [ ]

3

for i=1,. . . ,n do

4

Tính Gini index Gi và điểm phân nhánh Si ứng với đặc trưng Ai

5


gini.append(Gi ); splitting_point.append(Si )

6

end

7

for i=1,. . . ,n do

8

prob_array[i] =
exp − ε4 gini[i]
∑1≤ j≤n exp − ε4 gini[ j]

9

end

10

idx ← random.choice([1, . . . , n], probability = prob_array)

11

Chọn Aidx cùng với điểm chia splitting_point[idx]

18



2.1.2

Kết quả phân lớp trên bộ dữ liệu iris và NYC taxi.

Để tiến hành cài đặt thuật toán trên, chúng tơi cài đặt lại thuật tốn Rừng
ngẫu nhiên dựa trên mã nguồn từ [8] và [9] và sử dụng sklearn’s random forest
classifier với bộ dữ liệu iris để so sánh hiệu năng của các thuật tốn. Kết quả
như sau:

Hình 2.1: Hiệu năng của 3 thuật toán random forest trên bộ dữ liệu iris
dataset.
Nhìn vào hình 2.1, có thể thấy chương trình của chúng tơi cho ra kết quả
thấp hơn so với chương trình của sklearn’s random forest classifier, vốn đã
được tối ưu hố. Kết quả chạy chương trình cũng cho thấy thuật tốn rừng
ngẫu nhiên có Differential Privacy cho kết quả phân lớp thấp nhất phù hợp
với lý thuyết.
Chúng tôi cũng kiểm tra sự ảnh hưởng của lượng thông tin rủi ro đến
hiệu năng của thuật tốn như hình 2.2, với kết quả đúng như kỳ vọng. Tuy
nhiên, với ε lớn, hiệu năng của thuật toán rừng ngẫu nhiên DP vượt qua cả
hai thuật tốn trước. Chúng tơi đặt ra giả thuyết rằng có thể việc thêm yếu tố
ngẫu nhiên trong quá trình chọn đặc trưng khi cài đặt cơ chế mũ vào thuật
tốn đã góp phần giảm hiện tượng over-fitting (sự quá khớp) và qua đó nâng
cao hiệu năng dự báo. Ngoài ra, hiện tượng này chỉ xuất hiện với ε có giá trị
19


lớn, thường khơng có tính thực tiễn trong q trình sử dụng các thuật tốn có
Differential Privacy.


Hình 2.2: Hiệu năng phụ thuộc vào giá trị của ε otrên bộ dữ liệu iris.
Tiếp theo chúng tôi tiến hành chạy thử thuật toán cho bộ dữ liệu New York
City taxi. Để tạo ra bài toán phân lớp cho bộ dữ liệu này, chúng tôi tiến hành
chia thời gian của mỗi chuyến đi thành từng đoạn có độ dài 5 phút và tiến
hành dự báo với mỗi dữ liệu đầu vào mới thì thời gian của hành trình đó rơi
vào đoạn nào.
Kết quả một lần nữa, thể hiện đúng với lý thuyết. Chương trình của sklearn
cho kết quả dự báo tốt nhất, trong khi chương trình có cài đặt Differential
Privacy làm giảm đáng kể độ chính xác của thuật tốn.

2.2

Thuật tốn rừng ngẫu nhiên thoả mãn DP
cho bài toán hồi quy.

Đầu tiên, chúng tơi chạy thuật tốn rừng ngẫu nhiên phiên bản tự cài đặt
và của sklearn cho bài toán hồi quy trên bộ dữ liệu Boston và NYC taxi. Hàm
MSE và R2 được sử dụng để đánh giá hiệu nang của hai chương trình thể hiện
thuật tốn rừng ngẫu nhiên. Kết quả các lần chạy phụ thuộc vào số lượng cây
20


Hình 2.3: Hiệu năng phụ thuộc vào ε trên bộ dữ liệu NYC taxi.

Hình 2.4: So sánh hàm MSE and R2 trên bộ dữ liệu Boston and NYC Taxi.
quyết định có thể quan sát trên đồ thị 2.4.
Với bài tốn hồi quy, cơ chế mũ yêu cầu hàm mất mát sử dụng trong thuật
tốn như MSE cần đảm bảo có độ nhạy cảm bị chặn trên tập dữ liệu đầu vào.
Tuy nhiên, với bộ dữ liệu NYC taxi ban đầu, hàm MSE chưa thoả mãn yêu

cầu trên. Do đó, chúng tơi tiến hành chuẩn hố bộ dữ liệu và chạy thuật toán
trên cả bộ dữ liệu Boston và NYC taxi.
21


1. Boston Dataset
R2 Sklearn:

0.4853269604957121

R2 Scratch_DP:
MSE Sklearn:

-1.141360572061326
0.012076386347131448

MSE Scratch_DP:

0.024202738162772297

2. NYC Dataset
R2 Sklearn:

0.40760047029795143

R2 Scratch_DP:
MSE Sklearn:

-26.53458084346296
0.0009989488803233894


MSE Scratch_DP:

0.002792887433418775

Với kết quả dự báo trên, chúng tôi nghi ngờ rằng việc chuẩn hoá dữ liệu
giúp đảm bảo tính bị chặn của độ nhạy cảm hàm MSE nhưng khiến cho cơ chế
mũ không đánh trọng số các đặc trưng đủ tốt để tìm ra đặc trưng phân nhánh
thích hợp nhất. Khả năng chọn được đặc trưng tốt nhất (khi MSE = 0) chỉ gấp
tối đa e lần khả năng chọn đặc trưng xấu nhất (khi MSE = 1). Do đó, các cây
quyết định tạo ra q trình phân nhánh chưa đủ tốt cho quá trình dự báo.

22


Chương 3

Phương pháp mẫu ngẫu
nhiên và tổng hợp.
Dựa trên vấn đề gặp phải khi chạy thử thuật toán rừng ngẫu nhiên có cài
đặt DP cho bài tốn hồi quy, chúng tôi quyết định sử dụng một phương pháp
khác với kỹ thuật lấy mẫu ngẫu nhiên và tổng hợp kết quả có cơ chế như sau.
Đầu tiên, chia tập dữ liệu ban đầu thành m mẫu con ngẫu nhiên có kích thước
đều nhau. Mỗi mẫu này là đầu vào của hàm f , ở đây hàm f là các thuật toán
học máy như rừng ngẫu nhiên hoặc XGboost. Kết quả sau đó được tổng hợp
bởi hàm g, trong báo cáo này, cụ thể chúng tôi sử dụng hàm lấy trung vị. Cuối
cùng, nhiễu được thêm vào hàm g nhằm tạo ra hàm h có độ nhạy cảm đồng
đều hơn so với hàm gốc, từ đó cho ra kết quả dự báo đảm bảo differential
privacy.


3.1

Độ nhạy cảm trơn.

Ở chương trước, nhiễu được thêm vào trong q trình tạo DP có biên độ cố
định, tỷ lệ thuận với độ nhạy cảm toàn cục ∆ f . Tuy nhiên, đối với một số hàm
23


×