Successfully reported this slideshow.

More Related Content

Related Books

Free with a 14 day trial from Scribd

See all

BigData и Data Science: методы и инструменты

  1. 1. BigData и Data Science: методы и инструменты Dmytro Karamshuk
  2. 2. Эра Больших Данных (BigData) Что понимают под Большими Данными (Big Data)? ● “Big data is data that exceeds the processing capacity of conventional database systems. The data is too big, moves too fast, or doesn’t fit the structure of your database architectures.”, O'Reilly Strata Conference ● “Every day, we create 2.5 quintillion bytes of data — so much that 90% of the data in the world today has been created in the last two years alone. This data comes from everywhere: sensors used to gather climate information, posts to social media sites, digital pictures and videos, purchase transaction records, and cell phone GPS signals to name a few. This data is big data.”, IBM Шум вокруг BigData очень напоминает Web 2.0 в 2004-ом
  3. 3. Пример Данные всего - 2.5B чекинов, 10М мест, 25М юзеров доступные через Twitter - 70М чекинов, 7M мест, 5М юзеров Задачи ● Рекомендация друзей ● Рекомендация мест ● Кластеризация людей на группы ● Определение влиятельных пользователей ● Определение границ районов города ● Прогнозирование событий
  4. 4. Что необходимо ● Инструменты и инфраструктура – хранение больших данных – паралельная обработка – иттеративная обработка ● Методы и алгоритмы – самообучение – эффективность при больших данных – возможность паралельная и иттеративной обработки
  5. 5. Инструменты
  6. 6. Концепция MapReduce Задача: посчитать частоту появления слов во входных документах
  7. 7. Что требуется от программиста?
  8. 8. Еще пример – Page Rank Формула Алгоритм
  9. 9. Считаем Page Rank с MapReduce
  10. 10. Считаем Page Rank с MapReduce Шаг повторяется пока алгоритм не сойдется: разница между итерациями будет меньше указаной погрешности
  11. 11. Считаем Page Rank с MapReduce Материал взят из http://www.cs.toronto.edu/~jasper/PageRankForMapReduceSmall.pdf
  12. 12. Практическое использование Hadoop - cамая популярная имплементация MapReduce ● написан на Java ● Apache project ● множество доп. инстр. Elastic Map Reduce – одна из самых популярных инфраструктур ● реализовано на Hadoop ● минимальные затраты на конфигурацию, удобная система логов ● гибкая система оплаты, относительно не дорого
  13. 13. Как устроен Elastic Map Reduce EC2
  14. 14. На что обратить внимание ● тестим hadoop в standalone ● не все алгоритмы подходят для MapReduce ● требует подготовки данных ● традиционные (реляционные) базы данных не подходят
  15. 15. Методы и Алгоритмы
  16. 16. Machine Learning ДАННЫЕ ЗАДАЧА Объект 1: [x11, x12, x13, x14, ..., x1n], y1 предпологая что yi = f(xij) необходимо определить f Объект 2: [x21, x22, x23, x24, ..., x2n], yn ............................................................. при этом предусматривается что f пренадлежит определенному классу Объект M: [xm1, xm2, xm3, xm4, ..., xmn], ym функций xij – feature оптимальная функция подбирается yi – class (или label) путем минимизации определенной Features и label могут быть разных типов ошибки (бинарный, числовой, перечесляемый) Пример: - линейная функция yi = Ʃaj*xij + b - decision tree
  17. 17. Supervised Learning Decision Tree Linear Regression
  18. 18. Unsupervised Learning Clustering Community Detection
  19. 19. Зачем нужен Machine Learning? ● Задача: рекомендация друзей ● Метод: основанные на близости в графа; основанные на сходстве профайлов (включаю историю); комбинация обоих
  20. 20. Зачем нужен Machine Learning? ● Задача: кластеризация сошиал графа, определение влиятельных пользователей IMT CNR Cambridge Методы: методы на графах, спектральные методы, методы основанные на похожести (similarity)
  21. 21. Зачем нужен Machine Learning? ● Задача: определение районов связанных мест в городе основываясь на сошиал медиа ● Методы: любые методы кластеризации, важно определить связи между местами
  22. 22. Пример – Retail Location Problem ● Задача: среди X предложенных районов в городе определить наиболее привлекательные с точки зрения будущей популярности
  23. 23. Популярность ресторанов ● мы определяем популярность как количество чекинов в месте ● активность пользователей варируется между разными местами – но примерно одинаковая среди одной сети ресторанов ● популярность разных ресторанов варируется в зависимости от района ● популярность ресторана является функцией характеристик района P = f(x)
  24. 24. Метод анализа ● определяем район – как круг радиусом R вокруг ресторана ● определяем различные характеристики района x : географические - плотность, конкуренция, разнообразие окружающих мест, привлекательность окружающих объектов и т.д. мобильность – общий трафик, входящий трафик, количество потенциальных клиентов и т.д. ● обучаем функцию P = f(x) ● вычисляем Pi для всех районов i ● сортируем районы по Pi
  25. 25. Интересные метрики Наиболее привлекательные категории Jensen's coefficients объектов для каждой сети ● определенные на основе анализа частоты совместного расположение объектов двух категорий - Jensen's coefficients Transition probabilities ● определенные на основе анализа переходов между объектами разных категорий - Transition probabilities
  26. 26. Обучение и валидация Обучение функции P = f(x) выполняется на существующих ресторанах с помощью supervised learning алгоритмов. ● алгоритмы: linear regression, support vector machine, model trees ● для обучение выбираем случайным образом 66% ресторанов (training set), валидацию проводим на оставшихся 33% (testing set); эксперимент повторяем N=1000 раз ● для валидации проверяем вероятность попадания наиболее популярное место из testing set в top-X% предсказанного рейтинга, результат обобщаем среди всех экспериментов Mean Accuracy@X% ● используются реализации алгоритмов из WEKA machine learning framework
  27. 27. Что почерпнуть из сказанного ● делать Data Science и работать с Большими Данными просто! ● но, нужно освоить некоторые инструменты и методы ● самые популярные инструменты: MapReduce, Hadoop, Amazon EMR ● методы зависят от приложения, хороший метод – который решают проблему и делает ее быстро и эффективно ● WEKA – хороший инструмент для практического machine learning'а
  28. 28. Спасибо за внимание Dmytro Karamshuk PhD student @ IMT Lucca Research Associate @ IIT CNR di Pisa Visiting Researcher @ Computer Lab, University of Cambridge email: karamshuk@gmail.com follow me on Twitter: @karamshuk

×