На самом деле мне нужна лишь подсказка, с чего я могу начать.
Я немного знаком с Mahout, по крайней мере, теоретически. Я знаю, как это работает, как настроить и т. д., и я мог бы создать простую систему рекомендаций, основанную на совместной фильтрации.
Однако сейчас я пытаюсь сделать что-то более сложное, и даже прочитав немало о разных алгоритмах, я не уверен, в каком направлении двигаться.
Быстро то, что я хочу сделать, это:
Конечная цель состоит в том, чтобы определить один скаляр («оценку») каждого из набора сущностей на основе некоторых «известных» сущностей. Сущности взаимодействуют друг с другом, известные оценки влияют и определяют неизвестные. Вы можете представить это на следующем примере.
У меня много белой одежды и несколько цветных; красный, синий, зеленый... Я закинул их в стиральную машину. Я хочу знать, какие цвета приобретут белые после стирки.
Что нужно учитывать:
- делаем серию стирок с разными "актёрами"... часть белья стирается в 1-й и 3-й стирке, часть только во 2-й, часть стирается во всех
- при последовательных стирках вещи, которые раньше были белыми, а теперь цветными, также влияют на остальные, но не так сильно (поскольку они не такие цветные)
- некоторые цвета не «окрашивают» так сильно, как другие. например красный цвет оказывает сильное влияние на большую часть одежды, а зеленый не так сильно
- эффект окрашивания также зависит от того, сколько белья находится в одной стирке. Если стирать красную рубашку с белой футболкой, она станет намного ярче, чем если бы было 100 других белых футболок.
- одежда не "теряет" свой цвет при воздействии на других
Вы можете видеть, что при расчете объектам фактически назначено 2 скаляра:
- цветовой оттенок (это также определяет «силу окраски», как упоминалось выше). Оттенок можно представить в виде числа, скажем, от 0 до 1. Когерентность между мощностью окраски и номером цвета нелинейна. Это больше похоже на то, что концы шкалы имеют большую мощность окраски (0 и 1), а середина (0,5) — меньшую.
- "светлость" цвета (насколько объект окрашен, для исходно окрашенной одежды - 1, для белой - 0), который в то же время определяет и мощность окраски независимо от оттенка
Итак, еще раз то, что я знаю:
- какая одежда стиралась в какой последовательной стирке
- Я знаю первоначальный цвет некоторых из них, остальные изначально белые
Что я хочу знать: - оттенок всей одежды в конце стирки
Проблема в том, что я не знаю, с какого (типа) алгоритма мне начать. Если вы были так любезны дочитать до сих пор, пожалуйста, предложите мне что-нибудь (или дополнительное чтение).
Очевидно, я не прошу подробностей, опять же, только намеки.
Спасибо!