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

Алгоритмы регрессии

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

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

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

Существует два подтипа алгоритма регрессии: линейная регрессия и логистическая регрессия.

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

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

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

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

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

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

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

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

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

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

  1. Нейронные сети и алгоритмы рекомендаций, которые будут обсуждаться позже, имеют коэффициенты линейной регрессии, а метод градиентного спуска

применяется в других алгоритмах.

Алгоритмы логистической регрессии аналогичны алгоритмам линейной регрессии. Однако типы проблем, решаемых линейной регрессией, различны.

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

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

регрессия часто используется для определения спам-сообщений или того, будет ли пользователь нажимать на рекламу.

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

в вероятность от 0 до 1 (изображения сигмовидной функции не очень интуитивны, но нужно понимать, что большие значения ближе к 1

а меньшие значения ближе к 0). Далее мы делаем прогноз на основе этой вероятности. Например, если вероятность больше 0,5, мы можем классифицировать

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

следующий рисунок.

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

красные или синие метки опухолей — это «метки» данных. Каждая точка данных включает две характеристики: возраст пациента и размер опухоли. Вы можете сопоставить эти две функции и

теги данных в двумерном пространстве.

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

модель на основе красных и синих точек данных. Это классификационная линия, показанная черным цветом. Зеленая точка находится справа от линии классификации, поэтому вы

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

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

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

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

линейные классификационные линии.

Нейронные сети

Алгоритмы нейронных сетей (также называемые искусственными нейронными сетями или ANN) широко используются в глубоком обучении, нейронные сети вернулись. Они есть

один из самых мощных алгоритмов машинного обучения.

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

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

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

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

  1. Каждая полилиния далее распадается на две прямые линии, а затем прямые линии распадаются на две черно-белые плоскости. Следовательно,

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

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

Давайте теперь посмотрим на логическую структуру простой нейронной сети. Эту сеть можно разделить на входной, скрытый и выходной слои. Входной слой

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

процессорные блоки. Их можно рассматривать как смоделированные нейроны. Несколько процессорных блоков объединяются в слой, а несколько слоев образуют сеть. То

результатом является нейронная сеть.

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

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

сеть построена с несколькими скрытыми слоями. LeNet может распознавать числа, написанные разными способами, для достижения высокой степени точности и

прочность.

Квадрат в центре показывает изображения, загруженные в компьютер. Вверху красная цифра после «ответа» — это результат работы компьютера. Три

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

как мы видим, базовая обработка в третьем слое достигла только линейной детализации.

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

В 1990-х алгоритмы SVM заменили нейронные сети.

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

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

В условиях алгоритмы SVM лучше рисуют границы классификации, чем традиционная логистическая регрессия.

В сочетании с гауссовским «ядром» SVM может выражать чрезвычайно сложные границы классификации для получения лучших результатов классификации. Ядро"

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

Вот пример:

Теперь возникает вопрос, как нарисовать круговую границу классификации в двумерном (2-D) пространстве, что сложно. Тем не менее, используйте «ядро» для

сопоставьте двумерные данные с трехмерным (3-D) пространством. Затем используйте линейную плоскость для достижения аналогичных результатов. Следовательно, нелинейная граница классификации в 2-D

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

разделение в двумерном пространстве. Ниже приведен раздел трехмерного пространства.

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

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

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

Алгоритмы кластеризации

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

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

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

алгоритмы — это алгоритмы кластеризации. Возвращаясь к двумерным данным, можно сказать, что каждая точка данных имеет две характеристики.

Как вы можете использовать алгоритм кластеризации, чтобы пометить их различными тегами? Проще говоря, алгоритм кластеризации вычисляет расстояние между

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

алгоритм.

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

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

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

количество комнат. Следовательно, это четырехмерные (4-D) данные. Элементы длины и ширины перекрываются с элементом площади, потому что площадь = длина x

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

сжимать 4-D данные в 2-D данные.

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

Таким образом, алгоритмы убывающей размерности по-прежнему имеют преимущество.

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

сжимать пятимерные (5-D) данные в двумерные данные, данные можно визуализировать в двухмерной плоскости. Алгоритмы анализа главных компонентов (PCA) являются

наиболее типичный пример алгоритма убывающей размерности.

Алгоритмы рекомендаций

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

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

Существует два основных типа алгоритмов рекомендаций.

Алгоритмы, дающие рекомендации на основе содержимого элемента.

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

предметы, похожие на купленные пользователем предметы. Достоинством этих рекомендаций является их высокая степень актуальности.

Алгоритм рекомендаций, который дает рекомендации на основе похожих пользователей.

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

и C, и алгоритм обнаружит, что пользователь D имеет те же интересы, что и пользователь A, и купил товар E, он порекомендует товар E пользователю A.

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

  1. Среди рекомендательных алгоритмов наиболее известны алгоритмы совместной фильтрации.

Другие

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

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

репрезентативные виды.

Вот краткое изложение алгоритмов:

  • Алгоритмы с учителем (с тегами): линейная регрессия, логистическая регрессия, нейронные сети и SVM.
  • Неконтролируемые алгоритмы (без тегов): алгоритмы кластеризации и алгоритмы убывающей размерности
  • Специальные алгоритмы: рекомендательные алгоритмы

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

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

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

метод Ньютона, используемый в линейной регрессии; Алгоритмы БП, используемые в нейронных сетях; и алгоритмы SMO, используемые в SVM.

Вывод

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

алгоритмы кластеризации, алгоритмы убывающей размерности и алгоритмы рекомендаций. В следующем сообщении блога «Приложения для машинного обучения» мы рассмотрим

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

Ссылка:

https://www.alibabacloud.com/blog/Learning-Machine-Learning-Part-2-Algorithms-and-Techniques_p68470?spm=a2c41.11125735.0.0