Книга «Теоретический минимум по Big Data. Всё что нужно знать о больших данных»

    imageCегодня Big Data — это большой бизнес. Нашей жизнью управляет информация, и извлечение выгоды из нее становится центральным моментом в работе современных организаций. Неважно, кто вы — деловой человек, работающий с аналитикой, начинающий программист или разработчик, «Теоретический минимум по Big Data» позволит не утонуть в бушующем океане современных технологий и разобраться в основах новой и стремительно развивающейся отрасли обработки больших данных.

    Хотите узнать о больших данных и механизмах работы с ними? Каждому алгоритму посвящена отдельная глава, в которой не только объясняются основные принципы работы, но и даются примеры использования в реальных задачах. Большое количество иллюстраций и простые комментарии позволят легко разобраться в самых сложных аспектах Big Data.

    Предлагаем ознакомиться с отрывком «Главные компоненты»

    Метод главных компонент (Principal Component Analysis, МГК) — это способ нахождения основополагающих переменных (известных как главные компоненты), которые дифференцируют ваши элементы данных оптимальным образом. Эти главные компоненты дают наибольший разброс данных (рис. 2).

    Главная компонента может выражать одну или несколько переменных. Например, мы можем воспользоваться единственной переменной «Витамин C». Поскольку витамин C есть в овощах, но отсутствует в мясе, итоговый график (левая колонка на рис. 3) распределит овощи, но все мясо окажется в одной куче.

    Для распределения мясных продуктов мы можем использовать в качестве второй переменной жир, поскольку он присутствует в мясе, но его почти нет в овощах. Тем не менее, поскольку жир и витамин C измеряются в разных единицах, то прежде чем их скомбинировать, мы должны стандартизировать их.

    image

    Стандартизация — это выражение каждой переменной в процентилях, которые преобразуют эти переменные в единую шкалу, позволяя нам комбинировать их для вычисления новой переменной:

    витамин C – жир

    Поскольку витамин C уже распределил овощи вверх, то жир мы вычитаем, чтобы распределить мясо вниз. Комбинирование этих двух переменных поможет нам распределить как овощи, так и мясные продукты (столбец посередине на рис. 3).

    image

    Мы можем улучшить разброс, приняв во внимание пищевые волокна, содержание которых в овощах различается:

    (Витамин C + пищевые волокна) – жир.

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

    Пример: анализ пищевых групп


    Используя данные Министерства сельского хозяйства США, мы проанализировали питательные свойства случайного набора продуктов, рассмотрев четыре пищевых переменных: жиры, белки, пищевые волокна и витамин C. Как видно на рис. 4, определенные питательные вещества часто встречаются в продуктах вместе.

    В частности, уровни содержания жиров и белков возрастают в одном направлении, противоположном тому, в котором растут уровни пищевых волокон и витамина C. Мы можем подтвердить наши предположения, проверив, какие переменные коррелируют (см. раздел 6.5). И действительно, мы находим значимую положительную корреляцию как между уровнями белков и жиров (r = 0,56), так и между уровнями пищевых волокон и витамина C (r = 0,57).

    Таким образом, вместо анализа четырех пищевых переменных по отдельности мы можем скомбинировать высококоррелирующие из них, получив для рассмотрения всего две. Поэтому метод главных компонент относят к техникам уменьшения размерности.

    image

    Применив его к нашему пищевому набору данных, мы получим главные компоненты, изображенные на рис. 5.

    Каждая главная компонента — это комбинация пищевых переменных, значение которой может быть положительным, отрицательным или близким к нулю. Например, чтобы получить компоненту 1 для отдельного продукта, мы можем вычислить следующее:

    .55(пищевые волокна) + .44(Витамин C) – .45(жир) –
    .55(белок)

    image

    То есть вместо комбинирования переменных методом проб и ошибок, как мы делали раньше, метод главных компонент сам вычисляет точные формулы, при помощи которых можно дифференцировать наши позиции.

    Обратите внимание, что основная для нас главная компонента 1 (PC1) сразу объединяет жиры с белками, а пищевые волокна с витамином C, и эти пары обратно пропорциональны.

    В то время как PC1 дифференцирует мясо от овощей, компонента 2 (PC2) подробнее идентифицирует внутренние подкатегории мяса (исходя из жирности) и овощей (по содержанию витамина C). Лучший разброс данных мы получим, используя для графика обе компоненты (рис. 6).

    image

    У мясных товаров низкие значения компоненты 1, поэтому они сосредоточены в левой части графика, в противоположной стороне от овощных. Видно также, что среди не овощных товаров низкое содержание жиров у морепродуктов, поэтому значение компоненты 2 для них меньше, и сами они тяготеют к нижней части графика. Схожим образом у тех овощей, которые не являются зеленью, низкие значения компоненты 2, что видно в нижней части графика справа.

    Выбор количества компонент. В этом примере созданы четыре главных компоненты по числу изначальных переменных в наборе данных. Поскольку главные компоненты создаются на основе обычных переменных, информация для распределения элементов данных ограничивается их первоначальным набором.

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

    График показывает снижающуюся эффективность последующих главных компонент в дифференцировании элементов данных. Как правило, используется такое количество главных компонент, которое соответствует положению острого излома на графике осыпи.

    На рис. 7 излом расположен на отметке в две компоненты. Это означает, что хотя три и более главных компонент могли бы лучше дифференцировать элементы данных, эта дополнительная информация может не оправдать сложности итогового решения. Как видно из графика осыпи, две первые главные компоненты уже дают 70 %-ный разброс. Использование небольшого числа главных компонент для анализа данных дает гарантию того, что схема подойдет и для будущей информации.

    image

    Ограничения


    Метод главных компонент — это полезный способ анализа наборов данных с несколькими переменными. Однако у него есть и недостатки.

    Максимизация распределения. МГК исходит из важного допущения того, что наиболее полезны те измерения, которые дают наибольший разброс. Однако это не всегда так. Известным контрпримером является задача с подсчетом блинчиков в стопке.

    image

    Чтобы сосчитать блинчики, мы отделяем один от другого по вертикальной оси (то есть по высоте стопки). Однако если стопка невелика, МГК ошибочно решит, что лучшей главной компонентой будет горизонтальная ось (диаметр блинчиков), из-за того что в этом измерении можно найти больший разброс значений.

    Интерпретация компонент. Главная трудность с МГК состоит в том, что необходима интерпретация сгенерированных компонент, и иногда нужно очень постараться, чтобы объяснить, почему переменные должны быть скомбинированы именно выбранным способом.

    Тем не менее нас могут выручить предварительные общие сведения. В нашем примере с продуктами скомбинировать пищевые переменные для главных компонент нам помогают именно предварительные знания об их категориях.

    » Более подробно с книгой можно ознакомиться на сайте издательства
    » Оглавление
    » Отрывок

    Для Хаброжителей скидка 20% по купону — BigData

    Comments 8

      –1
      Я думал, что BigData — начинается с нескольких десятков гигабайт данных, возможно из разных источников, возможно детерминированных, которые содержат большое кол-во маркеров, по которым можно строить аналитику и том числе прогнозы.
      Просто чем BigData отличается от аналитики которая существует уже не один десяток лет?
        0
        Ничем по сути, всё дело в технических деталях.

        Просто в бигдате нам приходится извращаться с хранением и процессингом, потому что если считать алгоритмы «в лоб», никаких вычислительных мощностей (и денег) на обсчёт таких объёмов не хватит. Из исходника на питоше, который отдаёт дэйта-сатанист (гоняет он его локально в один поток на сэмпле в пару гигов), нам приходится городить хтонический ужас на спарке, который работает в облаке на сотнях ядер и пережёвывает терабайты.
          0
          Мы активно пытаемся продвигать в массы Spark, обратите внимание пожалуйста: www.piter.com/collection/all/product/effektivnyy-spark-masshtabirovanie-i-optimizatsiya
            0
            Эх. Spark 2.0.1, при том что текущая версия 2.4. Все как обычно…

            Это я ворчу, на самом деле это вполне приличная книжка, хотя всех вопросов она все равно не охватывает (но и остальные тут не лучше).
          +1
          BigData начинается примерно тогда, когда вы вылезаете за пределы доступной памяти. Несколько десятков гигабайт на сегодня таким объемом не является однозначно, потому что примерно терабайт — это объем памяти, который можно поставить на одну машину (но я не говорил, что это дешево).
          +2

          Судя по оглавлению, эта книга больше про Machine Learning, чем про Big Data.


          Главная специфика Big Data — это то, как эффективно обрабатывать большие объемы данных, как их правильно хранить, как грамотно строить распределенные архитектуры. В книге похоже совсем про другое.

            0
            Прав на 110%, книга сравни материалу на тему «математические беседы за чашкой чая».
              0
              Судя по приведенному образцу текста — тоже.

            Only users with full accounts can post comments. Log in, please.