Я впервые заказал книгу Машинное обучение на ста страницах еще в мае и только сейчас доделываю ее. Во времена COVID это было около 10 лет назад. Как вы могли догадаться, эта книга НЕ предназначена для быстрого чтения. Недостаток легкости чтения компенсируется эффективностью. Эта книга поглощает тяжеловесные учебники математики и представляет собой тонкий продукт не толще моего смартфона. Андрей Бурков, автор, от первой до 136-й страницы, не тратит ни слова, чтобы выделить наиболее практичные концепции машинного обучения. Вы правильно прочитали. БОЛЕЕ 100 страниц! Похоже, в книге есть некоторая предвзятость. Возьми?

А теперь приготовьтесь к моему обзору на сто страниц. Просто шучу.

Кому следует прочитать эту книгу?

Эта книга предназначена для широкого круга энтузиастов науки о данных. Однако ваш опыт чтения этого романа будет совершенно другим. Они во многом зависят от ваших предварительных знаний в области математики и науки о данных, а также от того, насколько быстро вы хотите просмотреть эту книгу. Вот моя разбивка того, чего ожидать, исходя из вашего прошлого.

TL; DR: прокрутите вниз до сводной таблицы аудитории.

Смелый новичок
Смелый новичок - это тот, кто прочитал несколько статей из основных источников, таких как Forbes, и проявил некоторый интерес к этой горячей новой теме. Они слышали о машинном обучении, но никогда особо не преуспели в статистике. Я бы не рекомендовал открывать эту книгу этому человеку. Как минимум, вы должны быть знакомы с исчислением, статистикой, вероятностью, векторами и матрицами, а также должны быть знакомы с концепциями науки о данных. Если вы не соответствуете этим стандартам, я настоятельно рекомендую для начала выбрать менее техническую книгу по науке о данных. Лучше всего начать с Прикладного искусственного интеллекта: руководство для бизнес-лидеров.

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

Студент-выпускник или специалист по данным среднего уровня
Этот человек окончил курсы по статистике или науке о данных на уровне высшего образования и / или имеет более чем несколько лет опыта работы в качестве специалиста по данным. Вот где я бы себя классифицировал. Читая эту книгу, я мог быстро пролистать некоторые разделы, как детский роман. Как только уровень моей уверенности вырос, Андрей быстро поставил меня на место. Каждая новая концепция основана на вашем понимании вводных концепций машинного обучения и статистики. Если в основе ваших знаний в этой области есть слабые места, они будут выявлены. Продвинутая математическая система обозначений действительно бросает вызов вашей способности переводить формулы на простой английский язык. Схемы и примеры распространенных приложений спасают жизнь.

Специалист по данным
Этот человек не просто специалист в области данных, он имеет непосредственный опыт создания и тестирования машинного обучения и статистических моделей для решения бизнес-задач. Большинство специалистов по данным тратят большую часть своего времени на очистку данных. Когда им посчастливилось строить модели, в большинстве случаев это регрессия, деревья решений, кластеризация и случайные леса (Источник). Поскольку большую часть времени они тратят на несколько моделей, я думаю, что эта книга станет отличным источником их знаний. Сотня страниц книги по машинному обучению обсуждает широкий спектр моделей машинного обучения, включая целую главу, посвященную нейронным сетям и глубокому обучению. Он также включает введение в новые области исследований, такие как обучение с нулевым выстрелом. Здесь вы хотите обучить модель назначать метки объектам; однако цель состоит в том, чтобы предсказать метки, для которых не было обучающих данных. Вау.

Сводная таблица аудитории

Разбивка по главам

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

Примечание. «Обучение» - это сокращение от машинного обучения.

Глава 1 Введение

Ключевые примечания

  • Двумя существенными различиями между алгоритмами обучения являются скорость построения модели и время обработки прогнозов.
  • Теория обучения PAC (вероятно, правильная)
  • Тесная взаимосвязь между ошибкой модели, размером обучающего набора, формой математического уравнения, определяющего модель, и временем, необходимым для построения модели.

Глава 2: Обозначения и определения

Ключевые примечания

  • argMax f (a) возвращает элемент множества A, который максимизирует f (A)

Комментарий

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

Я не припомню, чтобы я узнал, что функция argMax выражается таким образом. Аргумент означает ввод в функцию для получения вывода. Следовательно, вы возвращаете максимальное значение входных данных. Это имеет применение в математике и информатике.

В другом отношении к программированию используется оператор присваивания ‹ - . Это знакомый объект нашим R-программистам.

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

Упомянутая в этой книге прописная нотация Пи имеет общее применение при использовании оценки максимального правдоподобия для оценки параметров вероятностных распределений. Андрей указывает на эту связь в главе 3.

Глава 3: Основные алгоритмы

Комментарий

Большинство фундаментальных алгоритмов (например, регрессия, деревья решений и т. Д.) Покажутся знакомыми любому, кто уже прошел курс машинного обучения или часто изучает материалы по этим предметам.

Я думаю, что темы высших измерений трудны для понимания во всех аспектах математики и программирования. В этой главе вы увидите это с ядрами высокой размерности.

Глава 4: Анатомия алгоритма обучения

Основные примечания

  • Строительные блоки каждого алгоритма обучения: функция потерь, критерий оптимизации, основанный на функции потерь, процедура оптимизации, использующая данные обучения для поиска решения критерия оптимизации.
  • Некоторые алгоритмы обучения были разработаны интуитивно и позже объяснены критериями оптимизации (например, деревья решений, KNN).
  • Градиентный спуск находит минимумы для функций незамкнутой формы
  • Все алгоритмы, реализованные в scikit-learn, требуют числовых функций.

Комментарий

Что означает функция замкнутой формы? Выражение, которое можно решить с помощью конечного числа операций.

Важное различие между машинным обучением в Python и Р. Андрей упоминает, что алгоритмы, реализованные в scikit-learn, ожидают числовых функций. Я не думаю, что это относится к большинству популярных библиотек машинного обучения в R.

Глава 5: Базовая практика

Ключевые примечания

  • Два наиболее часто используемых показателя для оценки производительности модели - это точность и отзывчивость.
  • Обычно увеличение одного уменьшает другое, компромисс между которыми более важен для оптимизации.
  • Точность, чувствительная к стоимости - назначьте стоимость для обоих типов ошибок (FN, FP) и взвесьте FN / FP, используя эти затраты при расчете точности.
  • Настройка гиперпараметров по сетке - обучение нескольких моделей различных комбинаций гиперпараметров, распределение комбинаций с использованием логарифмической шкалы (0,1, 1, 10, 100, 1000 и т. Д.)
  • Более эффективные методы настройки гиперпараметров - случайный поиск и байесовская оптимизация гиперпараметров

Комментарий

Люди часто говорят, что наука о данных - это одновременно искусство и наука. Кажется, что вся концепция настройки гиперпараметров входит в сферу искусства. Все эти методы оптимизации гиперпараметров кажутся вам просто догадками. Есть ли у вас инстинкт, который со временем вырабатывается, чтобы улучшить настройку гиперпараметров?

Глава 6: Нейронные сети и глубокое обучение

Ключевые примечания

  • Регрессия Softmax, обобщение для мультиклассовой классификации (например, логистическая регрессия), является стандартной единицей в нейронной сети.
  • Современное глубокое обучение включает сотни уровней; тем не менее, многие бизнес-задачи могут быть решены с помощью 2–3 слоев между вводом и выводом.
  • Сверточная нейронная сеть (CNN) - это особый вид FFNN, который значительно сокращает количество параметров в глубокой нейронной сети с множеством единиц, не теряя слишком много в качестве модели.
  • Приложения CNN часто используются для обработки изображений и текста
  • Каждый пиксель изображения - это элемент (100 x 100 = 10 000 элементов).
  • Применяйте различные фильтры, учитывайте предвзятость, подход с подвижным окном
  • Рекуррентные нейронные сети (RNN) используются для маркировки, классификации или генерации последовательностей. Часто используется при обработке текста или обработки речи.

Комментарий

Нейронная сеть - это вложенная функция. Вложенные функции распространены в математике и программировании. В исчислении у вас есть вложенная функция при дифференцировании функции с помощью цепного правила. При написании формул в Excel вы можете вкладывать функции. В ячейке E1 ниже у вас есть функция ЕСЛИ, вложенная в другую функцию ЕСЛИ для проверки нескольких условий. Первый проверяет, равно ли C1 Красному, а второй проверяет, больше ли D1 10.

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

Что такое функции активации и почему они популярны? Насколько я понимаю, они упрощают вывод до диапазона, который легче интерпретировать, и / или он обеспечивает распределение чисел со свойствами, с которыми легко работать. Типичным примером является tan (x).

Глава 7: Проблемы и решения

Ключевые примечания

  • Ансамблевое обучение - это подход к повышению производительности простых алгоритмов обучения.
  • Ансамблевое обучение объединяет большое количество моделей с низкой точностью, объединяет предсказания слабых моделей для получения метамодели высокой точности.
  • К распространенным типам ансамблевого обучения относятся бустинг и бэггинг.
  • Случайный лес - один из наиболее широко используемых алгоритмов обучения ансамблю.
  • Случайный лес использует несколько выборок исходного набора данных, уменьшая дисперсию окончательной модели.
  • Повышение градиента - это эффективный алгоритм обучения ансамбля, основанный на идее повышения
  • Цель полууправляемого обучения - использовать большое количество немаркированных примеров для повышения производительности модели без запроса дополнительных помеченных примеров.

Глава 8: Продвинутая практика

Ключевые примечания

  • Деревья решений, случайный лес, повышение градиента менее чувствительны к несбалансированным наборам данных, чем SVM
  • Комбинирование алгоритмов может повысить производительность, если модели не коррелированы или имеют разные функции.
  • При обучении нейронных сетей рекомендуется использовать современную архитектуру, если у вас недостаточно чистых, нормализованных данных обучения.
  • Трансферное обучение - это когда вы выбираете существующую модель, обученную на некотором наборе данных, и адаптируете эту модель для прогнозирования примеров из другого набора данных, отличного от модели, на которой была построена
  • У трансферного обучения есть полезные приложения в нейронных сетях
  • Пример переноса обучения:
    1.) Найдите обученную модель для визуальных элементов в Интернете
    2.) Удалите несколько последних слоев (количество слоев является гиперпараметром)
    3.) Добавьте свои собственные слои прогнозирования < br /> 4.) Обучите модель

Комментарий

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

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

Глава 9: Обучение без учителя

Ключевые примечания

  • Алгоритм K-средних поддерживает формы гиперсферы.
  • HDBSCAN не поддерживает какую-либо конкретную форму; однако он имеет более низкую производительность. Он может создавать кластеры различной плотности. Из-за этого атрибута он рекомендован автором.
  • Алгоритмы ансамбля и нейронные сети хороши с многомерными примерами, включая миллионы функций.
  • В настоящее время методы уменьшения размерности используются реже, чем в прошлом.
  • Методы уменьшения размерности полезны для построения интерпретируемых визуализаций и моделей. Эти методы удаляют избыточные или сильно коррелированные функции. Они также уменьшают шум в данных.

Комментарий

Автор утверждает, что ни один из способов выбора k - количества кластеров в k-средних - не является оптимальным.

Очевидно, если выбор количества кластеров k является разумным, то большинство точек будет принадлежать одному кластеру в обучающем и тестовом наборе. Я подумал, что это действительно крутая и полезная находка!

В книге была фантастическая ссылка на это видео, объясняющее анализ основных компонентов.

Глава 10: Другие формы обучения

Ключевые примечания

  • Двумя наиболее часто используемыми показателями сходства между векторами признаков являются евклидово расстояние и косинусное сходство. Однако вы можете создать метрику для своего набора данных. Это называется метрическим обучением.
  • LambdaMART - хороший алгоритм ранжирования, который реализуется с помощью спискового подхода. Он оптимизирует модель непосредственно на основе некоторой метрики, такой как средняя средняя точность.
  • Как правило, контролируемое обучение оптимизирует функцию стоимости вместо метрики, поскольку метрика не дифференцируема.
  • Существуют подходы к фильтрации на основе содержимого и совместной фильтрации для алгоритмов рекомендаций. Большинство реальных приложений используют комбинацию обоих.
  • Вложения слов - это векторы функций, которые представляют слова.
  • Распространенные алгоритмы для изучения встраивания слов: word2vec и skip-gram.
  • Цель состоит в том, чтобы преобразовать горячую кодировку слова в вложение слова.
  • Одноразовое кодирование - это вектор размером 10000 измерений со всеми нулями, кроме одного измерения, которое содержит единицу для этого слова.

Комментарий

Было интересно увидеть комментарий Андрея о том, что выбор метрик сходства между векторами признаков несколько произвольный. Часто, изучая математику, ученики принимают формулы за Евангелие, но здесь вы видите необходимость подвергнуть их сомнению.

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

Глава 11: Заключение

Ключевые примечания

  • В этой книге не рассматриваются темы, включая тематическое моделирование, обобщенные линейные модели, вероятностные графические модели, цепь Маркова Монте-Карло, генеративные состязательные сети, генетические алгоритмы, обучение с подкреплением.

Комментарий

Мне любопытно, почему Андрей утверждает, что читатели, разбирающиеся в книге, теперь могут быть современными аналитиками данных или инженерами по машинному обучению, но не упоминает специалист по данным. Я думаю, это еще одно свидетельство того, что позиция data science будет разделена на несколько специальностей. Подобное предсказание я писал в предыдущей статье.

Последние мысли

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

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

~ Специалист по данным