Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 639001)
Контекстум
Электро-2024

Рекомендательные системы на практике (5000,00 руб.)

0   0
Первый авторФальк
ИздательствоМ.: ДМК Пресс
Страниц450
ID795283
АннотацияКнига посвящена рекомендательным системам, которые собирают данные о пользователе и выводят для него персональные рекомендации, основываясь на его предпочтениях. Ким Фальк, специалист по обработке и анализу данных, предоставляет читателю самые важные сведения о рекомендательных системах – начиная с общего обзора и описания ключевых алгоритмов до рассмотрения тонких нюансов работы, благодаря которым система с максимальной точностью учитывает интересы пользователя. Помимо прочего, обсуждаются методы оценки рекомендательной системы вне интернета и возможности совмещения различных рекомендательных систем. Книга снабжена многочисленными примерами программного кода. Издание предназначено для широкого круга разработчиков и специалистов по анализу данных.
ISBN978-5-97060-774-9
УДК4.594
ББК32.972
Фальк, К. Рекомендательные системы на практике / К. Фальк .— Москва : ДМК Пресс, 2020 .— 450 с. — ISBN 978-5-97060-774-9 .— URL: https://rucont.ru/efd/795283 (дата обращения: 17.06.2024)

Предпросмотр (выдержки из произведения)

Рекомендательные_системы_на_практике.pdf
Стр.5
Стр.7
Стр.8
Стр.9
Стр.10
Стр.11
Стр.12
Стр.13
Стр.14
Рекомендательные_системы_на_практике.pdf
УДК 004.594 ББК 32.972 Ф19 Ким Фальк Ф19 Рекомендательные системы на практике / пер. с англ. Д. М. Павлова. – М.: ДМК Пресс, 2020. – 448 с.: ил. ISBN 978-5-97060-774-9 Книга посвящена рекомендательным системам, которые собирают данные о пользователе и выводят для него персональные рекомендации, основываясь на его предпочтениях. Ким Фальк, специалист по обработке и анализу данных, предоставляет читателю самые важные сведения о рекомендательных системах – начиная с общего обзора и описания ключевых алгоритмов до рассмотрения тонких нюансов работы, благодаря которым система с максимальной точностью учитывает интересы пользователя. Помимо прочего, обсуждаются методы оценки рекомендательной системы вне интернета и возможности совмещения различных рекомендательных систем. Книга снабжена многочисленными примерами программного кода. Издание предназначено для широкого круга разработчиков и специалистов по анализу данных. УДК 004.594 ББК 32.972 Original English language edition published by Manning Publications. Copyright Все права защищены. Любая часть этой книги не может быть воспроизведена © 2019 by Manning Publications. Russian language edition copyright © 2020 by DMK Press. All rights reserved. в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. ISBN 978-1-61729-2705 (англ.) ISBN 978-5-97060-774-9 (рус.) Copyright © 2019 by Manning Publications Co. © Оформление, перевод, издание, ДМК Пресс, 2020
Стр.5
Оглавление Предисловие от издательства ..................................................................................13 Предисловие ....................................................................................................................14 Благодарности .................................................................................................................16 О книге ................................................................................................................................17 Об авторе ...........................................................................................................................20 Об обложке .......................................................................................................................21 ЧАСТЬ I. Подготовка к рекомендательным системам ..................................23 Глава 1. Что такое рекомендательная система? ...............................................25 1.1. Рекомендации в реальной жизни .................................................................. 25 1.1.1. Рекомендательные системы дома в интернете .................................. 27 1.1.2. Длинный хвост ...................................................................................... 28 1.1.3. Рекомендательная система Netflix ...................................................... 28 1.1.4. Определение рекомендательной системы .......................................... 35 1.2. Таксономия рекомендательных систем ........................................................ 38 1.2.1. Специализация ..................................................................................... 39 1.2.2. Задача .................................................................................................... 39 1.2.3. Контекст ................................................................................................. 40 1.2.4. Степень персонализации ..................................................................... 40 1.2.5. Чье мнение ............................................................................................ 42 1.2.6. Конфиденциальность и надежность .................................................... 42 1.2.7. Интерфейс .............................................................................................. 43 1.2.8. Алгоритмы ............................................................................................. 46 1.3. Машинное обучение и Netflix Prize ............................................................... 48 1.4. Интернет-сайт MovieGEEKs ............................................................................ 49 1.4.1. Оформление и характеристики ........................................................... 51 1.4.2. Архитектура ........................................................................................... 51 1.5. Создание рекомендательной системы .......................................................... 53 Резюме .................................................................................................................... 54 Глава 2. Поведение пользователя, и как собирать о нем данные .............55 2.1. Как (по моему мнению) Netflix собирает факты, пока вы пользуетесь сервисом ....................................................................... 56 2.1.1. Какие факты собирает Netflix............................................................... 58
Стр.7
Оглавление  7 2.2. Поиск полезных данных о поведении пользователя ................................... 60 2.2.1. Как узнать мнение посетителя ............................................................ 61 2.2.2. Что можно узнать по поведению обозревателя в магазине .............. 62 2.2.3. Совершение покупки ............................................................................ 67 2.2.4. Пользование товаром ........................................................................... 68 2.2.5. Оценки посетителей ............................................................................ 69 2.2.6. Знакомство с клиентами по (старому) методу Netflix ........................ 73 2.3. Идентификация пользователей ..................................................................... 73 2.4. Получение данных о посетителях из других источников ............................ 74 2.5. Сборщик данных ............................................................................................. 74 2.5.1. Создание файлов проекта .................................................................... 76 2.5.2. Модель данных ...................................................................................... 76 2.5.3. Сборщик данных на стороне клиента ................................................. 77 2.5.4. Интеграция сборщика в MovieGEEKs .................................................. 78 Регистрация наведения курсора .................................................................... 80 Регистрация просмотра подробностей ......................................................... 80 Регистрация «сохранения на потом» ............................................................ 80 2.6. Какие пользователи есть в системе, и как их моделировать .................................................................................... 81 Резюме .................................................................................................................... 84 Глава 3. Мониторинг состояния системы..............................................................85 3.1. Почему панель аналитики – это круто .......................................................... 86 3.1.1. Ответ на вопрос «Как там дела у сайта?» ............................................ 86 3.2. Реализация аналитики ................................................................................... 88 3.2.1. Веб-аналитика ....................................................................................... 88 3.2.2. Базовые статистические данные ......................................................... 88 3.2.3. Конверсии .............................................................................................. 89 3.2.4. О пути к конверсиям............................................................................. 92 3.2.5. Путь конверсии ..................................................................................... 94 3.3. Архетипы ......................................................................................................... 97 3.4. Панель сайта MovieGEEKs ............................................................................ 100 3.4.1. Автоматическая генерация данных в журнале ................................. 100 3.4.2. Характеристики и дизайн панели аналитики ................................... 101 3.4.3. Основа панели аналитики .................................................................. 101 3.4.4. Архитектура ......................................................................................... 102 Резюме .................................................................................................................. 104 Глава 4. Оценки, и как их рассчитывать ............................................................ 105 4.1. Предпочтения элементов пользователями ................................................. 106 4.1.1. Определение оценок ........................................................................... 106 4.1.2. Матрица пользователь–элемент ........................................................ 107 4.2. Явные или неявные оценки ......................................................................... 109 4.2.1. Как мы используем доверенные источники для составления рекомендаций .................................................................. 110
Стр.8
8  Оглавление 4.3. Переоценка .................................................................................................... 111 4.4. Что такое неявные оценки? .......................................................................... 111 4.4.1. Предложения людей ........................................................................... 113 4.4.2. Что учитывать при расчете оценок ................................................... 113 4.5. Расчет неявных оценок ................................................................................. 116 4.5.1. Просмотр поведенческих данных...................................................... 117 4.6. Как реализовать неявные оценки ................................................................ 122 4.6.1. Добавление учета времени ................................................................ 126 4.7. Более редкие элементы имеют бо́льшую ценность ......................................................................................... 128 Резюме .................................................................................................................. 131 Глава 5. Неперсонализированные рекомендации ........................................ 132 5.1. Что такое неперсонализированные рекомендации? ................................. 133 5.1.1. Что такое реклама? ............................................................................. 133 5.1.2. Что делает рекомендация? ................................................................. 134 5.2. Как сделать рекомендации, когда у вас нет данных ................................... 135 5.2.1. Топ-10: диаграмма элементов ........................................................... 136 5.3. Реализация диаграмм и основы для рекомендатора ................................. 138 5.3.1. Компонент рекомендательной системы ........................................... 138 5.3.2. Код MovieGEEKs на сайте GitHub ....................................................... 139 5.3.3. Рекомендательная система ................................................................ 140 5.3.4. Добавление диаграмм на MovieGEEKs .............................................. 140 5.3.5. Заставим контент выглядеть более привлекательно ....................... 142 5.4. Выборочные рекомендации ......................................................................... 144 5.4.1. Часто покупаемые элементы, похожие на тот, который вы просматриваете ............................................................... 144 5.4.2. Ассоциативные правила ..................................................................... 145 5.4.3. Реализация ассоциативных правил ................................................... 150 5.4.4. Сохранение ассоциативных правил в базе данных .......................... 154 5.4.5. Запуск калькулятора ассоциаций ...................................................... 155 5.4.6. Использование различных событий для создания ассоциативных правил ........................................................................ 157 Резюме .................................................................................................................. 158 Глава 6. «Холодные» пользователи и контент ................................................ 159 6.1. Что такое холодный старт? ........................................................................... 159 6.1.1. Холодные товары ................................................................................ 161 6.1.2. Холодный посетитель ......................................................................... 161 6.1.3. Серые овцы .......................................................................................... 163 6.1.4. Посмотрим на примеры из реальной жизни .................................... 163 6.1.5. Что вы можете сделать с холодным стартом? ................................... 164 6.2. Отслеживание посетителей .......................................................................... 165 6.2.1. Анонимные пользователи .................................................................. 165
Стр.9
Оглавление  9 6.3. Решение проблемы холодного старта алгоритмами .................................. 165 6.3.1. Использование ассоциативных правил для создания рекомендаций для холодных пользователей ..................................... 166 6.3.2. Использование знаний предметной области и бизнес-правил ................................................................................... 168 6.3.3. Использование сегментов .................................................................. 168 6.3.4. Использование категорий с целью обойти проблему серых овец и холодных продуктов ...................................................... 170 6.4. Кто не спрашивает, тот не будет знать ........................................................ 172 6.4.1. Когда посетитель уже не новый ......................................................... 173 6.5. Использование ассоциативных правил с целью ускорить показ рекомендаций ................................................................................................ 173 6.5.1. Поиск собранных элементов .............................................................. 174 6.5.2. Получение ассоциативных правил и сортировка в соответствии со значениями уверенности ...................................... 174 6.5.3. Отображение рекомендаций.............................................................. 176 6.5.4. Оценка реализации ............................................................................. 179 Резюме .................................................................................................................. 179 Часть II. Рекомендательные алгоритмы ............................................................ 181 Глава 7. Выявление общих черт у пользователей и контента .................. 183 7.1. Что за сходство? ............................................................................................. 184 7.1.1. Что такое функция подобия? .............................................................. 185 7.2. Основные функции подобия ........................................................................ 185 7.2.1. Расстояние Жаккара ............................................................................ 187 7.2.2. Измерение расстояния с помощью Lp-норм..................................... 189 7.2.3. Коэффициент Отиаи ........................................................................... 192 7.2.4. Вычисление сходства с помощью коэффициента корреляции Пирсона ............................................................................ 194 7.2.5. Испытание сходства коэффициентом Пирсона ................................ 195 7.2.6. Коэффициент корреляции Пирсона на коэффициент Отиаи .......... 198 7.3. Кластеризация k-средних ............................................................................ 198 7.3.1. Алгоритм кластеризации k-средних .................................................. 199 7.3.2. Реализация кластеризации k-средних на Python ............................. 201 7.4. Реализация вычисления сходства ................................................................ 206 7.4.1. Реализация вычисления сходства на сайте MovieGEEKs .................. 208 7.4.2. Реализация кластеризации на сайте MovieGEEKs ............................ 210 Резюме .................................................................................................................. 214 Глава 8. Совместная фильтрация в окрестностях .......................................... 215 8.1. Совместная фильтрация: историческая справка ........................................ 217 8.1.1. Когда начали использовать совместную фильтрацию ..................... 217 8.1.2. Взаимопомощь .................................................................................... 217 8.1.3. Матрица оценок .................................................................................. 219
Стр.10
10  Оглавление 8.1.4. Процедура совместной фильтрации .................................................. 220 8.1.5. Нужно использовать совместную фильтрацию пользователь– пользователь или элемент–элемент? ................................................. 221 8.1.6. Требования к данным ......................................................................... 222 8.2. Расчет рекомендации .................................................................................. 222 8.3. Расчет сходства ............................................................................................ 223 8.4. Алгоритм вычисления сходства элементов с Amazon ............................... 223 Если проблема повторяется – берегись! .................................................... 227 8.5. Способы выбора окрестности ..................................................................... 228 8.6. Поиск правильной окрестности ................................................................. 230 8.7. Методы прогнозирования оценок .............................................................. 230 8.8. Прогнозирование с фильтрацией по элементам ....................................... 232 8.8.1. Вычисление прогнозов...................................................................... 233 8.9. Проблема холодного старта ........................................................................ 233 8.10. Пара слов о терминах машинного обучения ........................................... 234 8.11. Совместная фильтрация на сайте MovieGEEKs ........................................ 235 8.11.1. Фильтрация элементов ................................................................... 236 8.12. В чем разница между правилами ассоциации и совместной фильтрацией? ............................................................................................... 242 8.13. Эксперименты с совместной фильтрацией ............................................. 242 8.14. Преимущества и недостатки совместной фильтрации ........................... 244 Резюме ................................................................................................................ 245 Глава 9. Оценка и тестирование рекомендательной системы ................ 246 9.1. Бизнесу нужен подъем, перекрестные продажи, рост продаж и конверсии .................................................................................................. 247 9.2. Зачем оценивать? ........................................................................................ 248 Гипотеза ....................................................................................................... 249 9.3. Как интерпретировать поведение пользователей .................................... 249 9.4. Что измерять ................................................................................................ 249 9.4.1. Понимание вкусов пользователя: сведение к минимуму ошибки предсказания ................................... 250 9.4.2. Разнообразие ..................................................................................... 251 9.4.3. Охват .................................................................................................. 252 9.4.4. Приятные неожиданности ................................................................ 254 9.5. Перед реализацией рекомендатора... ........................................................ 255 9.5.2. Регрессионное тестирование ........................................................... 256 9.6. Виды оценки ................................................................................................ 257 9.7. Офлайн-оценка ............................................................................................ 257 9.7.1. Что делать, если алгоритм не дает рекомендаций .......................... 258 9.8. Офлайн-эксперименты ............................................................................... 259
Стр.11
Оглавление  11 9.8.1. Подготовка данных для эксперимента ............................................ 264 9.9. Реализация эксперимента в MovieGEEKs................................................... 270 9.9.1. Список дел ........................................................................................... 271 9.10. Оценка тестового набора ............................................................................ 274 9.10.1. Начнем с базовых прогнозов ........................................................... 275 9.10.2. Поиск правильных параметров ....................................................... 277 9.11. Онлайн-оценка ............................................................................................ 278 9.11.1. Контролируемые эксперименты ...................................................... 279 9.11.2. А/В-тестирование .............................................................................. 279 9.12. Непрерывное тестирование с использованием/исследованием ............. 280 9.12.1. Петли обратной связи ....................................................................... 281 Глава 10. Фильтрация по контенту ...................................................................... 283 10.1. Описательный пример ............................................................................... 283 10.2. Фильтрация на основе контента ................................................................ 286 10.3. Анализатор контента .................................................................................. 288 10.3.1. Выделение признаков для профиля элемента ................................ 288 10.3.2. Редко встречающиеся данные ......................................................... 290 10.3.3. Преобразование года в сопоставимую функцию ............................ 290 10.4. Извлечение метаданных из описаний ...................................................... 291 10.4.1. Составление описаний ..................................................................... 291 10.5. Поиск важных слов методом TF-IDF.......................................................... 295 10.6. Моделирование темы с использованием LDA ........................................... 297 10.6.1. Какими крутилками настраивать LDA? ........................................... 303 10.7. Поиск подобного контента ......................................................................... 306 10.8. Создание профиля пользователя ............................................................... 307 10.8.1. Создание профиля пользователя с помощью модели LDA ............ 307 10.8.2. Создание профиля пользователя с помощью модели TF-IDF ....... 308 10.9. Рекомендации на основе контента на сайте MovieGEEKs ..................................................................................... 310 10.9.1. Загрузка данных ................................................................................ 310 10.9.2. Обучение модели .............................................................................. 313 10.9.3. Создание профилей элементов ........................................................ 314 10.9.4. Создание пользовательских профилей ........................................... 314 10.9.5. Отображение рекомендаций ............................................................ 316 10.10. Оценка рекомендатора на основе контента ........................................... 317 10.11. Плюсы и минусы фильтрации на основе контента ................................ 319 Резюме .................................................................................................................. 320 Глава 11. Определение скрытых жанров с помощью матричной факторизации ............................................................................................................... 321 11.1. Иногда чем меньше данных, тем лучше .................................................... 322 11.2. Пример задачи ............................................................................................ 324
Стр.12
12  Оглавление 11.3. Немножко линейной алгебры .................................................................... 327 11.3.1. Матрица ............................................................................................. 327 11.3.2. Что за факторизация? ....................................................................... 329 11.4. Выполнение факторизации с использованием SVD ................................. 331 11.4.1. Добавление новых пользователей путем складывания ................. 336 11.4.2. Как формировать рекомендации с помощью SVD ......................... 338 11.4.3. Базисные предикторы ...................................................................... 339 11.4.4. Временная динамика ........................................................................ 342 11.5. Построение факторизации с помощью Funk SVD .................................... 342 11.5.1. Корень средней квадратичной ошибки .......................................... 343 11.5.2. Градиентный спуск ........................................................................... 344 11.5.3. Стохастический градиентный спуск ................................................ 347 11.5.4. Перейдем, наконец, к факторизации .............................................. 347 11.5.5. Добавление отклонений ................................................................... 349 11.5.6. Как начать и когда остановиться ..................................................... 350 11.6. Генерация рекомендаций с помощью Funk SVD ...................................... 354 11.7. Реализация Funk SVD на MovieGEEKs ........................................................ 356 11.7.1. Что делать с неподходящими рекомендациями ............................. 361 11.7.2. Поддержание актуальности модели ................................................ 362 11.7.3. Более быстрая реализация ................................................................ 363 11.8. Явные данные против неявных данных .................................................... 363 11.9. Оценка ......................................................................................................... 363 11.10. Эксперименты с моделью Funk SVD ........................................................ 365 Резюме .................................................................................................................. 367 Глава 12. С каждого по способностям – реализуем гибридный алгоритм рекомендательной системы ............................................................... 368 12.1. Сложности мира гибридов ......................................................................... 369 12.2. Монолитные рекомендаторы ..................................................................... 370 12.2.1. Смешивание функций контента с поведенческими данными для улучшения алгоритмов на основе совместной фильтрации ............ 371 12.3. Смешанный гибридный рекомендатор .................................................... 372 12.4. Ансамбль ...................................................................................................... 372 12.4.1. Переключаемый ансамбль рекомендаторов ................................... 374 12.4.2. Взвешенная ансамбль рекомендаторов .......................................... 375 12.4.3. Линейная регрессия .......................................................................... 376 12.5. Признако-взвешенное линейное сочетание (FWLS) ................................ 377 12.5.1. Представляем веса в виде функций ................................................. 378 12.5.2. Алгоритм............................................................................................ 380 12.6. Реализация .................................................................................................. 387 Резюме .................................................................................................................. 396
Стр.13
Оглавление  13 Глава 13. Ранжирование и обучение ранжированию .................................. 397 13.1. Обучение ранжированию на примере Foursquare .................................... 398 13.2. Переранжирование ..................................................................................... 402 13.3. Еще раз – что такое обучение ранжированию? ........................................ 403 13.3.1. Три типа алгоритмов LTR ................................................................ 403 13.4. Байесовское персонализированное ранжирование ................................. 405 13.4.1. Ранжирование с BPR ......................................................................... 407 13.4.2. Магия математики (продвинутое колдовство) ............................... 409 13.4.3. Алгоритм BPR .................................................................................... 412 13.4.4. BPR с матричной факторизацией .................................................... 413 13.5. Реализация BPR ........................................................................................... 413 13.5.1. Генерация рекомендаций ................................................................. 419 13.6. Оценка ......................................................................................................... 421 13.7. Эксперименты с BPR ................................................................................... 423 Резюме .................................................................................................................. 424 Глава 14. Будущее рекомендательных систем ............................................... 425 14.1. Вся книга в паре предложений................................................................... 426 14.2. Темы для дальнейшего изучения .............................................................. 429 14.2.1. Дальнейшее чтение ........................................................................... 429 14.2.2. Алгоритмы ......................................................................................... 430 14.2.3. Контекст ............................................................................................. 430 14.2.4. Взаимодействие «Человек–Машина» .............................................. 431 14.2.5. Выбор подходящей архитектуры ..................................................... 431 14.3. Что ждет рекомендательные системы в будущем? .................................. 432 14.4. Послесловие ................................................................................................. 436 Предметный указатель ............................................................................................. 438
Стр.14

Облако ключевых слов *


* - вычисляется автоматически
Периодика по подписке
Антиплагиат система Руконтекст