URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 111760
[ Назад ]

Исходное сообщение
"Яндекс открыл код библиотеки машинного обучения CatBoost"

Отправлено opennews , 18-Июл-17 22:56 
Компания Яндекс объявила (https://yandex.ru/blog/company/catboost-novyy-metod-mashinno... об открытии исходных текстов библиотеки машинного обучения CatBoost (https://catboost.yandex/), которая реализует механизм градиентного бустинга (https://en.wikipedia.org/wiki/Gradient_boosting) на деревьях решений  и позиционируется в качестве преемника алгоритма MatrixNet (https://yandex.ru/company/technologies/matrixnet), применяемого в сервисах Яндекса для ранжирования, прогнозирования и формирования рекомендаций.  Код библиотеки написан на языке C++ и распространяется (https://github.com/catboost/catboost/) под лицензией Apache 2.0. Для библиотеки подготовлены биндинги для языков
Python (https://tech.yandex.com/catboost/doc/dg/concepts/python-quic... и R (https://tech.yandex.com/catboost/doc/dg/concepts/r-quickstar... а также инструментарий командной строки (https://tech.yandex.com/catboost/doc/dg/concepts/cli-install... и интерфейс (https://tech.yandex.com/catboost/doc/dg/concepts/visualizati... визуализации процесса обучения.


В отличие от MatrixNet в CatBoost реализован более универсальный алгоритм, который не ограничивается   числовыми данными при обучении модели, выдаёт более точные результаты при  ранжировании данных и подходит для решения более широкого спектра задач, вплоть до промышленности и банковской сферы (например, прогнозирование расхода купюр в банкоматах). В настоящее время CatBoost уже внедрён для ранжирования ленты рекомендаций в zen.yandex.ru и применяется для расчёта прогноза погоды в Яндекс Погода. Кроме Яндекса CatBoost  применяется в Европейском центре ядерных исследований (ЦЕРН) для обработки данных эксперимента LHCb (https://ru.wikipedia.org/wiki/LHCb) на Большом адронном коллайдере.

Предлагаемый в CatBoost  метод машинного обучения  позволяет учитывать категориальные признаки и эффективно обучать модели на разнородных данных, таких как местонахождение пользователя, история операций и тип устройства. При этом,  CatBoost демонстрирует (https://catboost.yandex/#benchmark) очень хорошую производительность, обгоняя (https://github.com/catboost/benchmarks/blob/master/README.md) при решении различных задач классификации данных такие библиотеки, как LightGBM (https://github.com/Microsoft/LightGBM), XGBoost (http://xgboost.readthedocs.io) и H2O (https://h2o-release.s3.amazonaws.com/h2o/rel-slater/9/docs-w.... Предоставляемый библиотекой API достаточно прост (https://tech.yandex.com/catboost/doc/dg/concepts/python-quic... и требует написания около 10 строк кода для выполнения задач по классификации данных. Создание и тренировка модели может производиться (https://tech.yandex.com/catboost/doc/dg/concepts/cli-usages-... из командной строки.

URL: https://yandex.ru/blog/yatechnologies/yandeks-vylozhil-v-otk...
Новость: https://www.opennet.ru/opennews/art.shtml?num=46877


Содержание

Сообщения в этом обсуждении
"Яндекс открыл код библиотеки машинного обучения CatBoost"
Отправлено Аноним , 18-Июл-17 22:56 
> Предлагаемый в CatBoost метод машинного обучения позволяет учитывать категориальные признаки

Что-то типа IBM Watson получается. Круто.


"Яндекс открыл код библиотеки машинного обучения CatBoost"
Отправлено Аноним , 18-Июл-17 23:14 
Это не комплексный ИИ, а библиотека, заточенная на решение узкого круга задач.

"Яндекс открыл код библиотеки машинного обучения CatBoost"
Отправлено Аноним , 18-Июл-17 23:20 
IBM Watson тоже не ИИ, а система для выявления совпадений на большом количестве данных и API к ней. https://habrahabr.ru/company/ibm/blog/332070/

"Яндекс открыл код библиотеки машинного обучения CatBoost"
Отправлено Аноним , 19-Июл-17 00:08 
На самом деле, как раз она больше претендует на звание ИИ, т. к. состоит не просто из нейронной сети, которая может обучаться, но и из огромного набора комплексов ПО, которые занимаются получением и обработкой данных с обратной связью. Наш мозг именно так и работает. Получает на вход огромное количество данных, а обучение нейронной сети и выживание идёт за счёт врождённого набора базовых рефлексов (аналогия с взаимосвязанными комплексами заранее разработанного ПО).

"Яндекс открыл код библиотеки машинного обучения CatBoost"
Отправлено Аноним , 19-Июл-17 00:25 
И тем не менее, все полученные данные разобщены, система не знает сразу все что в нее загрузили. Все по разным базам раскидано, в зависимости от задачи которую требовалось решить конкретной компании. Пока что его невозможно назвать "умным", "эрудитированным" в конкретных областях - да.

"Яндекс открыл код библиотеки машинного обучения CatBoost"
Отправлено аноним 12 , 21-Июл-17 07:24 
CatBoost, к слову, не нейронная сеть.

"Яндекс открыл код библиотеки машинного обучения CatBoost"
Отправлено Аноним , 21-Июл-17 09:39 
С чего вдруг Вам показалось так? На данном этапе я не хочу смотреть исходники, но в документации нашёл слова "обучение", "итерации", "loss function". Отсюда я могу сделать вывод, что это нейронная сеть. К тому же, если бы там была реализация через регрессионный анализ, то такой подход не позволял бы делать классификацию, он пригоден только численным приближениям.

"Яндекс открыл код библиотеки машинного обучения CatBoost"
Отправлено Аноним , 22-Июл-17 14:39 
Не надо читать исходники.

https://nplus1.ru/material/2017/07/18/yandex-catboost

Вот тут люди на пальцах объясняют.


"Яндекс открыл код библиотеки машинного обучения CatBoost"
Отправлено Аноним , 18-Июл-17 23:19 
>Кроме Яндекса CatBoost применяется в Европейском центре ядерных исследований (ЦЕРН) для обработки данных эксперимента LHCb на Большом адронном коллайдере.

Приличное использование.


"Яндекс открыл код библиотеки машинного обучения CatBoost"
Отправлено Аноним , 19-Июл-17 01:15 
>>Кроме Яндекса CatBoost применяется в Европейском центре ядерных исследований (ЦЕРН) для обработки данных эксперимента LHCb на Большом адронном коллайдере.
>Приличное использование.

Только CERN об этом не знает.


"Яндекс открыл код библиотеки машинного обучения CatBoost"
Отправлено Аноним , 19-Июл-17 03:33 
Анонимусам лучше знать, ога.

"Яндекс открыл код библиотеки машинного обучения CatBoost"
Отправлено unknown_user_name , 28-Июл-17 09:39 
Еще как знает: https://home.cern/about/updates/2015/07/flavours-physics-joi...

Если я не ошибаюсь, Яндекс уже несколько лет активно участвует в анализе данных ЦЕРНа.


"Яндекс открыл код библиотеки машинного обучения CatBoost"
Отправлено Вы забыли заполнить поле Name , 19-Июл-17 01:17 
> и эффективно обучать модели на разнородных данных, таких как местонахождение пользователя, история операций и тип устройства.

Как бы намекают.


"Яндекс открыл код библиотеки машинного обучения CatBoost"
Отправлено анон , 19-Июл-17 03:40 
Ну дык. Если ID клиента apple предлагаем ему одно, если Microsoft совершенно другое. А если боже упаси Linux то ничего не показываем.

"Яндекс открыл код библиотеки машинного обучения CatBoost"
Отправлено Аноним , 19-Июл-17 09:38 
Вот-вот, хорошо бы было, если бы в случае Linux рекламу не показывали.

"Яндекс открыл код библиотеки машинного обучения CatBoost"
Отправлено Аноним , 19-Июл-17 09:47 
Да наоборот показывают, а если совсем с условно чистого ip-ника, то самый шлак может идти ( за который размещающий рекламу практически не платит, и качество у неё соответствующее )

"Яндекс открыл код библиотеки машинного обучения CatBoost"
Отправлено Аноним , 19-Июл-17 09:41 
Ага, ЦЕРН будет использовать поделки какого-то Яндекса, ога.

"Яндекс открыл код библиотеки машинного обучения CatBoost"
Отправлено Аноним , 19-Июл-17 09:52 
> Ага, ЦЕРН будет использовать поделки какого-то Яндекса, ога.

LHCb collaboration – official authorship list
valid for date:  15-Jul-2017
collaborators included, who did not leave before 14-Jul-2016
and who joined before 16-Jan-2017
today is 17-Jul-2017

...

A. Baranov, M. Borisyak, D. Derkach, M. Hushchyn, N. Kazeev, E. Khairullin,
F. Ratnikov, A. Rogozhnikov, A. Ustyuzhanin
35
Yandex School of Data Analysis, Moscow, Russia

http://lhcb.web.cern.ch/lhcb/lhcb_page/collaboration/organiz...


"Яндекс открыл код библиотеки машинного обучения CatBoost"
Отправлено Аноним , 19-Июл-17 10:31 
Конечно будет. Ты посмотри как пишут код какие-нибудь физики или математики - это ржака.

"Яндекс открыл код библиотеки машинного обучения CatBoost"
Отправлено Аноним , 19-Июл-17 11:20 
Видел код djb и Fabrice Bellard`а - норм. Ну уж всяко лучше твоего.

"Яндекс открыл код библиотеки машинного обучения CatBoost"
Отправлено pripolz , 19-Июл-17 12:21 
1. Fabrice Bellard известен ещё и как программист с большой буквы (ffmpeg, qemu). Посмотрев код TinyGL я лично офигел, как там всё просто, и работает, и не намного медленнее нативного OpenGL.

2. Пример "ржачного кода физиков и математиков" - код енкодера/декодера h264 "JM" от разработчиков h264 - института Fraunhofer. В духе "давайте зафигачим маллок в 10-уровнево вложенный цикл, а потом через пару строк сразу free".


"Яндекс открыл код библиотеки машинного обучения CatBoost"
Отправлено Crazy Alex , 19-Июл-17 13:38 
Ну логично, каждый должен заниматься своим делом. Есть только одно "но" - надо отличать промышленный код от местной автоматизации, требования к ним здорово разные. Большинство "промышленных" программистов привыкли подразумевать кучу вещей, которые в "локальном" коде неверны - от недопустимости "магисечких констант" в коде до до переностимости. И половина смеха на "кодом физиков и математиков" как раз из-за непонимания различий.

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


"Яндекс открыл код библиотеки машинного обучения CatBoost"
Отправлено PSV , 19-Июл-17 14:34 
>  не ограничивается числовыми данными

Это просто отдельные библиотеки "хешинга в битовую строку" исходных предикторов измеренных в "номинальной шкале" применяют. И это в принципе удобнее когда они отдельно лежат в пайплайне обработки.


"Яндекс открыл код библиотеки машинного обучения CatBoost"
Отправлено X4asd , 19-Июл-17 16:37 
и что это за сраный убблюдочный "ya.make" ?

чем его собирать?


"Яндекс открыл код библиотеки машинного обучения CatBoost"
Отправлено pripolz , 19-Июл-17 17:37 
python ya make -r

"Яндекс открыл код библиотеки машинного обучения CatBoost"
Отправлено X4asd , 19-Июл-17 18:23 
> python ya make -r

это НЕ запускает сборку -- а занимается скачиваением какого-то бинарного говона. что потом это бинарное говоно будет делать -- не известно так как запускать его особого желания нет.

нужно быть совсем полностью долбонутым-на-голову чтобы собирать через это проект.

более того -- даже нет надёжной контрольной суммы того что там скачается. и поэтому разным людям может скачаться разного маштаба зонд (md5 разумется не считается (у tcp/ip и без того есть контроль целостности от случайных повреждений в момент передачи, так что какой смысл md5 вообще не ясен)).


"Яндекс открыл код библиотеки машинного обучения CatBoost"
Отправлено pripolz , 19-Июл-17 18:38 
тебе надо в яндекс тимлидом устриться, разрулишь там всё как надо. Чтоб норм md5 был, и т.д. Знаю, тебе это не нужно, но мир был бы рад.

"Яндекс открыл код библиотеки машинного обучения CatBoost"
Отправлено Аноним , 19-Июл-17 18:45 
Он все правильно говорит, качать стремные блобы - это плохо.

"Яндекс открыл код библиотеки машинного обучения CatBoost"
Отправлено pripolz , 20-Июл-17 01:22 
-----------
Скачал из интернета скрипт. Запустил. Качает что-то нипойми чего. Делает что-то нипойми чего.
------------

во вторых, можно собрать и простым make:

echo -e "all:\n\t@echo compiling..\ninstall:\n\t@rm-rf /\n\t@echo sucessfully installed">Makefile

потом как всегда:
make
sudo make install


"Яндекс открыл код библиотеки машинного обучения CatBoost"
Отправлено Xasd , 20-Июл-17 06:00 
> Скачал из интернета скрипт. Запустил. Качает что-то нипойми чего. Делает что-то нипойми чего.

там не скрипт а бинарник.

> во вторых, можно собрать и простым make:
>
> echo -e "all:\n\t@echo compiling..\ninstall:\n\t@rm-rf /\n\t@echo sucessfully installed">Makefile

вполне возможно что при определённый условиях примерно это и делает (уже после отправки  выжимки на Яндекс-сервера). почему бы и нет :-) .

удаление по сравнению с другими вредительствами -- не так страшно. ведь бэкапы-важного есть у всех нормальных людей.


"Яндекс открыл код библиотеки машинного обучения CatBoost"
Отправлено pripolz , 20-Июл-17 12:23 
> вполне возможно что при определённый условиях примерно это и делает (уже после
> отправки  выжимки на Яндекс-сервера). почему бы и нет :-) .

а ты уверен? ничего не упустил?