Корректировка весов нейросети по рейтингу пользователей

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

сходство региона = 0,5, вес региона = 0,6

Сходство интересов = 0,3, WeightInterest = 0,8

сходство образования = 0,75, вес образования = 1,1

сходство позиций = 0,6, weightPositions = 1,5

поэтому вычисление общего сходства будет умножено на сумму, деленную на сумму весов: (0,5*0,6+0,3*0,8+0,75*1,1+0,6*1,5)/4 // я делю на сумму весов, чтобы поместить параметр в {0.. 1} Итак, дело в том, что мне нужно контролировать эти веса по пользовательскому рейтингу (оценка кликов пользователя от 1 до 10 и корректировка весов r)

Я построил такую ​​NN: Neural Network

Итак, что я делаю: n = 0,25 (обучение k); рейтинг=0,7 (это мой рейтинг 7);

net5=x1*w15+x2*w25+x3*w35+x4*w45;

out5=1/(1-pow(e,-net5));

real=out5*(1+1-рейтинг);

ошибка=выход5*(1-выход5)*(реальный-выход5);

w15n=w15+errnx1;

w25n=w25+ошибкаnx2;

w35n=w35+ошибкаnx3;

w45n=w45+ошибкаnx4;

(я извиняюсь за форматирование кода, он продолжал говорить, что он неправильно отформатирован)

Что я делаю не так? Потому что результаты такого исправления совсем не хорошие. Спасибо


person Leg0    schedule 18.12.2011    source источник
comment
Почему вы делаете NN только с одним слоем??? Таким образом, вы можете получить только функции линейного разделения.   -  person peri4n    schedule 18.12.2011
comment
Можете ли вы объяснить мне пример многослойной NN для этой проблемы? я просто не могу понять, где я возьму веса и параметры для других слоев.   -  person Leg0    schedule 18.12.2011
comment
NN все о структуре. Чем сложнее ваша проблема, тем больше слоев вам потребуется для получения хорошего результата. Параметры слоя изучаются с использованием алгоритма, называемого: Обратное распространение. Вам нужен секретный образец, чтобы использовать его.   -  person peri4n    schedule 18.12.2011
comment
я знаю обратное распространение и использую его выше, я пересчитываю веса, но я не могу получить этот процесс для нескольких слоев, потому что здесь я просто использую веса в качестве своих весов, которые я ставлю, и ввожу числа как подобия. какие веса я должен использовать во втором слое? Например   -  person Leg0    schedule 18.12.2011
comment
Значит, ты не знаешь обратного распространения. Вход в последний слой всегда представляет собой разницу между тем, что вы получили, и тем, что вы хотите.   -  person peri4n    schedule 18.12.2011
comment
Можете ли вы показать это на моем примере? я вычисляю реальный (то, что я хочу) результат как результат, умноженный на (1 + 1 - рейтинг), а затем я вычисляю ошибку, на которой я пересчитываю свои веса, что не так?   -  person Leg0    schedule 18.12.2011
comment
willamette.edu/~gorr/classes/cs449/Backprop/backprop. html   -  person peri4n    schedule 18.12.2011
comment
Есть ли причина, по которой вы не используете 4 метрики сходства для построения ансамбля, а затем используете его со стандартной совместной фильтрацией?   -  person Steve    schedule 19.12.2011
comment
Стив, это именно то, что я делаю, но мне нужно взвесить каждую метрику, так как параметры не совпадают по важности.   -  person Leg0    schedule 19.12.2011


Ответы (1)


Я думаю, вы идете неправильным путем. Обратное распространение не является хорошим выбором для этого типа обучения (каким-то образом добавочного обучения). Чтобы использовать обратное распространение, вам нужны некоторые данные, скажем, 1000 данных, где даны различные типы сходства (вход) и истинное сходство (выход). Затем веса будут обновляться и обновляться до тех пор, пока частота ошибок не снизится. И, кроме того, вам также нужен набор тестовых данных, который позволит вам убедиться, что результирующая сеть будет работать хорошо даже для значений подобия, которые она не увидела во время обучения.

person Mehraban    schedule 07.02.2013
comment
Получил это после реализации этого :) Итак, что бы вы предложили для такого типа обучения? - person Leg0; 08.02.2013
comment
Я думаю, что обучение с подкреплением может быть хорошей идеей, но я мало что знаю об этом. - person Mehraban; 08.02.2013