Общие понятия — различия между версиями
(→Примеры задач) |
|||
Строка 141: | Строка 141: | ||
* '''Задача классификации видов ириса (Фишер 1936)''' <ref>[https://ru.wikipedia.org/wiki/%D0%98%D1%80%D0%B8%D1%81%D1%8B_%D0%A4%D0%B8%D1%88%D0%B5%D1%80%D0%B0 Задача классификации видов ириса]</ref> <ref>[http://edu.mmcs.sfedu.ru/pluginfile.php/17198/mod_resource/content/1/01%20%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%8B%D0%B5%20%D0%BF%D0%BE%D0%BD%D1%8F%D1%82%D0%B8%D1%8F.pdf Презентация "Основные понятия машинного обучения"]</ref><br/> | * '''Задача классификации видов ириса (Фишер 1936)''' <ref>[https://ru.wikipedia.org/wiki/%D0%98%D1%80%D0%B8%D1%81%D1%8B_%D0%A4%D0%B8%D1%88%D0%B5%D1%80%D0%B0 Задача классификации видов ириса]</ref> <ref>[http://edu.mmcs.sfedu.ru/pluginfile.php/17198/mod_resource/content/1/01%20%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%8B%D0%B5%20%D0%BF%D0%BE%D0%BD%D1%8F%D1%82%D0%B8%D1%8F.pdf Презентация "Основные понятия машинного обучения"]</ref><br/> | ||
[[Файл:Iris_classification.png|650px]] | [[Файл:Iris_classification.png|650px]] | ||
+ | |||
+ | == Открытые наборы данных для обучения == | ||
+ | ==== Компьютерное зрение ==== | ||
+ | * [https://golos.io/leave_page?http%3A%2F%2Fpjreddie.com%2Fprojects%2Fmnist-in-csv%2F MNIST]: один из самых востребованных наборов для проверки работоспособности. Есть датасеты 25x25, отцентрованные, рукописные чёрно-былые цифры. | ||
== См. также == | == См. также == |
Версия 22:15, 24 января 2019
Содержание
- 1 Понятие машинного обучения в искусственном интеллекте
- 2 Задача обучения
- 3 Классификация задач машинного обучения
- 3.1 Обучение с учителем (англ. Supervised learning [3])
- 3.2 Обучение без учителя (англ. Unsupervised learning)
- 3.3 Обучение с частичным привлечением учителя (англ. Semi-supervised learning[4])
- 3.4 Обучение с подкреплением (англ. Reinforcement learning)
- 3.5 Активное обучение (англ. Active learning)
- 3.6 Обучение в реальном времени (англ. Online learning)
- 4 Примеры задач
- 5 Открытые наборы данных для обучения
- 6 См. также
- 7 Примечания
- 8 Источники информации
Понятие машинного обучения в искусственном интеллекте
Одним из первых, кто использовал термин "машинное обучение", был изобретатель первой самообучающейся компьютерной программы игры в шашки А. Л. Самуэль в 1959 г. [1]
Определение: |
Машинное обучение (англ. Machine learning) — процесс, который даёт возможность компьютерам обучаться выполнять что-то без явного написания кода. |
Это определение не выдерживает критики, так как не понятно, что означает наречие "явно". Более точное определение дал намного позже Т. М. Митчелл. [2]
Определение: |
Говорят, что компьютерная программа обучается на опыте $E$ относительно некоторой задачи $T$ и некоторой меры производительности $P$, если ее производительность на $T$, измеренная $P$, улучшается с опытом $E$. |
Задача обучения
$X$ — множество объектов (англ. object set, or input set)
$Y$ — множество меток классов (англ. label set, or output set)
$y ∶ X → Y$ — неизвестная зависимость (англ. unknown target function (dependency))
Компьютер всегда имеет дело с признаковым описанием объектов. Например: пациента можно описать признаками: имя, возраст, номер полиса, жалобы, давление, температура, результаты анализов.
$f_j∶ X → D_j,j = 1, ... , n$ — признаки (англ. features, or attributes).
Типы признаков:
- бинарный (binary): $D_j = \{0, 1\}$
- номинальный (categorical): $D_j$ конечно
- упорядоченный (ordinal): $D_j$ конечно и упорядоченно
- количественный (numerical): $D_j = \mathbb{R}$
т.е объект представляется как набор признаков $(f_1(x),... ,f_n(x))$. Данные обычно представляются в виде матрицы объектов-признаков
Дано
${x_1, . . . , x_l} ⊂ X$ — обучающая выбока (англ. training sample set)
$y_i = y(x_i), i = 1, . . . , l $ — известные метки классов
Найти
Найти $ a ∶ X → Y $ — алгоритм, решающую функцию (англ. decision function), приближающую $y$ на всём множестве $X$.
Типы задач
Задачи классификации (англ. classification):
- $Y = \{−1, +1\}$ — классификация на 2 класса
- $Y = \{1, . . . , M\}$ — на $M$ непересекающихся классов
- $Y = \{0, 1\}^M$— на $M$ классов, которые могут пересекаться.
Примеры: распознавание текста по рукописному вводу, определение того, находится на фотографии человек или кот.
Задачи восстановления регрессии (англ. regression):
- $Y = \mathbb{R}$ или $Y = \mathbb{R}^m$
Примеры: предсказание стоимости акции через полгода, предсказание прибыли магазина в следующем месяце, предсказание качества вина на слепом тестировании.
Задачи ранжирования (англ. ranking):
- $Y$ — конечное упорядоченное множество
Пример: выдача поискового запроса.
Задачи уменьшения размерности (англ. dimensionality reduction)
Научиться описывать данные не $N$ признаками, а меньшим числом для повышения точности модели или последующей визуализации. В качестве примера помимо необходимости для визуализации можно привести сжатие данных.
Задачи кластеризации (англ. cluster analysis)
Разбиение данных множества объектов на подмножества (кластеры) таким образом, чтобы объекты из одного кластера были более похожи друг на друга, чем на объекты из других кластеров по какому-либо критерию.
Примеры: разбиение клиентов сотового оператора по платёжеспособности, разбиение космических объектов на похожие (галактики, планеты, звезды и так далее).
Задачи выявления аномалий (англ. anomaly detection)
На основании признаков научиться различать отличать аномалии. Кажется, что от задачи классификации эта задача ничем не отличается. Но особенность выявления аномалий состоит в том, что примеров аномалий для тренировки модели у нас либо очень мало, либо нет совсем, поэтому мы не можем решать такую задачу как задачу классификации.
Пример: определение мошеннических транзакций по банковской карте.
Классификация задач машинного обучения
Обучение с учителем (англ. Supervised learning [3])
Тренировочные данные доступны все сразу и размечены (известны ответы для поставленной задачи).
Задачи которые могут решаться этим способом: классификация, регрессия.
Обучение без учителя (англ. Unsupervised learning)
Изучает широкий класс задач обработки данных, в которых известны только описания множества объектов (обучающей выборки), и требуется обнаружить внутренние взаимосвязи, зависимости, закономерности, существующие между объектами.Т.е тренировочные данные доступны все сразу, но ответы для поставленной задачи неизвестны.
Задачи, которые могут решаться этим способом: кластеризация, нахождение ассоциативных правил, выдача рекомендаций (например реклама), уменьшение размености датасета.
Обучение с частичным привлечением учителя (англ. Semi-supervised learning[4])
Занимает промежуточное положение между обучением с учителем и без учителя. Каждый прецедент представляет собой пару «объект, ответ», но ответы известны только на части прецедентов (Размечено мало, либо малоинформативная часть).
Примером частичного обучения может послужить сообучение: два или более обучаемых алгоритма используют один и тот же набор данных, но каждый при обучении использует различные — в идеале некоррелирующие — наборы признаков объектов.
Обучение с подкреплением (англ. Reinforcement learning)
Частный случай обучения с учителем, сигналы подкрепления (правильности ответа) выдаются не учителем, а некоторой средой, с которой взаимодействует программа. Размеченность данных зависит от среды.
Окружение обычно формулируется как марковский процесс принятия решений (МППР) с конечным множеством состояний, и в этом смысле алгоритмы обучения с подкреплением тесно связаны с динамическим программированием. Вероятности выигрышей и перехода состояний в МППР обычно являются величинами случайными, но стационарными в рамках задачи.
При обучении с подкреплением, в отличии от обучения с учителем,не предоставляются верные пары "входные данные-ответ", а принятие суб оптимальных решений (дающих локальный экстремум) не ограничивается явно. Обучение с подкреплением пытается найти компромисс между исследованием неизученных областей и применением имеющихся знаний.
Активное обучение (англ. Active learning)
Отличается тем, что обучаемый имеет возможность самостоятельно назначать следующий прецедент, который станет известен. Используется когда получать ответ для объекта, истинный ответ, очень дорого (очень тяжело). Поэтому алгоритм должен уметь определять, на каких объектах ему надо знать ответ, чтобы лучше всего обучиться, построить наилучшую модель.
Обучение в реальном времени (англ. Online learning)
Может быть как обучением с учителем, так и без учителя. Специфика в том, что тренировочные данные поступают последовательно. Требуется немедленно принимать решение по каждому прецеденту и одновременно доучивать модель зависимости с учётом новых прецедентов. Здесь существенную роль играет фактор времени.
Примеры задач
- Предсказание месторождений полезных ископаемых
Признаками являются данные геологической разведки.
- Бинарные признаки: наличие/отсутствие тех или иных пород на территории района.
- Количественные признаки: физико-химические свойства пород можно описать количественной характеристикой.
Обучающая выборка состоит из двух классов
- районы известных месторождений
- похожие районов, в которых интересующее ископаемое обнаружено не было
При поиске редких полезных ископаемых количество объектов может оказаться намного меньше, чем количество признаков. В этой ситуации плохо работают классические статистические методы. Задача решается путём поиска закономерностей в имеющемся массиве данных. В процессе решения выделяются короткие наборы признаков, обладающие наибольшей информативностью — способностью наилучшим образом разделять классы ("синдромы" месторождений).
- Оценивание кредитоспособности заёмщиков
Эта задача решается банками при выдаче кредитов. Объектами в данном случае являются физические или юридические лица, претендующие на получение кредита.
В случае физических лиц признаковое описание состоит из :
- анкеты, которую заполняет сам заёмщик
- дополнительной информации, которую банк собирает о нём из собственных источников
Можно выделить следующие признаки:
- Бинарные признаки: пол, наличие телефона.
- Номинальные признаки: место проживания, профессия, работодатель.
- Порядковые признаки: образование, занимаемая должность.
- Количественные признаки:сумма кредита, возраст, стаж работы, доход семьи, размер задолженностей в других банках.
Обучающая выборка составляется из заёмщиков с известной кредитной историей.
На стадии обучения производится синтез и отбор информативных признаков и определяется, сколько баллов назначать за каждый признак, чтобы риск принимаемых решений был минимален. Чем выше суммарное число баллов заёмщика, набранных по совокупности информативных признаков, тем более надёжным считается заёмщик.
- Задачи медицинской диагностики
В роли объектов выступают пациенты. Признаки характеризуют результаты обследований, симптомы заболевания и применявшиеся методы лечения.
- Бинарных признаки: пол, наличие головной боли, слабости.
- Порядковый признак: тяжесть состояния (удовлетворительное, средней тяжести, тяжёлое, крайне тяжёлое).
- Количественные признаки:возраст, пульс, артериальное давление, содержание гемоглобина в крови, доза препарата.
Признаковое описание пациента является, по сути дела, формализованной историей болезни.
Накопив достаточное количество данных, можно решать различные задачи:
- классифицировать вид заболевания (дифференциальная диагностика);
- определять наиболее целесообразный способ лечения;
- предсказывать длительность и исход заболевания;
- оценивать риск осложнений;
- находить наиболее характерные для данного заболевания совокупности симптомов.
Ценность такого рода систем в том, что они способны мгновенно анализировать и обобщать огромное количество прецедентов — возможность, недоступная специалисту-врачу.
Открытые наборы данных для обучения
Компьютерное зрение
- MNIST: один из самых востребованных наборов для проверки работоспособности. Есть датасеты 25x25, отцентрованные, рукописные чёрно-былые цифры.
См. также
- Переобучение
- Модель алгоритма и ее выбор
- Оценка качества в задаче кластеризации
- Кросс-валидация
- Обзор библиотек для машинного обучения на Python
Примечания
- ↑ A.L. Samuel "Some Studies in Machine Learning Using the Game of Checkers" (IBM Journal. July 1959. P. 210–229)
- ↑ T.M. Mitchell "Machine Learning" (McGraw-Hill, 1997)
- ↑ Обучение с учителем
- ↑ Semi-supervised learning
- ↑ Задача классификации видов ириса
- ↑ Презентация "Основные понятия машинного обучения"
Источники информации
- Машинное обучение — Wiki
- Курс лекций по машинному обучению — Воронцов К.В.
- Статья "Машинное обучение для чайников"