Обмежена задача оптимізації в матричній ентропії


10

У мене є обмежена проблема оптимізації в ентропії матриці (Шеннона) . Матриця може бути записана як сума матриць 1 рангу виду де - заданий нормалізований вектор. Коефіцієнти матриць першої позиції - це невідомі, в яких ми оптимізуємо, і вони повинні бути більшими за нуль і дорівнювати 1. A [ v i(сум(ентr(еiг(А))))Av i[viviТ]vi

У синтаксисі, подібному CVX, проблема полягає в наступному: задана зміннаc(н)

мінімізуватисум(ентr(еiг(А)))

на темуА=civiviТci=1ci0
.

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

Відповіді:


8

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

Овертон, Майкл Л. та Роберт С. Вомерслі. "Другі похідні для оптимізації власних значень симетричних матриць." Журнал SIAM щодо матричного аналізу та застосувань 16.3 (1995): 697-718. http://ftp.cs.nyu.edu/cs/facturing/overton/papers/pdffiles/eighess.pdf

Огляд

У цьому дописі я показую, що проблема оптимізації добре поставлена ​​і що обмеження нерівності неактивні при розв’язанні, потім обчислюють першу та другу похідні Фреше функції ентропії, а потім пропонують метод Ньютона щодо проблеми з усуненим обмеженням рівності. Нарешті, представлений код Matlab та числові результати.

Добре поставлена ​​проблема оптимізації

По-перше, сума позитивних визначених матриць є позитивно визначеною, тому для сума матриць рангу-1 A ( c ) : = N i = 1 c i v i v T i є позитивно визначеною. Якщо множина v i є повним рангом, то власні значення A позитивні, тому логарифми власних значень можна приймати. Таким чином, цільова функція чітко визначена в інтер'єрі здійсненного набору.ci>0

А(c): =i=1NciviviТ
viА

По-друге, як і будь-який , A втрачає ранг, тому найменше власне значення A переходить до нуля. Тобто, σ m i n ( A ( c ) ) 0 як c i0 . Оскільки похідна - σ log ( σ ) вибухає як σ 0 , не може бути послідовність послідовно кращих і кращих точок, що наближаються до межі доцільної множини. Таким чином, проблема чітко визначена, а крім того, обмеження нерівностіci0ААσмiн(А(c))0ci0-σжурнал(σ)σ0 неактивні.ci0

Фреш-похідні функції ентропії

У внутрішній частині можливої ​​області функція ентропії є фрешетом, диференційованою скрізь, і двічі диференційованою Фреше, де б не повторилися власні значення. Для здійснення методу Ньютона нам потрібно обчислити похідні ентропії матриці, що залежить від власних значень матриці. Для цього потрібні обчислення чутливості розкладання власного значення матриці щодо змін у матриці.

Нагадаємо, що для матриці з власним значенням розкладання A = U Λ U T похідна матриці власного значення щодо змін вихідної матриці дорівнює, d Λ = I ( U T d A U ) , і похідна власний вектор матриця, d U = U C ( d A ) , де є продуктом Адамар , з матрицею коефіцієнтів C = { UАА=UΛUТ

гΛ=Я(UТгАU),
гU=UС(гА),
С={уiТгАуjλj-λi,i=j0,i=j

Такі формули виводяться шляхом диференціювання рівняння власного значення , а формули дотримуються кожного разу, коли власні значення відрізняються. Коли є повторюються власні значення, формула для г Л має знімний розрив , який може бути продовжений до тих пір , як неєдиним власні вектори обрані ретельно. Детальніше про це дивіться у наступній презентації та статті .АU=ΛUгΛ

Друга похідна потім знаходить шляхом повторної диференціації,

г2Λ=г(Я(UТгА1U))=Я(гU2ТгА1U+UТгА1гU2)=2Я(гU2ТгА1U).

г2ΛгU2Сvi

Усунення обмеження рівності

i=1Nci=1N-1

cN=1-i=1N-1ci.

N-1

гf=гС1ТМТ[Я(VТUБUТV)]
ггf=гС1ТМТ[Я(VТ[2гU2БаUТ+UБбUТ]V)],
М=[111-1-1-1],

Ба=гiаг(1+журналλ1,1+журналλ2,,1+журналλN),

Бб=гiаг(г2λ1λ1,,г2λNλN).

Метод Ньютона після усунення обмеження

Оскільки обмеження нерівності неактивні, ми просто починаємо в здійсненому наборі та запускаємо довірчий регіон чи пошук рядків неточного Ньютона-КГ для квадратичного зближення до внутрішніх максимумів.

Метод такий: (не враховуючи деталі пошуку довіри регіону / рядка)

  1. c~=[1/N,1/N,,1/N]
  2. c=[c~,1-i=1N-1ci]
  3. А=iciviviТ
  4. UΛА
  5. Г=МТ[Я(VТUБUТV)]
  6. НГ=ppННδc~гU2БаБб
    МТ[Я(VТ[2гU2БаUТ+UБбUТ]V)]
  7. c~c~-p
  8. Перейти 2.

Результати

viN=100vi

>> N = 100;
>> V = randn (N, N);
>> для k = 1: NV (:, k) = V (:, k) / норма (V (:, k)); кінець
>> maxEntropyMatrix (V);
Ітерація Ньютона = 1, норма (градус f) = 0,67748
Ітерація Ньютона = 2, норма (градус f) = 0,03644
Ітерація Ньютона = 3, норма (градус f) = 0,0012167
Ітерація Ньютона = 4, норма (градус f) = 1.3239e-06
Ітерація Ньютона = 5, норма (градус f) = 7,7114e-13

Щоб побачити, що обчислена оптимальна точка насправді є максимумом, ось графік того, як змінюється ентропія, коли оптимальна точка порушена випадковим чином. Усі збурення спричиняють зменшення ентропії. введіть тут опис зображення

Код Matlab

Функція "все в 1" для мінімізації ентропії (щойно додана до цієї публікації): https://github.com/NickAlger/various_scripts/blob/master/maxEntropyMatrix.m


Дуже дякую! Я вирішив це просто, з градієнтним наголосом сам, але це, мабуть, більш надійно. Факт, що v має бути повноцінним у файлі matlab - це єдине, що мене турбує.
Висихає

@ NickAlger Надане посилання не працює, чи можу я попросити вас переглянути?
Творець

@Creator оновив посилання у публікації! github.com/NickAlger/various_scripts/blob/master/…
Нік

@NickAlger Чи існує обмеження на матриці, якою алгоритм може працювати? Чи добре цей алгоритм для матриці зі складними елементами? У моєму випадку SVD виходить з ладу через деякий час, оскільки матриця має Nan.
Творець

Я не думаю, що складні числа повинні бути проблемою. Одне обмеження методу полягає в тому, що оптимальне рішення не може мати повторних власних значень, і, напевно, є те, що відбувається тут. У цьому випадку метод сходить до чогось, що ділиться на нуль у рівнянні С. Ви можете спробувати випадковим чином збурити входи і побачити, чи це допомагає. Існує спосіб подолати це в документі Overton, на який згадувалося вище, але мій код не такий просунутий.
Нік Алгер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.