Авторы Крис Саид, Жюль Ландри-Симар

В Opendoor мы применяем машинное обучение для определения цены на дома, которые нам продают клиенты. Поскольку мы делаем реальные предложения на дома стоимостью сотни тысяч долларов, очень важно, чтобы наши модели давали точную оценку цен.

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

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

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

Если бы наши модели были людьми

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

Эми с большей вероятностью будет точна, чем Боб, но вам, вероятно, не следует полагаться только на ее ответ. Несмотря на то, что Боб не знает этого, он предлагает новую перспективу. Может быть, он замечает что-то в доме, по которому Эми скучала. Лучшее, что вам нужно сделать, это найти компромисс между двумя оценками. Поскольку у Эми больше опыта, вам следует больше поверить в ее оценку, чтобы ваш компромисс приблизился к ней, возможно, около 227 долларов.

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

Подставляя к нему числа

Давайте проверим это с помощью реальных чисел. Представьте, что у вас есть две модели, A и B. Иногда модели дают оценки, которые на 5% больше, а иногда они дают оценки, которые на 5% занижены. Между ошибками моделей нет корреляции. То есть, когда модель A слишком высока, одинаково вероятно, что модель B будет слишком высокой или слишком низкой.

Как вы можете видеть в таблице выше, обе эти модели в среднем будут на 5% ниже рыночной цены, которую мы оцениваем.

Однако если вы усредните две модели вместе, произойдет кое-что интересное. Когда обе модели слишком низкие или слишком высокие, ансамбль также слишком низкий или слишком высокий. Но когда одна модель слишком низкая, а другая слишком высокая, оценка ансамбля становится идеальной! В результате цена на ансамблевую модель в среднем будет примерно на 2,5% ниже рыночной, что лучше, чем у любой из исходных моделей в отдельности.

Даже если вы сделаете одну из моделей немного хуже, например, превратив все 5 в 6 в модели B, ансамбль все равно превзойдет любую модель в отдельности, что помогает объяснить, почему иногда может помочь введение более низкой модели. Конечно, в определенный момент модель может стать настолько плохой, что будет приносить больше плохого, чем хорошего. Но в большинстве случаев помогает добавление новой модели.

Как это выглядит в пространстве модели

Последний способ объяснить ансамбль - это использовать графики и немного линейной алгебры.

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

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

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

Похожая история происходит в двух нижних квадрантах.

Квадранты - это полезный способ подумать об этом, но для большей точности нам нужно использовать немного линейной алгебры. Когда вы вычисляете среднее значение двух значений, вы умножаете каждое из значений на 0,5, а затем складываете их. Один из способов подумать об этом состоит в том, что вы берете скалярное произведение вектора значений с вектором усреднения [0,5, 0,5]. Хороший способ думать о скалярном произведении - это то, что он пропорционален проекции одного вектора на другой. Не вдаваясь в подробности, в среднем два числа эквивалентны 71% прогноза на [0,5, 0,5].

Чтобы показать, как это разыгрывается графически, на графике ниже показан вектор усреднения ([0,5, 0,5]), который указывает на верхний правый угол. Мы также выделили один из домов темным. Для этого дома ошибка модели A была положительной, а ошибка модели B - отрицательной. Среднее значение ошибок (т.е. ошибка ансамбля) пропорционально проекции дома на вектор усреднения. Проекция для этого примера дома показана как розовый вектор, указывающий в верхний правый угол. Обратите внимание, что это очень мало, а это означает, что ошибка ансамбля для этого дома (0,091) также мала.

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

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

Обратите внимание на точки в верхнем правом квадранте «Meh», когда ошибки полностью коррелированы. Обратите внимание: когда ошибки начинают разделяться, некоторые точки перемещаются вправо, а некоторые - влево. Но критически обратите внимание на то, что влево перемещается больше точек, чем вправо. Это включает пример точки. Точки, которые перемещаются влево, уменьшают свою проекцию на вектор усреднения и, таким образом, улучшают погрешность.

Почему это происходит? Точки в правом верхнем квадранте представляют дома, в которых модель A имела положительные ошибки. Если у вас есть другая модель, оценивающая эти дома, скорее всего, эта другая модель будет иметь более низкие (менее положительные) ошибки. В то время как меньшая часть домов может получить еще более высокую ошибку от второй модели, в большинстве случаев ошибка будет ниже. И что критически важно, чем меньше коррелирует вторая модель с моделью A, тем больше величина этой дельты и тем больше польза от усреднения.

Вот почему в Opendoor мы стремимся использовать модели, которые минимально коррелируют друг с другом.

Opendoor и ансамблевые модели

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

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

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