Автор: Прити Ядав (201550105, Университет GLA)

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

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

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

Четыре типа машинного обучения:

  1. Контролируемое обучение
  2. Полуконтролируемое обучение
  3. Неконтролируемое обучение
  4. Обучение с подкреплением

Обучение с учителем: алгоритмы обучения с учителем создают модель, показывая примеры и соответствующие им выходные метки; затем алгоритм генерирует правила, которые сопоставляют входные данные с выходными. Алгоритм выявляет закономерности в данных, учится на наблюдениях и делает прогнозы. Алгоритм делает прогнозы и корректируется оператором — и этот процесс продолжается до тех пор, пока алгоритм не достигнет высокого уровня точности/производительности. Под эгидой контролируемого обучения попадают:

  1. Классификации. В машинном обучении классификация – это контролируемая обучающая задача, в которой компьютерная программа учится назначать метки примерам из обучающего набора. Обучающий набор представляет собой набор помеченных примеров, где каждая метка соответствует классу. Классы могут быть любыми, например «спам» или «не спам», «положительный» или «отрицательный» и т. д. Цель классификации — найти метку, которая лучше всего описывает каждый новый пример, с которым сталкивается программа.

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

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

  • Независимые переменные — это те, которыми можно управлять, а зависимые переменные — те, которые зависят от независимых переменных. В линейной регрессии зависимая переменная обычно обозначается y, а независимая переменная обозначается x.

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

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

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

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

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

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

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

Другие термины, используемые в статье:

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

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

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

Спасибо за прочтение статьи!!