задачи обучения с учителем машинное обучение
Введение в машинное обучение
Обучение — это универсальный навык, который присущ любому живому организму на планете.
Обучение — это приобретение знаний и навыков посредством опыта или учебы. Это то, что нас объединяет и в то же время делает уникальными. Это то, что развивается с течением времени.
Что, если я скажу: «Машины тоже могут учиться»?
Мы живем в удивительное время развития роботизации, искусственного интеллекта и машинного обучения. Машинное обучение по-прежнему довольно новая концепция. Мы можем научить машины тому, как учиться, а некоторые машины могут учиться самостоятельно. Магия!
Эта статья познакомит вас с основами машинного обучения.
Самое главное, что вы должны понять: машины могут предсказывать будущее, основываясь на прошлом.
Что такое машинное обучение
Машинное обучение предполагает, что компьютер распознает шаблоны на примерах, а не программируется с помощью определенных правил. Эти шаблоны содержатся в данных.
Машинное обучение — создание алгоритмов (набора правил), которые учатся на сложных функциях (шаблонах) из данных и делает прогнозы.
Это происходит в 3 этапа:
1) Анализ данных
2) Нахождение шаблонов
3) Предсказание на основе шаблона
Применение машинного обучения
Краткий обзор, где можно использовать машинное обучение
Не хочу вас запутать, поэтому просто скажу, что машины учатся, находя похожие данные в больших массивах данных. Чем больше данных передается машине, тем «умнее» она становится.
Не все данные одинаковы. Представьте, что вы пират и ваша цель — найти клад где-то на острове. Для того, чтобы это сделать, понадобится большое количество информации. Как и данные, эта информация может вести вас либо в правильном направлении, либо в неправильном. Чем точнее полученная информация/данные, тем больше шансов на успех. Поэтому важно учитывать тип данных, с помощью которых будет проходить обучение.
Тем не менее, после достаточного объема данных, машина может делать прогнозы. Машины могут предсказывать будущее до тех пор, пока будущее не будет сильно отличаться от прошлого.
Типы машинного обучения
Существует три основные категории машинного обучения:
Supervised learning (обучение с учителем): Машина учится по выбранным данным. Обычно, данные отмечаются людьми.
Unsupervised learning (обучение без учителя): Машина учится не по выбранным данным. Смысл в том, что среди данных нет «правильного» ответа, машина должна найти зависимость между объектами.
Reinforcement learning (обучение с подкреплением): Машина учится через систему на основе вознаграждения.
1. Supervised learning (обучение с учителем)
Обучение с учителем — наиболее распространенный и изученный тип машинного обучения, ведь легче обучить машину с выбранными данными. В зависимости от того, что вы хотите предсказать, обучение с учителем может использоваться для решения двух типов задач: задача регрессии и задача классификации.
Задача регрессии:
Если вы хотите спрогнозировать непрерывные значения, например, попытаться спрогнозировать стоимость дома или погоду на улице в градусах, используйте регрессию. Этот тип задач не имеет определенного ограничения значений, поскольку значение может быть любым числом без ограничений.
Если требуется спрогнозировать дискретные значения, например классифицировать что-либо по категориям, используйте классификацию. Вопрос «Будет ли человек делать покупку», имеет ответ, который попадает в две конкретные категории: да или нет. Число допустимых ответов конечно.
2. Unsupervised learning (обучение без учителя)
Поскольку у машин нет отмеченных данных для обучения, цель машинного обучения без учителя — обнаружение закономерностей в данных и их группировка.
Обучение без учителя решает 2 типа задач: задача кластеризации и задача поиска ассоциациативных правил.
Обучение без учителя решает задачу кластеризации, находя сходства в данных. Если существует общий кластер или группа, алгоритм будет классифицировать их в определенной форме. Примером этого может быть группировка клиентов на основе их прошлых покупок.
Задача поиска ассоциациативных правил:
Обучение без учителя решает эту задачу, пытаясь понять правила и смысл разных групп. Яркий пример — поиск взаимосвязи между покупками клиентов. Магазины могут узнавать, какие продукты были приобретены вместе и использовать эту информацию для продаж. Одно исследование показало, что есть тесная взаимосвязь между покупкой пива и подгузников. Выяснилось, что мужчины, которые вышли купить подгузники для своих детей, также склонны покупать пиво для себя.
3. Reinforcement learning (обучение с подкреплением)
Этот тип машинного обучения требует использования системы вознаграждения/штрафа. Цель — вознаградить машину, когда она учится правильно, и наказать машину, когда она учится неправильно.
Примеры обучения с подкреплением
Мы рассказали об основах машинного обучения, тема интересная и перспективная, поэтому не жалейте времени, чтобы изучить подробнее.
Обучение нейросети с учителем, без учителя, с подкреплением — в чем отличие? Какой алгоритм лучше?
Обучить нейронную сеть можно разными способами: с учителем, без учителя, с подкреплением. Но как выбрать оптимальный алгоритм и чем они отличаются? Есть несколько способов собрать мебель из IKEA. Каждый из них приводит к собранному дивану или стулу. Но в зависимости от предмета мебели и его составляющих один способ будет более разумным, чем другие.
Есть руководство по эксплуатации и все нужные детали? Просто следуйте инструкции. Ну как, получается? Можно выбросить руководство и работать самостоятельно. Но стоит перепутать порядок действий, и уже вам решать, что делать с этой кучей деревянных болтов и досок.
Все то же самое с глубоким обучением (deep learning). Разработчик предпочтет алгоритм с конкретным способом обучения, учитывая вид данных и стоящую перед ним задачу.
Результат обучения нейронной сети — кластеризация изображений
При обучении с учителем нейронная сеть обучается на размеченном наборе данных и предсказывает ответы, которые используются для оценки точности алгоритма на обучающих данных. При обучении без учителя модель использует неразмеченные данные, из которых алгоритм самостоятельно пытается извлечь признаки и зависимости.
Обучение с частичным привлечением учителя представляет собой нечто среднее. Оно использует небольшое количество размеченных данных и большой набор неразмеченных. А обучение с подкреплением тренирует алгоритм при помощи системы поощрений. Агент получает обратную связь в виде вознаграждений за правильные действия. Похожим образом дрeссируют животных.
Для каждого способа обучения рассмотрим примеры подходящих для него данных и задач.
Обучение с учителем
Обучение с учителем (supervised learning) предполагает наличие полного набора размеченных данных для тренировки модели на всех этапах ее построения.
Наличие полностью размеченного датасета означает, что каждому примеру в обучающем наборе соответствует ответ, который алгоритм и должен получить. Таким образом, размеченный датасет из фотографий цветов обучит нейронную сеть, где изображены розы, ромашки или нарциссы. Когда сеть получит новое фото, она сравнит его с примерами из обучающего датасета, чтобы предсказать ответ.
Пример обучения с учителем — классификация (слева), и дальнейшее ее использование для сегментации и распознавания объектов
В основном обучение с учителем применяется для решения двух типов задач: классификации и регрессии.
В задачах классификации алгоритм предсказывает дискретные значения, соответствующие номерам классов, к которым принадлежат объекты. В обучающем датасете с фотографиями животных каждое изображение будет иметь соответствующую метку — «кошка», «коала» или «черепаха». Качество алгоритма оценивается тем, насколько точно он может правильно классифицировать новые фото с коалами и черепахами.
А вот задачи регрессии связаны с непрерывными данными. Один из примеров, линейная регрессия, вычисляет ожидаемое значение переменной y, учитывая конкретные значения x.
Более утилитарные задачи машинного обучения задействуют большое число переменных. Как пример, нейронная сеть, предсказывающая цену квартиры в Сан-Франциско на основе ее площади, местоположения и доступности общественного транспорта. Алгоритм выполняет работу эксперта, который рассчитывает цену квартиры исходя из тех же данных.
Таким образом, обучение с учителем больше всего подходит для задач, когда имеется внушительный набор достоверных данных для обучения алгоритма. Но так бывает далеко не всегда. Недостаток данных — наиболее часто встречающаяся проблема в машинном обучении на 2018 год.
Обучение без учителя
Идеально размеченные и чистые данные достать нелегко. Поэтому иногда перед алгоритмом стоит задача найти заранее не известные ответы. Вот где нужно обучение без учителя.
В обучении без учителя (unsupervised learning) у модели есть набор данных, и нет явных указаний, что с ним делать. Нейронная сеть пытается самостоятельно найти корелляции в данных, извлекая полезные признаки и анализируя их.
Кластеризация данных на основе общих признаков
В зависимости от задачи модель систематизирует данные по-разному.
В обучении без учителя сложно вычислить точность алгоритма, так как в данных отсутствуют «правильные ответы» или метки. Но размеченные данные часто ненадежные или их слишком дорого получить. В таких случаях, предоставляя модели свободу действий для поиска зависимостей, можно получить хорошие результаты.
Обучение с частичным привлечением учителя
Это золотая середина.
Обучение с частичным привлечением учителя (semi-supervised learning) характеризуется своим названием: обучающий датасет содержит как размеченные, так и неразмеченные данные. Этот метод особенно полезен, когда трудно извлечь из данных важные признаки или разметить все объекты – трудоемкая задача.
Обучение с частичным привлечением учителя часто используют для решения медицинских задач, где небольшое количество размеченных данных может привести к значительному повышению точности
Этот метод машинного обучения распространен для анализа медицинских изображений, таких как сканы компьютерной томографии или МРТ. Опытный рентгенолог может разметить небольшое подмножество сканов, на которых выявлены опухоли и заболевания. Но вручную размечать все сканы — слишком трудоемкая и дорогостоящая задача. Тем не менее нейронная сеть может извлечь информацию из небольшой доли размеченных данных и улучшить точность предсказаний по сравнению с моделью, обучающейся исключительно на неразмеченных данных.
Популярный метод обучения, для которого требуется небольшой набор размеченных данных, заключается в использовании генеративно-состязательной сети или GAN.
Представьте себе соревнование двух нейронных сетей, где каждая пытается перехитрить другую. Это GAN. Одна из сетей, генератор, пытается создать новые объекты данных, которые имитируют обучающую выборку. Другая сеть, дискриминатор, оценивает, являются ли эти сгенерированные данные реальными или поддельными. Сети взаимодействуют и циклично совершенствуются, поскольку дискриминатор старается лучше отделять подделки от оригиналов, а генератор пытается создавать убедительные подделки.
Как работает GAN: дискриминатору «D» показывают исходные изображения и данные, созданные генератором «G». Дискриминатор должен определить, какие изображения являются реальными, а какие поддельными.
Обучение с подкреплением
Видеоигры основаны на системе стимулов. Завершите уровень и получите награду. Победите всех монстров и заработаете бонус. Попали в ловушку – конец игры, не попадайте. Эти стимулы помогают игрокам понять, как лучше действовать в следующем раунде игры. Без обратной связи люди бы просто принимали случайные решения и надеялись перейти на следующий игровой уровень.
Обучение с подкреплением (reinforcement learning) действует по тому же принципу. Видеоигры — популярная тестовая среда для исследований.
Результат обучения с подкреплением — «агент» проходит трассу, не выезжая за ее пределы. Далее можно добивиться повышения скорости прохождения трассы.
Агенты ИИ пытаются найти оптимальный способ достижения цели или улучшения производительности для конкретной среды. Когда агент предпринимает действия, способствующие достижению цели, он получает награду. Глобальная цель — предсказывать следующие шаги, чтобы заработать максимальную награду в конечном итоге.
При принятии решения агент изучает обратную связь, новые тактики и решения способные привести к большему выигрышу. Этот подход использует долгосрочную стратегию — так же как в шахматах: следующий наилучший ход может не помочь выиграть в конечном счете. Поэтому агент пытается максимизировать суммарную награду.
Это итеративный процесс. Чем больше уровней с обратной связи, тем лучше становится стратегия агента. Такой подход особенно полезен для обучения роботов, которые управляют автономными транспортными средствами или инвентарем на складе.
Так же, как и ученики в школе, каждый алгоритм учится по-разному. Но благодаря разнообразию доступных методов, вопрос в том, чтобы выбрать подходящий и научить вашу нейронную сеть разбираться в среде.
Обучение с учителем
Материал из MachineLearning.
Обучение с учителем (Supervised learning) — один из разделов машинного обучения, посвященный решению следующей задачи. Имеется множество объектов (ситуаций) и множество возможных ответов (откликов, реакций). Существует некоторая зависимость между ответами и объектами, но она неизвестна. Известна только конечная совокупность прецедентов — пар «объект, ответ», называемая обучающей выборкой. На основе этих данных требуется восстановить зависимость, то есть построить алгоритм, способный для любого объекта выдать достаточно точный ответ. Для измерения точности ответов определённым образом вводится функционал качества.
Под учителем понимается либо сама обучающая выборка, либо тот, кто указал на заданных объектах правильные ответы. Существует также обучение без учителя, когда на объектах выборки ответы не задаются.
Содержание
Типология задач обучения с учителем
Типы входных данных
Типы откликов
Обучение с учителем: формальная постановка
Говорят также, что алгоритм должен обладать способностью к обобщению эмпирических фактов, или выводить общее знание (закономерность, зависимость) из частных фактов (наблюдений, прецедентов).
Данная постановка является обобщением классических задач аппроксимации функций. В классической аппроксимации объектами являются действительные числа или векторы. В реальных прикладных задачах входные данные об объектах могуть быть неполными, неточными, неоднородными, нечисловыми. Эти особенности приводят к большому разнообразию методов обучения с учителем.
Функции потерь и функционалы качества
Типичный выбор функции потерь:
Вводится функционал качества, характеризующий среднюю ошибку (эмпирический риск) алгоритма на произвольной выборке
Метод минимизации эмпирического риска — один из наиболее распространённых подходов к обучению алгоритмов по прецедентам. Он заключается в том, чтобы в заданной модели алгоритмов найти алгоритм, минимизирующий среднюю ошибку на обучающей выборке:
Тем самым задача обучения сводится к оптимизации и может быть решена численными методами оптимизации.
Обобщающая способность и проблема переобучения
Практически в каждом методе предпринимаются специальные усилия, чтобы избежать переобучения. границы применимости метода минимизации эмпирического риска и проблему переобучения изучает теория вычислительного обучения.
Признаковое пространство
В зависимости от множества признаки делятся на следующие типы:
Часто встречаются прикладные задачи с разнотипными признаками, для их решения подходят далеко не все методы.
Примеры прикладных задач
Задачи медицинской диагностики
В роли объектов выступают пациенты. Признаки характеризуют результаты обследований, симптомы заболевания и применявшиеся методы лечения. Примеры бинарных признаков: пол, наличие головной боли, слабости. Порядковый признак — тяжесть состояния (удовлетворительное, средней тяжести, тяжёлое, крайне тяжёлое). Количественные признаки — возраст, пульс, артериальное давление, содержание гемоглобина в крови, доза препарата. Признаковое описание пациента является, по сути дела, формализованной историей болезни. Накопив достаточное количество прецедентов в электронном виде, можно решать различные задачи:
Ценность такого рода систем в том, что они способны мгновенно анализировать и обобщать огромное количество прецедентов — возможность, недоступная специалисту-врачу.
Предсказание месторождений полезных ископаемых
Признаками являются данные геологической разведки. Наличие или отсутствие тех или иных пород на территории района кодируется бинарными признаками. Физико-химические свойства этих пород могут описываться как количественными, так и качественными признаками. Обучающая выборка составляется из прецедентов двух классов: районов известных месторождений и похожих районов, в которых интересующее ископаемое обнаружено не было. При поиске редких полезных ископаемых количество объектов может оказаться намного меньше, чем количество признаков. В этой ситуации плохо работают классические статистические методы. Задача решается путём поиска закономерностей в имеющемся массиве данных. В процессе решения выделяются короткие наборы признаков, обладающие наибольшей информативностью — способностью наилучшим образом разделять классы. По аналогии с медицинской задачей, можно сказать, что отыскиваются «синдромы» месторождений. Это важный побочный результат исследования, представляющий значительный интерес для геофизиков и геологов.
Оценивание кредитоспособности заёмщиков
Эта задача решается банками при выдаче кредитов. Потребность в автоматизации процедуры выдачи кредитов впервые возникла в период бума кредитных карт 60-70-х годов в США и других развитых странах. Объектами в данном случае являются физические или юридические лица, претендующие на получение кредита. В случае физических лиц признаковое описание состоит из анкеты, которую заполняет сам заёмщик, и, возможно, дополнительной информации, которую банк собирает о нём из собственных источников. Примеры бинарных признаков: пол, наличие телефона. Номинальные признаки — место проживания, профессия, работодатель. Порядковые признаки — образование, занимаемая должность. Количественные признаки — сумма кредита, возраст, стаж работы, доход семьи, размер задолженностей в других банках. Обучающая выборка составляется из заёмщиков с известной кредитной историей. В простейшем случае принятие решений сводится к классификации заёмщиков на два класса: «хороших» и «плохих». Кредиты выдаются только заёмщикам первого класса. В более сложном случае оценивается суммарное число баллов (score) заёмщика, набранных по совокупности информативных признаков. Чем выше оценка, тем более надёжным считается заёмщик. Отсюда и название — кредитный скоринг. На стадии обучения производится синтез и отбор информативных признаков и определяется, сколько баллов назначать за каждый признак, чтобы риск принимаемых решений был минимален. Следующая задача — решить, на каких условиях выдавать кредит: определить процентную ставку, срок погашения, и прочие параметры кредитного договора. Эта задача также может быть решения методами обучения по прецедентам.
Прогнозирование потребительского спроса
Решается современными супермаркетами и торговыми розничными сетями. Для эффективного управления торговой сетью необходимо прогнозировать объёмы продаж для каждого товара на заданное число дней вперёд. На основе этих прогнозов осуществляется планирование закупок, управление ассортиментом, формирование ценовой политики, планирование промоакций (рекламных кампаний). Специфика задачи в том, что количество товаров может исчисляться десятками или даже сотнями тысяч. Прогнозирование и принятие решений по каждому товару «вручную» просто немыслимо. Исходными данными для прогнозирования являются временные ряды цен и объёмов продаж по товарам и по отдельным магазинам. Современные технологии позволяют снимать эти данные непосредственно с кассовых аппаратов. Для увеличения точности прогнозов необходимо также учитывать различные внешние факторы, влияющие на потребительский спрос: уровень инфляции, погодные условия, рекламные кампании, социально-демографические условия, активность конкурентов. В зависимости от целей анализа в роли объектов выступают либо товары, либо магазины, либо пары «магазин, товар». Ещё одна особенность задачи — несимметричность функции потерь. Если прогноз делается с целью планирования закупок, то потери от заниженного прогноза существенно выше потерь от завышенного.
Принятие инвестиционных решений на финансовом рынке
Все модели машинного обучения за 5 минут
Mar 6, 2020 · 5 min read
Фундаментальная сегментация моделей машинного обучения
Все модели машинного обучения разделяются на обучение с учителем (supervised) и без учителя (unsupervised). В первую категорию входят регрессионная и классификационная модели. Рассмотрим значения этих терминов и входящие в эти категории модели.
Обучение с учителем
Представляет собой изучение функции, которая преобразует входные данные в выходные на основе примеров пар ввода-вывода.
Например, из набора данных с двумя переменными: возраст (входные данные) и рост (выходные данные), можно реализовать модель обучения для прогнозирования роста человека на основе его возраста.
Пример обучения с учителем
Повторюсь, обучение с учителем подразделяется на две подкатегории: регрессия и классификация.
Регрессия
В регре с сионных моделях вывод является непрерывным. Ниже приведены некоторые из наиболее распространенных типов регрессионных моделей.
Линейная регрессия
Пример линейной регрессии
Задача линейной регрессии заключается в нахождении линии, которая наилучшим образом соответствует данным. Расширения линейной регрессии включают множественную линейную регрессию (например, поиск наиболее подходящей плоскости) и полиномиальную регрессию (например, поиск наиболее подходящей кривой).
Дерево решений
Изображение из Kaggle
Дерево решений — популярная модель, используемая в исследовании операций, стратегическом планировании и машинном обучении. Каждый прямоугольник выше называется узлом. Чем больше узлов, тем более точным будет дерево решений. Последние узлы, в которых принимается решение, называются листьями дерева. Деревья решений интуитивны и просты в создании, однако не предоставляют точные результаты.
Случайный лес
Случайный лес — это техника ансамбля методов, основанная на деревьях решений. Случайные леса включают создание нескольких деревьев решений с использованием первоначальных наборов данных и случайный выбор поднабора переменных на каждом этапе. Затем модель выбирает моду (значение, которое встречается чаще других) из всех прогнозов каждого дерева решений. Какой в этом смысл? Модель “победы большинства” снижает риск ошибки отдельного дерева.
Например, у нас есть одно дерево решений (третье), которое предсказывает 0. Однако если полагаться на моду всех 4 деревьев, прогнозируемое значение будет равно 1. В этом заключается преимущество случайных лесов.
Нейронная сеть
Визуальное представление нейронной сети
Нейронная сеть — это многослойная модель, устроенная по системе человеческого мозга. Как и нейроны в нашем мозге, круги выше представляют узлы. Синим обозначен слой входных данных, черным — скрытые слои, а зеленым — слой выходных данных. Каждый узел в скрытых слоях представляет функцию, через которую проходят входные данные, приводящие к выходу в зеленых кругах.
Классификация
В классификационных моделях вывод является дискретным. Ниже приведены некоторые из наиболее распространенных типов классификационных моделей.
Логистическая регрессия
Логистическая регрессия аналогична линейной регрессии, но используется для моделирования вероятности ограниченного числа результатов, обычно двух. Логистическое уравнение создается таким образом, что выходные значения могут находиться только между 0 и 1:
Метод опорных векторов
Метод опорных векторов — это классификационный метод обучения с учителем, довольно сложный, но достаточно интуитивный на базовом уровне.
Предположим, что существует два класса данных. Метод опорных векторов находит гиперплоскость или границу между двумя классами данных, которая максимизирует разницу между двумя классами. Есть множество плоскостей, которые могут разделить два класса, но только одна из них максимизирует разницу или расстояние между классами.
Наивный Байес
Наивный Байес — еще один популярный классификатор, используемый в науке о данных. Его идея лежит в основе теоремы Байеса:
Несмотря на ряд нереалистичных предположений, сделанных в отношении наивного Байеса (отсюда и название “наивный”), он не только доказал свою эффективность в большинстве случаев, но и относительно прост в построении.
Обучение без учителя
В отличие от обучения с учителем, обучение без учителя используется для того, чтобы сделать выводы и найти шаблоны из входных данных без отсылок на помеченные результаты. Два основных метода, используемых в обучении без учителя, включают кластеризацию и снижение размерности.
Кластеризация
Кластеризация — это техника обучения без учителя, которая включает в себя группирование или кластеризацию точек данных. Чаще всего она используется для сегментации потребителей, выявления мошенничества и классификации документов.
Распространенные методы кластеризации включают кластеризацию с помощью k-средних, иерархическую кластеризацию, сдвиг среднего значения и кластеризацию на основе плотности. У каждого из них есть свой способ поиска кластеров, однако все они предназначены для достижения одного результата.
Понижение размерности
Снижение размерности — это процесс уменьшения числа рассматриваемых случайных переменных путем получения набора главных переменных. Проще говоря, это процесс уменьшения размера набора признаков (уменьшение количества признаков). Большинство методов снижения размерности могут быть классифицированы как отбор или извлечение признаков.
Популярный метод понижения размерности называется методом главных компонент (PCA). Он представляет собой проецирование многомерных данных (например, 3 измерения) в меньшее пространство (например, 2 измерения). Это приводит к уменьшению размерности данных (2 измерения вместо 3) при сохранении всех исходных переменных в модели.