2013-09-23 4 views
1
.

. Я использую API тегов для пометки своих элементов, чтобы подсчитать оценки «Itemity Item», чтобы: Item 1 получил отметку с { UK, MALE, 50}, пункт 2 с {ФРАНЦИЯ, МУЖЧИНА, 22}, что-то вроде этого. Это работает нормально.Myrrix tagging API для представления/веса родителя/дочернего элемента. Отношение отношения

То, что я хотел бы сделать, - это отношения элементов item-item, поэтому, если мое приложение говорит, что 1 является родителем 2 (и просто чтобы сделать вещи немного сложнее, это многоуровневый), Я бы хотел сказать Майрису, чтобы они сблизили эти два предмета.

Моим первым решением было добавить тег «PARENT_ [name]» для каждого элемента, и для каждого его родителя добавить тег «PARENT_ [родительское имя]» с меньшим весом по мере продвижения по иерархии. Это помогло сблизить родителей и детей.

К сожалению, общее качество предложений, похоже, немного падало, и результаты казались все более переменными, например. снова запустите импорт, результаты кажутся совершенно случайными. Это что-то, что можно исправить на уровне функций/лямбда?

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

ответ

1

Это правильно подумать об этом. Это перегружает API справедливым битом, но все же принципиальным.

Это может или не может помочь на самом деле. Это зависит от того, понравятся ли пользователи, которым нравится A, B, поскольку они имеют общую семейство продуктов. Может быть, для музыки; маловероятно для вещей, которые вы покупаете однажды, как тостер.

Изменчивость исходит из случайной начальной точки. Вы будете получать разные модели каждый раз. Если разница значительна, когда вы начинаете с нуля, тогда вы, вероятно, попадаете в перебор. Возможно, ваши # функции слишком высоки или слишком низкая лямбда для набора данных.

Вы также должны запустить eval, чтобы узнать, хороши ли результаты. Если он плохо оценивает, да, это пример параметров, которые соответствуют их лучшим значениям.

Идея состоит в том, что вам не нужно строить новую модель с нуля каждый раз.

+0

Я экспериментировал с довольно многими наборами параметров ParameterOptimizer, и результаты обычно парят вокруг l = 0,3-0,4, f = 20-23. В то время как оценки sim между двумя очень близкими элементами являются высокими и относительно стабильными, они переполняются множеством полностью фиктивных элементов, которые не имеют вообще никаких тегов, но имеют оценки 0.99999994, 0.99998987 и т. Д. Даже при l = 0,85, f = 5 Я по-прежнему очень фиктивные. Есть ли точка, в которой я должен просто принять это как неизбежное только с предметами 2K? –

+0

Какие виды баллов выходят из оптимизатора? какие диапазоны вы позволяете ему попробовать? Я почему-то думаю, что это все еще не работает. Но эти симптомы звучат как противоположные, неподходящие, где все заканчивается примерно одинаково. Вы можете создать резервную копию и посмотреть, что происходит без искусственных данных. –

+0

Я только что запустил ПО с: 15 0.8 model.features = 2: 25 model.als.lambda = 0.0001: 10, и он дал мне довольно знакомый l = 0.459, f = 19. Если я удалю теги обработки родительского элемента, я вернусь туда где-то между 0.25-0.45, f = 20ish, но симы намного лучше: для элемента 53 тесно связанный элемент 55 прыгает вверх по порядку: http: // pastebin .com/sqas0hSP - это хорошо, но не сможет выполнить родительский контроль в будущем. –