Ранее во всех сервисах компании использовался внедренный в 2009 году алгоритм машинного обучения «Матрикснет», но он умел работать только с числовыми значениями, такими как рост, вес, давление
По ее словам, в технологии CatBoost (от англ. Categorical Boosting — «категориальное продвижение») «эту проблему полностью полечили» — алгоритм умеет работать категориями. Он наиболее оптимально превращает их в числа различными способами уже во время обучения.
Еще одна проблема, которая есть у всех алгоритмов машинного обучения, — проблема переобучения. Это значит, что алгоритм хорошо работает на данных, с которыми он уже имел дело, но на новых данных показывает худший результат. «Мы придумали новую схему построения градиентного бустинга, которая с этой проблемой борется. За счет этого точность итога получается лучше», — сказала архитектор проекта.
Градиентный бустинг, на котором построена технология CatBoost, — это класс алгоритмов, который применяется для работы с разнородными данными. «Однородные данные — это звук, видео, текст. А разнородные данные — данные из разных источников. Например, для погоды это данные с радаров, метеостанций, исторические данные. Лучше всего для них работает градиентный бустинг», — пояснила Дорогуш.
CatBoost также первый российский метод машинного обучения, библиотеку которого выложили в открытый доступ, и теперь им может воспользоваться любой желающий. Компания также разработала набор аналитических инструментов для работы с алгоритмом. «Мы хотим внести свой вклад в развитие машинного обучения», — пояснил Михаил Биленко, руководитель управления машинного интеллекта и исследований «Яндекса».
В «Яндексе» видят множество применений для нового метода — это любая область, где есть разнородные данные из разных источников и нужны предсказания. Например, в медицине, чтобы ставить человеку диагноз на основе многих параметров его здоровья, в банках — для определения платежеспособности клиентов, для прогнозирования погоды.
Новый метод уже протестировали на сервисах «Яндекса». В рамках эксперимента он применялся для улучшения результатов поиска, ранжирования ленты рекомендаций Яндекс.Дзен и для расчета прогноза погоды в технологии «Метеум». В дальнейшем CatBoost будет работать и на других сервисах. Кроме того, CatBoost внедрил Европейский центр ядерных исследований (ЦЕРН): он использует его для объединения данных, полученных с разных частей детектора LHCb.
Для работы с CatBoost достаточно установить его на свой компьютер. Библиотека поддерживает операционные системы Linux, Windows и macOS и доступна на языках программирования Python и R.
О том, как работает машинное обучение, смотрите на «Чердаке».
Евгения Щербина