Советы

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

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

  • Цель урока: познакомиться с понятием машинного обучения и изучить основные концепции машинного обучения.
  • Также мы рассмотрим, как машинное обучение используется в различных отраслях, таких как медицина, финансы и технологии.
  • Содержание:
  • Как и следует полагать, урок мы начнем с небольшого разговора о машинном обучении как таковом.

Что такое машинное обучение?

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

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

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

Основные типы задач машинного обучения

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

Классификация

Классификация является одним из самых распространенных типов задач машинного обучения. Она заключается в отнесении объектов к определенным категориям или классам.

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

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

Регрессия

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

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

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

Кластеризация

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

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

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

Обработка естественного языка

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

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

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

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

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

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

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

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

Визуально линейную регрессию можно представить так:

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

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

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

Визуально логистическую регрессию можно представить так:

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

Деревья решений

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

Ниже вы можете посмотреть на пример дерева решений:

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

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

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

Вот пример случайного леса:

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

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

Метод опорных векторов – это алгоритм, применяемый для решения задач классификации и регрессии. SVM ищет гиперплоскость, которая лучше всего разделяет объекты разных классов в пространстве признаков. SVM также может использоваться для решения задачи поиска аномалий (англ. anomaly detection).

Визуально SVM можно представить так:

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

К-средних

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

Визуально это выглядит следующим образом:

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

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

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

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

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

Вот пример нейронной сети:

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

Градиентный бустинг

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

Пример градиентного бустинга вы можете увидеть ниже:

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

Ассоциативные правила

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

Визуально это выглядит примерно так:

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

Кроме того, существуют и другие алгоритмы машинного обучения, такие как наивный Байес, машина опорных векторов с ядром (SVM с ядром), метод k-ближайших соседей (k-NN) и другие. Каждый из этих алгоритмов имеет свои особенности и применяется для решения определенных задач в различных отраслях.

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

Обучающая и тестовая выборки

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

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

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

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

Это явление называется переобучением (overfitting) и приводит к тому, что модель не может применяться к реальным задачам, где данные могут быть разнообразными.

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

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

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

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

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

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

Читайте также:  Как понять, что пора увольняться

Задание на взаимную проверку

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

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

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

Примеры использования машинного обучения

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

И вот где может пригодиться машинное обучение:

  • Классификация изображений. Машинное обучение может использоваться для распознавания объектов на изображениях, например, в медицине для обнаружения рака на рентгеновских снимках.
  • Анализ текста. Машинное обучение может использоваться для автоматической обработки и анализа больших объемов текстовой информации, например, в социальных сетях для анализа настроений пользователей.
  • Прогнозирование временных рядов. Машинное обучение может использоваться, например, для прогнозирования продаж или изменения цен на фондовом рынке.
  • Определение обмана и мошенничества. Машинное обучение может использоваться в банковской сфере для обнаружения незаконных операций с кредитными картами.
  • Рекомендательные системы. Машинное обучение может использоваться для создания персонализированных рекомендаций, к примеру, для рекомендации фильмов или товаров в интернет-магазинах.
  • Обработка естественного языка. Машинное обучение может использоваться для автоматического перевода текстов на разные языки.
  • Автопилоты для автомобилей. Машинное обучение может использоваться для разработки систем автоматического управления электромобилями, которые способны определять препятствия на дороге и принимать решения о маршруте и скорости движения.
  • Обработка звука. Машинное обучение может использоваться для распознавания речи или музыкальных инструментов.
  • Оптимизация процессов. Машинное обучение может использоваться для оптимизации процессов в промышленности, например, в производстве или управлении качеством продукции.
  • Определение болезней. Машинное обучение может использоваться для обработки медицинских данных и определения болезней, например, для диагностики рака или диабета.

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

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

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

Проверьте свои знания

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

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

Обратите внимание, что вопросы каждый раз разные, а варианты перемешиваются.

Переходим к обработке данных для машинного обучения.

Кирилл Ногалес← 1 Искусственный интеллект3

Машинное обучение: типы, задачи, примеры | РБК Тренды

6

Это простейшие алгоритмы, которые являются прямыми наследниками вычислительных машин 1950-х годов. Они изначально решали формальные задачи — такие, как поиск закономерностей в расчетах и вычисление траектории объектов. Сегодня алгоритмы на базе классического обучения — самые распространенные. Именно они формируют блок рекомендаций на многих платформах.

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

Так выглядит блок рекомендаций в YouTube

Но классическое обучение тоже бывает разным:

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

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

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

Эта модель возникла в 1990-х годах и на практике используется гораздо реже. Ее применяют для данных, которые просто невозможно разметить из-за их колоссального объема.

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

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

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

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

Обучение с подкреплением инженеры используют для беспилотников, роботов-пылесосов, торговли на фондовом рынке, управления ресурсами компании. Именно так алгоритму AlphaGo удалось обыграть чемпиона по игре Го: просчитать все возможные комбинации, как в шахматах, здесь было невозможно.

Как создавался AlphaGo от DeepMind

3. Ансамбли

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

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

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

Как работает алгоритм «Яндекса» CatBoost

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

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

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

У каждого канала свой «вес» — параметр, который влияет на данные, которые он передает.

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

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

Здесь используют две главных архитектуры:

  • Сверточные нейросети первыми научились распознавать неразмеченные изображения — самые сложные объекты для ИИ. Для этого они разбивают их на блоки, определяют в каждом доминирующие линии и сравнивают с другими изображениями нужного объекта;
  • Рекуррентные нейросети отвечают за распознавание текста и речи. Они выявляют в них последовательности и связывают каждую единицу — букву или звук — с остальными.

Как работает глубокое обучение в беспилотниках

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

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

Что такое алгоритмы машинного обучения?

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

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

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

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

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

Читайте также:  Python: основы скрапинга и парсинга

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

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

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

Классификация – для нечисловых данных (например, сможет ли заемщик выплатить кредит).

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

Контролируемое обучение против неконтролируемого

Независимо от этих типов существуют еще два вида алгоритмов машинного обучения: контролируемые (supervised) и неконтролируемые (unsupervised).

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

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

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

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

Алгоритмы часто основываются на вариантах самого крутого спуска, оптимизированных для конкретного случая; пример — стохастический градиентный спуск (SGD), который является по существу самым крутым спуском, выполненным многократно от случайных начальных точек.

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

Очистка данных для машинного обучения

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

  • Просмотреть данные и исключить все столбцы, в которых много недостающих данных.
  • Просмотреть данные еще раз и выбрать столбцы, которые будут использованы для прогнозирования. (Если эту операцию повторять эту операцию несколько раз, то можно выбирать разные столбцы.)
  • Исключить все строки, в которых отсутствуют данные в оставшихся столбцах.
  • Исправить очевидные опечатки и объединить эквивалентные значения. Скажем, РФ, Российская Федерация и Россия могут быть собраны в одну категорию.
  • Исключить строки с данными, которые находятся вне нужного диапазона. Например, если анализировать поездки на такси в пределах Москвы, вы захотите отфильтровать строки с широтами и долготами, которые находятся за пределами агломерации.

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

Кодирование и нормализация данных для машинного обучения

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

Первая – нумерация меток, каждое значение текстовой метки заменяется числом. Вторая – «единая горячая» (one-hot) кодировка, каждое значение текстовой метки превращается в столбец с двоичным значением (1 или 0).

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

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

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

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

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

Что такое признаки в машинном обучении?

Признак – это индивидуальное измеримое свойство или характеристика наблюдаемого явления. Понятие «признак» связано с понятием независимой переменной, которая используется в статистических методах, таких как линейная регрессия. Векторы признаков объединяют все признаки одной строки в числовой вектор.

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

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

  • Общие алгоритмы машинного обучения
  • Существуют десятки алгоритмов машинного обучения, варьирующихся по сложности от линейной регрессии и логистической регрессии до глубоких нейронных сетей и ансамблей (так называют комбинации других моделей).
  • Вот некоторые из наиболее распространенных алгоритмов:
  • линейная регрессия, она же регрессия наименьших квадратов (для числовых данных);
  • логистическая регрессия (для бинарной классификации);
  • линейный дискриминантный анализ (для мультикатегорийной классификации);
  • деревья решений (для классификации и регрессии);
  • наивный байесовский классификатор (для классификации и регрессии);
  • метод k-ближайших соседей, он же k-NN (для классификации и регрессии);
  • обучение нейронной сети Кохонена, он же LVQ (для классификации и регрессии);
  • метод опорных векторов, он же SVM (для двоичной классификации);
  • «случайный лес» и методы бэггинга (для классификации и регрессии);
  • методы бустинга, включая AdaBoost и XGBoost, являются ансамблями алгоритмов, которые создают серию моделей, где каждая новая модель пытается исправить ошибки предыдущей модели (для классификации и регрессии).

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

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

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

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

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

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

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

Машинное обучение: алгоритмы, виды, задачи, функции | OTUS

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

Сегодня ML (Machine Learning) решает множество задач, упрощая многим жизнь. Достаточно заложить в ПК алгоритм (algorithm) нахождения решений, чтобы получить возможность комплексно использовать статистические данные и выводить различные закономерности, делать прогнозы.

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

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

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

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

Читайте также:  Кортежи в Python: основные методы и функции

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

И учитывает эта функция как орфографию, так и другие моменты, включая лексические сочетания, жаргонизмы и прочие тонкости «великого и могучего».

Есть и программы, которые сами генерируют новостные тексты — даже участие человека не требуется (копирайтеры, задумайтесь!)

Задачи машинного обучения

  • Решаемые задачи можно классифицировать на несколько категорий:
  • 1) регрессия – речь идёт о прогнозе на основании выборки объектов с разными признаками;
  • 2) классификация – тут мы получаем конкретный ответ на основании набора признаков («да» либо «нет»);
  • 3) кластеризация – под этим термином понимается распределение данных на некоторые группы (пример — уровень платёжеспособности клиента);
  • 4) уменьшение размерности – большое количество признаков сводится к меньшему, чтобы было удобнее в последующем их визуализировать;

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

Виды машинного обучения

Большинство методов машинного обучения относят к обучению с учителем (supervised learning) и без учителя (unsupervised learning). «Учитель» здесь – это не конкретный человек, а сам факт вмешательства в процесс обработки данных. Чем различаются эти методы? Тем, что в первом случае у нас существует ряд гипотез, и их нужно либо опровергнуть, либо подтвердить.

С учителем

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

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

Без учителя

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

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

Популярные алгоритмы моделей машинного обучения

1. Дерево принятия решений

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

Говоря про построение бизнес-процессов, древо формируется из минимально возможного количества вопросов с однозначным ответом (либо «да», либо «нет»). Дав ответы, мы придём к верному выбору. Проблема структурируется и систематизируется, итоговое решение принимается на основании логических выводов.

2. Наивная байесовская классификация

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

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

3. Метод наименьших квадратов

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

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

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

Логистическая регрессия — мощный статистический метод предсказания событий. Он востребован:
• для кредитного скоринга;
• для замеров успешности РК;
• когда нужно построение прогноза прибыли с конкретного товара;
• оценки вероятности землетрясения и т. п.

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

Это даже не алгоритм, а набор алгоритмов, позволяющих решать задачи классификации и регрессионного анализа. Мы исходим, что объект находится в N-мерном пространстве и относится к одному из 2-х классов. На основании этого метод SVM выполняет построение гиперплоскости с размерностью (N – 1), чтобы объекты попали в одну из 2-х групп.

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

6. Метод ансамблей

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

Потом он усложнился дополнительными алгоритмами:
• boosting (бустинг) – обеспечивается преобразование слабых моделей в сильные путём формирования ансамбля классификаторов;
• bagging (бэггинг) – для сбора усложнённых классификаторов и обучения базовых;
• алгоритм для корректирования ошибок выходного кодирования.

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

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

Множество объектов распределяется по категориям-кластерам, в каждом кластере должны оказаться самые похожие элементы. Для кластеризации используют разные алгоритмы (вероятностные, плотности, сокращения размерности и т. д.).

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

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

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

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

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

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

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

10. ICA — анализ независимых компонент

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

В этой модели переменные имеют некоторые скрытые переменные, а информации о правилах смешивания нет.

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

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

Пример 1. Диагностируем заболевания

Пациенты — это объекты, признаки — это симптомы, результаты анализов, анамнез, история болезни. Порядковый признак — оценка тяжести состояния, количественные признаки в данном случае являются объектами, а признаками – объём лекарства, уровень гемоглобина, параметры давления и пульса, вес и возраст.

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

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

Пример 2. Ищем полезные ископаемые

Признаки — данные геологоразведки. Для обучающей выборки берут два типа прецедентов: места, где 100 % есть месторождения, и места со схожими параметрами. Да, у месторождений тоже есть свои «синдромы».

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

Пример 3. Оцениваем надёжность и платёжеспособность кредитополучателей

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

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

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

Среди усложнённых алгоритмов машинного обучения — тот же кредитный скоринг (каждый клиент получает баллы за некоторые признаки). Есть и алгоритм и на основе прецедентов.

ML-направление, machines и нейронные сети сегодня очень популярны, и эта популярность растёт, поэтому освоить это направление — значит гарантировать свою востребованность на рынке трудоустройства. Но дать актуальные знания по ML способны только эксперты. Если интересуют действительно профессиональные курсы, не тратьте времени на поиск, обращайтесь в OTUS!

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *