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

1 Star2 Stars (4 votes, average: 5,00 out of 5)
Загрузка...

Алгоритмы машинного обучения можно разделить на 3 общие категории: обучение с учителем (supervised learning), обучение без учителя (unsupervised learning) и обучение с подкреплением (reinforcement learning). Обучение с учителем применяется в тех случаях, когда некоторое свойство (целевая переменная) известно для одного набора данных (обучающего), но отсутствует и должно быть предсказано для другого набора данных. Обучение без учителя используется в тех случаях, когда необходимо выявить скрытые взаимосвязи в наборе данных, для которого целевая переменная неизвестна. Обучение с подкреплением является промежуточным случаем: имеет место некоторая форма обратной связи для каждого этапа прогнозирования, но при этом отсутствует точная целевая переменная или сообщение об ошибке. Далее мы рассмотрим 10 алгоритмов, относящихся к обучению с учителем и без учителя.

Обучение с учителем

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

Дерево решений (decision tree) – это инструмент для поддержки принятия решений, в основе которого лежит древовидный граф (модель), описывающий решения и их возможные следствия, в том числе вероятностные исходы, затраты ресурсов и полезность. На рисунке ниже представлен пример дерева решений:

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

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

2. Наивный байесовский классификатор

Наивный байесовский классификатор (naive Bayes classifier) – это простой вероятностный классификатор, основанный на применении теоремы Байеса с сильным (наивным) допущением о независимости признаков. На рисунке ниже представлено уравнение теоремы Байеса, где P(A|B) – апостериорная вероятность класса, P(B|A) – правдоподобие признака, P(A) – априорная вероятность класса, P(B) – априорная вероятность признака.

Наивный байесовский классификатор

Примеры практического применения:

  • Выявление спама среди электронных писем.

  • Классификация новостных статей по тематике: технология, политика, спорт и т.д.

  • Определение тональности текста.

  • Распознавание лиц.

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

Линейная регрессия (linear regression) – это регрессионная модель с линейной функцией зависимости. Задача линейной регрессии заключается в построении прямой линии, которая наилучшим образом обобщает множество точек. Существуют различные методы решения этой задачи, но, как правило, применяется метод наименьших квадратов (МНК, ordinary least squares). Согласно МНК, искомой прямой является такая прямая, для которой сумма квадратов отклонений от исходных точек минимальна.

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

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

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

Логистическая регрессия (logistic regression) – это мощный инструмент, позволяющий моделировать биномиальный исход с помощью одной или нескольких независимых переменных. Данный алгоритм позволяет оценить взаимосвязь между категорийной зависимой переменной и одной или несколькими независимыми переменными на основе вероятностей, вычисленных с помощью логистической функции, которая представляет кумулятивное логистическое распределение (cumulative logistic distribution).

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

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

  • Кредитный скоринг.

  • Оценка успешности маркетинговых кампаний.

  • Прогнозирование дохода от некоторого продукта.

  • Оценка вероятности землетрясения в определенный день.

5. Метод опорных векторов

Метод опорных векторов (support vector machine) – это алгоритм бинарной классификации. Если в Nмерном пространстве присутствуют точки двух типов, метод опорных векторов позволяет разделить их на две группы в соответствии с типом посредством (N-1)-мерной гиперплоскости. Предположим, на плоскости располагаются некоторые точки двух типов, поддающиеся линейному разделению. В данном случае алгоритм построит прямую, которая разделит точки на две группы в соответствии с их типами, при этом полученная прямая будет максимально удалена от каждой из групп.

Метод опорных векторов

Метод опорных векторов находит применение в сфере веб-рекламы, в области генетики используется для распознавания сайтов сплайсинга (splice site recognition), кроме того, применяется для определения пола по изображению, классификации изображений и др.

6. Ансамблевые методы

Ансамблевые методы (ensemble method) – это алгоритмы машинного обучения, которые обучают множество классификаторов, а затем классифицируют новые наблюдения, объединяя прогнозы этих классификаторов на основе взвешенного большинства голосов. Первые ансамблевые алгоритмы основывались на байесовском усреднении (Bayesian averaging), но затем возникли новые техники, такие как бэггинг (bagging) и бустинг (boosting).

Ансамблевые методы

Так почему же ансамбли превосходят отдельные модели?

  • Ансамбль уменьшает смещение (bias). Представим, что мы усреднили результаты опросов, проведенных среди сторонников демократов и среди сторонников республиканцев. В результате мы получим некое среднее мнение, которое не выражает предпочтение ни к той, ни к другой партии.

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

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

Обучение без учителя

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

Задача кластеризации (clustering) заключается в разделении некоторого множества объектов на группы (кластеры) таким образом, чтобы объекты в пределах каждой группы были более похожи друг на друга, чем на объекты из других групп.

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

Существуют различные алгоритмы кластеризации. Некоторые из них перечислены ниже:

  • Алгоритмы на основе центроидов.

  • Иерархические алгоритмы.

  • Алгоритмы на основе плотности.

  • Вероятностные алгоритмы.

  • Уменьшение размерности.

  • Нейронные сети и глубокое обучение.

8. Метод главных компонент

Метод главных компонент (principal component analysis) – это статистическая процедура, которая с помощью ортогонального преобразования превращает множество наблюдений, представленных (возможно) коррелированными переменными, во множество значений линейно некоррелированных переменных, называемых главными компонентами.

Метод главных компонент

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

9. Сингулярное разложение

Сингулярное разложение (singular value decomposition) – это разложение вещественной или комплексной матрицы. Для данной матрицы M размера m×n существует разложение, такое, что M = UΣV*, где U и V – унитарные матрицы, а Σ – диагональная матрица.

Сингулярное разложение

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

10. Метод независимых компонент

Метод независимых компонент (independent component analysis) – это статистический метод для выявления скрытых независимых компонент во множестве случайных переменных, измерений или сигналов. Данный алгоритм формирует генеративную модель для наблюдаемых многомерных данных, которые обычно представлены в форме большой базы данных наблюдений. В рамках модели предполагается, что переменные, представленные в данных, являются линейными комбинациями некоторых неизвестных скрытых переменных, при этом уравнение комбинации также неизвестно. Кроме того, предполагается, что срытые переменные являются негауссовскими и взаимно независимыми. Эти переменные называются независимыми компонентами наблюдаемых данных.

Метод независимых компонент

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

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

Источник

Автор публикации

не в сети 3 дня

Лариса Шурига

Комментарии: 16Публикации: 871Регистрация: 05-06-2014

Вам также может понравиться

2 комментария

  1. Аноним:

    Ну вы хотя бы пишите «Статья содрана с другого источника»
    http://www.kdnuggets.com/2016/08/10-algorithms-machine-learning-engineers.html

     
  2. Уважаемый Аноним, статья не «содрана» — это профессиональный перевод, и он помечен соответствующим тегом. Если уж на то пошло, то и KDNuggets «содрали» (выражаясь Вашим языком) этот материал, так как оригинал опубликован здесь — https://gab41.lab41.org/the-10-algorithms-machine-learning-engineers-need-to-know-f4bb63f5b2fa#.o7kqa78cz
    И да, спасибо за замечание, добавила гиперлинк на источник.

     

Добавить комментарий

Ваш e-mail не будет опубликован.

закрыть

Поделиться

Отправить на почту
закрыть

Вход

закрыть

Регистрация

+ =
Авторизация
*
*

Login form protected by Login LockDown.


Регистрация
*
*
*
*
Генерация пароля