Яндекс разработал новый метод машинного обучения CatBoost. Он позволяет эффективно обучать модели на разнородных данных — таких как местонахождение пользователя, история операций и тип устройства. Библиотека машинного обучения CatBoost выложена в открытый доступ, ее могут использовать все желающие.
Для работы с CatBoost достаточно установить его на свой компьютер. Библиотека поддерживает операционные системы Linux, Windows и macOS и доступна на языках программирования Python и R. Яндекс разработал также программу визуализации CatBoost Viewer, которая позволяет следить за процессом обучения на графиках. Скачать CatBoost и CatBoost Viewer можно на GitHub.
CatBoost — это наследник метода машинного обучения Матрикcнет, который применяется почти во всех сервисах Яндекса. Как и Матрикснет, CatBoost задействует механизм градиентного бустинга: он хорошо подходит для работы с разнородными данными. Но если Матрикснет обучает модели на числовых данных, то CatBoost учитывает и нечисловые, например виды облаков или типы зданий. Раньше такие данные приходилось переводить на язык цифр, что могло изменить их суть и повлиять на точность работы модели. Теперь их можно использовать в первоначальном виде. Благодаря этому CatBoost показывает более высокое качество обучения, чем аналогичные методы для работы с разнородными данными. Его можно применять в самых разных областях — от банковской сферы до промышленности.
Михаил Биленко, руководитель управления машинного интеллекта и исследований Яндекса:
«Яндекс много лет занимается машинным обучением, и CatBoost создавали лучшие специалисты в этой области. Выкладывая библиотеку CatBoost в открытый доступ, мы хотим внести свой вклад в развитие машинного обучения. Надо сказать, что CatBoost — первый российский метод машинного обучения, который стал доступен в open sourсe. Надеемся, что сообщество специалистов оценит его по достоинству и поможет сделать еще лучше».
Новый метод уже протестировали на сервисах Яндекса. В рамках эксперимента он применялся для улучшения результатов поиска, ранжирования ленты рекомендаций Яндекс.Дзен и для расчета прогноза погоды в технологии Метеум — и во всех случаях показал себя лучше Матрикснета. В дальнейшем CatBoost будет работать и на других сервисах. Его использует также команда Yandex Data Factory — в своих решениях для промышленности, в частности для оптимизации расхода сырья и предсказания дефектов. Кроме того, CatBoost внедрил Европейский центр ядерных исследований (ЦЕРН): он использует его для объединения данных, полученных с разных частей детектора LHCb.