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

Сбор данных

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

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

Машинное обучение

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

Пример задачи классификации

Пример данных:

Здесь у нас есть некоторые данные, описывающие характеристики некоторых людей, а также тип контактных линз, рекомендуемых для этих людей. Итак, интересующая нас информация уже содержится в данных, то, что я хочу получить, — это правило (система), которое автоматически позволяет мне связать класс контактных линз, наиболее подходящих каждому человеку. Предпосылками для этого является предоставление представления данных. Это может быть векторный, в котором объект отнести к одному из N классов, тогда он будет описываться вектором характеристик, который может быть числовым или категориальным (т.е. дискретным типом) и также исходя из этого будем использовать определенный метод машинного обучения. В зависимости от области действия мы можем видеть эти данные как кортежи или как вектор дискретных характеристик (т. е. каждый атрибут принимает одно из N значений, принадлежащих определенному набору).

Со ссылкой на if_then_rules.py внутри у нас есть несколько простых правил типа if then else, в которых учитываются такие атрибуты, как возраст пациента, астигматизм и скорость слезопродукции.
Это правило. которые может использовать врач. Мы хотим извлечь эти правила из информации, содержащейся в данных, или с помощью менее явных моделей понять, что сделал бы врач, то есть присвоить правильный класс (правильный атрибут между отсутствием, мягкими и жесткими) для типа линз. рекомендуемые.

Ансамблевое обучение и глубокое обучение

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

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

В отдельной статье я представлю более сложную концепцию обучения с подкреплением (RL).

Предварительная обработка данных

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

Особенности имеют решающее значение

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

Example 1: in vitro fertilization
  Given: embryos described by 60 features
  Problem: selection of embryos that will survive
  Data: historical records of embryos and outcome

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

В этом случае у меня есть два подхода:

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

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

Объяснимый искусственный интеллект (XAI)

Объяснимый ИИ (XAI) относится к методам и методам, которые позволяют понять, как алгоритм принимает решение. Конечная цель состоит в том, чтобы решение было понятно человеку. Этот аспект заставляет нас задуматься о том, какую технику DM или ML мы выбираем. У нас может быть ограничение в том, как была реализована возможность предсказания. Например, в области медицины мне нужна не просто система, которая автоматически сообщает мне класс, но мы также хотим увидеть, как система пришла к решению.
У нас есть методы машинного обучения, в которых мы даем входные данные, а затем получаем выходные данные, но все это происходит в «закрытом ящике», и мы не вдаемся в то, как он пришел к такому выводу. Другие методы также позволяют нам объяснить, почему мы выбираем определенный объект или почему он ведет себя определенным образом.
Некоторые классификаторы работают с неявным внутренним представлением, которое очень сложно сделать явным, например Нейронные сети и Машина опорных векторов (SVM). Интерпретация с этими классификаторами очень сложна.

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

Алгоритмы получения структурных описаний из примеров

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

Прогноз

ML можно использовать для прогнозирования результата в новой ситуации

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

Классификация против правил ассоциации

Давайте посмотрим на разницу между правилами классификации и правилами ассоциации. Правило классификации предсказывает значение данного атрибута, например:

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

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

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

правила:

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

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

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

Давайте посмотрим на пример классификации цветов ириса, в котором у нас есть числовые атрибуты:

Обратите внимание, что каждый кортеж также может быть создан исключительно с использованием числовых значений. Здесь у нас есть типичный пример набора данных ML. Точки показаны для краткости.
Примечание (тип дискретных или непрерывных данных): в некоторых наборах данных, если у меня есть атрибуты со всеми дискретными значениями, некоторые структурные представления содержат в себе использование правил которые обеспечивают равенство значений атрибутов, в случае числовых значений вещью можно управлять с помощью операторов отношения.
Давайте посмотрим на правила:

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

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

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

Примечание. CT обозначает время цикла, M — основную память, CACH — кэш, CH — канал, PRP — производительность.

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

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

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

Машинное обучение и статистика

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

В прошлом очень похожие схемы развивались параллельно в машинном обучении и статистике. Одним из них является индукция дерева решений. Четыре статистика (Breiman et al., 1984) опубликовали книгу «Деревья классификации и регрессии» в середине 1980-х годов, а на протяжении 1970-х и начала 1980-х годов известный исследователь машинного обучения Дж. Росс Куинлан разрабатывал систему для логического вывода классификации. деревья из примеров. Эти два независимых проекта создали очень похожие схемы генерации деревьев из примеров, и исследователи узнали о работе друг друга гораздо позже.

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

Обобщение как поиск

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

В перечислении есть несколько практических проблем, одна из которых связана с исследовательским пространством. В случае временной проблемы с различными атрибутами у меня может быть 288 комбинаций, которые с 14 правилами приводят к 2,7 * 10³⁴ правил.
Другие подходы — это, например, спуск по градиенту, где у меня нет правил. пространство, но числовое пространство, и таким образом, учитывая описание, основанное на числах, я максимизирую или минимизирую определенную функцию. Обычно выбор делается с помощью эвристических методов, которые часто приводят к отличным вспомогательным решениям.

Смещение и переобучение

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

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

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

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

Ссылка

ИЗУЧЕНИЕ ДАННЫХ — Практические инструменты и методы машинного обучения, https://www.cs.waikato.ac.nz/ml/weka/book.html