Code Review of Ferguson’s Model
В общем, то, что код этой модели ужасен и в нем черт ногу сломит - довольно неудивительно. Даже у программистов с этим часто проблемы, а уж у непрограммистов - пиши пропало. Но там другой прикол - что когда им указывают на то, что в их модели полно багов и race conditions, они говорят "ну так это ж стохастическая модель, конечно она разные результаты выдаёт!" и рекомендуют, если уж такие вы придиры, запускать её single-threaded.
В то, что учёные, занимающиеся вероятностным моделированием, не видят разницы между стохастической моделью и случайным мусором, который вбрасывают в неё баги в коде - я не верю. Это всё равно, что биолог бы плевал в пробирку с образцами со словами "ну а чё, там всё равно биологические материалы!". И тогда возникают вопросы - не пытаются ли нас надуть, в расчёте на то, что мы лохи и пользуясь умными словами типа "стохастический", нам можно продать любую лажу? И если да, то где ещё они нас пытаются кинуть и насколько?
В общем, то, что код этой модели ужасен и в нем черт ногу сломит - довольно неудивительно. Даже у программистов с этим часто проблемы, а уж у непрограммистов - пиши пропало. Но там другой прикол - что когда им указывают на то, что в их модели полно багов и race conditions, они говорят "ну так это ж стохастическая модель, конечно она разные результаты выдаёт!" и рекомендуют, если уж такие вы придиры, запускать её single-threaded.
В то, что учёные, занимающиеся вероятностным моделированием, не видят разницы между стохастической моделью и случайным мусором, который вбрасывают в неё баги в коде - я не верю. Это всё равно, что биолог бы плевал в пробирку с образцами со словами "ну а чё, там всё равно биологические материалы!". И тогда возникают вопросы - не пытаются ли нас надуть, в расчёте на то, что мы лохи и пользуясь умными словами типа "стохастический", нам можно продать любую лажу? И если да, то где ещё они нас пытаются кинуть и насколько?
Tags:
no subject
Статистика большая, и за счет её роста в чисто теоретические области там полно странных людей
no subject
Программисты такое не пишут. Это ебанаты.
Лвдно. Я работал в H2O, там то же самое. Код, который вылетал раз в две недели, на определенном юниттесте. Важные персоны, объясняющие, что это все ошибки эксперимента. Мержи в мастера, где юниттесты рушатся как до, так и после. Объяснение: мы оптимисты, мы надеемся, что не добавим ошибо.
А эта хрень, раз в две недели - это у них "random()", который засевают от systemTimeMillis; этот рандом используется для вычисления тангенса; так арктангенс в питоне и джаве получается разный. С какого бы хуя? А они когда в джейсон сериализуют, то "округляют" путем прибавления одной миллионной. Тангенс же. Иногда он почти вертикален.
Ну вот такие профессионалы эти "data scientists".
no subject
no subject
no subject
no subject
no subject
no subject
no subject
no subject
no subject
Я работал в конкуренте H2O.
Там было сильно лучше, в основном потому что дата саентистов били по рукам и без вазелина.
Да ладно
Он не обязан быть оптимизированным. При нормальном выборе алгоритма всё должно сходиться и так, разница в скорости выполнения на пару порядков ничего принципиально не должна менять.
То, что это не C++, а завёрнутый в него C, так это микрософтовцы переписали, как умели, фиг знает что там в оригинале было.
То, что много лишнего, это неизбежно. Исследования так и делаются, попробуем это, потом попробуем то, большинство из попробованного не работает, а чистить мёртвый код некогда, надо передний край науки двигать.
Главная (и единственная) проблема это невоспроизводимость результатов. Это да, такого быть не должно. Но тогда надо за это и наезжать, а не за какой-нибудь unit test coverage.
Re: Да ладно
Главная (и единственная) проблема это невоспроизводимость результатов.
"На это есть множество причин. Во-первых, у нас не было пороха... - Достаточно, остальные причины не нужны". Этой проблемы, собственно, достаточно.
Re: Да ладно
Там не просто тесты, там prediction consistency tests, если аутпут каждой сраной функции не сходится до 6-ого знака после запятой - хер тебе, а не мердж в мастер.
Re: Да ладно
Re: Да ладно
Берем код. Берем исходные данные. Берем предикшены которые он сделал и сравниваем. Не рокет саенс.
Re: Да ладно
Re: Да ладно
Странный критерий
Приближение многочленом третьей степени в экселе тоже отлично повторяется, сколько раз не нажимай F9.
Повторяемость — критерий совершенно недостаточный и может быть даже вредным. Если модель неустойчивая и сходится только при одном посеве ГПСЧ, то принудительно заставлять её повторяться бит в бит фиксированием seed будет заметанием мусора под ковёр.
Re: Странный критерий
Re: Странный критерий
no subject
no subject
no subject
no subject
no subject
Логично.
Дополнение к
Re: Дополнение к