Привет, Хаброжители!
Растущая доступность данных привела к тому, что data science и машинное обучение стали востребованными профессиональными областями. Если вы стремитесь сделать карьеру в области data science, искусственного интеллекта или инженерии данных, вам просто необходимо разбираться в основах теории вероятностей, линейной алгебры, математической статистики и машинного обучения. Автор включил в книгу ровно столько высшей математики, математического анализа и статистики, сколько нужно, чтобы лучше понимать, как работают библиотеки, с которыми вы встретитесь.
Цель этой книги — познакомить читателей с различными областями математики, статистики и машинного обучения, которые пригодятся, чтобы решать задачи из реального мира. В первых четырех главах рассматриваются фундаментальные разделы математики — математический анализ, теория вероятностей, линейная алгебра и математическая статистика. В последних трех главах мы перейдем к машинному обучению. Конечная цель знакомства с ним — собрать воедино все полученные знания и продемонстрировать, что вы умеете применять на практике библиотеки машинного обучения и статистики, проникая внутрь ≪черного ящика≫.
Джоэл Грус (Joel Grus). ≪Data Science. From Scratch≫ (O’Reilly)
Вторая глава этой книги — лучший экспресс-курс по Python, который мне встречался. Даже если вы никогда раньше не писали код, Джоэл проделал фантастическую работу, чтобы вы смогли эффективно освоить Python в кратчайшие сроки. Это также отличная книга для того, чтобы держать ее всегда под рукой и применять к ее материалу свои математические знания!
Дипак Сарда (Deepak Sarda). ≪Python for the Busy Java Developer≫ (Apress)
Если вы разработчик с опытом программирования на статически-типизированных, объектно-ориентированных языках, то эта книга — лучший вариант. Я сам начинал программировать на Java и впечатлен тем, как Дипак рассказывает о возможностях Python и объясняет их Java-разработчикам. Если вы изучали .NET, C++ или другие C-подобные языки, то вам, скорее всего, эта книга тоже подойдет.
Предлагаем ознакомиться с отрывком «Распределение Стьюдента: работа с малыми выборками»
Давайте вкратце рассмотрим, как работать с небольшими выборками (30 элементов или меньше). Это понадобится, когда мы займемся линейной регрессией в главе 5. Независимо от того, рассчитываем ли мы доверительные интервалы или проверяем гипотезы, — если в выборке не больше 30 элементов, то вместо нормального распределения лучше использовать распределение Стьюдента (T-distribution). Оно похоже на нормальное, но имеет более широкие хвосты, которые отражают бóльшую дисперсию и неопределенность. На рис. 3.24 показано нормальное распределение (пунктирная линия) и распределение Стьюдента с одной степенью свободы (сплошная линия).
Чем меньше выборка, тем шире хвосты распределения Стьюдента. Но что интересно, по мере приближения к 31 элементу оно становится практически неотличимым от нормального распределения, что наглядно отражает суть центральной предельной теоремы.
Об авторе
Томас Нилд — основатель компании Nield Consulting Group, а также преподаватель O’Reilly Media и Университета Южной Калифорнии. Ему нравится излагать технические темы доступно и интересно для тех, кто не знаком с предметом или побаивается его. Томас регулярно ведет занятия по анализу данных, машинному обучению, математической оптимизации и практическому искусственному интеллекту. Он написал книги «Getting Started with SQL» (O’Reilly) и «Learning RxJava» (Packt), а также основал компанию Yawman Flight, которая разрабатывает универсальные портативные устройства управления для авиасимуляторов и беспилотных летательных аппаратов.
Более подробно с книгой можно ознакомиться на сайте издательства:
» Оглавление
» Отрывок
По факту оплаты бумажной версии книги на e-mail высылается электронная книга.
Для Хаброжителей скидка 25% по купону — Математика
Растущая доступность данных привела к тому, что data science и машинное обучение стали востребованными профессиональными областями. Если вы стремитесь сделать карьеру в области data science, искусственного интеллекта или инженерии данных, вам просто необходимо разбираться в основах теории вероятностей, линейной алгебры, математической статистики и машинного обучения. Автор включил в книгу ровно столько высшей математики, математического анализа и статистики, сколько нужно, чтобы лучше понимать, как работают библиотеки, с которыми вы встретитесь.
Цель этой книги — познакомить читателей с различными областями математики, статистики и машинного обучения, которые пригодятся, чтобы решать задачи из реального мира. В первых четырех главах рассматриваются фундаментальные разделы математики — математический анализ, теория вероятностей, линейная алгебра и математическая статистика. В последних трех главах мы перейдем к машинному обучению. Конечная цель знакомства с ним — собрать воедино все полученные знания и продемонстрировать, что вы умеете применять на практике библиотеки машинного обучения и статистики, проникая внутрь ≪черного ящика≫.
Джоэл Грус (Joel Grus). ≪Data Science. From Scratch≫ (O’Reilly)
Вторая глава этой книги — лучший экспресс-курс по Python, который мне встречался. Даже если вы никогда раньше не писали код, Джоэл проделал фантастическую работу, чтобы вы смогли эффективно освоить Python в кратчайшие сроки. Это также отличная книга для того, чтобы держать ее всегда под рукой и применять к ее материалу свои математические знания!
Дипак Сарда (Deepak Sarda). ≪Python for the Busy Java Developer≫ (Apress)
Если вы разработчик с опытом программирования на статически-типизированных, объектно-ориентированных языках, то эта книга — лучший вариант. Я сам начинал программировать на Java и впечатлен тем, как Дипак рассказывает о возможностях Python и объясняет их Java-разработчикам. Если вы изучали .NET, C++ или другие C-подобные языки, то вам, скорее всего, эта книга тоже подойдет.
Предлагаем ознакомиться с отрывком «Распределение Стьюдента: работа с малыми выборками»
Давайте вкратце рассмотрим, как работать с небольшими выборками (30 элементов или меньше). Это понадобится, когда мы займемся линейной регрессией в главе 5. Независимо от того, рассчитываем ли мы доверительные интервалы или проверяем гипотезы, — если в выборке не больше 30 элементов, то вместо нормального распределения лучше использовать распределение Стьюдента (T-distribution). Оно похоже на нормальное, но имеет более широкие хвосты, которые отражают бóльшую дисперсию и неопределенность. На рис. 3.24 показано нормальное распределение (пунктирная линия) и распределение Стьюдента с одной степенью свободы (сплошная линия).
Чем меньше выборка, тем шире хвосты распределения Стьюдента. Но что интересно, по мере приближения к 31 элементу оно становится практически неотличимым от нормального распределения, что наглядно отражает суть центральной предельной теоремы.
Продолжить чтение
В примере 3.23 показано, как найти критическое значение распределения Стьюдента для 95 %-ной уверенности. Оно может пригодиться для того, чтобы строить доверительные интервалы и проверять гипотезы, когда в выборке не более 30 элементов. Концептуально это то же самое, что и критическое Z-значение, но мы используем распределение Стьюдента вместо нормального. Чем меньше выборка, тем больше неопределенность, а значит, и интервал.
Рис. 3.24. Нормальное распределение и распределение Стьюдента. Обратите внимание на широкие хвосты
Пример 3.23. Вычисление критической области с помощью распределения Стьюдента from scipy.stats import t
Заметим, что df — это количество степеней свободы, и оно должно быть на единицу меньше, чем размер выборки.
И последнее, что хотелось бы обсудить под конец этой главы. Как мы уже говорили, когда мы обосновываем свои выводы, всегда следует учитывать роль случайных совпадений. К сожалению, с тех пор, как появились большие данные, машинное обучение и другие инструменты обработки данных, научный метод внезапно превратился в практику, которая работает задом наперед. Это может быть опасно. Почему это так — позвольте продемонстрировать на примере из книги Гэри Смита (Gary Smith) «Standard Deviations» (издательство Overlook Press).
Представим, что я вытягиваю четыре игральные карты из обычной колоды. Это не какая-то игра, и нет никакой другой цели, кроме как вытянуть четыре карты и рассмотреть их. Мне достаются две десятки, тройка и двойка. «Интересно, — говорю я. — Я получил две десятки, тройку и двойку. Нет ли в этом закономерности? Если я вытяну еще четыре карты, будут ли это тоже две последовательные очковые карты и пара? Какая модель лежит в основе этого эксперимента?»
Видите, что я сделал? Я взял совершенно случайное явление и не только предположил закономерности, но и попытался построить на их основе прогностическую модель. Между тем я изначально не ставил своей задачей вытянуть именно такую структуру из четырех карт. Я пронаблюдал ее после того, как она образовалась.
Это именно то, чем постоянно грешит дата-майнинг: он выявляет случайно образовавшиеся структуры в случайных событиях. Когда вам доступны огромные объемы данных и быстрые алгоритмы, которые ищут закономерности, нетрудно отыскать результаты, которые выглядят как закономерности, но на самом деле являются случайными совпадениями.
Это все равно, как если бы я стрелял из пистолета по стене, а потом рисовал мишень вокруг отверстия и приглашал друзей, чтобы продемонстрировать свою потрясающую меткость. Глупо, правда? Однако многие деятели в области data science фактически занимаются этим день ото дня, и эта практика известна как ошибка меткого стрелка. Они начинают перемалывать данные без определенной цели, натыкаются на что-то редкое, а затем провозглашают, будто найденное ими каким-то образом создает предсказательную ценность.
Проблема заключается в том, что, согласно закону очень больших чисел, какие-то из редких событий наверняка произойдут — просто мы не знаем, какие именно. Сталкиваясь с редкими событиями, мы обращаем на них особое внимание и даже строим догадки о том, что могло их вызвать. Однако на самом деле суть вот в чем: вероятность того, что каждый конкретный человек выиграет в лотерею, крайне мала, но тем не менее кто-то обязательно выиграет. Разве нас удивляет сам факт того, что кто-то оказался победителем? Если никто не предсказал победителя, то ничего значимого не произошло, кроме того, что случайному
человеку случайно повезло.
Эти соображения относятся и к корреляциям, которые мы рассмотрим в главе 5. Если у вас есть огромный набор данных с тысячами переменных, разве трудно в нем отыскать статистически значимые результаты с p-значением 0,05? Проще простого! Я найду тысячи таких примеров. Например, я докажу, что количество фильмов с Николасом Кейджем коррелирует с количеством утонувших в бассейне за год (https://oreil.ly/eGxm0).
Поэтому, чтобы не превратиться в «меткого стрелка» и не впасть в заблуждения, связанные с большими данными, старайтесь ответственно проверять гипотезы и собирать данные для этой цели. Если вы все-таки прибегаете к дата-майнингу, отслеживайте свежие данные, чтобы проверить, остаются ли ваши выводы в силе. Наконец, всегда учитывайте возможность случайного совпадения; если какое-то явление не удается объяснить здравым смыслом, то, скорее всего, это случайность.
Мы научились выдвигать гипотезы до того, как собирать данные, но любители дата-майнинга грешат тем, что сначала собирают данные, а потом подбирают к ним гипотезы. Как это ни парадоксально, мы часто действуем более объективно, когда сначала выдвигаем гипотезу, потому что после этого мы ищем данные, чтобы целенаправленно доказать или опровергнуть ее.
Рис. 3.24. Нормальное распределение и распределение Стьюдента. Обратите внимание на широкие хвосты
Пример 3.23. Вычисление критической области с помощью распределения Стьюдента from scipy.stats import t
# вычисляем интервал критических значений для уверенности 95 %
# (25 элементов в выборке)
n = 25
lower = t.ppf(.025, df=n-1)
upper = t.ppf(.975, df=n-1)
print(lower, upper)
# -2.063898561628021 2.0638985616280205
Заметим, что df — это количество степеней свободы, и оно должно быть на единицу меньше, чем размер выборки.
НЕ ТОЛЬКО СРЕДНЕЕ АРИФМЕТИЧЕСКОЕ
С помощью доверительных интервалов и проверки гипотез можно оценивать и другие параметры, помимо среднего значения, — например, дисперсию (или стандартное отклонение), а также доли (например, «60 % респондентов отмечают, что после ежедневной часовой прогулки у них улучшается настроение»). Для этого требуется не нормальное распределение, а другие — например, распределение хи-квадрат. Эти темы выходят за рамки этой книги, но надеюсь, что вы уверенно овладели необходимыми основами, чтобы разобраться в этих областях, если понадобится.
Как бы то ни было, в главах 5 и 6 мы снова встретимся с доверительными интервалами и проверкой гипотез.
Кое-что о больших данных и ошибке меткого стрелка
И последнее, что хотелось бы обсудить под конец этой главы. Как мы уже говорили, когда мы обосновываем свои выводы, всегда следует учитывать роль случайных совпадений. К сожалению, с тех пор, как появились большие данные, машинное обучение и другие инструменты обработки данных, научный метод внезапно превратился в практику, которая работает задом наперед. Это может быть опасно. Почему это так — позвольте продемонстрировать на примере из книги Гэри Смита (Gary Smith) «Standard Deviations» (издательство Overlook Press).
Представим, что я вытягиваю четыре игральные карты из обычной колоды. Это не какая-то игра, и нет никакой другой цели, кроме как вытянуть четыре карты и рассмотреть их. Мне достаются две десятки, тройка и двойка. «Интересно, — говорю я. — Я получил две десятки, тройку и двойку. Нет ли в этом закономерности? Если я вытяну еще четыре карты, будут ли это тоже две последовательные очковые карты и пара? Какая модель лежит в основе этого эксперимента?»
Видите, что я сделал? Я взял совершенно случайное явление и не только предположил закономерности, но и попытался построить на их основе прогностическую модель. Между тем я изначально не ставил своей задачей вытянуть именно такую структуру из четырех карт. Я пронаблюдал ее после того, как она образовалась.
Это именно то, чем постоянно грешит дата-майнинг: он выявляет случайно образовавшиеся структуры в случайных событиях. Когда вам доступны огромные объемы данных и быстрые алгоритмы, которые ищут закономерности, нетрудно отыскать результаты, которые выглядят как закономерности, но на самом деле являются случайными совпадениями.
Это все равно, как если бы я стрелял из пистолета по стене, а потом рисовал мишень вокруг отверстия и приглашал друзей, чтобы продемонстрировать свою потрясающую меткость. Глупо, правда? Однако многие деятели в области data science фактически занимаются этим день ото дня, и эта практика известна как ошибка меткого стрелка. Они начинают перемалывать данные без определенной цели, натыкаются на что-то редкое, а затем провозглашают, будто найденное ими каким-то образом создает предсказательную ценность.
Проблема заключается в том, что, согласно закону очень больших чисел, какие-то из редких событий наверняка произойдут — просто мы не знаем, какие именно. Сталкиваясь с редкими событиями, мы обращаем на них особое внимание и даже строим догадки о том, что могло их вызвать. Однако на самом деле суть вот в чем: вероятность того, что каждый конкретный человек выиграет в лотерею, крайне мала, но тем не менее кто-то обязательно выиграет. Разве нас удивляет сам факт того, что кто-то оказался победителем? Если никто не предсказал победителя, то ничего значимого не произошло, кроме того, что случайному
человеку случайно повезло.
Эти соображения относятся и к корреляциям, которые мы рассмотрим в главе 5. Если у вас есть огромный набор данных с тысячами переменных, разве трудно в нем отыскать статистически значимые результаты с p-значением 0,05? Проще простого! Я найду тысячи таких примеров. Например, я докажу, что количество фильмов с Николасом Кейджем коррелирует с количеством утонувших в бассейне за год (https://oreil.ly/eGxm0).
Поэтому, чтобы не превратиться в «меткого стрелка» и не впасть в заблуждения, связанные с большими данными, старайтесь ответственно проверять гипотезы и собирать данные для этой цели. Если вы все-таки прибегаете к дата-майнингу, отслеживайте свежие данные, чтобы проверить, остаются ли ваши выводы в силе. Наконец, всегда учитывайте возможность случайного совпадения; если какое-то явление не удается объяснить здравым смыслом, то, скорее всего, это случайность.
Мы научились выдвигать гипотезы до того, как собирать данные, но любители дата-майнинга грешат тем, что сначала собирают данные, а потом подбирают к ним гипотезы. Как это ни парадоксально, мы часто действуем более объективно, когда сначала выдвигаем гипотезу, потому что после этого мы ищем данные, чтобы целенаправленно доказать или опровергнуть ее.
Об авторе
Томас Нилд — основатель компании Nield Consulting Group, а также преподаватель O’Reilly Media и Университета Южной Калифорнии. Ему нравится излагать технические темы доступно и интересно для тех, кто не знаком с предметом или побаивается его. Томас регулярно ведет занятия по анализу данных, машинному обучению, математической оптимизации и практическому искусственному интеллекту. Он написал книги «Getting Started with SQL» (O’Reilly) и «Learning RxJava» (Packt), а также основал компанию Yawman Flight, которая разрабатывает универсальные портативные устройства управления для авиасимуляторов и беспилотных летательных аппаратов.
Более подробно с книгой можно ознакомиться на сайте издательства:
» Оглавление
» Отрывок
По факту оплаты бумажной версии книги на e-mail высылается электронная книга.
Для Хаброжителей скидка 25% по купону — Математика
oleg_v
На мой вкус главный недостаток этой книги - это то, что абсолютно все формулы там заменены на питоновский код. Я понимаю, что так автору было проще, но по моему, это маразм.
Sqrudj
К примеру, я не алгебраист и мне некоторые формулы понять сложновато. А читаешь питоновский код - и суть формулы становится понятна. Так, что автору за это спасибо.