Конверсия онлайн-покупок достигает 60. Как это делает рекомендательная система Amazon?

искусственный интеллект глубокое обучение алгоритм Apple
Конверсия онлайн-покупок достигает 60. Как это делает рекомендательная система Amazon?
Эта статья была изначально создана "AI Frontline", оригинальная ссылка:Конверсия онлайн-покупок достигает 60. Как это делает рекомендательная система Amazon?
Автор | Юань Юань
Редактор | Винсент

Руководство по передовой ИИ:По данным журнала Fortune, продажи Amazon быстро выросли благодаря интеграции системы во весь процесс покупок пользователей, от поиска продукта до оплаты. По оценкам аналитиков Уолл-Стрит, система онлайн-рекомендаций Amazon имеет коэффициент конверсии покупок до 60%. Итак, в чем секрет успеха рекомендательной системы Amazon, позвольте нам демистифицировать его для вас.


Отказ от ответственности | Эта статья была составлена ​​из прямой трансляции AI Frontline 1 марта 2018 г. и не может быть воспроизведена без разрешения!

Всем привет! Я очень рад, что сегодня у меня есть возможность поделиться с вами персонализированной интеллектуальной системой рекомендаций.

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

У меня ограниченное время, поэтому я могу быть более абстрактным. Если вы хотите узнать конкретное содержание, вы можете отсканировать наш QR-код и прийти на наш онлайн-курс по жадным технологиям. В нем я буду использовать самый подробный алгоритм для каждого алгоритма, который я говорил о сегодняшнем языке и самый понятный и организованный способ объяснить вам, и я напишу код для каждого алгоритма на Python и поделюсь им с вами, чтобы вы могли не только изучить алгоритм теоретически, понять его и увидеть его , Как добиться этого алгоритма. При реализации алгоритма я стараюсь не использовать сторонние библиотеки, стараюсь не использовать уже упакованные, возможно, многие готовые библиотеки искусственного интеллекта написаны на C++, а для эффективности можно использовать GPU. Я напишу это на чистейшем Python, чтобы каждый мог увидеть, как реализован каждый шаг в мельчайших подробностях.

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

WeChat.QQ.com/Day/EC берет PL5XE6…(автоматическое распознавание QR-кода)

Сегодня я также делюсь с вами нашим генеральным директором Ли Вэньчжэ, не могли бы вы передать привет всем сейчас?

Ли Вэньчжэ: Всем привет, меня зовут Ли Вэньчжэ, в настоящее время я являюсь генеральным директором и основателем Greedy Technology. Я также защитил докторскую диссертацию по искусственному интеллекту в Соединенных Штатах, и раньше я был в Университете Южной Калифорнии. Я также работал главным научным сотрудником во многих отечественных компаниях, поэтому я относительно хорошо знаком со всей областью ИИ.

Я создал такую ​​компанию, чтобы популяризировать эту технологию ИИ и знания ИИ, чтобы многие люди в Китае могли учиться и использовать их в реальном бою.Сегодня мы также очень рады пригласить г-на Джерри поделиться такой темой, как система рекомендаций, я надеюсь, что вы можете получить некоторые знания в сегодняшнем курсе. Если есть какой-либо вопрос, мы можем обсудить его вместе, или вы можете задать мне вопросы, а после окончания курса мы можем вместе пообщаться на форуме. Далее мы дадим время мистеру Джерри.

Юань Юань: Тогда мы официально начнем наш обмен сегодня.

Мой основной контент на сегодня таков:

Прежде всего, позвольте мне дать вам обзор системы рекомендаций, что она собой представляет и какие конкретные реализации системы рекомендаций мы можем изучить;

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

Затем я хочу подчеркнуть момент, на который люди могут не обращать особого внимания, а именно, как оценивать рекомендательную систему? Только когда вы установите лучший стандарт оценки, вы сможете постоянно улучшать свой алгоритм и делать так, чтобы ваша система работала все лучше и лучше;

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


Обзор рекомендательных систем

Прежде всего, что такое рекомендательная система?

Давайте сначала определимся, о чем мы говорим сегодня.

Система рекомендаций — это фактически система обработки информации, используемая для прогнозирования, очень ли что-то нравится пользователю, и если да, то какова степень симпатии, очень ли это нравится, вообще нравится или совсем не нравится. Определенно есть много областей, в которых используются рекомендательные системы, позвольте мне привести несколько примеров: сегодняшняя Toutiao рекомендует пользователям персонализированные новости, Youku Tudou рекомендует пользователям видео, Xiami Music рекомендует пользователям любимую музыку и, конечно же, Taobao и Jingdong Mall рекомендуют книги. , продукты питания, одежду и другие предметы. Кроме того, в социальной сети Twitter, Facebook и Sina Weibo пользователи будут рекомендовать друзей.

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

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

Поскольку я работал в Amazon, давайте посмотрим, как конкретная компания использует рекомендательную систему.

Сейчас я показываю цену акций Amazon в Google felines, и вы можете видеть, что в последнее время это было похоже на запуск ракеты, и цена акций очень резко росла. Примерно с 300 долларов за акцию в 2015 году она выросла до 1500 долларов за акцию.

Так от чего зависит успех? Давайте посмотрим, как это оценил знаменитый американский журнал Fortune: в нем говорилось, что успех Amazon зависит от того, внедряет ли он свою систему рекомендаций во весь процесс от обнаружения продукта до его покупки.

Журнал Fortune также упомянул, что после того, как система рекомендаций Amazon будет рекомендована, уровень покупок и конверсий пользователей достигнет 60%.

Итак, давайте посмотрим, какие рекомендации использует Amazon?

Если вы войдете на сайт Amazon, вы увидите первый, он будет рекомендовать по разным категориям продуктов, например, в левом верхнем углу он рекомендует вошедшего в систему пользователя Taomas и рекомендует ему фитнес-оборудование. Рекомендуйте кофе и чай, и другие книги, это первое: рекомендации для всех по категориям.

Второй — часто покупаемый товар.

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

В-третьих, рекомендации Amazon основаны на вашей недавней истории.

Что вы смотрели в последнее время? Недавно я посмотрел на фитнес-бары для фитнеса, поэтому я рекомендую кучу товаров, связанных с фитнесом.

Что такое четвертый? Это не рекомендация того, что вы еще не смотрели, а рассказ о том, что вы смотрели сегодня, что вы смотрели несколько дней назад, что вы смотрели в определенный день в определенном месяце, и показывается то, что вы смотрели, но не смотрели. Еще раз, может быть, у вас есть желание разместить заказ.

Какой пятый? Это также рекомендуется вам в соответствии с вашей историей просмотров, а не в соответствии с вашей текущей историей просмотров.Например, я недавно видел фитнес-оборудование, но второй продукт, рекомендованный мне, это сардины.Он дал мне согласно моей долгой истории.рекомендовано.

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

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

И в-восьмых, он рекомендует периферийные устройства на основе моей истории покупок. Система знала, что я купил Kindle, и порекомендовала мне спросить, нужны ли вам другие периферийные устройства, например, защитные чехлы.

В-девятых, это не имеет ничего общего с моей личной историей покупок и моей личной историей просмотров, но рекомендует те продукты, которые лучше продаются на Amazon.com.

Помимо посадки на сайт, система вас порекомендует, еще и активно порекомендует. В Соединенных Штатах люди много используют электронную почту, и все они используют электронную почту для входа в систему. Поэтому Amazon знает электронные письма американских пользователей и будет отправлять пользователям электронные письма для рекомендаций.

Возьмем такой пример: недавно я просмотрел цифровые камеры Canon, и они прислали мне по электронной почте рекомендации по лучшим камерам, недавно проданным Canon.

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

Если я все равно буду равнодушен, то он мне на почту пришлет, мол посмотри на камеры Canon, вот дешевый комплект, включая чехол для камеры, включая карту памяти, дешевле будет купить вместе, будет интересно ? Система рекомендаций порекомендует периферийные продукты на основе просмотренных вами товаров и создаст набор для покупки пользователями.

Наконец, если пользователь по-прежнему безразличен, он также даст вам рекомендации, например, прямо скажет вам, какая цифровая камера является самой продаваемой. Кроме Кэнона, который я сам видел, есть еще и Сони, вот его-то он мне и рекомендует.

Каждый из рекомендованных мной алгоритмов отмечен цифрой, а всего их здесь 13, то есть:Простой торговый сайт, который использует 13 различных стратегий рекомендаций только для каждого товара..

Давайте посмотрим на здание высокого уровня, какой алгоритм стоит за различными рекомендациями?

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

Ранние сайты-порталы, такие как Sina, Yahoo и People's Daily, также имели системы рекомендаций, но контент в них отбирался вручную редакторами сайтов или редакторами газет для читателей.

Второй тип рекомендаций — это некоторые простые системы агрегации. Например, если вы пойдете на КТВ, на панели подпевки появится список последних песен КТВ, если вы пойдете в книжный магазин, там будет список бестселлеров, а если вы пойдете покупать билет в кино, такие системы, как Maoyan Movies, также расскажут вам о самых продаваемых фильмах.Что это такое, в том числе Douban, будет рейтинг кассовых сборов фильмов.

Существуют также рекомендации пользователям в соответствии с хронологическим порядком элементов и характером времени, например, сначала рекомендуются новые элементы.

Эти рекомендательные системы рекомендуют только на основе простейшей статистики.Хотя они кажутся очень простыми, они часто очень эффективны.

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

Будь то первое или второе, вы увидите, что это искусственно созданная система рекомендаций или простая агрегация.не личное. Все открывают People's Daily и видят один и тот же контент, и все идут на KTV, чтобы заказать песни и увидеть одни и те же рейтинги. Тогда то, что нас больше всего беспокоит сейчас, это рекомендательная система тысяч людей, в центре внимания.

Если мы математически абстрагируем рекомендательную систему, как она должна выглядеть теоретически? Какие элементы есть, и какие проблемы должны быть решены?

Сначала мы используем U для представления множества всех пользователей, у нас есть куча пользователей, а затем мы используем S для представления множества всех элементов, например, у меня есть куча пользователей, у меня есть куча вещей, эти вещи могут быть фильмами, это может быть музыка, это могут быть люди, возможно, другие объекты. Моя модель рекомендательной системы говорит:U×S, рекомендоватьR, произведение здесь представляет декартово произведение. Это значит:Я даю ему R для каждого пользователя и каждого элемента. Значение этого R является рекомендательным значением, то есть насколько каждому пользователю нравится элемент. Существует много веб-сайтов, поэтому вы можете набрать от одного до пяти. Звезды выражены таким образом, и в Facebook также есть лайки или презрение таким образом.Это ценность, представленная R. В конечном счете, система рекомендаций — это степень, в которой группе пользователей нравится группа элементов..

Приведу пример, понятный каждому: предположим, у меня есть четыре человека: Сяо Мин, Сяо Ли, Хан Мэймэй и Сяо Цзин. У меня есть четыре фильма: "Путешествие на Запад", "Шарлотта в беде", "Однажды в сказке", "Мечник". Итак, какие данные я могу иметь и какие данные я могу собрать, чтобы создать рекомендательную систему?

Во-первых, каждая строка значения рекомендации записывает предпочтения каждого пользователя для каждого элемента. Например: Сяо Ли нравится «Раздражение Шарлотты» 2 и «Однажды в сказке» 5.

В этой матрице рекомендаций вы увидите, что ценности некоторых людей известны, а некоторые неизвестны.Например, что нравится Сяо Мину в «Западном путешествии на Запад»? Мы не знаем, это то, что мы хотим, и это также ключевая проблема рекомендательных систем:Как мы получаем эти неизвестные значения из наших известных рекомендуемых значений?Например, Сяо Мин предпочитает «Путешествие на Запад», какие еще данные мы можем получить? Конечно, мы получаем пользовательские данные, у каждого пользователя есть пол, возраст и другие атрибуты, которые мы можем получить; есть также атрибуты предметов, такие как категория фильма, которую мы можем легко получить, будь то фильм о боевых искусствах, литературный фильм или комедия, это также атрибут некоторых других предметов в продолжении.

С этими тремя матрицами эти значения являются значениями, которые мы можем использовать, а затем проблема, которую мы должны решить, состоит в том, чтобы использовать эти полученные данные для вывода значений этих позиций, таких как предпочтение Сяо Мина «Запад». Поездка".

Позвольте мне выделить ключевые проблемы, которые пытаются решить рекомендательные системы:

первыйСбор данных. По сути рекомендательная система это конечно же система искусственного интеллекта.Система искусственного интеллекта нуждается в обучении и обучении, и конечно ей нужны обучающие данные, поэтому собирать данные очень важно. Я думаю, есть одно замечание:Сбор данных не происходит в одночасье, их необходимо часто обновлять, а данные чувствительны ко времени.. Например, у человека со временем меняется симпатия к какой-либо вещи: книги и фильмы, которые всем нравились в детстве, могут не понравиться во взрослом возрасте, может быть, вещи, которые вам нравились в прошлом году, отличаются от того, что вам нравилось в этом году, может быть, изменились ваши увлечения. Другим примером является пользователь, у которого сейчас есть ребенок, и он может уделять внимание большему количеству детских вещей, таких как подгузники, поэтому очень важно собирать данные, а собранные данные необходимо часто обновлять.

второй,Ключевая проблема, которую должна решить рекомендательная система, — это, конечно, как предсказать эти неизвестные данные.;

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


Сбор данных

Одним из способов сбора данных является отображение коллекции, что позволяет пользователям напрямую оценивать или лайкать или оставлять комментарии. В этом есть большая проблема, то есть многие пользователи не хотят или ленятся ставить лайки, писать комментарии или оценивать. Как и я, например, я смотрел много видео на YouTube, они мне никогда не нравились, или я не писал обзоры со словами «очень хорошо» или «ненавистно», я никогда не комментирую, я верю, что многие люди будут такими.

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

Торговые сайты еще проще: если пользователь что-то покупает, то, конечно же, ему это нравится, а если он возвращает, то ему это точно не нравится. Тайный сбор в настоящее время становится все более важным, и данные, собранные тайно, намного выше, чем данные, собранные открыто.


как предсказать

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

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

Есть еще объект холодного пуска, что это такое? Предположим, у меня сейчас есть новинка, скажем, iPhone 11, которую я хочу разместить на своем сайте покупок, и ни один пользователь не ставит ему высокую оценку, потому что она только что вышла, ей никто не пользовался, и, естественно, отзывов нет, как вы это рекомендуете? Как узнать, нравится ли людям iPhone 11 или Huawei P11?

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

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

Я кратко представлю их один за другим.

первыйоснованный на содержанииДа, вот картинка, чтобы кратко представить и выразить ее смысл.

Допустим, человеку нравится это кислое пиво, пусть система найдет другие сорта пива со схожими вкусами с этим пивом, и если найдет другое пиво, то, конечно же, сможет его ему порекомендовать.

Контентная рекомендация кажется самой простой и легкой в ​​реализации, и эффект неплохой, но во многих случаях ее проблема заключается в том, что сложно получить атрибуты элемента. Если вы найдете два похожих продукта для рекомендации на основе содержания и атрибутов продукта, как вы можете судить, что эти два продукта похожи? Непростая задача.

Например, при рекомендации пользователю двух новостей, чтобы оценить сходство двух новостей, необходимо использовать понимание естественного языка.Система должна знать, какие люди, события, места и время включены в новости. является главой государства, если в этих двух статьях нет главы государства, по крайней мере, они в какой-то степени похожи; или обе эти статьи содержат такие вещи, как Пекин, они обе содержат одну и ту же тему, они обе в Говорите о политике, говорите о вооруженных силах или говорите об экономике. Для метода рекомендаций на основе содержания наиболее важным вопросом является получение атрибутов элемента.Для текста может использоваться обработка естественного языка, для изображений может использоваться технология распознавания изображений с глубоким обучением, чтобы узнать, что находится на изображении. . Какие объекты включены: люди, собаки или кошки?Если это кошка, два метода аналогичны, это оранжевая кошка? Это содержательный подход.

Второй методСовместная фильтрацияМетоды.

Я приведу простейший пример, но вы быстро поймете, что такое совместная фильтрация.

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

Мысли, основанные на совместной фильтрации, таковы: мы надеемся, что товары, рекомендованные третьему пользователю, должны быть похожи на купленные им яблоки, так какие же предметы могут быть похожи на яблоки? Мы можем думать об этом так,Какой товар покупается чаще всего после того, как пользователь покупает Apple?

Давайте сначала посмотрим на бананы: покупают ли бананы одновременно с яблоками? Да, первый пользователь, он купил апельсины, яблоки и бананы одновременно, за бананы мы получаем один балл, потому что они купили их одновременно с яблоками, поэтому добавляется один балл; тогда давайте посмотрим на клубнику, никто покупает клубнику, при этом он купил еще и яблоки, а счет клубники равен 0, то посмотрите на апельсины, первый пользователь, он купил яблоки и апельсины одновременно, а второй человек тоже купил яблоки и апельсины в В то же время, так что апельсины получают два балла, их сходство с Apple равно 2. Таким образом, мы находим, что сходство между яблоками и апельсинами равно 2, сходство между яблоками и клубникой равно 0, а сходство между яблоками и бананами равно 1, и приходим к выводу, что апельсины наиболее похожи на яблоки, поэтому мы рекомендуем апельсины третьему пользователю, что является сутью совместной фильтрации.

Далее мы представимразложение матрицыСпособ.

Например, есть четыре пользователя ABCD, у нас есть WXYZ, четыре продукта, мы знаем предпочтения пользователя для продукта, например, предпочтение A для X равно 4,5, и мы даем нам такую ​​матрицу оценок, как мы приходим Предсказать , скажем, насколько А любит W?

Лучший способ разложить матрицу таков: я хочу найти две другие матрицы, называемыеПользовательская матрица и матрица элементов, количество строк в пользовательской матрице равно количеству пользователей в моей оценочной матрице, а количество столбцов в матрице элементов равно общему количеству элементов; что касается столбцов пользовательского матрица, оно должно быть равно количеству строк в матрице элементов, Какое конкретное значение количества столбцов и строк Вы можете установить в параметре, это может быть 2, это может быть 3, это может быть 10, может быть 100.

Какими свойствами должны обладать эти две матрицы, пользовательская матрица и матрица элементов? Мы хотим, чтобы их свойства были такими: когда эти две матрицы перемножаются, продукт их умножения должен быть матрицей, которая является той же строкой и столбцом, что и моя матрица подсчета очков; я хочу, чтобы в их двух произведениях были соответствующие значения, это должна быть та же строка и тот же столбец моей матрицы оценок, а затем соответствующее значение.

Например, второе значение первой строки, я хочу, чтобы его значение было близко к 4,5, близко к 4,5 в позиции AX, близко к 2,0 в позиции AY и близко к 4,0 в позиции BW, то есть , я хочу произведение этих двух матриц Конечная матрица , которая аналогична известным значениям в моей матрице оценок.

Если это можно сделать, матрица произведения обязательно будет соответствовать значению здесь. Я думаю, что значение, соответствующее произведению этих двух матриц, является значением моего прогноза. Это основная идея разложения матрицы.

Вы можете сразу обнаружить, что есть проблема с матричной декомпозицией: она использует только значение пользовательского рейтинга элемента, На самом деле мы знаем атрибуты пользователя, например, является ли пользователь мужчиной или женщиной, является ли он старым или молодой, и мы также знаем некоторые из элементов.Атрибуты, такие как этот элемент, если это фильм, мы знаем, кто режиссер, кто главные актеры и каков его стиль, но мы не можем предоставить некоторые информация в матрице разложения, потому что нет возможности предоставить данные, мы просто нет возможности использовать их для улучшения нашей системы.

Итак, кто-то предложил другой алгоритм, названный машиной факторизации.

Идея состоит в том, чтобы превратить предпочтения пользователя в отношении элементов в формулу, подобную той, которую я определяю ниже. Что это означает?

Например, у меня здесь три пользователя: Том, Джек и Алиса, у нас есть фильмы, книги и музыка, и они нравятся друг другу, я кодирую этого пользователя как читателя, в строке только один, а количество людей 1, 1 Это означает, что он представляет Тома, а затем другая строка 1 должна представлять Джека; затем элемент кодируется читателем, и каждая строка также только один элемент равен 1, а затем атрибуты пользователя, такие здесь помещаются возраст и пол, а затем сюда помещаются атрибуты элемента; затем в каждой строке эти данные X представляют, какой пользователь, какой элемент, каковы возраст и пол этого пользователя, и каковы атрибуты этого элемента; предпочтения этого пользователя для этого элемента Какова степень, это значение Y. Это,Мы хотим, чтобы эти значения X давали значение Y, вычисляя формулу, подобную следующей.

Одна вещь, которая сильно отличается от матричной факторизации:Существует произведение между X и существует корреляция. Например: значение X Тома должно быть умножено на возраст и пол Тома; значение Тома также должно быть умножено на атрибут предмета, пол или возраст должны быть умножены на предмет, а затем перемножены друг с другом, чтобы получить нашу переменную .

Известные значения здесь Y, X, а неизвестные значения W, V. Пока мы знаем значения W и V вычислением, мы можем производить вычисления для тех Ys, которые неизвестны, потому что X известно, и именно так работают машины факторизации.

По сравнению с предыдущим методом этот метод заключается в одновременном использовании настроек элемента, а также в использовании атрибутов элемента и атрибутов пользователя.

Конечно, одна вещь, которую мы не должны игнорировать сейчас, — это рекомендательная система глубокого обучения.

Самое простое, что я могу придумать, используя глубокое обучение в качестве рекомендательной модели, выглядит так: введите идентификатор пользователя, например, если есть сто пользователей, пользователи кодируются от 0 до 99; если есть тысяча элементов, поместите элемент Кодирование от 0 до 999 в качестве входных данных сети глубокого обучения, затем добавьте слой внедрения, затем соедините два вектора, выведенные слоем внедрения, вместе, добавьте полностью связанный слой, добавьте регуляризацию, добавьте полностью связанный слой и затем добавьте регуляризацию, добавьте два полностью связанных слоя и используйте softmax в качестве прогноза.

Прогнозируемое значение — это выход 000, или, если предположить, что желаемый рейтинг от 0 до 5, выход — пять элементов, которые являются числами со значениями 0 и 1. Если я предскажу, что он получит 1 балл, это будет 1 для первого элемента и 0 для других элементов, и если я предскажу количество баллов, это будет 1 для пятого элемента и 0 для других элементов.

Это самая простая модель глубокого обучения.Его единственными данными являются идентификатор пользователя, идентификатор элемента и значение, которое пользователь оценил элемент.Затем виртуальная сеть, наконец, сообщит вам, если вы введете новый идентификатор пользователя и идентификатор элемента без рейтинга сообщает ему, что он будет предсказывать значение рейтинга.

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

Это Google Play, эквивалентный App Store от Apple. Он используется для загрузки приложений. В Китае он может использоваться реже. Он использует такой метод глубокого обучения, чтобы давать рекомендации: входными данными являются пол пользователя, возраст, сколько приложений пользователь установил в общей сложности и как выглядит взаимодействие с системой.Они напрямую отправляются на уровень внедрения.Затем есть устройство пользователя, Samsung, Huawei или другие устройства, а также то, какие приложения пользователь установил, и каков рейтинг пользователя приложения, они добавляют дополнительный встроенный слой, который напрямую связан с предыдущими атрибутами. Соединяясь вместе, добавляется трехуровневая сеть глубокого обучения, а затем произведение установленного пользователем приложения и пользовательского рейтинга установленного приложения умножается на два в качестве окончательного ввода. Обучение нейронной сети с такой структурой используется в рекомендации приложения Google Play.

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

Например, если вы введете слово «Хуан Сяомин» в поисковую систему, независимо от того, Baidu или Google, вы получите отзывы на многих страницах.Первая страница — это статья или веб-страница о Хуан Сяомине, которая, по мнению системы рекомендаций, вам понравится. Вторая страница Это та статья, которая, по мнению системы, понравилась пользователю во второй раз.

По сути, это рекомендация:Процесс сортировки, когда пользователю предоставляется набор элементов, конкретные любимые элементы пользователя не важны, важны более предпочтительные элементы пользователя.

Если вы собираете пользовательские данные и данные об оценках пользователей, вы можете использовать традиционный метод поисковой системы, чтобы оценить каждый элемент, а затем отсортировать его.Это очень традиционный, но очень полезный метод.

Есть еще один способ, о котором можно думать без какой-либо поддержки данных, этоИсследуйте и используйте. Звучит заманчиво, но принцип очень прост.Вот пример: Предположим, есть 5 пользователей, они одного типа, они очень похожие пользователи, и случайным образом выбирают пользователя 1 и пользователя 2, как подопытного кролика для эксперимента. , Порекомендуйте им два фильма и посмотрите, как они отреагируют на фильмы.

Рекомендовать один фильм первому пользователю и другой фильм второму пользователю Мы обнаружили, что первый пользователь не нажимал на фильм и не смотрел фильм, а второй пользователь смотрел его, указывая на то, что этот фильм больше подходит для первый пользователь.Вкус этой группы пользователей. Тогда я знаю, что фильм, который я порекомендовал второму пользователю, хорош, поэтому я могу рекомендовать другим пользователям фильмы, на которые кликнул второй пользователь.

Зачем? Это очень просто, потому что эти пять пользователей похожи, я уже использовал пользователя 1 и пользователя 2 в качестве морских свинок.Эксперимент показывает, что этот фильм хорош, поэтому я должен рекомендовать этот фильм этим другим пользователям.

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

Последний, но тем не менее важныйинтегрированное обучениеМетоды.

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

Как объединить результаты этих разных алгоритмов? Первый способ – проголосовать. Допустим есть три рекомендательных системы, две из которых считают, что определенному пользователю нравится товар на 5, и только одна считает, что на 4, то я однозначно верю этим двум, и считается та, которая набрала больше всего голосов. Или взять среднее, но я думаю, что первый алгоритм лучше, накапливая вывод представления, придавая ему больший вес.

Второй способ ансамблевого обучения — это суммирование. Предполагая, что существует два рекомендательных алгоритма, я использую выходные данные первого алгоритма в качестве входных данных или части входных данных второго алгоритма, а затем обучаю второй алгоритм.

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


Как оценить рекомендательные системы

Затем я хочу поговорить с вами о том, как оценивать рекомендательные системы.

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

ВторойОпросник, заключается в размещении кнопки на сайте или странице, чтобы прямо сказать пользователю: я рекомендую вам этот фильм сейчас, как вы считаете, хороший он или плохой? Пользователи могут напрямую оценить его. Или проведите опрос с помощью анкеты и спросите пользователей, хотели бы они провести опрос с помощью анкеты. При разработке анкеты обратите внимание на: есть две формы одного и того же вопроса.Например, чтобы спросить пользователей, нравится ли им фильм «Раздражение Шарлотты», вы можете сначала использовать предложение, чтобы спросить: «Раздражение Шарлотты» это вы? Любимый фильм; второй вопрос: вы особенно ненавидите фильм «Раздражение Шарлотты», потому что сочетание этих двух может заставить пользователя переосмыслить и помешать ему иногда просто щелкнуть неправильно. Кроме того, что это значит? На самом деле у человека есть эмоции, разум и какое-то подсознание.Если он говорит вам в анкете, что ему что-то нравится, это не обязательно, что ему это действительно нравится.Это тоже проблема, на которую стоит обратить внимание.

Третий метод оценки рекомендательных систем:обучение пользователей. Пригласите группу пользователей для проведения небольшого теста.Он проверяет не только, хороша ли рекомендательная система, но и хорош ли пользовательский интерфейс, представленный рекомендательной системой. Это тест для всего пользовательского опыта.Это всего лишь небольшой тест десятков пользователей.Он может найти около 90% больших проблем в системе.Это очень хороший способ оценить рекомендательную систему.

Тогда есть так называемый очень популярный в последнее времяA/B-тестирование, или так называемыйонлайн-тест. Выходит новая модель, выходит новый алгоритм, случайным образом выбираются некоторые пользователи, например 10% пользователей, используют результаты нового алгоритма, остальные 90% все еще используют результаты исходного алгоритма, а затем сравнивают 10 % пользователей нового алгоритма Получили ли вы в итоге лучший рекомендательный эффект, например, стали покупать больше товаров или активнее посещать наш сайт?


Архитектура системы рекомендаций и резюме

Далее хотелось бы подвести итоги.

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

Нетфликс - киносайт в США. Он эквивалентен платному киносайту, такому как iQiyi. Его система рекомендаций очень известна. Ранее они проводили конкурс, и призовой фонд составил один миллион долларов. Алгоритм рекомендации улучшает эффект на 10%. В итоге в этом конкурсе победила команда из AT&T, которая использовала десятки алгоритмов и объединила эти десятки алгоритмов в рекомендательную систему, что улучшило эффект на 10,09%. Вот на что стоит обратить внимание каждому, комбинируя несколько алгоритмов.

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

Разделите вашу систему на: автономную часть, часть почти в реальном времени и онлайн-часть.

Автономная часть может использовать Hadoop, Hive, Pig или Spark для выполнения крупномасштабных вычислений, потому что эти вычисления занимают много времени. Что касается недавно внедренных систем, они используют распределенную базу данных, такую ​​​​как Cassandra, MySQL и Catch. Существует также система реального времени, которая должна вычислять эту систему в памяти.Системные требования в этой части: объем данных относительно мал, алгоритм относительно прост, а обратная связь, как правило, в миллисекундах. система реального времени, обычно выполняется только сортировка.Эта часть оффлайна может делать более сложные вещи.

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

WeChat.QQ.com/Day/EC берет PL5XE6…(автоматическое распознавание QR-кода)

время вопросов

Вопрос 1. Как работает идентификатор пользователя для глубокого обучения и встраивание?

О: Суть встраивания заключается в кодировании входных объектов фиксированной длины. Значение идентификатора пользователя может быть от 0 до 10000, что является целым числом.Через слой внедрения выходные данные становятся вектором заданной длины. Целью этого является получение более подробной информации из обучающих данных, этот вектор может содержать информацию, соответствующую идентификатору пользователя.

Вопрос 2. Разница между исследованием и использованием и совместной фильтрацией

О: Изучение и использование этого алгоритма больше подходит для случая, когда есть несколько типов элементов, и обычно используется на последнем этапе рекомендательной системы. Это использование других алгоритмов для поиска элементов, которые, скорее всего, будут приняты определенной категорией пользователей, а затем использование исследования и использования для изменения порядка элементов. Совместная фильтрация требует меньше вычислительных ресурсов и больше подходит для крупномасштабных данных.

Q3: Можно ли использовать PPT?

A: Пожалуйста, обратите внимание на наш официальный аккаунт, мы поделимся им в нем.

Вопрос 4. Можете ли вы рассказать о суммировании и усилении в ансамблевом обучении?

A: Суммирование: выходные данные предыдущего алгоритма используются в качестве входных данных для следующего алгоритма или как часть входных данных. Усиление: используйте разницу между выходными данными алгоритма и фактическим значением в качестве входных данных для этого алгоритма или других алгоритмов.

Q5: Какие алгоритмы наиболее широко используются для онлайн-сортировки?

A: Я не совсем понимаю ваш конкретный вопрос. Я предполагаю, что ваш вопрос является самым популярным алгоритмом в «Учимся ранжировать», мой ответ: LambdaMART.

Q6: Если вы используете spark в качестве системы рекомендаций, какие другие методы реализации существуют, кроме алгоритма ALS в mllib?

A: Spark официально предоставляет только алгоритм ALS для совместной фильтрации. Другие алгоритмы также должны быть реализованы сами по себе.

Q7: Пожалуйста, объясните подробно входной слой глубокого обучения?

Ответ: Этот вопрос слишком широк, и его необходимо анализировать в каждом конкретном случае.

Q8: Каковы прикладные среды совместной фильтрации item2item и матричной декомпозиции?

A: Совместная фильтрация item2item — это метод соседства, который представляет собой относительно матричную декомпозицию, проще в реализации, легче в настройке и с лучшей интерпретируемостью.

Q9: Используются ли обычно алгоритмы рекомендаций вместе с профилями пользователей?

О: Если вы можете получить портреты пользователей, конечно, вы должны их использовать. Качественный портрет пользователя однозначно улучшит эффект рекомендации.

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

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

Q11: Легко ли использовать один горячий для встраивания?

A: Теоретически вы можете напрямую использовать полносвязный слой и одно горячее кодирование вместо слоя Embedding. Но во многих случаях использование одного горячего кодирования непосредственно в качестве входных данных может быть дорогостоящим с точки зрения вычислений. Например, при обработке естественного языка входное значение идентификатора может быть на уровне миллионов. Если одно горячее кодирование выполняется напрямую, входной вектор находится на уровне миллионов. Если для повышения эффективности транспортировки также требуется пакетная обработка, содержимое занимает И объем вычислений огромен.

Q12: Есть ли у рекомендательной системы приложения в сфере промышленности (электроэнергетика, химическая промышленность, производство)?

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

Q13: На самом деле весь курс только что охватил очень много алгоритмов, от коллаборативной фильтрации до глубокого обучения.Например, если инженер сталкивается с такой проблемой рекомендательной системы, наверное, есть руководство?Для таких задач нам нужно чтобы принять этот метод. Можно использовать метод совместной фильтрации, а затем метод глубокого обучения можно использовать для другого. Есть ли подобное руководство?

О: Я предлагаю начать с рекомендательных систем, основанных на контенте, и рекомендательных систем на основе совместной фильтрации. Почему? Даже если вы используете глубину, даже если вы начинаете использовать более причудливые алгоритмы, вы не знаете, лучше ли ваш алгоритм, чем традиционные алгоритмы, если вы сначала используете вращающийся алгоритм, чтобы сделать это, а затем используете более продвинутые алгоритмы, это По крайней мере, пусть у вас будет сравнение, чтобы сказать, что этот алгоритм хорош, иначе вы будете сбиты с толку, даже если вы используете более продвинутый алгоритм, вы не знаете, действительно ли продвинутый алгоритм хорош, это один из них;

Во-вторых, чем более продвинутый алгоритм, тем сложнее его реализовать.Например, я упомянул, что Netflix потратил 11 миллионов долларов, чтобы получить алгоритм, выигравший чемпионат в AT&T Bell Labs, но они фактически его не использовали. в их системе.Почему?? Алгоритм слишком сложен, поэтому в академических кругах алгоритм может быть очень сложным, но когда он применяется в промышленности, необходимо учитывать объем памяти, объем вычислений, может ли программист понять алгоритм и не является ли ваш код Его легче поддерживать. После рассмотрения этого, Netflix в конце концов не использовал этот алгоритм. То есть, если вы хотите начать, я предлагаю вам начать с предыдущего алгоритма. Первый — использовать рекомендацию на основе контента. рекомендации на основе совместной фильтрации, за которыми следуют более продвинутые алгоритмы.

Q14: Есть еще один вопрос: потому что технология глубокого обучения очень развита в области распознавания изображений, но я хочу знать, как глубокое обучение в настоящее время применяется в рекомендательной системе в отрасли.

A: Глубокое обучение сейчас очень популярно, так есть ли тенденция использовать глубокое обучение в качестве рекомендательной системы? Да, почему? Например, на некоторых веб-сайтах обмена фотографиями или веб-сайтах обмена видео, таких как YouTube, люди размещают на нем что-то, и никто не говорит вам, что это за контент.При загрузке короткого видео система не знает, кто автор короткого видео. , что за стиль, какие в нем актеры, и если вы ничего не знаете, то откуда вы знаете актуальность?

То же самое касается картинок, откуда вы знаете, какие картинки рекомендовать? Глубокое обучение, такое как сверточная нейронная сеть CNN, может идентифицировать и извлекать вещества в изображениях и видео.Он может сказать вам, что это изображение Обамы, это изображение Трампа или кого-то еще. В том числе и музыка. Он расскажет, какой стиль у этой музыки.

Следовательно, это действительно тенденция к глубокому обучению, и, подобно LSTM и RNN, он может получать временную информацию, то есть временную корреляцию. Например, человек любит смотреть "Легенду о Чжэнь Хуане", а также любит смотреть "Карточный домик", но предпочитает смотреть "Карточный домик", традиционная система рекомендаций, я смотрю 21 серию Биографии Чжэнь Хуаня, и я закончил смотреть его. Что вы порекомендуете? Рекомендовать Карточный домик, почему? Потому что он предпочитает «Карточный домик», но исходя из этой предпосылки, позвольте мне сказать вам: я смотрю 21 серию «Легенды о Чжэнь Хуане», порекомендуете ли вы мне «Карточный домик»? Вы должны порекомендовать мне 22-й эпизод «Легенды о Чжэнь Хуане», потому что я смотрю 21-й эпизод «Легенды о Чжэнь Хуане». Этот тип прогнозирования во времени и временных рядах, очевидно, лучше с таким типом LSTM и рекуррентной нейронной сетью.

Инструкторы

Юань Юань, английское имя: Джерри, является старшим инженером в штаб-квартире Microsoft в США, руководит исследованиями и разработками различных основных рекомендательных систем, а также является экспертом в области искусственного интеллекта, распределенных систем и облачных вычислений. Окончил Технологический институт Нью-Джерси со степенью доктора философии, с 14-летним опытом работы в области искусственного интеллекта, рекомендательных систем, обработки естественного языка, проектов цифровой обработки изображений и видео. Под руководством академика Ван Шоуцзюэ из Китайской академии наук он изучал исследования в области распознавания лиц и публиковал статьи в соавторстве. Во время работы над докторской диссертацией в Соединенных Штатах он в основном занимался проектом прогнозирования космической погоды на основе искусственного интеллекта, поддерживаемым НАСА (Национальным космическим управлением).

Для большего содержания сухих товаров вы можете обратить внимание на AI Frontline, ID:ai-front, фоновый ответ "AI", "TF", "Большие данные«Вы можете получить серию мини-книг в формате PDF и карт навыков «AI Frontline».