Машинное обучение: алгоритмы, виды, задачи, функции | OTUS
OTUS исполняется 3 года!
Скидки до 30% в честь дня рождения! Успейте купить курс по выгодной цене ➞
Выбрать курс

Курсы

Программирование
MS SQL Server разработчик AWS для разработчиков CI/CD на AWS, Azure и Gitlab Архитектура и шаблоны проектирования
-20%
Разработчик C++
-20%
Разработчик Java
-20%
React.js разработчик
-20%
Backend-разработчик на PHP
-30%
Алгоритмы для разработчиков
-30%
Agile Project Manager в IT
-30%
iOS Разработчик. Продвинутый курс v 2.0.
-10%
Разработчик Python
-30%
PostgreSQL
-10%
Разработчик игр на Unity
-15%
VOIP инженер
-30%
Web-разработчик на Python Cloud Solution Architecture
Специализации Курсы в разработке Подготовительные курсы
+7 499 110-61-65

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

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

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

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

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

Сегодня 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.
С уважением, OTUS!

Автор
1 комментарий
0

Test

Для комментирования необходимо авторизоваться
🔥 Скидки до 50% на новые супер-интенсивы!
«Тестирование игр», «Data Engineer», «работа с протоколом BGP». Узнайте подробности в чате ➞