Пара моментов по существу, которые описаны не очень.
1) НС учится на игре ATARI несколько дней, а человек, мол, сел и за 5 минут освоил. Неверное логическая основа. Человек уже к этому моменту великолепно предобучен решать такие или похожие задачи (и джойстик наверное держал не раз). А вот нейронка с нуля воссоздает все.
2) Хорошо работают 25-30% из-за якобы случайных начальных условий. Из-за них тоже, но как-то совсем опущено несколько миллионов обновлений весов, конкретно уводящих модель в ту или иную сторону.
Пишем большой проект одновременно на R и Python. Обкладываем проверками, используем быстрые библиотеки для прожевывания датафреймов. Мой коллега на Py пишет в стиле OOP, я, как не программист, пишу функционально. Объемы кода до 10К строк. Все крутится на production в docker container. Переходим на Spark. И R и Python идут нос в нос, но на R быстрее разработка идет. Также были сложности с переносом в Py логики расчета доверительных интервалов для моделей (то, что в R вызывается в функции, в Py решается матричными операциями, что опять же накладывает ограничение на скорость разработки).
Вижу, что для этого примера в Python также есть ссылки. Но я не говорю, что это самый главный фактор превращения программиста в ученого, но как бы в R-сообществе этому принято больше внимания уделять, что-ли.
Я имею в виду, что открывая help в любой функции из R stats:: или из другой библиотеки можно уточнить смысл некоторых — говоря языком разработчика — скалярных значений, возвращаемых этими функциями при определенных условиях, либо же в целом понять подход, который закодирован в этих функциях, почитав публикации в реферируемых журналах. Пример для семейства функций gamma:
dgamma is computed via the Poisson density, using code contributed by Catherine Loader (see dbinom).
pgamma uses an unpublished (and not otherwise documented) algorithm ‘mainly by Morten Welinder’.
qgamma is based on a C translation of
Best, D. J. and D. E. Roberts (1975). Algorithm AS91. Percentage points of the chi-squared distribution. Applied Statistics, 24, 385–388.
plus a final Newton step to improve the approximation.
rgamma for shape >= 1 uses
Ahrens, J. H. and Dieter, U. (1982). Generating gamma variates by a modified rejection technique. Communications of the ACM, 25, 47–54,
and for 0 < shape < 1 uses
Ahrens, J. H. and Dieter, U. (1974). Computer methods for sampling from gamma, beta, Poisson and binomial distributions. Computing, 12, 223–246.
Пример для функции регуляризованной обобщенной регрессии glmnet:
Author(s)
Jerome Friedman, Trevor Hastie, Noah Simon and Rob Tibshirani
Maintainer: Trevor Hastie hastie@stanford.edu
References
Friedman, J., Hastie, T. and Tibshirani, R. (2008) Regularization Paths for Generalized Linear Models via Coordinate Descent, web.stanford.edu/~hastie/Papers/glmnet.pdf
Journal of Statistical Software, Vol. 33(1), 1-22 Feb 2010 www.jstatsoft.org/v33/i01
Simon, N., Friedman, J., Hastie, T., Tibshirani, R. (2011) Regularization Paths for Cox's Proportional Hazards Model via Coordinate Descent, Journal of Statistical Software, Vol. 39(5) 1-13 www.jstatsoft.org/v39/i05
Tibshirani, Robert., Bien, J., Friedman, J.,Hastie, T.,Simon, N.,Taylor, J. and Tibshirani, Ryan. (2012) Strong Rules for Discarding Predictors in Lasso-type Problems, JRSSB vol 74, statweb.stanford.edu/~tibs/ftp/strong.pdf
Stanford Statistics Technical Report
Glmnet Vignette web.stanford.edu/~hastie/glmnet/glmnet_alpha.html
Все это подстегивает определенный исследовательский интерес. Но, в целом, его подстегивает, в первую очередь, заказ на глубину объяснения используемых методов со стороны заказчика. Если его нет, то тут уж сам скорее себя драйвишь.
Редко где видел примеры реализации экспериментов в R с помощью ООП. Обычно функциональный и/или процедурный подход, после которого рекомендуется выносить функционал в пакеты. Писать классы и методы на R (я пробовал только в рамках обучающего курса) — это менее удобно, не популярно (не нужно)?
Я пишу на R в области data science. За несколько месяцев получается разработать прототип сервиса, переписывание полного функционала которого на продакшн-ЯП заняло бы годы. Плюс симпатичная презентация результатов (markdown, shiny, ggplot2).
R популярен среди банковских аналитиков для скоринга, предсказания оттока, кластеризации. Особенно рулит логистическая регрессия и внимание к выполнению предположений о модели данных.
1) НС учится на игре ATARI несколько дней, а человек, мол, сел и за 5 минут освоил. Неверное логическая основа. Человек уже к этому моменту великолепно предобучен решать такие или похожие задачи (и джойстик наверное держал не раз). А вот нейронка с нуля воссоздает все.
2) Хорошо работают 25-30% из-за якобы случайных начальных условий. Из-за них тоже, но как-то совсем опущено несколько миллионов обновлений весов, конкретно уводящих модель в ту или иную сторону.
"но по количеству термов". Совсем русский забыли? Количеству членов.
Я только вношу маленький вклад в популяризацию.
Пример для функции регуляризованной обобщенной регрессии glmnet:
И, вдогонку к последнему примеру, обсуждение формулы для смешанной регуляризации на профильном ресурсе (обсуждение на уровне топовых представителей математической статистики): https://stats.stackexchange.com/questions/326427/why-does-glmnet-use-naive-elastic-net-from-the-zou-hastie-original-paper/327129#327129
Все это подстегивает определенный исследовательский интерес. Но, в целом, его подстегивает, в первую очередь, заказ на глубину объяснения используемых методов со стороны заказчика. Если его нет, то тут уж сам скорее себя драйвишь.
Кто уже возьмётся обучить deep nn для придания телефонным фоткам вида продукта зеркалок?