Що означає "шум Лапласа"?


9

В даний час я пишу алгоритм диференціальної конфіденційності за допомогою механізму Лапласа.

На жаль, я не маю передумов у статистиці, тому багато термінів мені невідомі. Тож зараз я спотикаюся над терміном: Шум Лапласа . Щоб зробити диференціальний набір даних приватним, усі документи просто говорять про додавання шуму Лапласа відповідно до розподілу Лапласа до значень функції.

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

(k - диференціальне приватне значення, f повернене значення функцією оцінки та Y шум Лапласа)

Чи означає це, що я створюю випадкові змінні з розподілу Лапласа відповідно до цієї функції у Вікіпедії https://en.wikipedia.org/wiki/Laplace_distribution ?

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

ОНОВЛЕННЯ: Я побудував до 100 випадкових змінних, виведених із функції вище, але це не дає мені розподілу Лапласа (навіть не закрити). Але я думаю, що він повинен моделювати розподіл Лапласа.

ОНОВЛЕННЯ2:

Це визначення, які я маю:

(Механізм Лапласа). З огляду на будь-яку функцію f:N|X|Rk , механізм Лапласа визначається як: ML(x,f(·),ϵ)=f(x)+(Y1,...,Yk) де Y - iid випадкових величин, проведених з Lap(f/ϵ)

Так само, як:

Для генерації Y (X) поширеним вибором є використання розподілу Лапласа з нульовим середнім і параметром шкали Δ (f) / ε


Друге у вас рівняння - це CDF, а не PDF. Ви хочете зробити зразок із PDF. Ось код пітона для вибірки з розподілу Laplace ( двоекспонентний ) ( docs.scipy.org/doc/numpy-1.9.3/reference/generated/… )
Лука

1
Чи можете ви надати точну довідку, що згадує про "шум Лапласа"? Я думаю, що вони означають додавання rv Y до X, де Y слід розподілу Лапласа. Як щодо вашого поновлення, цей метод робить роботу - ви повинні зробити помилку в коді, або це просто той факт , що ви зробили тільки 100 черпає з нього, якщо намагається 5000 або більше я припускаю , що б почати шукати більш " Лаплас "...
Тім

Я думаю, що мій сюжет насправді більше схожий на CDF, я додав його вище, а також мій код. Ось посилання на цитати: 1 2
Лотта

Я також бачив код, який я використовував раніше, і не знаю, чому він дає мені такий результат. Сюжет показує мій код, циклічний 1000 разів за f = 1 і eps = 1. Але я думаю, що моя головна думка полягає в тому, якби я правильно зрозумів "шум Лапласа". Код я можу якось тренуватися.
Лотте

Відповіді:


14

Ви маєте рацію, додаючи шум Laplace означає, що до змінної ви додаєте змінну яка відповідає розподілу Laplace . Є кілька причин, чому це називається шумом . По-перше, подумайте про обробку сигналів, де повідомлення надсилається по якомусь каналу і через недосконалий характер каналу отриманий сигнал шумно, тому вам доведеться ізолювати сигнал від шуму. По-друге, у криптографії ми також говоримо про псевдовипадковий шум, а диференціальна конфіденційність пов'язана з криптографією. По-третє, у статистиці та машинному навчанні ми також можемо говорити про статистичний шум , статистичні моделі включають терміни шуму чи помилок тощо (є навіть книга про назви прогнозуванняXYСигнал і шум Nate Silver. Тому ми використовуємо шум як більш точний синонім для неоднозначної випадковості .

Щодо випадкового генерування, існує декілька способів, як можна намалювати випадкові значення за розподілом Лапласа, наприклад:

  1. Метод зворотного перетворення, описаний у Вікіпедії:
f <- function(n) {
   u <- runif(n, -0.5, 0.5)
   sign(u)*log(1-2*abs(u))
}
  1. Якщо і є незалежними випадковими змінними після експоненціального розподілу, то слід за розподілом Лапласа :UVY=UV
g <- function(n) { rexp(n)-rexp(n) }
  1. Якщо слідує за розподілом Лапласа, тослід експоненціальний розподіл , так:Y|Y|
h <- function(n) { rexp(n)*sample(c(-1,1), n, replace = TRUE) }

На графіках нижче можна побачити розподіл зразків, намальованих за допомогою кожної з функцій із супутньою щільністю Лапласа (червона лінія).105

введіть тут опис зображення

Для спрощення прикладів я використовую стандартний розподіл Лапласа з шкалою = 1, але ви можете легко змінити результати, помноживши результати, використовуючи різні коефіцієнти масштабування.


Дякую! Це, відповідаючи на моє запитання, я просто дуже розгубився з приводу терміну "шум" і не зміг знайти належного пояснення.
Лотте

Я побудував гістограму для свого коду, і це виглядає добре :)
Лотте

2

Лаплас або подвійний експоненціальний розподіл падає експоненціально ліворуч та праворуч навколо деякого середнього. Це, в основному, експоненціальна дзеркальна інша сторона.

  • Якщо ви хочете ймовірності, використовуйте ймовірність експоненціалі та додайте abs () до спостережуваного значення. Імовірність журналу - це просто abs () залишків, помножене на швидкість експоненції.

  • Для вибірки найпростіше взяти з -1,1 і помножити на малюнок з експоненціального розподілу, який доступний у більшості мов програмування. Як зазначено вище, ви також знайдете прямі реалізації Laplace, але це може зажадати трохи більше пошуку.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.