Как выбрать оптимальное количество скрытых факторов при неотрицательной матричной факторизации?


15

Принимая во внимание матрицы Vm×n , неотрицательная матрица Факторизация (ФС) находит две неотрицательных матрицы Wm×k и Hk×n (то есть со всеми элементами 0 ) , чтобы представить разложившуюся матрицу , как:

VWH,

например, требуя , чтобы неотрицательное W и H свести к минимуму ошибки реконструкции

VWH2.

Существуют ли общепринятые практики для оценки числа k в ЯМФ? Как, например, перекрестная проверка может быть использована для этой цели?


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

2
Не могли бы вы рассказать мне подробнее о том, как выполнить перекрестную проверку для NMF? Значения K для нормы Фробениуса всегда будут уменьшаться с увеличением числа K.
Стив Сейлер

Для чего ты делаешь NMF? Представляет ли он в пространстве меньшего измерения (без присмотра) или для предоставления рекомендаций (под наблюдением). Насколько большой ваш V ? Вам нужно объяснить определенный процент дисперсии? Вы можете подать резюме после того, как определите свой целевой показатель. Я бы посоветовал вам подумать о приложении и найти метрику, которая имеет смысл. VV
неосведомленный

Ответы:


10

Чтобы выбрать оптимальное количество скрытых факторов в неотрицательной матричной факторизации, используйте перекрестную проверку.

Как вы писали, целью NMF является поиск низкоразмерных W и H со всеми неотрицательными элементами, минимизирующими ошибку восстановления VWH2 . Представьте, что мы пропускаем один элемент V , например, Vab , и выполняем NMF для полученной матрицы с одной отсутствующей ячейкой. Это означает нахождение W и H минимизирующее ошибку восстановления по всем не пропущенным ячейкам:

ijab(Vij[WH]ij)2.

Как только это будет сделано, мы можем предсказать пропущенный элемент Vab , вычислив [WH]ab и вычислить ошибку прогнозирования

eab=(Vab[WH]ab)2.
Можно повторить эту процедуру, пропуская все элементы Vab одному, и суммировать ошибки прогнозирования по всем a и b . Это приведет к общему значению PRESS (прогнозируемая остаточная сумма квадратов) E(k)=abeab которое будет зависеть отk . Надеемся, что функцияE(k) будет иметь минимум, который можно использовать как «оптимальный»k .

Обратите внимание, что это может быть вычислительно дорогостоящим, потому что NMF должен повторяться для каждого пропущенного значения, а также может быть сложным для программирования (в зависимости от того, насколько легко выполнить NMF с пропущенными значениями). В PCA можно обойти это, пропустив полные строки V (что значительно ускоряет вычисления), см. Мой ответ в разделе Как выполнить перекрестную проверку для PCA, чтобы определить количество основных компонентов? , но это не возможно здесь.

Конечно, здесь применяются все обычные принципы перекрестной проверки, поэтому можно пропустить много ячеек за раз (вместо одной) и / или повторить процедуру только для некоторых случайных ячеек вместо того, чтобы зацикливаться на всех ячейках. Оба подхода могут помочь ускорить процесс.

Редактировать (март 2019 г.): см. Эту очень хорошую иллюстрированную статью @AlexWilliams : http://alexhwilliams.info/itsneuronalblog/2018/02/26/crossval . Алекс использует https://github.com/kimjingu/nonnegfac-python для NMF с пропущенными значениями.


4

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

  1. Коэффициент копенетической корреляции: вы повторяете NMF несколько раз на ранг и вычисляете, насколько похожи результаты. Другими словами, насколько стабильны идентифицированные кластеры, учитывая, что начальное начальное число является случайным. Выберите наибольшее значение K, прежде чем кофенетический коэффициент упадет.

  2. RSS против рандомизированных данных При любом подходе к уменьшению размерности всегда происходит потеря информации по сравнению с вашими исходными данными (по оценкам RSS). Теперь выполните NMF для увеличения K и рассчитайте RSS с вашим исходным набором данных и рандомизированным набором данных. При сравнении RSS в зависимости от K RSS уменьшается с увеличением K в исходном наборе данных, но это менее верно для рандомизированного набора данных. Сравнивая оба склона, нужно найти букву K, где они пересекаются. Другими словами, сколько информации вы можете позволить себе потерять (= наивысший К), прежде чем оказаться в пределах шума.

Надеюсь, я был достаточно ясен.

Изменить: я нашел эти статьи.

1.Jean-П. Брюне, Пабло Тамайо, Тодд Р. Голуб и Джилл П. Месиров. Метагены и обнаружение молекулярных структур с использованием матричной факторизации. В Слушаниях Национальной академии наук США, 101 (12): 4164-4169, 2004.

2. Аттила Фригеси и Маттиас Хоглунд. Неотрицательная матричная факторизация для анализа данных экспрессии сложных генов: идентификация клинически значимых подтипов опухоли. Cancer Informatics, 6: 275-292, 2008.


Непонятно, почему RSS случайных данных должна быть ниже, чем RSS, вычисленная с исходными данными, когда K мало? В остальном я понимаю, что RSS случайных чисел должно уменьшаться медленнее, чем в исходных данных.
Малик Коне

1

При факторизации NMF параметр (отмеченный r в большинстве литературных источников) является рангом аппроксимации V и выбирается таким, что k < min ( m , n ) . Выбор параметра определяет представление ваших данных V в слишком полной основе, состоящей из столбцов W ; ш I  ,  я = 1 , 2 , , K . В результате ряды матриц W и HkrVk<min(m,n)VWwi , i=1,2,,kWH имеют верхнюю границу и произведениеможет быть сгенерировано / составлено из вышеупомянутых базисных векторов.k - аппроксимация младшего ранга V ; также к максимум. Следовательно, выбор k < min ( m , n ) должен составлять уменьшение размерности, где VWHVkk<min(m,n)V

Дальнейшие подробности можно найти в главе 6 этой книги. S. Theodoridis и K. Koutroumbas.

После минимизации выбранной вами функции стоимости относительно и H , оптимальный выбор k ( выбранный эмпирически при работе с различными подпространствами признаков) должен дать V , приближение V , с характеристиками, представляющими вашу исходную матрицу данных В . WHkVVV

Работа с различными суб-художественных пространств в том смысле , что, число столбцов в W , является число базисных векторов в NMF подпространстве. И опытная работа с различными значениями k равносильна работе с различными пространственными объектами с уменьшенной размерностью.kWk


4
Но вопрос был о том, как выбрать оптимальный ! Можете ли вы дать какие-либо идеи об этом? k
говорит амеба: восстанови монику

@amoeba Если я не правильно понял первоначальный вопрос, это «Есть ли общие практики для оценки числа в NMF?». Оптимальное k выбирается опытным путем . Я расширил свой ответ. kk
Жиль

2
Ваше объяснение факторизации NMF имеет полный смысл, но первоначальный вопрос был конкретно о распространенной практике оценки k. Теперь вы написали, что можно выбрать «эмпирически» (хорошо) «работая с различными подпространствами признаков». Я не уверен, что понимаю, что означает «работа с различными подпространствами функций», не могли бы вы остановиться на этом? Как с ними работать? Какой рецепт выбрать к? Вот о чем вопрос (по крайней мере, как я понял). Будем рады отменить мое понижение!
говорит амеба, восстанови Монику

2
k

1
k
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.