Новая технология машинного обучения от Яндекса — CatBoost

27.07.2017

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

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

Новая технология машинного обучения от Яндекса — CatBoost

Нейронные сети и градиентный бустинг

Существует много методов обучения компьютеров решать те или иные задачи. Распространены методы, основанные на нейронных сетях. Нейросети хорошо справляются со случаями, где обрабатываются однородные данные (из которых состоят, например звук или изображения). Но существуют задачи, в которых нужно обработать большой объем данных с неоднородной структурой, с которыми не справляются нейронные сети. В таких случаях целесообразно применять градиентный бустинг. Также к такому виду задач относится качественное ранжирование поисковой выдачи. Это подтолкнуло Яндекс к разработке собственного метода.

Что такое Матрикснет

С развитием поисковиков и появлением миллионов web-документов, человеческих ресурсов перестало хватать для качественного ранжирования документов. Стало невозможным написать такую программу, которая могла бы отфильтровать качественные результаты по тому или иному запросу. Из-за этого поисковыми системами стали использоваться методы машинного обучения.

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

Для чего нужен CatBoost

Большинство современных методов, основанных на градиентном бустинге, работают с числами. Если на вход поступают данные о жанрах музыки, видов облаков, цвете, то их нужно преобразовать в цифры. Из-за этого происходит искажение данных и ухудшается точность работы модели. Поэтому необходимо научить работать машину не только с цифрами, но и с категориями данных напрямую, для того чтобы она могла выявлять закономерности между ними самостоятельно - без помощи человека. Для этого и был разработан CatBoost. Он хорошо работает как с числами, так и с категориями напрямую, соответственно качество обучения при работе с разнородными данными выше. Название технологии произошло от термина Categorical Boosting (категориальный бустинг).