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

Контекст: я недавно реализовывал алгоритм Expectation-Maximization (EM) для моделей гауссовой смеси, и часть этого процесса включает в себя вычисление гауссовского PDF для различных точек x_i с различными параметрами.Я реализовал это несколько наивно, что было достаточно быстро для того, что мне нужно, но я чувствую, что его можно было бы вычислить быстрее, если бы оно было написано в красивой, чистой матричной форме.Однако я не знаю, как бы вы подошли к тому, чтобы получить его в нужной форме.

Многовариантный гауссовский PDF мне нужен в форме:

p_k (x_i | ?_k, ?_k) = exp (-1/2 (x_i - ?_k) ^ T ?_k ^ -1 (x_i - ?_k)) / [(2?) ^ (d / 2) | ?_k | ^ (1/2)]

Обозначения:

  • x_i - это d-мерный вектор входных данных, где 1 ≤ i ≤ N (N - общее количество точек данных)
  • k ∈ {1, 2, ..., K} - еще один параметр, по которому я должен вычислить p (x_i) для каждого значения k
  • ?_k - это d-мерный набор средств для данных
  • ?_k - ковариационная матрица dxd для данных

(Извините, если трудно читать.)

Мои основные путаницы:

  • Уравнение, как я напечатал выше, дает скалярную вероятность для одного i и одного k.
  • Мне нужно вычислить его для всех i, k, поэтому в конце я бы хотел матрицу значений NxK.
  • Основная часть экспоненциальной части, (x_i -_k) Т Θ_k-1 (x_i - μ_k), эффективно принимает вектор 1XD, умножается на матрицу DXD, а затем снова умножает вектором dx1.С одной точкой данных мы получаем в результате скаляр 1x1, но с более чем одной точкой данных мы не получим матрицу NxN?

Может кто-нибудь помочь мне найти более элегантный способнаписать это?Опять же, в конечном итоге я хотел бы получить некоторую однострочную строку для получения матрицы NxK, которую я предположил бы записать в виде: p (X | ?, ?) где X - матрица Nxd, ? - kxdматрица, а ? является матрицей kxdxd.

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