- •Порядок выполнения работы
- •Краткие теоретические сведения Функциональная постановка задачи. Основные определения
- •Метод эталонных образов
- •Метод ближайшего соседа и его обобщения
- •Некоторые метрики
- •Содержание отчета
- •Лабораторная робота №2
- •Порядок выполнения работы
- •Оформить отчет по лабораторной работе. Краткие теоретические сведения Метод опорных векторов
- •Библиотека libsvm
- •Содержание отчета
- •Лабораторная робота №3
- •Порядок выполнения работы
- •Оформить отчет по лабораторной работе. Краткие теоретические сведения
- •Содержание отчета
- •Лабораторная робота №4
- •Порядок выполнения работы
- •Оформить отчет по лабораторной работе. Краткие теоретические сведения
- •Содержание отчета
- •Лабораторная робота №5
- •Порядок выполнения работы
- •Оформить отчет по лабораторной работе. Краткие теоретические сведения
Министерство образования и науки Донецкой Народной Республики
ГОУ ВПО Донецкий национальный университет
Машинное обучение
Методические указания к выполнению лабораторных работ для студентов магистратуры, обучающихся по направлению подготовки 09.04.01 – «Информатика и вычислительная техника»
Донецк – 2016
Лабораторная робота №1
Тема: построение регрессионной модели с помощью метода ближайших соседей.
Цель: практическая реализация простейших метрических алгоритмов классификации, приобретение навыков анализа эффективности работы классификаторов.
Задача на лабораторную работу
В самолете за каждый лишний сантиметр, выходящий за габариты необходимо заплатить 3$, а за каждый лишний килограмм веса - 4$. Всего у пассажира – 30$. Функция классификации пассажиру неизвестна, поэтому он интуитивно пытается сформировать свой багаж и каждый раз проходит процедуру контроля. Пример обучающей выборки представлен в таблице 1. будет выглядеть примерно так (10 примеров):
Таблица 1. Обучающая выборка для задачи контроля багажа
№ |
ΔS |
Δm |
Класс [0,1] |
1 |
1 |
2 |
1 – контроль пройден |
2 |
5 |
6 |
0 – контроль не пройден |
… |
… |
… |
… |
10 |
|
|
|
Порядок выполнения работы
Составить обучающую последовательность из 10 экспериментов и 10 «контрольных» значений (в виде таблицы 1).
Реализовать метод сравнения с эталоном различными метриками (направляющие косинусы, евклидово расстояние, расстояние Танимото). В качестве эталона использовать среднее значения признаков из обучающей выборки.
Реализовать алгоритм KNN - k ближайших соседей с различными метриками. Подобрать оптимальные параметры алгоритма k от 2 до 5, используя критерий скользящего контроля с исключением объектов по одному и одну из трех реализованных метрик.
Реализация алгоритмов должна предусматривать графические отображения обучающей и контрольной выборок, эталонов и результатов классификации.
Оценить распознающую способность (классификация образов из обучающей выборки) и обобщающую способность (классификацию «контрольных» образов) классификаторов. В качестве функции потерь использовать индикатор несовпадения с правильным ответом.
Оформить отчет по лабораторной работе.
Краткие теоретические сведения Функциональная постановка задачи. Основные определения
Пусть имеются множество объектов X, множество ответов Y, и существует целевая функция (target function) y∗: X → Y, значения которой yi = y ∗ (xi) известны только на конечном подмножестве объектов {x1, . . ., xℓ} ⊂ X.
Пары «объект-ответ» (xi, yi) называются прецедентами.
Совокупность пар Xℓ = (xi, yi)ℓi=1 называется обучающей выборкой (training sample). Задача обучения по прецедентам заключается в том, чтобы восстановить функциональную зависимость между объектами и ответами, то есть построить отображение a: X → Y, удовлетворяющее следующей совокупности требований:
• Отображение a должно допускать эффективную компьютерную реализацию. По этой причине будем называть его алгоритмом.
• Алгоритм a(x) должен воспроизводить на объектах выборки заданные ответы:
a(xi) = yi, i = 1, . . ., ℓ.
Равенство здесь может пониматься как точное или как приближённое, в зависимости от конкретной задачи.
• На алгоритм a(x) могут накладываться разного рода априорные ограничения, например, требования непрерывности, гладкости, монотонности, и т. д., или сочетание нескольких требований. В некоторых случаях может задаваться модель алгоритма - функциональный вид отображения a(x), определённый с точностью до параметров.
• Алгоритм a должен обладать обобщающей способностью (generalization ability), то есть достаточно точно приближать целевую функцию y∗(x) не только на объектах обучающей выборки, но и на всём множестве X.
Функция потерь (loss function) - это неотрицательная функция L(a, x), характеризующая величину ошибки алгоритма a на объекте x. Если L (a, x) = 0, то ответ a(x) называется корректным.
Функционал качества алгоритма a на выборке Xℓ
Q(a,
Xℓ
) =
.
Предполагая, что Y⊆R, перечислим некоторые наиболее употребительные функции потерь:
• L (a, x) = [a(x) ≠ y∗(x)] - индикатор несовпадения с правильным ответом (обычно применяется в задачах классификации);
• L (a, x) = |a(x) − y∗(x)| > ε — индикатор существенного отклонения от правильного ответа, где ε - заданный порог точности.
Вообще, если L принимает только два значения 0 и 1, причём 1 соответствует ошибке, то функционал Q называется частотой ошибок алгоритма a на выборке Xℓ.
• L (a, x) = |a(x) − y∗(x)| - величина отклонения от правильного ответа; функционал Q называется средней ошибкой алгоритма a на выборке Xℓ;
• L (a, x) = (a(x)−y∗(x))2 - квадрат отклонения от правильного ответа; функционал Q называется средней квадратичной ошибкой алгоритма a на выборке Xℓ.
• Lw(a, x) = w(x)L (a, x) - взвешенная функция потерь, где w(x) — неотрицательная весовая функция, характеризующая степень важности объекта x или величину потери от ошибки на данном объекте; L (a, x) — некоторая функция потерь, например, любая из перечисленных выше.
Функционал качества Q называют также эмпирическим риском, так как он вычисляется по эмпирическим данным (xi, yi)ℓi=1.
Легко указать метод, который минимизирует эмпирический риск до нуля, но при этом абсолютно не способен обучаться. Получив обучающую выборку Xℓ, он запоминает её и строит алгоритм, который сравнивает предъявляемый объект x с обучающими объектами xi из Xℓ. В случае совпадения x = xi алгоритм выдаёт правильный ответ yi . Иначе выдаётся произвольный ответ. Эмпирический риск принимает наименьшее возможное значение, равное нулю. Однако этот алгоритм не способен восстановить зависимость вне материала обучения. Отсюда мораль: для успешного обучения необходимо не только запоминать, но и обобщать.
В общем случае обобщающая способность алгоритма а характеризуется величиной Q(а(Xℓ), Xk), при условии, что выборки Xℓ и Xk являются представительными, и не подобраны специально под наихудший или наилучший случай.
Решающей функцией κ(x) для двух классов y1, y2∈ Y назовем такую функцию κ: X→R, что κ(x) >0, если образ x принадлежит классу y1, и κ(x) <0, если образ x принадлежит классу a2.
На основе подобной решающей функции не составляет проблем сформировать решающее правило. Преимущество решающих функций в том, что у них не только аргументы, но и принимаемые значения имеют непрерывный характер, что позволяет применять к ним обширный аппарат математического анализа.
Уравнение κ(x)=0 задает поверхность, разделяющую два класса и называемую дискриминантной поверхностью.
Поскольку при принятии решения об отнесении образа к тому или иному классу абсолютные значения функции κ(x) внутри классов роли не играют (то есть не имеет значения, как именно распределены образы внутри классов), всю необходимую информацию о том, как следует разделять классы, несет именно эта поверхность, описывающая границу между классами в пространстве признаков. Это и объясняет название дискриминантного подхода.
Разделяющая поверхность удобна для принятия решений при классификации образов. Однако класс может быть задан не через его границы с другими классами, а как отдельная область в пространстве признаков. Если области, соответствующие двум классам, не пересекаются, то эти классы называются разделимыми в данном пространстве признаков. Иными словами, разделимость классов означает, что для них существует решающая функция, корректно классифицирующая любой образ. Напротив, если области пересекаются, то такой функции не существует, и классы называются неразделимыми.
