Воспроизводимость
n0mad_0 — 03.08.2010 Что-то меня начинает злить проблема воспроизводимости в machine learning -комьюнити.Вот казалось бы статья. Парни подробно описали все алгоритмы, указали их параметры. Использовали открытые датасеты.
Но! Но не рассказали каким образом делали разбиение на тестовую и обучающую выборку (или как делали cross-validation) на 1м из датасетов.
В результате у меня все отлично работает, но результаты отличаются от приведенных в статье на 10%. Вот теперь думаю - это баг в тщательно вылизанном коде или разный подход к оценке?
Для достижения счастья имхо нужно делать так:
0. Использовать открытые датасеты, лучше сразу поделенные на learning/validation части.
Правда, сразу же видны и проблемы:
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).
Может быть, есть еще не упомянутые мною бонусы =)
|
</> |