[БЕЗ_ЗВУКА] Давайте пойдем дальше и посмотрим, как можно еще обобщить метод ближайших соседей, чтобы справиться вот с теми двумя недостатками, которые были отмечены. Мы вольны выбирать функцию весов соседей, как мы хотим. Давайте сделаем так, чтобы вес соседа убывал по мере возрастания расстояния до него. Введем два новых понятия: это ядро, это функция положительная, не возрастающая на отрезке [0, 1], и ширина окна. И вот если мы функцию веса зададим как такую конструкцию — ядро от расстояния поделить на ширину окна, то получим такую вот взвешенную функцию, которая придает меньшие веса тем соседям, которые находятся дальше. И этот метод называется методом окна Парзена и у него есть два варианта. Первый вариант — это когда мы используем окно фиксированной ширины h, но это не очень хорошо работает в тех задачах, где плотность распределения объектов неравномерна и есть области пространства, где объекты лежат густо, а в других областях объекты лежат более разреженно, и в таком случае хочется в первой области использовать более узкое окно, а во втором случае — более широкое. Ну в таком случае в качестве ширины окна берут расстояние до (k + 1) соседа. Это означает, что для k-ближайших соседей будут ненулевые веса. И вот таким вот образом решается эта проблема неравномерности распределения объектов в пространстве. Ну, естественно, параметры либо h, либо k можно оптимизировать по тому же самому критерию leave-one-out, или скользящий контроль с исключением объектов по одному. А вот ядра в функции k, они не очень сильно влияют на качество классификации. Критическим параметром здесь является всегда ширина окна. Давайте рассмотрим это на примере. Возьмем синтетическую задачу — двумерную выборку, где есть два класса. Классы будем помечать (−1) и (+1). И вот эту нашу конструкцию метрического классификатора можно еще записать по-другому как знак разности: оценка близости объекта класса (+1) минус оценка близости объекта x класса (−1). Ну и понятно, что если эта оценка положительна, то объект будет относиться к классу (+1), если отрицательна — (−1). И мы можем вот эту вот степень близости, эту разность изобразить цветом на графике, что здесь и сделано. И серия графиков сейчас покажет, как меняется фактически граница между классами по мере увеличения ширины окна. Вот когда ширина окна была 0,1, то фактически работал метод ближайшего соседа. Это слишком узкое окно. Вот мы его потихоньку увеличиваем, и граница между классами размазывается, становится более похожей на окружность. И это на самом деле окружность — это оптимальная граница между этими двумя классами. Мы их на самом деле так синтезировали, мы их так задумали. Вот это плотное облачко точек зеленого цвета, класс (+1), они распределены в сферической области. Ну и видно было, насколько плохо восстановил эту сферическую область алгоритм, который работал по только первому ближайшему соседу. Ну а если мы берем еще шире окно, еще шире, то в какой-то момент у нас уже начинает наш алгоритм классификации вырождаться, и он теперь плохо работает, потому что окно слишком широкое. Есть еще одно обобщение. Это метод потенциальных функций. Он очень похож на метод парзеновского окна, но он меняет наш взгляд на то, что относительно чего расположено. Вот в методе парзеновского окна мы можем представить себя, стоящими в точке x (это точка классифицируемого объекта), и мы смотрим на окрестность этой точки и подсчитываем число объектов, попавших в эту окрестность, и принимаем решение о классе. Можно считать, что функция расстояния симметрична, поэтому мы можем представить себя, стоящими по очереди в каждом обучающем объекте, и думать, что каждый объект обучающей выборки распространяет вокруг себя потенциал своего класса. Это прямая аналогия с электростатикой. Если представить себе, что точки — это заряженные частицы (положительные и отрицательные), то каждая точка распространяет вокруг себя электрическое поле. И фактически знак этого поля в произвольной точке пространства x как раз и покажет, к чему мы ближе: к положительно заряженным объектам или к отрицательно заряженным объектам. Ну вот эта электростатическая аналогия, она совершенно необязательно диктует нам функцию ядра K(r). Конечно, эту функцию можно выбрать как угодно, а не только по формуле, которые известны из физики. Но этот метод хорош тем, что в нем теперь появляются параметры, и с каждым объектом обучающей выборки мы можем связать даже два числа. Первое — это как бы величина «заряда», находящаяся в точке — насколько эта точка важна для классификации, и вторая — насколько эта точка далеко распространяет вокруг себя потенциал. hi-тое — это радиус действия потенциала с центром в обучающем объекте. Таким образом у нас получается классификатор, существенно обогащенный параметрами. Теперь можно настраивать эти параметры по обучающей выборке. Собственно, алгоритм перестает быть ленивым. Нам не только надо хранить обучающую выборку, но и настроить эти параметры. Как они настраиваются? На самом деле классификатор метода потенциальных функций — это разновидность линейного классификатора. О линейных классификаторах мы будем говорить с вами дальше, и мы изучим подробно методы, которыми можно настраивать веса в линейных классификаторах. Сейчас для нас принципиально важен вот какой момент, что здесь в качестве признаков мы фактически используем функции близости между классифицируемым объектом и объектом обучающей выборки. То есть каждый обучающий объект индуцирует признак, и признаков здесь ровно столько, сколько объектов обучающей выборки. Вот это глубинное сходство между метрическим классификатором (методом потенциальных функций) и линейным классификатором дает очень большую свободу при использовании линейных моделей классификации. Мы понимаем, что признаки — это могут быть исходно имеющиеся признаки, а можно в качестве признаков использовать близость до объектов обучающей выборки. Это очень интересная возможность, которая в разных задачах может принести вам успех и повышение точности классификации. Давайте резюмируем. Итак, метрические классификаторы, с одной стороны, — это один из самых простых способов классификации, и проще метода ближайшего соседа, наверное, не может быть ничего. Но, с другой стороны, шаг за шагом можно обобщить эту простую конструкцию и сделать ее действительно интересной, настраиваемой, с разными параметрами, начиная просто от числа ближайших соседей или ширины окна и заканчивая такими параметрами, как веса объектов или ширина потенциала, которые обучающие объекты распространяют вокруг себя. [БЕЗ_ЗВУКА]