1

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

Во всяком случае, у меня есть следующие матрицы, которые A и B являются разреженными и C не имеет элементов. как я могу предсказать записи в матрице C, относительно матриц A и B? enter image description here

+0

Вы можете сделать 'C = B 'B',' C = B' AB' или образец C совершенно случайным образом ... и многое другое, без **, точно определяющего то, что каждый из них представляет, нет ответа ** , – lejlot

+0

Спасибо @lejlot. Матрикс А показывает некоторую предварительную взаимосвязь между книгами. например, книга «ee» является обязательным условием для книги «cc». Затем вы можете видеть A как ориентированный график, который показывает необходимое соотношение между книгами –

ответ

0

Предполагая, что у вас есть какие-то сходства во всех матрицах. Тогда у вас есть сходство между книгами, которые основаны на совместной встречаемости ключевых слов, а также на сходство между различными ключевыми словами:

A = B C B^T. 

Где А ваша матрица сходства, B является матрица ключевых слов, соответствующих книг и С матрица сходства между разными ключевыми словами.

У вас есть матрица размера n_A и занимает не более n_A. Тогда вы можете только восстановить C до того же ранга N_A, так что вы можете предположить, C иметь образуют

C = V^T V. 

Затем, вы можете легко восстановить C, делая eigendecomposition из А. С одной стороны, у вас есть

A = U D U^T, 

с другой стороны, у вас есть

A = B^T C B. 

Сравнивая эти два, у вас есть

B V^T = U D^{1/2}, 

поскольку D диагональ (мы надеемся, что A не имеет сложных собственных значений).

Уравнение выше может быть разрешено для V с минимальными квадратами.

Все те решатели, которые вам нужны для этого, реализованы на всех основных языках программирования, например, в python это numpy library.

:
+0

Спасибо @Moonwalker. Отличное объяснение. Я просто не мог получить эту формулу «BV^T = UD^{1/2}», не могли бы вы сделать ее более ясной, пожалуйста, –

+0

A = BCB^T, C = V^TV => A = BV^TVB^T ; С другой стороны, A = U D U^T, поэтому B V^T V B^T = U D U^T, => B V^T = U \ sqrt {D} – Moonwalker

+0

Извините @Moonwalker за задание многих вопросов. Но позвольте мне задать свой вопрос по-другому. Что такое V и V^T (вы получили их матричной факторизацией?). в конечном уравнении «B V^T = U \ sqrt {D}», что произойдет с V B^T и U^T. Кроме того, как мы заключаем C из последней функции, которая является «B V^T = U D^{1/2}» и, наконец, какова операция среди матриц (это внутренний или внешний матричный продукт)? Извините еще раз за задание многих вопросов –

Смежные вопросы