Первый обзор CatBoost

Мы изучили множество профессиональных мнений о том, что такое CatBoost. А затем собрали их в одной статьей — и постараемся поэтапно разобраться, как именно измениться мир с его появлением.

Терминология будущего

Да, мы тоже слышали это. «CatBoost — это новейшая технология машинного обучения, которая изменит все».

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

Но, согласитесь, что описание «технология машинного обучения» слишком скупое, чтобы всерьез на него ориентироваться, не так ли?

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

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

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

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

То есть, существуют определенные условия, при которых человек поступит так или иначе. Наша задача эти условия узнать — и правильно использовать.

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

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

Нейронные сети, как и все остальные полезности, мы получили в подарок при рождении. Компьютерам так не повезло — для них нейронные сети создаются методом множества математических вычислений. Отсюда и название — «искусственные».

Градиентный бустинг — это сложно, но постараться объяснить — можно. Ответ, как ни странно, кроется в самом названии. «Бустинг» переводится как «наращивание» в контексте «увеличение, усложнение».

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

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

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

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

Терминология настоящего

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

Задумывались ли вы о том, почему вообще машинное обучение стало так важно для поисковиков? Не только для Яндекса, конечно — тот же Гугл не намного реже подбрасывает пользователям новости про развитие искусственного интеллекта.

Ответ ведь тоже достаточно прост: введите любой запрос, и посмотрите на количество предлагаемых результатов. А теперь продвинтесь немного дальше топ-10. Топ-20. Топ-30 — и посмотрите, как предлагаемые результаты все меньше и меньше соответствуют поисковому запросу. Что уж говорить про результаты, которые отображаются ближе к концу выдачи. Прибавьте к этому нелюбовь человека к долгим ожиданием, и получите великолепную формулу: за несколько секунд поисковик должен проанализировать кучу информации и предоставить пользователю наиболее релевантные результаты. И ведь требования пользователя к качестве выдачи только растут. Есть, от чего растеряться — не так ли?

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

Что CatBoost значит для SEO?

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

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

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

«CatBoost» расшифровывается как «категориальный бустинг». Никакокого отношения к котятам название новой технологии не имеет, и в своем блоге Яндекс хорошо дает об этом понять:

«Если „Матрикснет“ обучает модели на числовых данных, то CatBoost учитывает и нечисловые, например виды облаков или типы зданий. Раньше такие данные приходилось переводить на язык цифр, что могло изменить их суть и повлиять на точность работы модели. Теперь их можно использовать в первоначальном виде.

Благодаря этому CatBoost показывает более высокое качество обучения, чем аналогичные методы для работы с разнородными данными. Его можно применять в самых разных областях — от банковской сферы до промышленности.​»

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

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