17 августа 2017

Классический труд по глубокому обучению теперь доступен на русском языке



В издательстве ДМК Пресс вышла книга Я. Гудфеллоу и др. "Глубокое обучение", которая представляет собой один из наиболее полных и широко цитируемых трудов по этой (очень "горячей" сегодня) теме. В аннотации к книге говорится следующее:

"Глубокое обучение - это вид машинного обучения, наделяющий компьютеры способностью учиться на опыте и понимать мир в терминах иерархии концепций. Поскольку компьютер приобретает знания из опыта, отпадает нужда в человеке-операторе, который формально описывает необходимые компьютеру знания. Иерархическая организация позволяет компьютеру обучаться сложным концепциям, конструируя их из более простых; граф такой иерархии может содержать много уровней. В этой книге читатель найдет широкий обзор тем, изучаемых в глубоком обучении.

Книга содержит математические и концептуальные основы линейной алгебры, теории вероятностей и теории информации, численных расчетов и машинного обучения в том объеме, который необходим для понимания материала. Описываются приемы глубокого обучения, применяемые на практике, в том числе глубокие сети прямого распространения, регуляризация, алгоритмы оптимизации, сверточные сети, моделирование последовательностей, и др. Рассматриваются такие приложения, как обработка естественных языков, распознавание речи, компьютерное зрение, онлайновые рекомендательные системы, биоинформатика и видеоигры. Наконец, описываются перспективные направления исследований: линейные факторные модели, автокодировщики, обучение представлений, структурные вероятностные модели, методы Монте-Карло, статистическая сумма, приближенный вывод и глубокие порождающие модели.

Издание будет полезно студентами и аспирантам, а также опытным программистам, которые хотели бы применить глубокое обучение в составе своих продуктов или платформ."

P.S.: В качестве бонусной информации: на этой неделе на платформе начался новый курс-специализация по глубокому обучению. Курс разработан и преподается известным Эндрю Нг (Andrew Ng) в рамках его нового проекта deeplearning.ai



05 августа 2017

Обзор интересных R-пакетов за июль 2017 г.



  • charlatan: пакет для создания "фейковых" наборов данных, которые могут включать адреса, имена людей, географические координаты, названия должностей, и т.п.
  • colordistance: пакет для работы с изображениями. В частности, пользователи могут избирательно маскировать определенные пиксели, вычислять количественные меры сходства между несколькими изображениями по присутствующим в них цветам, находить группы сходных изображений (кластерный анализ на основе доминирующих цветов), и т.п. См. примеры здесьздесь и здесь.
  • diceR: пакет для выполнения кластерного анализа, в ходе которого одновременно используется несколько алгоритмов кластеризации. Такой подход позволяет выяснить, насколько разные алгоритмы "согласны" (проявляют "консенсус", англ. "consensus clustering") в отношении принадлежности того или иного наблюдения к определенному кластеру. См. примеры здесь.
  • ggformulaggplot2-графики, спецификация которых задается c использованием стандартного для R "формульного" синтаксиса. См. многочисленные примеры здесь.
  • parallelDist: отличный инструмент для выполнения параллельных вычислений матриц сходства/различий ("параллельная" версия базовой R-функции dist()). Реализовано большое количество стандартных метрик сходства/различий.
  • RStudioConnect теперь поддерживает функционал plumber'а - пакета, с помощью которого можно легко создавать REST API для практически любых приложений, написанных на R.
  • secreteпозволяет зашифровывать пароли, API-ключи и т.п. важные элементы, используемые в R-пакетах и приложениях.
  • SentimentAnalysis: удобный пакет для анализа тональности текстов. Содержит несколько встроенных словарей, как общих, так и тематических (например, финансы). Имеется возможность работать не только с англоязычными текстами.
  • SimMultiCorrData: набор функций для создания "искусственных" наборов данных из нескольких переменных (непрерывные, бинарные, счетные) с заданной пользователем ковариационной матрицей. Такие наборы данных, в частности, являются ключевым компонентом имитационного моделирования.
  • walker: удобный пакет для построения байесовских регрессионных моделей с динамическими коэффициентами (т.е. коэффициентами, изменяющимися во "времени").


08 июля 2017

Обзор интересных R-пакетов за июнь 2017 г.



  • В июне вышла новая версия R (v3.4.1) под кодовым названием "Single Candle".
  • dbplyr: этот новый пакет содержит весь код, который ранее отвечал за работу с удаленными базами данных в пакете dplyr. См. пояснения в статье Хэдли Уикхема.
  • desctable: формирование таблиц с описательными статистиками, как стандартными, так и пользовательскими. Пакет обладает простым синтаксисом в духе dplyr. См. примеры здесь.
  • dplyr: опубликована новая версия (v0.7) этого популярного пакета. С перечнем основных нововведений можно ознакомиться в блоге компании RStudio.
  • replyr: удобный dplyr-подобный пакет для работы с "большими данными" (например, с данными, обрабатываемыми на Spark-кластере). См. примеры здесь.
  • RJSplot: очередной пакет для создания интерактивных графиков и диаграмм средствами R и JavaScript. См. многочисленные примеры здесь.
  • simglm: позволяет создавать искусственные наборы данных на основе обобщенных линейных моделей с заданной пользователем структурой (включая модели со смешанными эффектами).
  • simstudy: еще один пакет для создания искусственных наборов данных с заданными пользователем свойствами. См. примеры здесь.
  • sparklyr: на платформе DataCamp появился новый обучающий курс по работе с этим пакетом.
  • tidygraph: визуализация графов и дендрограмм с использованием dplyr-подобного синтаксиса. См. примеры здесь.


05 июля 2017

Визуализация пространственно-распределенных данных с помощью пакетов ggmap и ggplot2



Aвтор: Владимир Шитиков

Введение

Целью многих исследований является анализ конфигурации пространственных объектов и отображение ее структуры на картосхемах. В среде R для решения этой задачи часто используют методы и функции пакетов sp, maps, RgoogleMaps и связанных с ними ресурсов. При этом для создания основного слоя карты часто применяются свободно распространяемые shape-файлы, содержащие точечные и контурные графические примитивы, соответствующие отдельным географическим пунктам или регионам (см. пример здесь и здесь). Однако, по сравнению с картами, полученными на основе специализированных геоинформационных систем, таких как ArcGIS ESRI, подобная визуализация может показаться не столь симпатичной.

Ниже рассматриваются некоторые "продвинутые" методы для быстрой визуализации пространственных данных в среде R, основанные на двух идеях: (1) формирование "на лету" статических карт необходимого качества и масштаба с использованием актуальной информации серверов GoogleMap, OpenStreetMap, Stamen Maps или CloudMade и (2) широкое использование грамматики создания графических слоев для отображения необходимой информации на основе функций пакета ggplot2 (Wickham 2009, 2016; Мастицкий 2016). В результате развития этих концепций был разработан удобный пакет R, названный ggmap (Kahle & Wickham 2013). Продемонстрируем некоторые его возможности с использованием собственных данных.



04 июня 2017

Обзор интересных R-пакетов за май 2017 г.





  • CausalImpact: великолепный инструмент от аналитиков из Google, который позволяет оценить эффект экспериментального воздействия на изменяющуюся во времени переменную при отсутствии контрольной группы.
  • defer: пакет, с помощью которого можно удобно "обернуть" несколько функций в одну высокоуровневую функцию. Вот небольшой пример:

    C <- 10
    
    f <- function(x) x*x + C
    g <- function(y) (f(y) + 10) * f(y+3)
    h <- function(z) mean(c(g(z), g(z+1), g(z+2)))
    
    wrapper <- defer(h)
    #> Found functions:
    #>   g, f
    #> variables:
    #>   C
    #> library calls:
    #>   base::mean
    
    rm(C, f, g, h)
    
    wrapper(10)
    #> [1] 29688.67
    

  • d3Tree: R-интерфейс к JavaScript-библиотеке D3 для создания "схлопывающихся" дендрограмм. См. примеры здесь.
  • MultiVarSel: реализация метода Perrot-Dockes et al. (2017) для селекции информативных предикторов для общих линейных моделей. См. примеры здесь.
  • networktools: набор функций для анализа графов (сетей). В частности, в этом пакете реализована новая метрика для оценки "влияния" (impact) отдельных узлов и ребер графа на устойчивость его структуры.
  • philentropy: позволяет вычислить 46 различных метрик сходства/расстояния между многомерными объектами. Вот список реализованных в этом пакете метрик:

    library(philentorpy)
    
    getDistMethods()
    
    ##  [1] "euclidean"         "manhattan"         "minkowski"         "chebyshev"        
    ##  [5] "sorensen"          "gower"             "soergel"           "kulczynski_d"     
    ##  [9] "canberra"          "lorentzian"        "intersection"      "non-intersection" 
    ## [13] "wavehedges"        "czekanowski"       "motyka"            "kulczynski_s"     
    ## [17] "tanimoto"          "ruzicka"           "inner_product"     "harmonic_mean"    
    ## [21] "cosine"            "hassebrook"        "jaccard"           "dice"             
    ## [25] "fidelity"          "bhattacharyya"     "hellinger"         "matusita"         
    ## [29] "squared_chord"     "squared_euclidean" "pearson"           "neyman"           
    ## [33] "squared_chi"       "prob_symm"         "divergence"        "clark"            
    ## [37] "additive_symm"     "kullback-leibler"  "jeffreys"          "k_divergence"     
    ## [41] "topsoe"            "jensen-shannon"    "jensen_difference" "taneja"           
    ## [45] "kumar-johnson"     "avg"

  • R, а также Python и F# теперь интегрированы в IDE Visual Studio, что, согласно задумке Microsoft, добавит удобства в процесс разработки "умных приложений" на основе этих языков благодаря использованию одной IDE.
  • shinymaterial: позволяет оформлять Shiny-приложения в духе "материального дизайна" (material design), предложенного Google. Подробнее см. здесь.
  • simmer: набор функций для моделирования дискретных событий.
  • Syberia: новый фреймворк для разработки предсказательных моделей средствами R и последующего внедрения этих моделей в бизнес-процессы. См. также видео доклада по Syberia, сделанного недавно на конференции R/Finance.