В настоящее время я пишу алгоритм для дифференциальной конфиденциальности с использованием механизма Лапласа.
К сожалению, у меня нет опыта в статистике, поэтому многие термины мне неизвестны. Так что теперь я спотыкаюсь о термине: шум Лапласа . Чтобы сделать дифференциальный набор данных закрытым, все статьи просто говорят о добавлении шума Лапласа в соответствии с распределением Лапласа к значениям функции.
(k - дифференциальное частное значение, f возвращаемое значение функцией оценки и Y - шум Лапласа)
Означает ли это, что я создаю случайные переменные из распределения Лапласа в соответствии с этой функцией из википедии https://en.wikipedia.org/wiki/Laplace_distribution ?
ОБНОВЛЕНИЕ: Я построил до 100 случайных величин, взятых из функции выше, но это не дает мне распределение Лапласа (даже близко). Но я думаю, что это должно моделировать распределение Лапласа.
UPDATE2:
Вот те определения, которые у меня есть:
(Механизм Лапласа). Для любой функции механизм Лапласа определяется как: где Y - случайные величины, взятые из
А также:
Для генерации Y (X) распространенным выбором является использование распределения Лапласа с нулевым средним и масштабным параметром Δ (f) / ε.
Ответы:
Вы правы, добавление шума Лапласа означает, что к вашей переменной вы добавляете переменную которая следует за распределением Лапласа . Есть много причин, почему это называется шумом . Во-первых, подумайте об обработке сигнала, когда сообщение отправляется по некоторому каналу, и из-за несовершенной природы канала принятый сигнал зашумлен, поэтому вам необходимо изолировать сигнал от шума. Во-вторых, в криптографии мы также говорим о псевдослучайном шуме, а дифференциальная конфиденциальность связана с криптографией. В-третьих, в статистике и машинном обучении мы также можем говорить о статистическом шуме , статистические модели включают в себя шум или термины ошибок и т. Д.X Y Сигнал и шум Нейта Сильвера). Поэтому мы используем шум как более точный синоним неоднозначности случайности .
Что касается случайной генерации, существует несколько способов, как вы можете нарисовать случайные значения после распределения Лапласа, например:
На графиках ниже вы можете увидеть распределение выборок, нарисованных с использованием каждой из функций с сопровождающей плотностью Лапласа (красная линия).105
Чтобы упростить примеры, я использую стандартное распределение Лапласа со шкалой = 1, но вы можете легко изменить результаты, умножив результаты, используя другой коэффициент масштабирования.
источник
Распределение Лапласа или двойное экспоненциальное распределение экспоненциально падает влево и вправо вокруг некоторого среднего значения. Это в основном экспонента, отраженная на другую сторону.
Если вы хотите получить вероятность, используйте вероятность экспоненциального и добавьте abs () к наблюдаемому значению. Логарифмическая вероятность - это просто abs () от остатков, умноженное на коэффициент экспоненты.
Для примера, проще всего взять от -1,1 и умножить на ничью из экспоненциального распределения, которое доступно в большинстве языков программирования. В качестве альтернативы, как отмечено выше, вы также найдете прямые реализации Laplace, но это может потребовать немного большего поиска.
источник