какие виды машинного обучения существуют

Machine Learning – не только нейронки

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

какие виды машинного обучения существуют. Смотреть фото какие виды машинного обучения существуют. Смотреть картинку какие виды машинного обучения существуют. Картинка про какие виды машинного обучения существуют. Фото какие виды машинного обучения существуют

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

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

Классификация – определение категории объекта на основе его признаков.

Кластеризация – распределение объектов.

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

Прогнозирование рейтинга приложения на основе признаков: размер, категория, возрастной рейтинг, жанр и цена – задача регрессии.

Определение категории приложения на основе набора признаков: размер, возрастной рейтинг, жанр и цена – задача классификации.

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

Нейронные сети (многослойный перцептрон)

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

Принцип работы

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

какие виды машинного обучения существуют. Смотреть фото какие виды машинного обучения существуют. Смотреть картинку какие виды машинного обучения существуют. Картинка про какие виды машинного обучения существуют. Фото какие виды машинного обучения существуютНейронные связи в головном мозге (“Создаем нейронную сеть”, Тарик Рашид) какие виды машинного обучения существуют. Смотреть фото какие виды машинного обучения существуют. Смотреть картинку какие виды машинного обучения существуют. Картинка про какие виды машинного обучения существуют. Фото какие виды машинного обучения существуютПример искусственной трехслойной нейросети (“Создаем нейронную сеть”, Тарик Рашид)

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

какие виды машинного обучения существуют. Смотреть фото какие виды машинного обучения существуют. Смотреть картинку какие виды машинного обучения существуют. Картинка про какие виды машинного обучения существуют. Фото какие виды машинного обучения существуютПример использования нейросети для распознавания образа ( “Глубокое обучение”, Ян Гудфеллоу)

Как настраивать

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

Задачи: классификация, регрессия, кластеризация.

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

K-ближайших соседей

Метод K-ближайших соседей – простой и эффективный алгоритм, его можно описать известной поговоркой: “Скажи мне, кто твой друг, и я скажу, кто ты”.

Принцип работы

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

Есть набор точек с двумя классами: синие крестики и красные кружки. Мы хотим определить, к какому классу относится неизвестная зеленая точка. Для этого мы берем k ближайших соседей, в данном случае 3, и смотрим, к каким классам они относятся. Из трех ближайших соседей больше оказалось синих крестиков, соответственно, мы можем предположить, что зеленая точка также, скорее всего, относится к этому классу.

какие виды машинного обучения существуют. Смотреть фото какие виды машинного обучения существуют. Смотреть картинку какие виды машинного обучения существуют. Картинка про какие виды машинного обучения существуют. Фото какие виды машинного обучения существуют

Как настраивать

Необходимо подобрать параметр k (количество ближайших соседей) и метрику для измерения расстояний между объектами.

Задачи: классификация, также может применяться и для задач регрессии.

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

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

Принцип работы

Модель линейной регрессии можно описать уравнением

какие виды машинного обучения существуют. Смотреть фото какие виды машинного обучения существуют. Смотреть картинку какие виды машинного обучения существуют. Картинка про какие виды машинного обучения существуют. Фото какие виды машинного обучения существуют

Здесь x – это значения признаков, y – целевая переменная, a – весовые коэффициенты признаков. При обучении модели весовые коэффициенты подбираются таким образом, чтобы как можно лучше описывалась линейная зависимость признаков от целевой переменной.

Пример: задача предсказания стоимости квартиры в зависимости от площади и удаленности от метро в минутах. Целевой переменной (y) будет являться стоимость, а признаками (x) – площадь и удаленность.

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

какие виды машинного обучения существуют. Смотреть фото какие виды машинного обучения существуют. Смотреть картинку какие виды машинного обучения существуют. Картинка про какие виды машинного обучения существуют. Фото какие виды машинного обучения существуют

Как настраивать

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

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

Распространенные методы регуляризации для повышения качества модели линейной регрессии:

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

LASSO — также как и Ridge, применяется для борьбы с переизбыточностью данных.

Elastic-Net — модель регрессии с двумя регуляризаторами L1, L2. Частными случаями являются модели LASSO L1 = 0 и Ridge регрессии L2 = 0.

Задачи: регрессия.

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

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

Принцип работы

какие виды машинного обучения существуют. Смотреть фото какие виды машинного обучения существуют. Смотреть картинку какие виды машинного обучения существуют. Картинка про какие виды машинного обучения существуют. Фото какие виды машинного обучения существуют

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

какие виды машинного обучения существуют. Смотреть фото какие виды машинного обучения существуют. Смотреть картинку какие виды машинного обучения существуют. Картинка про какие виды машинного обучения существуют. Фото какие виды машинного обучения существуют

Иллюстрация алгоритмов линейной и логистической регрессии (источник)

Как настраивать

Задачи: классификация.

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

Принцип работы

Чтобы лучше всего понять алгоритм метода опорных векторов, рассмотрим рисунок. На рисунке приведен пример двух линейно разделимых классов в двумерном пространстве. Идея алгоритма заключается в нахождении оптимальной разделяющей прямой (или гиперплоскости для более высоких пространств) для отделения объектов одного класса от другого. Пунктирные линии выделяют разделяющую полосу и проводятся через объекты, которые называют опорными. Чем шире разделяющая полоса, тем качественнее модель SVM. Чтобы определить класс объекта, достаточно определить, с какой стороны гиперплоскости он находится.

какие виды машинного обучения существуют. Смотреть фото какие виды машинного обучения существуют. Смотреть картинку какие виды машинного обучения существуют. Картинка про какие виды машинного обучения существуют. Фото какие виды машинного обучения существуют

Как настраивать

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

Задачи: классификация и регрессия.

Сравнение классических алгоритмов с нейросетью

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

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

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

Метод опорных векторов – модель метода опорных векторов с RBF-ядром показала лучший результат по сравнению с другими ядрами.

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

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

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

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

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

Нейронная сеть6.41%

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

На гистограмме ниже представлены итоговые весовые коэффициенты a, полученные при обучении модели линейной регрессии. Чем больше столбик, тем выше влияние признака на целевую переменную. Если столбик направлен вверх, то он оказывает положительное влияние на рост целевой переменной, если вниз – то отрицательное. Другими словами, если приложение имеет жанр “Other” или “Tools”, то, скорее всего, его рейтинг будет высоким, а если у него категория “FAMILY” или “GAME” – то, вероятно, низким. Данная интерпретация весовых коэффициентов линейной регрессии бывает очень полезной при анализе данных.

какие виды машинного обучения существуют. Смотреть фото какие виды машинного обучения существуют. Смотреть картинку какие виды машинного обучения существуют. Картинка про какие виды машинного обучения существуют. Фото какие виды машинного обучения существуютГистограмма значений коэффициентов линейной регрессии

Больше наших статей по машинному обучению и обработке изображений:

Источник

Что такое машинное обучение? Методы, типы, задачи и примеры машинного обучения

какие виды машинного обучения существуют. Смотреть фото какие виды машинного обучения существуют. Смотреть картинку какие виды машинного обучения существуют. Картинка про какие виды машинного обучения существуют. Фото какие виды машинного обучения существуют

Машинное обучение (Machine Learning) это тренировка математической модели на исторических данных для того, чтобы прогнозировать какое-то событие или явление на новых данных. То есть попытка заставить алгоритмы программ совершать действия на основе предыдущего опыта, а не только на основе имеющихся данных.

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

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

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

Навигация по материалу:

Суть технологии машинного обучения

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

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

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

какие виды машинного обучения существуют. Смотреть фото какие виды машинного обучения существуют. Смотреть картинку какие виды машинного обучения существуют. Картинка про какие виды машинного обучения существуют. Фото какие виды машинного обучения существуют

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

GeekUniversity совместно с Mail.ru Group открыли первый в России факультет Искусственного интеллекта преподающий машинное обучение. Для учебы достаточно школьных знаний. Программа включает в себя все необходимые ресурсы и инструменты + целая программа по высшей математике. Не абстрактная, как в обычных вузах, а построенная на практике. Обучение познакомит вас с технологиями машинного обучения и нейронными сетями, научит решать настоящие бизнес-задачи.

какие виды машинного обучения существуют. Смотреть фото какие виды машинного обучения существуют. Смотреть картинку какие виды машинного обучения существуют. Картинка про какие виды машинного обучения существуют. Фото какие виды машинного обучения существуют

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

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

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

Способы машинного обучения

Каким бывает машинное обучение? Оно разделяется на три основных вида:

какие виды машинного обучения существуют. Смотреть фото какие виды машинного обучения существуют. Смотреть картинку какие виды машинного обучения существуют. Картинка про какие виды машинного обучения существуют. Фото какие виды машинного обучения существуют

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

С учителем (Supervised machine learning)

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

Учителем выступает человек, который вбивает в компьютер данные. Допустим, он внес в базу следующую таблицу:

Имя ученикаКлассIQПолСклад умаВозрастПредмет с самой высокой успеваемостью
Олег8120МужскойТехничес­кий15Геомет­рия
Виктория8100ЖенскийТворчес­кий15Литера­тура
Иван8110МужскойГуманитар­ный14История
Игорь8105МужскойТехничес­кий15Физика
Мария8120ЖенскийГуманитар­ный14Литера­тура

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

То есть учитель дает компьютеру dataset: вводную информацию (пол, возраст, IQ, склад ума, класс), а затем сразу же дает ему данные о результатах учебы, задавая вопрос «вот данные, они влияют на будущую профессию, как думаешь, почему?». И чем больше будет вводных, тем точнее будет анализ.

Так, например, программы учат распознавать объекты на фотографиях – программа просматривает миллионы изображений с описанием того, что на них изображено (дерево или облако). Она находит общие черты и уже сама учится давать описания изображениям. Учитель показывает изображение без описания, а программа спрашивает «это дерево?». Если человек отвечает утвердительно, программа понимает, что сделала правильные выводы. Хороший пример такой системы – облачный сервис для встраивания в приложения машинного зрения Vision на платформе Mail.Ru Cloud Solutions.

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

Без учителя (Unsupervised machine learning)

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

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

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

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

Также нейросети могут обучаться не самостоятельно, а в паре. Так работает генеративно-состязательная сеть (GAN). Она состоит из сетей G и D – первая на основе реальных изображений генерирует образцы, а вторая пытается отличить подлинные образцы от неправильных.

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

Глубокое обучение (Deep learning)

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

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

Это можно рассмотреть на примере систем распознавания объектов:

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

какие виды машинного обучения существуют. Смотреть фото какие виды машинного обучения существуют. Смотреть картинку какие виды машинного обучения существуют. Картинка про какие виды машинного обучения существуют. Фото какие виды машинного обучения существуют

Deep learning может использоваться для самых неожиданных целей. Например, существует искусственный интеллект по имени Норман, его отправили изучать разделы с «жестью» на Reddit – кадры с расчлененными людьми, фотографии с мест преступлений, жуткие истории и так далее.

Затем Норману предложили пройти тест Роршаха, чтобы сравнить его ответы с ответами других ИИ – где одни видели цветы, животных и зонты, Норман видел мертвых мужчин и женщин, убитых самыми разными способами.

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

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

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

Сегодня чаще всего для создания программ машинного обучения используются языки R, Python, Scala и Julia. Они поддерживаются многими интегрированными средами разработки, в частности, R-Studio, R-Brain, Visual Studio, Eclipse, PyCharm, Spyder, IntelliJ IDEA, Jupyter Notebooks, Juno и др.

какие виды машинного обучения существуют. Смотреть фото какие виды машинного обучения существуют. Смотреть картинку какие виды машинного обучения существуют. Картинка про какие виды машинного обучения существуют. Фото какие виды машинного обучения существуют

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Поиск ассоциативных правил

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

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

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

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

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

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

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

какие виды машинного обучения существуют. Смотреть фото какие виды машинного обучения существуют. Смотреть картинку какие виды машинного обучения существуют. Картинка про какие виды машинного обучения существуют. Фото какие виды машинного обучения существуют

Например: Y = B0 + B1 * X

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

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

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

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

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

Логистическая функция выглядит как большая буква S и преобразовывает любое значение в число в пределах от 0 до 1. Это весьма полезно, так как мы можем применить правило к выходу логистической функции для привязки к 0 и 1 (например, если результат функции меньше 0.5, то на выходе получаем 1) и предсказания класса.

какие виды машинного обучения существуют. Смотреть фото какие виды машинного обучения существуют. Смотреть картинку какие виды машинного обучения существуют. Картинка про какие виды машинного обучения существуют. Фото какие виды машинного обучения существуют

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

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

Линейный дискриминантный анализ (LDA)

Логистическая регрессия используется, когда нужно отнести образец к одному из двух классов. Если классов больше, чем два, то лучше использовать алгоритм LDA (Linear discriminant analysis).

Представление LDA довольно простое. Оно состоит из статистических свойств данных, рассчитанных для каждого класса. Для каждой входной переменной это включает:

какие виды машинного обучения существуют. Смотреть фото какие виды машинного обучения существуют. Смотреть картинку какие виды машинного обучения существуют. Картинка про какие виды машинного обучения существуют. Фото какие виды машинного обучения существуют

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

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

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

какие виды машинного обучения существуют. Смотреть фото какие виды машинного обучения существуют. Смотреть картинку какие виды машинного обучения существуют. Картинка про какие виды машинного обучения существуют. Фото какие виды машинного обучения существуют

Листовые узлы — это выходная переменная, которая используется для предсказания. Предсказания производятся путём прохода по дереву к листовому узлу и вывода значения класса на этом узле.

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

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

Наивный Байес — простой, но удивительно эффективный алгоритм.

Модель состоит из двух типов вероятностей, которые рассчитываются с помощью тренировочных данных:

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

какие виды машинного обучения существуют. Смотреть фото какие виды машинного обучения существуют. Смотреть картинку какие виды машинного обучения существуют. Картинка про какие виды машинного обучения существуют. Фото какие виды машинного обучения существуют

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

K-ближайших соседей (KNN)

К-ближайших соседей — очень простой и очень эффективный алгоритм. Модель KNN (K-nearest neighbors) представлена всем набором тренировочных данных. Довольно просто, не так ли?

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

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

какие виды машинного обучения существуют. Смотреть фото какие виды машинного обучения существуют. Смотреть картинку какие виды машинного обучения существуют. Картинка про какие виды машинного обучения существуют. Фото какие виды машинного обучения существуют

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

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

Сети векторного квантования (LVQ)

Недостаток KNN заключается в том, что нужно хранить весь тренировочный набор данных. Если KNN хорошо себя показал, то есть смысл попробовать алгоритм LVQ (Learning vector quantization), который лишён этого недостатка.

какие виды машинного обучения существуют. Смотреть фото какие виды машинного обучения существуют. Смотреть картинку какие виды машинного обучения существуют. Картинка про какие виды машинного обучения существуют. Фото какие виды машинного обучения существуют

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

После обучения эти вектора могут использоваться для предсказания так же, как это делается в KNN. Алгоритм ищет ближайшего соседа (наиболее подходящий кодовый вектор) путём вычисления расстояния между каждым кодовым вектором и новым экземпляром данных. Затем для наиболее подходящего вектора в качестве предсказания возвращается класс (или число в случае регрессии). Лучшего результата можно достичь, если все данные будут находиться в одном диапазоне, например от 0 до 1.

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

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

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

какие виды машинного обучения существуют. Смотреть фото какие виды машинного обучения существуют. Смотреть картинку какие виды машинного обучения существуют. Картинка про какие виды машинного обучения существуют. Фото какие виды машинного обучения существуют

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

Метод опорных векторов, наверное, один из самых эффективных классических классификаторов, на который определённо стоит обратить внимание.

Бэггинг и случайный лес

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

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

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

какие виды машинного обучения существуют. Смотреть фото какие виды машинного обучения существуют. Смотреть картинку какие виды машинного обучения существуют. Картинка про какие виды машинного обучения существуют. Фото какие виды машинного обучения существуют

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

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

Бустинг и AdaBoost

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

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

какие виды машинного обучения существуют. Смотреть фото какие виды машинного обучения существуют. Смотреть картинку какие виды машинного обучения существуют. Картинка про какие виды машинного обучения существуют. Фото какие виды машинного обучения существуют

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

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

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

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

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

Google — нейронные сети

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

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

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

какие виды машинного обучения существуют. Смотреть фото какие виды машинного обучения существуют. Смотреть картинку какие виды машинного обучения существуют. Картинка про какие виды машинного обучения существуют. Фото какие виды машинного обучения существуют

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

Twitter — новостная лента

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

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

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

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

Facebook — армия чатботов

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

Любой разработчик может и запустить его на базе Facebook Messenger. Благодаря этому даже небольшие компании имеют возможность предлагать клиентам отличный сервис.

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

Baidu — будущее голосового поиска

Google не единственный поисковой гигант, который осваивает машинное обучение. Китайский поисковик Baidu тоже активно инвестирует в развитие AI.

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

Последнее изобретение Baidu Deep Voice 2 значительно повлияет на эффективность обработки естественного языка, голосового поиска и систем распознавания речи. Применять новую технологию можно будет в других сферах, например, устных переводах и системах биометрической безопасности.

IBM — здравоохранение нового поколения

Крупнейшая технологическая корпорация IBM отказывается от устаревшей бизнес-модели и активно осваивает новые направления. Самый известный сегодня продукт бренда – искусственный интеллект Watson.

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

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

Где можно получить образование по машинному обучению?

GeekUniversity совместно с Mail.ru Group открыли первый в России факультет Искусственного интеллекта преподающий машинное обучение.

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

какие виды машинного обучения существуют. Смотреть фото какие виды машинного обучения существуют. Смотреть картинку какие виды машинного обучения существуют. Картинка про какие виды машинного обучения существуют. Фото какие виды машинного обучения существуют

После учебы вы сможете работать по специальностям:

Особенности обучения в GeekUniversity

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

Обучение проводится на основании государственной лицензии № 040485. По результатам успешного завершения обучения выдаем выпускникам диплом о профессиональной переподготовке и электронный сертификат на портале GeekBrains и Mail.ru Group.

Проектно-ориентированное обучение

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

Наставник

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

Основательная математическая подготовка

Профессионализм в Data Science — это на 50% умение строить математические модели и еще на 50% — работать с данными. GeekUniversity прокачает ваши знания в матанализе, которые обязательно проверят на собеседовании в любой серьезной компании.

GeekUniversity дает полтора года опыта работы для вашего резюме

В результате для вас откроется в 5 раз больше вакансий:

какие виды машинного обучения существуют. Смотреть фото какие виды машинного обучения существуют. Смотреть картинку какие виды машинного обучения существуют. Картинка про какие виды машинного обучения существуют. Фото какие виды машинного обучения существуют

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

Источник

Leave a Reply

Your email address will not be published. Required fields are marked *