Воспроизводимость

топ 100 блогов n0mad_003.08.2010 Что-то меня начинает злить проблема воспроизводимости в machine learning -комьюнити.

Вот казалось бы статья. Парни подробно описали все алгоритмы, указали их параметры. Использовали открытые датасеты.

Но! Но не рассказали каким образом делали разбиение на тестовую и обучающую выборку (или как делали cross-validation) на 1м из датасетов.
В результате у меня все отлично работает, но результаты отличаются от приведенных в статье на 10%. Вот теперь думаю - это баг в тщательно вылизанном коде или разный подход к оценке?


Для достижения счастья имхо нужно делать так:
0. Использовать открытые датасеты, лучше сразу поделенные на learning/validation части.
Иногда, правда, все равно понадобится резать кусочки (например, для настройки параметров обучения). Так как самостоятельное распространение данных обычно запрещено, авторы статей должны выкладывать скрипты разбиения датасета на части. Работа скриптов должна быть детерминирована. Например, остаток от деления хешфункции номера строчки на константу или же "рандомизатор" с seed и пр.
1. В дополнение к статье нужно выкладывать код.
Конечно, это усложняет жизнь авторам. Зато среди плюсов (1) если код хороший, его будут использовать, ссылаться и пр (2) поможет победить проблему воспроизводимости (3) людям будет проще продолжать вашу работу. В конце концов исходный код - это такое же описание алгоритмов, только более полное.
2. Естественно, все подробно описывать =)

Правда, сразу же видны и проблемы:
1. Все это неприменимо к публикациям результатов, полученных в промышленных компаниях, так как не на все задачи есть открытые данные, а про открытие кода вообще молчу.
2. Качество кода все равно может быть таким, что ой-вей, лучше бы не показывали =) а значит, никто так и не заглянет.


Вообще говоря, стоит разделять воспроизводимость, повторимость и сравнимость. В идеале, работа по факту должна обладать всеми этими признаками. Следование пункту (0) обеспечивает сравнимость, (1) - повторимость. (0..2) - воспроизводимость.

(разного родаTREC/LETOR/IMAT/Netflix_Prize/mlcomp.org тоже  обеспечивают сравнимость результатов внутри себя).

В общем, для себя я решил выкладывать код по возможности. А что об этом думает общественность? У вас есть такие проблемы? Как вы их решаете?

Ссылка с обсуждением по теме: Daniel Lemire blog

UPD. Из обсуждения по ссылке.

I have reviewed papers with open data. It was great, I ran some stats and proved to myself that their stats were at least correct, I even found a mistake in one of their p-values where they made an erroneous decision on the border (it didn’t affect the rest of the paper).
Может быть, есть еще не упомянутые мною бонусы =)

Оставить комментарий

Архив записей в блогах:
Посмотрел и послушал я информацию которую дают наши враги по поводу ситуации с востока от Покровска. Довольно забавный такой сеанс аутотренинга. Все хорошо, прорыв небольшой, небольшие ДРГ где то бродят, сейчас мы их уничтожаем. Даже наркет высказался, что все о кей и под контролем. ...
К годовщине. Почему Зоя до сих пор не даёт покоя правым? 29 ноября — годовщина героической гибели Зои Космодемьянской (1923—1941). Не все в наше время понимают, почему её подвиг так поразил современников и почему он остаётся предметом «борьбы за историю» и сегодня. Почему именно она ...
Это небольшое, но весьма эффектное видео было сделано камерой, установленной на одной из створок головного обтекателя ракеты Falcon 9. Оно демонстрирует процесс ее отделения от носителя. Видео было снято во время миссии по выводу на орбиту очередной партии спутников Starlink. Starlink ...
Вчера получил почтовое извещение на "мелкий пакет, китай". Думал пришли полтора месяца назад заказанные копеечные датчики. Оказывается нет, вот такая коробка, длинной пол метра, обклеенная надписями usps priority mail - оказывается мелкий пакет из китая . А там... парам-пам-пам... ...
В 1974 году замечательный русский актёр Олег Борисов был удостоен звания народного артиста РСФСР. 19 октября он записал в дневнике: Звание дали. Теперь я народный артист. Одиннадцать лет носил почетное звание заслуженного Украины – это как оковалок или задняя часть. Теперь отвалили ...