Получайте удовольствие от изучения основных концепций машинного обучения и его алгоритмов.

"Просто играть. Развлекайся. Наслаждайтесь игрой »- Майкл Джордан

Начнем с нуля. В машинном обучении мы будем использовать матрицы, массивы и векторные обозначения для обозначения данных.

Вот правила игры:

  • Одна строка, одно наблюдение или конкретные данные.
  • Один столбец, один объект (или атрибут) из предыдущего наблюдения.
  • В самом общем случае будет то, что мы будем называть «целью», меткой или ответом, что и будет нашей ценностью, которую нужно предсказать или достичь.

Вот и все. Я облегчил вам задачу, правда?

Если вы хотите узнать больше, посетите oscargarciaramos.com

А теперь три разных метода машинного обучения:

Контролируемое обучение,

«Наша первая игра». Эти алгоритмы используют известный набор входных данных и его известные ответы на данные (выходные данные) для изучения. Мы знаем, что «входит», а что «выходит». После того, как алгоритм обучится и будет должным образом обучен, мы можем провести «обобщение», то есть сделать так, чтобы модель была способна правильно адаптироваться к новым, ранее невидимым данным. Мы будем различать два типа алгоритмов обучения с учителем: регрессия и классификация.

- Помеченные данные, прямая обратная связь, прогнозирование результата / будущего

Неконтролируемое обучение

«Следующий шаг». На этот раз данные не будут помечены, а структура неизвестна. Наша миссия? Найдите внутреннюю структуру или шаблоны данных. Мы найдем два типа алгоритмов: кластеризацию и уменьшение размеров.

- Без ярлыков, без обратной связи, поиск скрытой структуры в данных

Обучение с подкреплением

«Учитесь на опыте». Наш последний. Постарайтесь максимизировать вознаграждение, которое алгоритм получает за свои действия. Методом проб и ошибок с использованием обратной связи.

- Процесс принятия решений, система вознаграждений, изучение серии действий

Начнем играть?

Линейная регрессия

У вас дома есть бревна? Установите их организованно в соответствии с их весом. НО их нельзя взвесить. Вы должны угадать, наблюдая за высотой и диаметром (визуальный анализ), чтобы организовать их, объединив эти «видимые» параметры. Это линейная регрессия.

Что мы делаем? Мы устанавливаем связь между независимыми и зависимыми переменными, помещая их в одну линию, нашу линию регрессии, представленную как Y = a * X + b

  • Y - зависимая переменная
  • а - Наклон
  • X - Независимая переменная
  • б - Перехват

Как рассчитать коэффициенты a и b? минимизация суммы квадратов разности расстояний между точками данных и линией регрессии.

Логистическая регрессия

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

Модель попытается подобрать линию к этим точкам, это не может быть прямая линия, а скорее S-образная кривая. Это также называется логит-регрессией.

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

Древо решений

Один из любимых алгоритмов Data Scientist в настоящее время.

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

Как это работает? Мы разбиваем совокупность на два или более однородных набора на основе наиболее значимых атрибутов / независимых переменных и… Спускаемся!

SVM (машина опорных векторов)

SVM - это метод классификации, при котором алгоритм отображает необработанные данные в виде точек в n-мерном пространстве, где n - количество имеющихся у вас функций. Затем каждый объект привязывается к определенной координате, что упрощает классификацию данных.

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

Наивный байесовский

Наивный байесовский классификатор. Это метод классификации, основанный на теореме Байеса с предположением независимости между предикторами. Наивный байесовский метод «наивен», потому что он предполагает, что характеристики измерения независимы друг от друга.

Быстрый и простой способ прогнозирования классов для задач двоичной и многоклассовой классификации.

KNN (K-ближайшие соседи)

Представьте, что вам нужно навестить кого-то, кто лучше ваших друзей или семьи, верно?

Это работает так же. Я ХОЧУ БЫТЬ С ДРУЗЬЯМИ.

Мы можем применить этот алгоритм как к задачам классификации, так и к задачам регрессии. Как это работает? Проще говоря, мы упорядочим все доступные кейсы и классифицируем новые кейсы большинством голосов их K соседей. Случай будет отнесен к классу или категории с наиболее общим. Как проводится измерение? С функцией расстояния, как правило, евклидово расстояние.

Примечание. KNN требует больших вычислительных ресурсов, поэтому переменные следует нормализовать.

К-средние

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

  • 1. Выберите количество k кластеров.
  • 2. Выберите случайные k точек, центроиды.
  • 3. Назначьте каждую точку данных ближайшему центроиду (евклидову).
  • 4. Вычислите и разместите новый центроид каждого кластера.
  • 5. Переназначьте каждую точку данных новому ближайшему центроиду.

И шаг 4 снова ... 5, и снова, и снова ...

Случайный лес

Фундаментальная идея случайного леса - объединить множество деревьев решений в единую модель.

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

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

Алгоритмы уменьшения размерности

Хотя это кажется нелогичным, «чем больше, тем лучше» не всегда правильно. Благодаря этому типу алгоритмов мы уменьшаем количество рассматриваемых случайных величин, получая набор главных переменных. PCA (анализ основных компонентов), Коэффициент отсутствующих значений или факторный анализ вот несколько примеров.

Повышение градиента и AdaBoost

НАШ ПОБЕДИТЕЛЬ! Его основная цель? Делайте прогнозы с высокой точностью.

Мы объединим несколько «слабых или средних» предикторов, чтобы построить сильный предиктор. Он сочетает в себе прогностическую силу нескольких основных оценщиков для повышения устойчивости модели.

Это алгоритм par excellence, который сегодня наиболее предпочтителен.

Ну и что дальше?

Начни сейчас, начни играть! Это все, что я хотел сказать ...

Не стесняйтесь оставлять комментарии, аплодировать или делиться этой записью. Следите за мной для будущих публикаций.

А если вы хотите узнать больше, вы можете найти меня на oscargarciaramos.com