Какой числовой метод гарантирует более безопасную инверсию матрицы? - PullRequest
0 голосов
/ 29 января 2019

Я пытаюсь разработать алгоритм (в рамках градиентного спуска) для задачи SEM (модель структурного уравнения). Существует матрица параметров B (n * n), все ее диагональные элементы которой установлены на ноль.термин inv (IB) (инверсия I - B) в моей целевой функции. Нет другого ограничения, такого как симметрия на B.

Мой вопрос заключается в том, как мы можем убедиться, что (IB) неединственное число в итерациях?

В этой задаче, поскольку областью целевой функции является не все пространство R ^ n, кажется, что строгие условия сходимости градиентного спуска не будут выполнены. Стандартные учебники будут предполагать, что цельиметь домен во всем пространстве R ^ n. Кажется, что градиентный спуск не будет иметь гарантированной сходимости.

В настоящее время моя реализация итерационных алгоритмов состоит в том, что проверка того, близка ли (IB) кединственное число, тогда, если это не так, размер шага градиентного спуска будет уменьшен. Есть ли лучший численный подход к решению этой проблемы?

1 Ответ

0 голосов
/ 16 февраля 2019

Вы можете попробовать установить логарифмический барьер на det(I-B)>0 или det(I-B)<0 в зависимости от того, какой из них даст вам лучший результат, или если у вас есть больше информации о вашей проблеме.градиент logdet довольно хороший https://math.stackexchange.com/questions/38701/how-to-calculate-the-gradient-of-log-det-matrix-inverse

Вы также можете вычислить дуал Фенхеля, чтобы потенциально использовать подход примитивного дуала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...