Tiếng ồn Laplace có nghĩa là gì?


9

Tôi hiện đang viết thuật toán cho sự riêng tư khác biệt bằng cách sử dụng cơ chế Laplace.

Thật không may, tôi không có nền tảng về thống kê, do đó tôi không biết nhiều thuật ngữ. Vì vậy, bây giờ tôi vấp phải thuật ngữ: tiếng ồn Laplace . Để tạo một bộ dữ liệu riêng biệt, tất cả các giấy tờ chỉ cần nói về việc thêm nhiễu Laplace theo phân phối Laplace vào các giá trị hàm.

k(X)=f(X)+Y(X)

(k là giá trị riêng vi sai, f giá trị được trả về bởi hàm đánh giá và Y nhiễu Laplace)

Điều này có nghĩa là tôi tạo các biến ngẫu nhiên từ phân phối Laplace theo chức năng này mà tôi có từ wikipedia https://en.wikipedia.org/wiki/Laplace_distribution ?

Y=μb sgn(U)ln(12|U|)

CẬP NHẬT: Tôi đã vẽ lên tới 100 biến ngẫu nhiên được rút ra từ hàm trên, nhưng điều này không mang lại cho tôi một phân phối Laplace (thậm chí không đóng). Nhưng tôi nghĩ nó nên mô hình hóa một phân phối Laplace.

CẬP NHẬT2:

Đó là những định nghĩa tôi có:

(Cơ chế Laplace). Cho bất kỳ hàm f:N|X|Rk , cơ chế Laplace được định nghĩa là: ML(x,f(·),ϵ)=f(x)+(Y1,...,Yk) trong đó Y là các biến ngẫu nhiên được rút ra từ Lap(f/ϵ)

Cũng như:

Để tạo Y (X), một lựa chọn phổ biến là sử dụng phân phối Laplace với giá trị trung bình bằng không và tham số tỷ lệ Δ (f) /


Phương trình thứ hai bạn có là CDF chứ không phải PDF. Bạn muốn lấy mẫu từ PDF. Dưới đây là một số mã python để lấy mẫu từ bản phân phối Laplace (biexponential) ( docs.scipy.org/doc/numpy-1.9.3/reference/generated/ ám )
Luca

1
Bạn có thể cung cấp tài liệu tham khảo chính xác đề cập đến "tiếng ồn Laplace" không? Tôi đoán rằng họ có nghĩa là thêm rv Y vào X trong đó Y theo phân phối Laplace. Về cập nhật của bạn, phương pháp này hoạt động - bạn chắc chắn đã mắc lỗi trong mã của mình hoặc thực tế là bạn chỉ thực hiện 100 lần rút tiền từ nó, nếu bạn thử 5000 trở lên tôi đoán nó sẽ bắt đầu tìm kiếm nhiều hơn " Laplace "...
Tim

Tôi nghĩ rằng cốt truyện của tôi thực sự trông giống như một CDF, tôi đã thêm nó ở trên, cũng như mã của tôi. Dưới đây là các liên kết đến báo giá: 1 2
Lotte

Tôi cũng đã thấy mã tôi đang sử dụng trước đây và tôi không biết tại sao nó mang lại cho tôi kết quả như thế này. Cốt truyện hiển thị mã của tôi, được lặp 1000 lần cho f = 1 và eps = 1. Nhưng tôi nghĩ điểm chính của tôi là, nếu tôi hiểu đúng "tiếng ồn Laplace". Mã tôi có thể tập luyện bằng cách nào đó.
Lotte

Câu trả lời:


14

Bạn đã đúng, thêm nhiễu Laplace có nghĩa là vào biến bạn, bạn thêm biến theo phân phối Laplace . Có nhiều lý do tại sao nó được gọi là tiếng ồn . Trước tiên, hãy nghĩ đến việc xử lý tín hiệu, trong đó tin nhắn được gửi qua một số kênh và do tính chất không hoàn hảo của kênh, tín hiệu nhận được bị nhiễu, do đó bạn phải cách ly tín hiệu khỏi nhiễu. Thứ hai, trong mật mã học, chúng tôi cũng nói về tiếng ồn giả và sự riêng tư khác biệt có liên quan đến mật mã. Thứ ba, trong thống kê và học máy chúng ta cũng có thể nói về tiếng ồn thống kê, mô hình thống kê bao gồm tiếng ồn hoặc thuật ngữ lỗi, v.v. (thậm chí còn có một cuốn sách về tên dự báoXYTín hiệu và tiếng ồn của Nate Silver). Vì vậy, chúng tôi sử dụng tiếng ồn như một từ đồng nghĩa chính xác hơn cho sự ngẫu nhiên mơ hồ .

Về thế hệ ngẫu nhiên, có một số cách bạn có thể vẽ các giá trị ngẫu nhiên sau phân phối Laplace, ví dụ:

  1. Các Inverse chuyển đổi phương pháp mô tả trên Wikipedia:
f <- function(n) {
   u <- runif(n, -0.5, 0.5)
   sign(u)*log(1-2*abs(u))
}
  1. Nếu và là các biến ngẫu nhiên độc lập theo phân bố mũ, thì theo phân phối Laplace :UVY=UV
g <- function(n) { rexp(n)-rexp(n) }
  1. Nếu tuân theo phân phối Laplace, thìtheo phân phối theo cấp số nhân , vì vậy:Y|Y|
h <- function(n) { rexp(n)*sample(c(-1,1), n, replace = TRUE) }

Trên các ô bên dưới, bạn có thể thấy phân phối mẫu được vẽ bằng cách sử dụng từng hàm với mật độ Laplace đi kèm (đường màu đỏ).105

nhập mô tả hình ảnh ở đây

Để đơn giản hóa các ví dụ tôi sử dụng phân phối Laplace tiêu chuẩn với scale = 1, nhưng bạn có thể dễ dàng thay đổi kết quả bằng cách nhân kết quả bằng cách sử dụng hệ số tỷ lệ khác nhau.


Cảm ơn! Đó là trả lời câu hỏi của tôi, tôi thực sự bối rối về thuật ngữ "tiếng ồn" và không thể tìm thấy một lời giải thích thích hợp.
Lotte

Tôi đã vẽ biểu đồ cho mã của mình và nó có vẻ tốt :)
Lotte

2

Phân phối theo cấp số nhân Laplace hoặc gấp đôi rơi theo cấp số nhân sang trái và phải xung quanh một số giá trị trung bình. Về cơ bản, nó được nhân đôi theo cấp số nhân sang phía bên kia.

  • Nếu bạn muốn khả năng, hãy sử dụng khả năng của số mũ và thêm abs () vào giá trị quan sát được. Khả năng đăng nhập chỉ đơn giản là abs () của phần dư, nhân với tỷ lệ của số mũ.

  • Để lấy mẫu, cách dễ nhất là rút từ -1,1 và nhân với số rút từ phân bố mũ, có sẵn trong hầu hết các ngôn ngữ lập trình. Ngoài ra, như đã lưu ý ở trên, bạn cũng sẽ tìm thấy các triển khai trực tiếp của Laplace, nhưng nó có thể yêu cầu tìm kiếm thêm một chút.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.