Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
342.24 Кб
Скачать

Министерство образования и науки Донецкой Народной Республики

ГОУ ВПО Донецкий национальный университет

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

Методические указания к выполнению лабораторных работ для студентов магистратуры, обучающихся по направлению подготовки 09.04.01 – «Информатика и вычислительная техника»

Донецк – 2016

Лабораторная робота №1

Тема: построение регрессионной модели с помощью метода ближайших соседей.

Цель: практическая реализация простейших метрических алгоритмов классификации, приобретение навыков анализа эффективности работы классификаторов.

Задача на лабораторную работу

В самолете за каждый лишний сантиметр, выходящий за габариты необходимо заплатить 3$, а за каждый лишний килограмм веса - 4$. Всего у пассажира – 30$. Функция классификации пассажиру неизвестна, поэтому он интуитивно пытается сформировать свой багаж и каждый раз проходит процедуру контроля. Пример обучающей выборки представлен в таблице 1. будет выглядеть примерно так (10 примеров):

Таблица 1. Обучающая выборка для задачи контроля багажа

ΔS

Δm

Класс [0,1]

1

1

2

1 – контроль пройден

2

5

6

0 – контроль не пройден

10

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

  1. Составить обучающую последовательность из 10 экспериментов и 10 «контрольных» значений (в виде таблицы 1).

  2. Реализовать метод сравнения с эталоном различными метриками (направляющие косинусы, евклидово расстояние, расстояние Танимото). В качестве эталона использовать среднее значения признаков из обучающей выборки.

  3. Реализовать алгоритм KNN - k ближайших соседей с различными метриками. Подобрать оптимальные параметры алгоритма k от 2 до 5, используя критерий скользящего контроля с исключением объектов по одному и одну из трех реализованных метрик.

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

  5. Оценить распознающую способность (классификация образов из обучающей выборки) и обобщающую способность (классификацию «контрольных» образов) классификаторов. В качестве функции потерь использовать индикатор несовпадения с правильным ответом.

  6. Оформить отчет по лабораторной работе.

Краткие теоретические сведения Функциональная постановка задачи. Основные определения

Пусть имеются множество объектов 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, y2Y назовем такую функцию κ: XR, что κ(x) >0, если образ x принадлежит классу y1, и κ(x) <0, если образ x принадлежит классу a2.

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

Уравнение κ(x)=0 задает поверхность, разделяющую два класса и называемую дискриминантной поверхностью.

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

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