0

Я создал ANN с обратным распространением в качестве системы рекомендаций для книг.Как мне обучить нейронную сеть для системы рекомендаций?

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

У меня уже есть много данных о пользователях и их рейтингах (от 1 до 5) для книг. Я хотел бы получить его в нейронной сети (настройте все веса) для этих данных, не пройдя процесс обратного распространения. Сделайте это как-то более механически.

Скажите, что каждый пользователь имеет около 100 оцененных книг в своей библиотеке, как мне установить вес для них? Как книги в библиотеке пользователя относятся к другим книгам в библиотеке пользователя?

Спасибо.

+0

Вес по книжным рейтингам, вот почему у вас есть они. – mcandre

+0

Этот вопрос касается не предварительной подготовки в смысле нейронных сетей. –

ответ

2

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

Вы должны посмотреть на collaborative filtering. Я не говорю, что вы не можете решить проблему с нейронными сетями, но я не уверен, что вы этого захотите.

+0

Согласен. Нейронная сеть не собирается «легко вводить данные» - за пределами использования алгоритма обучения, такого как обратное распространение. Не говорите, что это невозможно, но это скорее вопрос исследования для кого-то, кто интересуется NN methinks. Дерево решений (или повышение с помощью птенцов решений) может быть подходящим для вашего приложения. У WEKA есть, и хороший учебник о том, как их использовать в WEKA, можно найти здесь: http://www.ibm.com/developerworks/opensource/library/os-weka1/index.html –

+0

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

1

Я согласен, что вы, вероятно, не хотите использовать нейронную сеть.

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

Вы изучали теории Fuzzy Logic, чтобы решить вашу проблему? Основываясь на моем опыте, похоже, что нечеткая логика может подходить для этой системы, где рейтинги книг могут использоваться как функции членства, чтобы определить, какую категорию/книгу рекомендовать.

0

Нейронные сети не являются решением проблемы. Вам нужна некоторая метрика сходства между двумя книгами. Это может включать в себя некоторые механизмы мечения, или Dewey Classification System. Затем в рекомендации пользователя должны быть включены книги, которые более важны для тех, которые ему нравятся.