Аэрозоль: машинное обучение для человека

Авторы Hector Yee и Bar Ifrach

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

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

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

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

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

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

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

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

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

Иерархия также позволяет нам заимствовать статистическую силу у родительских кварталов, поскольку они полностью содержат дочерние окрестности. Эти построенные Kd-деревом окрестности не видны пользователю, но используются для вычисления локальных функций для моделей машинного обучения. На рисунке ниже мы демонстрируем способность структуры Kd-tree автоматически создавать локальные окрестности. Обратите внимание на то, как мы проинформировали алгоритм о том, что он не должен пересекать большие водоемы. Даже у острова сокровищ есть собственный район. Чтобы не было резких изменений на границе соседства, мы стараемся сгладить информацию о соседстве в многомасштабной манере. Вы можете узнать больше и визуально увидеть этот вид сглаживания в Демонстрации Image Impressionism для Aerosolve на Github.

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

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

Некоторые особенности, такие как сезонный спрос, естественно резко резкие. Другие особенности, такие как количество обзоров, как правило, не должны демонстрировать такого рода резкость. Мы сглаживаем эти более гладкие элементы, используя кубические полиномиальные шлицы, сохраняя при этом остроту конечных точек с помощью дельта-функций Дирака. Например, в соотношении между количеством отзывов и 3 звездами (из пяти) существует большой разрыв между отсутствием отзывов и одним обзором.

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

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

Ознакомьтесь со всеми нашими проектами с открытым исходным кодом на airbnb.io и подпишитесь на нас в Twitter: @AirbnbEng + @AirbnbData

Первоначально опубликовано на сайте nerds.airbnb.com 4 июня 2015 г.