Алгоритм алгоритма Mahout - PullRequest
0 голосов
/ 02 марта 2012

Что мне нужно, так это просто подсказка, с которой я могу начать.

Я немного знаком с Махутом, по крайней мере, теоретически. Я знаю, как это работает, как его настроить и т. Д., И я мог бы создать простую систему рекомендаций, основанную на совместной фильтрации.

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

Быстро, что я хочу сделать, это:

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

У меня много белой одежды и несколько разноцветных; красный, синий, зеленый ... Я положил их в стиральную машину. Я хочу знать, какие цвета приобретут белые после стирки.

Что нужно учитывать:

  • мы делаем серию стирок с разными «актерами» ... некоторые вещи стираются при 1-й и 3-й стирке, некоторые только во 2-й, некоторые стираются во всех
  • при последовательных стирках одежда, которая раньше была белой, но теперь окрашенной, также влияет на остальных, но не так сильно (так как они не такие цветные)
  • некоторые цвета не "окрашивают" так сильно, как другие. например, красный цвет сильно влияет на большую часть одежды, но зеленый не так сильно
  • Эффект окраски также зависит от того, сколько одежды находится в одной стирке. Если вы стираете красную рубашку с белой футболкой, она становится намного более цветной, чем если бы было 100 других белых футболок
  • одежда не "теряет" свой цвет при воздействии на других

Вы можете видеть, что при расчете у сущностей фактически есть 2 назначенных скаляра:

  • оттенок цвета (это также определяет «силу окраски», как упоминалось выше). Оттенок можно представить в виде числа от 0 до 1, скажем так. Когерентность между силой окрашивания и числом цвета не является линейной. Это больше похоже на то, что концы шкалы обладают большей силой окраски (0 и 1), а середина (0,5) имеет меньшую
  • цвет "легкость" (сколько окрашено у сущности, для первоначально окрашенной одежды - 1, для белой - 0), что в то же время определяет силу окраски независимо от оттенка

Итак, опять же, что я знаю:

  • какая одежда была выстирана при какой последовательной стирке
  • Я знаю оригинальный цвет некоторых из них, остальное белое в начале

Что я хочу знать: - оттенок всей одежды в конце стирки

Проблема в том, что я не знаю, с какого (типа) алгоритма мне начинать. Если вы так любезно прочитали, пожалуйста, предложите мне что-нибудь (или читайте дальше).

Очевидно, я не прошу подробностей, опять же, только намеки.

Спасибо!

1 Ответ

0 голосов
/ 03 марта 2012

Единственное, о чем я могу подумать, звучит так, будто эта проблема - это PageRank.Это вычислено своего рода итеративной симуляцией.Каждая страница имеет какое-то влияние (цвет), которое течет через ее ссылки (стирает ее), и в какой-то момент влияние страницы достигает устойчивого состояния (окончательный цвет).Вы можете искать алгоритмы PageRank, но это, по сути, вопрос вычисления собственных векторов большой матрицы цветов носка.

...