CatBoost

CatBoost — открытая программная библиотека, разработанная компанией Яндекс и реализующая уникальный патентованный алгоритм построения моделей машинного обучения, использующий одну из оригинальных схем градиентного  бустинга. Основное API для работы с библиотекой реализовано для языка Python, также существует реализация для языка программирования R.

18 июля 2017 года компания Яндекс выложила библиотеку с алгоритмом CatBoost в открытый доступ с открытой лицензией Apache 2.0, которая является продолжением и развитием закрытого проекта Яндекса — Матрикснет.

История

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

CatBoost 
18 июля 2017 года CatBoost была открыта для свободного доступа на GitHub компанией Яндекс под свободной лицензией Apache 2.0. CatBoost является системой машинного обучения использующая одну из оригинальных схем градиентного бустинга. CatBoost доступна для 64-разрядных операционных систем Linux, macOS и Windows. В ОС macOS для ускорения работы используется оригинальный фреймворк  — созданный Apple для методов машинного обучения.

Сравнивая CatBoost с подобными системами машинного обучения компаний Google (TensorFlow) и Microsoft (LightGBM), руководитель разработки систем машинного обучения «Яндекса» Анна Вероника Дорогуш отметила, что Google TensorFlow решает другой класс задач, эффективно анализируя однородные данные — например изображения. А «CatBoost работает с данными разной природы и может быть использован в связке с TensorFlow и другими алгоритмами машинного обучения в зависимости от конкретных задач». У Microsoft LightGBM российская разработка выигрывает по качеству, что демонстрирует таблица тестов с общепринятыми в машинном обучении сравнениями, но пока проигрывает в скорости — что Яндекс обещает исправить.

Применение 
В первую очередь технология CatBoost используется для улучшения результатов поисковой системы Яндекс, ранжирования персональной ленты рекомендаций — например в Яндекс.Дзен, для расчёта прогноза погоды и в других интернет-сервисах компании «Яндекс», где он показал себя лучше предыдущей технологии — «Матрикснета». В своих решениях для промышленности команда Yandex Data Factory также использует эту технологию, в частности она используется для оптимизации расхода сырья и предсказания дефектов при производстве.

CatBoost был внедрён Европейским центром ядерных исследований (ЦЕРН) при исследованиях на Большом адронном коллайдере (БАК) для объединения информации с различных частей детектора LHCb в максимально точное, агрегированное знание о частице. Используя для комбинирования данных CatBoost, учёным удалось добиться улучшения качественных характеристик финального решения, где результаты CatBoost оказались лучше результатов, получаемых с использованием других методов.

Примечания

Ссылка 

 
 

Свободное программное обеспечение, написанное на C++
Свободное программное обеспечение, написанное на Python
Сервисы и инструменты «Яндекса»
Применение искусственного интеллекта
Анализ данных
Машинное обучение