Найменше рішення абсолютних відхилень за алгоритмом Барродейла-Робертса: Передчасне припинення?


9

Вибачте, будь ласка, довге запитання, для того, щоб перейти до фактичної проблеми, йому просто потрібно пояснення. Ті, хто знайомий із згаданими алгоритмами, ймовірно, можуть перейти безпосередньо до першого таблола симплексу.


Для вирішення найменших задач на абсолютне відхилення (ака L1-оптимізація), алгоритм Барродал-Робертса - це симплексний метод спеціального призначення, який потребує набагато менших зусиль для зберігання та обчислень, щоб знайти відповідний мінімум.

Моя реалізація алгоритму завершується на простому прикладі до досягнення належного мінімуму. Однак, напевно, дозвольте спочатку сформулювати цю проблему більш детально:

Наведені дані (xi,yi), L1-оптимізація намагається знайти cm що мінімізує

i=1n|yif(xi)|withf(x):=Axϕ
де Ax є n×m матриця, яка певним чином залежить від x. Цю проблему можна викласти як лінійну програму, а тому серед інших вирішити за допомогою симплекс-методів.

Барродейл і Робертс запропонували (очевидно широко використовувану) модифікацію симплексного методу, яка докорінно спрощує симплексний метод за допомогою спеціальної структури L1-проблеми. Найголовніше - це те, що оптимальне рішення принаймні інтерполюєrank(A)даних точок даних. Ті, хто має доступ до Jstor, можуть знайти відповідну статтю тут .

Лей та Андерсон у 2002 р. Запропонували невелику модифікацію, яка повинна підвищити числову стійкість і, отже, подолати відомі проблеми алгоритму симплекса.

В основному, цей алгоритм передбачає, що ви починаєте з заданого набору точок, які необхідно інтерполювати, використовуйте задані процедури для побудови симплексної таблиці, а потім використовуйте правила Барродейла і Робертса, щоб вирішити, на основі яких змінних змінюватись, і тому змінювати набір точок даних, який є приблизним.

Барродайл і Робертс наводять невеликий приклад, який я намагався відтворити. Він намагається наблизити бали{(1,1),(2,1),(3,2),(4,3),(5,2)} за функцією a1+a2x. Закінчують свій алгоритм наступною стислою симплекс-таблицею:

BasisRu1u3b11/23/21/2v21/21/21/2b21/21/21/2u41/21/23/2v5112Marginal cost210

Найголовніше, що перший і третій пункт інтерполюються і загальна помилка дорівнює 2. Вони роблять висновок, що

Оскільки всі неосновні вектори мають непозитивні граничні витрати [...]

ітерація закінчена і досягнуто оптимального.

Якщо я використовую алгоритм Лея та Андерсона, я можу відтворити цю симплексну таблицю для інтерполяційного набору {1,3}, як і очікувалося. Однак якщо я запускаю алгоритм із набору{2,5} (що явно не є оптимальним), я отримую таку симплексну таблицю:

BasisRu2u5u11/34/31/3b11/35/32/3u32/32/31/3u44/31/32/3b21/31/31/3Marginal cost7/310/35/3

Хоча цей результат мене спантеличує. Якщо я правильно розумію цитату вище, відсутність позитивних граничних витрат означає, що досягнуто оптимального. Значення функції приблизно 2,33, звичайно, не є оптимальним. Обмінu2 з u1 дав би результат, який знаходиться нарівні з рішенням Барродейла та Робертса, а тому оптимальним.

Додаткова інформація: Якщо я розпочну з початкової таблиці, наданої Барродейлом та Робертсом, я також можу відтворити таблицю вище звичайними симплексними кроками, таким чином, я досить впевнений, що фактичні числові значення є правильними та моя інтерпретація правила вибору стрижнів несправна.

Будь-які думки з цього приводу?

Я усвідомлюю, що саме питання є досить складним і, ймовірно, вимагає знання принаймні алгоритму Барродейла та Робертса, щоб відповісти достатньо. Алгоритм в цілому полягає в тому, щоб довго його повторювати тут повністю. Однак якщо у вас є додаткові запитання щодо кроків, зроблених мною, або щодо відсутніх фрагментів інформації, не соромтесь запитати, і я з радістю доповнюю питання.


Якщо хтось із достатньою репутацією міг би створити тег у рядку "Найменші абсолютні відхилення" або "L1-наближення", я був би вдячний.
Тіло

Умова оптимальності полягає в тому, що основне рішення повинно бути здійсненним (зважаючи на його негативні обмеження) і зменшені витрати повинні бути меншими або рівними 0. Якщо ваше основне рішення є нездійсненним, тоді всі ставки будуть виключені.
Брайан Борчерс

Основне рішення можливе за допомогою побудови. Таким чином, проблем не повинно бути. Однак у мене є перша ідея, де може бути проблема. Я додам відповідну відповідь, якщо я правий.
Тіло

Відповіді:


4

Вирішили це. Власне, Барродейл і Робертс вирішили це, і я просто не читав уважно.

У своєму питанні я залишив це читачеві зрозуміти, що змінні Barrodale та Roberts позначені міткою ui виступають за позитивні залишки i-та точка даних стосовно поточного придатності. Якщо залишок від'ємний,ui=0 і viприймає відповідне значення. Оскільки лише одна з них може знаходитись в основі, а коефіцієнти в симплексній таблиці є лише негативом один одного, не потрібно чітко їх констатувати в симплексній таблиці. Барродейл і Робертс згадують у своїй статті:

[...] і що сума граничних (або зменшених) витрат в bj і cj дорівнює нулю і ui і vi дорівнює -2.

Таким чином, мою симплексну таблицю вище слід вважати так:

BasisRu2u5v2v5u11/34/31/34/31/3b11/35/32/35/32/3u32/32/31/32/31/3u44/31/32/31/32/3b21/31/31/31/31/3Marginal cost7/310/35/34/31/3

де ми це чітко бачимо v2може бути покладено в основу для архівування кращого результату. При цьому алгоритм припиняється під час інтерполяції першої та п'ятої точок даних із загальною помилкою 2 - це найкраще рішення.

Дякуємо за те, що ви прочитали і дали мені десь написати свою проблему, що зазвичай допомагає значно звузити рішення. Сподіваємось, ця відповідь іноді може бути корисною для всіх, хто намагається реалізувати Barrodale & Roberts.

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