Неотрицательная матричная факторизация

Техника выделения существенных признаков из данных называется неотрицательной матричной факторизацией (Non-negative Matrix Factorization – NMF). Это один из наиболее сложных методов во всей книге, поэтому потребуется чуть больше объяснений и краткое введение в линейную алгебру. Но в этом разделе мы рассмотрим все, что нужно знать.

Краткое введение в математику матриц

Чтобы понять, как работает алгоритм NMF, необходимо кое-что знать об умножении матриц. Если вы знакомы с линейной алгеброй, можете смело пропустить этот раздел.

Рис. 10.3. Транспонирование матрицы

На рис. 10.2 приведен пример умножения матриц.

Рис. 10.2. Пример умножения матриц

Первая из двух перемножаемых матриц (матрица A на рисунке) должна иметь столько столбцов, сколько есть строк во второй матрице (B). В данном случае в матрице A – два столбца, а в матрице B – две строки. Результирующая матрица (C) имеет столько строк, сколько матрица A, и столько столбцов, сколько матрица B.

Значение в каждой клетке (i, j) матрицы C вычисляется путем суммирования произведений чисел в i-й строке матрицы A на соответственные числа в j-м столбце матрицы B. Так, число в левом верхнем углу матрицы C равно сумме произведений чисел в первой строке матрицы A на числа в первом столбце матрицы B. Значения в остальных клетках матрицы C вычисляются аналогично.

Еще одна операция над матрицами называется транспонированием. Она меняет строки и столбцы местами. Обычно эта операция обозначается буквой T, как показано на рис. 10.3.

Операции транспонирования и умножения необходимы для реализации алгоритма NMF.

Рис. 10.6. Умножение матрицы весов на матрицу признаков

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

В названии алгоритма фигурирует слово «неотрицательная», потому что возвращаемые признаки и слова представлены неотрицательными числами. На практике это означает, что значения всех признаков должны быть положительны, и в нашем примере так оно и есть, поскольку ни для какой новости не может быть отрицательного счетчика вхождений слов. Кроме того, признаки не должны «красть» части других признаков – алгоритм NMF устроен так, что никакие слова не будут явно исключены. Хотя это ограничение может воспрепятствовать нахождению оптимальной факторизации, зато результаты легче интерпретировать.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100