10 обязательных алгоритмов для новичков в машинном обучении

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

Нет сомнений в том, что в последние несколько лет в качестве основной области искусственного интеллекта все больше и больше людей посвящают себя исследованиям в области машинного обучения. Harvard Business Review даже назвал специалистов по машинному обучению «самой сексуальной профессией 21 века». Чтобы помочь новичкам в машинном обучении быстро начать работу, Рина Шоу, эксперт по машинному обучению из Королевского университета в Канаде, написала статью, в которой обобщаются 10 лучших алгоритмов, которые необходимо знать новичкам в области машинного обучения.

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

10 алгоритмов машинного обучения, которые нужно знать новичкам в машинном обучении:

Типы алгоритмов машинного обучения

Алгоритмы ML обычно делятся на три категории:

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

Обучение с учителем можно объяснить, изучив функцию отображения входных переменных (X) в выходные переменные (Y) с использованием помеченных обучающих данных. Y = f(X)

Существует два типа задач обучения с учителем:

  • Классификация: прогнозирует результат данной выборки с выходными переменными в виде категорий. Образцы содержали такие метки, как «мужской и женский», «больной» и «здоровый» и т. д.

  • возвращение: Предсказать результат данной выборки с формой выходной переменной, являющейся истинным значением. Образцы содержат вещественные метки, такие как осадки, чей-то рост и т. д.

Первые 5 алгоритмов, описанных в этой статье:Линейная регрессия, логистическая регрессия, деревья классификационной регрессии, наивный байесовский метод, K-ближайшие соседи,Оба алгоритма в обучении с учителем.

Ансамблевое обучение — это особый тип обучения с учителем, который относится к объединению результатов прогнозирования различных слабых моделей машинного обучения для прогнозирования новой выборки. 9-й и 10-й алгоритмы, представленные в конце статьи, а именноRandom Forest-Bagging и XGBoos-Boosting — все это алгоритмы в ансамблевом обучении..

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

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

Проблемы обучения без учителя могут быть следующих трех типов:

  • Ассоциация: Вероятность совпадения элементов в каталоге. Он широко используется в «анализе покупательской корзины». Например, если клиент покупает хлеб, с вероятностью 80% он также купит яйца.

  • Кластеризация: образцы группируются таким образом, чтобы объекты в одном кластере были более похожи друг на друга, чем объекты из другого кластера.

  • Снижение размерности: По своему значению уменьшение размерности относится к уменьшению количества переменных в наборе данных, обеспечивая при этом передачу важной информации. Уменьшение размерности может быть выполнено с помощью методов извлечения признаков и методов выбора признаков. Методы выбора признаков выбирают подмножество исходных переменных. Методы выделения признаков выполняют преобразование данных из пространства высокой размерности в пространство низкой размерности. Например, алгоритм PCA представляет собой метод извлечения признаков.

6-8 алгоритмов, упомянутых в тексте, а именноАлгоритм априори, алгоритм K-средних, алгоритм PCA - все это обучение без учителя.пример.

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

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

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

Алгоритмы контролируемого обучения

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

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

В линейной регрессии связь между входным значением (X) и выходным значением (y) может быть представлена ​​уравнением y = a + bx. Таким образом, цель линейной регрессии — найти значения коэффициентов a и b, где a — точка пересечения, а b — наклон линии регрессии.

На изображении выше показаны значения x и y, построенные для набора данных, чтобы соответствовать линии, ближайшей к большинству точек. Это уменьшает расстояние (то есть ошибку) между значениями y точек данных и наклоном.

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

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

Логистическая регрессия лучше всего подходит для бинарной классификации (y = 0 или 1 в наборе данных, где 1 относится к классу по умолчанию. Например, при прогнозировании того, произойдет ли событие, возникновение события классифицируется как 1; при прогнозировании того, болен ли кто-то , больной Статус будет обозначен 1). это начинается с Названная в честь примененной к ней функции преобразования, называемой логистической функцией h (x) = 1 / (1 + e ^ x), это сигмовидная кривая.

В логистической регрессии выходные значения представлены в виде вероятностей для класса по умолчанию (в отличие от линейной регрессии выходные значения генерируются напрямую). Поскольку это вероятность, выходное значение будет находиться в диапазоне от 0 до 1. Выходное значение получается путем логарифмического преобразования значения X с использованием логистической функции h(x)=1/(1 + e^-x). Полученная вероятность, выходное значение, затем применяется к двоичной классификации с использованием порога.

В приведенном выше примере, чтобы определить, является ли опухоль злокачественной, значением по умолчанию является y=1 (опухоль=злокачественная); значение x может быть мерой опухоли, например размером опухоли. Как показано на рисунке, логистическая функция преобразует значения x для различных экземпляров в наборе данных в значения вероятности от 0 до 1. Если вероятность превышает порог 0,5 (горизонтальная линия в середине графика), опухоль классифицируется как злокачественная.

Уравнение логистической регрессии P(x) = e ^ (b0 +b1x) / (1 + e^(b0 + b1x)) можно преобразовать в ln(p(x)/1-p(x)) = b0 + b1*x.

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

3 CART:

Дерево классификации и регрессии (CART) — это прикладная форма дерева решений, а другие формы включают ID3 и C4.5.

Неконечные узлы CART — это корневой узел и внутренний узел. Конечные узлы являются листовыми узлами. Каждый нетерминальный узел представляет одну входную переменную (X) и точку разделения для этой переменной, а конечные узлы представляют выходные переменные (y). Модель используется для прогнозирования в следующем виде:Следуйте точке бифуркации дерева решений, достигните конечного узла и выведите значение, представленное в конечном узле..

Дерево решений выше классифицирует чье-либо решение купить спортивный автомобиль или универсал в зависимости от их возраста и семейного положения. Если человеку за 30 и он не женат, мы спускаемся по дереву решений так: «Вам больше 30?» -> Да -> «Женаты?» -> Нет. Поэтому на выходе модели получается спортивный автомобиль.

4 Наивный Байес:

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

P(h|d)= (P(d|h) * P(h)) / P(d)

в:

P(h|d) = апостериорная вероятность. Если предположить, что вероятность h верна, а данные равны d, то P(h|d)= P(d1|h)* P(d2|h)*....P(dn| h) P(d)

P(d|h) = вероятность. Вероятность данных d при условии, что h истинно.

P(h) = априорная вероятность класса. Предположим, что вероятность h верна (независимо от данных d).

P(d) = априорная вероятность Предиктора. Вероятность данных d (независимо от предположения h).

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

Используя изображение выше в качестве примера, какой будет результат, если погода = "солнечно"?

Если переменная weather="sunny", чтобы определить, является ли результат Play "Да" или "Нет", необходимо вычислить P(yes|sunny) и P(no|sunny) на графике и выбрать результат с более высоким значением вероятности.

->P(yes|sunny)= (P(sunny|yes) * P(yes)) / P(sunny)

= (3/9 * 9/14 ) / (5/14)

= 0.60

-> P(no|sunny)= (P(sunny|no) * P(no)) / P(sunny)

= (2/5 * 5/14 ) / (5/14)

= 0.40

Таким образом, если погода = "солнечно", результатом будет play = "да".

5 тыс. ближайших соседей (KNN)

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

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

6 Априорный алгоритм:

Алгоритм Apriori часто используется для поиска частых наборов в транзакционных базах данных, а затем для создания правил ассоциации. Он часто используется в анализе рынка для изучения комбинаций продуктов, которые часто встречаются в данных одновременно. В общем, мы записываем правило ассоциации «если кто-то покупает товар X, то он также покупает товар Y» как X -> Y.

Например, если кто-то покупает молоко и сахар, он, скорее всего, купит и молотый кофе. Правило ассоциации для этого случая может быть записано как {молоко,сахар} -> кофейный порошок. Сила ассоциативного правила может быть измерена его поддержкой и доверием.

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

Алгоритм 7 K-средних:

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

Шаг 1: Итерация K-средних:

  • Выберите значение К. Здесь мы принимаем значение K равным 3.

  • Случайным образом назначьте каждую точку данных любому из 3 кластеров.

  • Вычислите центр кластера для каждого кластера. Красные, синие и зеленые звезды указывают на центры трех скоплений.

Шаг 2:

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

Шаг 3:

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

Шаг 4: Повторяйте шаги 2–3, пока точки данных больше не перестанут перемещаться между кластерами. Алгоритм K-средних выводится после этих двух последовательных шагов без переключения точек данных.

8 СПС:

Анализ главных компонентов (PCA) используется для более легкого изучения и визуализации данных за счет уменьшения количества переменных. Этот процесс в основном завершается получением максимальной дисперсии данных и преобразованием их в систему координат, называемую «главным компонентом». Каждая компонента представляет собой линейную комбинацию исходной переменной, которая ортогональна друг другу. Ортогональные отношения между компонентами указывают на то, что корреляция между этими компонентами равна 0. Первый главный компонент фиксирует направление максимальной дисперсии данных. Второй главный компонент фиксирует остаточную дисперсию данных, но переменная не имеет корреляции с первым компонентом. Точно так же все последующие основные компоненты (PC3, PC4 и т. д.) охватывают остаточную дисперсию и не имеют корреляции с предыдущими компонентами.

интегрированное обучение

«Ансамбль» означает объединение результатов нескольких классификаторов для улучшения результатов путем голосования или усреднения. Голосование используется в задачах классификации, а усреднение — в задачах регрессии. Идея состоит в том, что набор моделей обучения работает лучше, чем одна модель обучения. Существует три типа алгоритмов ансамблевого обучения: бэггинг, бустинг и суммирование, но эта статья предназначена для начинающих, поэтому пока я буду говорить только о бэггинге и бустинге.

9. Алгоритм случайного распределения леса:

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

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

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

10 Алгоритм повышения AdaBoost:

А) Бэггинг — это параллельный ансамбль, поскольку каждая модель строится независимо. Но бустинг — это последовательный ансамбль, где каждая модель строится на основе исправления ошибочной классификации предыдущей модели.

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

Алгоритм Adaboost (алгоритм адаптивного повышения) относится к методу адаптивного повышения.

На приведенной выше диаграмме шаги 1, 2 и 3 включают слабую модель обучения, называемую «пнем решений» (одноуровневое дерево решений делает прогнозы на основе только одного входного признака; это корневой узел и листовое дерево решений с узлы подключены немедленно). Процесс построения слабых моделей обучения продолжается до тех пор, пока не будет построено заданное пользователем количество слабых моделей обучения или пока в обучении не будет улучшений. Шаг 4 объединяет 3 заглушки решений из предыдущей модели (так что в этом дереве решений есть 3 правила разделения).

Шаг 1: Начните с 1 заглушки решения, чтобы принять решение на основе 1 входной переменной:

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

Шаг 2: Обратитесь к другой заготовке решения и примите решение на основе другой входной переменной:

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

После присвоения более высокого веса 2 круга правильно классифицируются вертикальной линией слева. Тем не менее, верхние 3 круга теперь снова неправильно классифицированы. Поэтому мы придаем больший вес трем верхним кругам и применяем еще одну ставку для принятия решения.

Шаг 3: Обучите другую заглушку решения принимать решение на основе другой входной переменной:

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

Шаг 4: Соберите заглушки решений: Мы объединяем разделители из первых трех моделей и наблюдаем, что сложные правила этой модели правильно классифицируют данные по сравнению с каждой из предыдущих слабо изученных моделей.

Суммировать

Если коротко, то мы узнали:

5 контролируемых алгоритмов обучения:Линейная регрессия, логистическая регрессия, CART, наивный байесовский анализ, KNN.

3 алгоритма обучения без учителя:Априорный алгоритм, алгоритм K-средних, PCA.

2 ансамблевых алгоритма обучения:Алгоритм Random Forest Bagging, метод повышения Adaboost.

Такая сухая штука, тебе не нравится?