вартість вибірки


9

Я зіткнувся з такою проблемою моделювання: заданий набір {ω1,…,ωг} відомих реальних чисел, розподіл на {-1,1}г визначається через

П(Х=(х1,…,хг))∝(х1ω1+…+хгωг)+
де (z)+ позначає позитивну частину z. Хоча я можу подумати про пробірник Metropolis-Hastings, націлений на цей розподіл, мені цікаво, чи існує ефективний прямий пробовідбірник, скориставшись великою кількістю нульових ймовірностей для зменшення порядку алгоритму зО(2г) до О(г).

Відповіді:


4

Ось досить очевидний рекурсивний пробовідбірник О(г) в кращому випадку (з точки зору ваг ωi), але експоненціальна в гіршому випадку.

Припустимо, ми вже вибрали х1,…,хi-1та бажати вибрати хi. Нам потрібно обчислити

ш(х1,…,хi-1,хi)=∑хi+1∈{-1,1}⋯∑хг∈{-1,1}(∑j=1гωjхj)+
і вибирайте хi=1 з вірогідністю
ш(х1,…,хi-1,1)ш(х1,…,хi-1,1)+ш(х1,…,хi-1,-1).
Знаменник не буде нульовим для будь-якого дійсного вибору зразків х1,…,хi-1.

Тепер, звичайно, питання в тому, як зробити обчислення ш(х1,…,хi).

Якщо у нас це є С: =∑j=1iωjхj≥∑j=i+1г|ωj|, тоді ω⋅х≥0 для будь-якого х з провідними записами х1:i, і так ш стає:

∑xi+1⋯∑хгω⋅х=ω⋅(∑хi+1⋯∑хгх)=∑j=1iωj(∑хi+1⋯∑хгхj)⏟2г-iхj+∑j=i+1гωj(∑хi+1⋯∑хгхj)⏟0=2г-iС.

У протилежному випадку С≤-∑j=i+1г|ωj|, у нас це є ω⋅х≤0 і так ш(х1,…,хi)=0.

В іншому випадку ми повинні повторити, використовуючи w(x1,…,xi)=w(x1,…,xi,1)+w(x1,…,xi,−1).

Припустимо, що пам'ять не є проблемою, і ми можемо кешувати всі підрахунки в w(1), w(−1)на дереві - аж до того, що ми потрапили в один із «приємних» випадків, після якого будь-які дзвінки займають постійний час. (Нам все одно потрібно буде обчислити це все дерево, щоб вибратиx1.) Потім, колись це дерево о w обчислень побудовано, пробовідбірник візьме лише O(d)час. Питання в тому, скільки часу потрібно для побудови дерева, або рівнозначно, яке воно велике.


Ми, звичайно, швидше потрапимо в "приємні" випадки, якщо ωi сортуються, ω1≥ω2≥⋯≥ωd.

У кращому випадку, |ω1|>∑j=2d|ωj|. Тоді ми негайно потрапляємо на "приємний" випадок для будь-якогоw(1) або w(−1), тому w побудова дерева займає постійний час, і займає весь пробовідбірник O(d) час.

У гіршому (відсортованому) випадку, ω1=ω2=⋯=ωd. Тоді питання: наскільки велике загальне дерево?

Ну, і перші шляхи до припинення - це звичайно (1,1,…,1) і (-1,-1,…,-1) довжини ⌈г/2⌉. Отже, дерево є повною до цієї глибини, і так містить щонайменшеО(2г/2)вузли. (У ньому є більше; ви, ймовірно, можете знайти це з таким аргументом, як ті, що використовуються в проблемах зі зруйнуванням азартних гравців, але я не міг знайти його за дві хвилини Гуглінга і мене це особливо не хвилює - 2г/2 досить погано ....)

Якщо у ваших налаштуваннях є лише кілька дуже великих ωiце, мабуть, досить практичний підхід. Якщоωi всі подібної величини, ймовірно, це все ще експоненціально і занадто дорого для великих г.


Дякуємо за цей тип усунення Вітербі. Коли ви пишете "У зворотному випадку",
Сi≤-∑j=i+1г|ωj|
Я вважаю, ви не маєте на увазі доповнення першої справи
Сi≥∑j=i+1г|ωj|
— Сіань

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