Лэмбовский сдвиг
- 1 year ago
- 0
- 0
Сдвиг среднего значения — это непараметрическая техника анализа пространства признаков для определения местоположения максимума плотности вероятности , так называемый алгоритм поиска моды . Область применения техники — кластерный анализ в компьютерном зрении и обработке изображений .
Процедуру сдвига среднего значения представили в 1975 Фукунага и Хостетлер .
Сдвиг среднего значения является процедурой для определения местоположения максимумов ( мод ) плотности вероятности, задаваемой дискретной выборкой по этой функции . Метод является итеративным, и мы начинаем с начальной оценки . Пусть будет задана ядерная функция . Эта функция определяет вес ближайших точек для переоценки среднего. Обычно используется от расстояния до текущей оценки . Взвешенное среднее плотности в окне, определённом функцией равно
где является окрестностью точки , то есть набором точек, для которых .
Разность в статье Фукунаги и Хостетлера названа сдвигом среднего значения .
Алгоритм сдвига среднего значения теперь назначает и повторяет оценку, пока не сойдётся.
Хотя алгоритм сдвига среднего значения широко используется во многих приложениях, строгое доказательство сходимости алгоритма, использующего ядро общего вида в пространствах высокой размерности, отсутствует . Алийари Гассабех показал сходимость алгоритма сдвига среднего значения в одномерном пространстве с дифференцируемой, выпуклой и строго убывающей функцией профиля . Однако случай одной размерности имеет ограниченное применение для реальных задач. Была доказана сходимость алгоритма для случаев высокой размерности с конечным числом (или изолированных) стационарных точек . Однако достаточные условия, чтобы функция ядра имела конечное число (или изолированные) стационарных точек, приведены не были.
Пусть данные представляют собой конечный набор точек в n-мерном евклидовом пространстве X. Пусть K будет плоским ядром, которое является характеристической функцией на -шаре в X,
На каждой итерации алгоритма выполняется для всех одновременно. Первый вопрос тогда, как оценить плотность вероятности по заданному пространственному набору точек. Простейший подход — просто сгладить данные, то есть осуществить свёртку с фиксированным ядром ширины ,
,
где являются входными точками, а является ядерной функцией (или окном Парзена ). Параметр h является единственным параметром в алгоритме и он называется шириной пропускания. Этот подход известен как техника оценки плотности ядра или как окно Парзена. Как только мы вычислили из уравнения выше, мы можем найти локальный максимум функции с помощью техники градиентного спуска или другой оптимизационной техники. Проблема с таким подходом «грубой силы» в том, что для высоких размерностей становится вычислительно невозможно вычислить по всему пространству. Вместо этого алгоритм сдвига среднего значения использует вариант, который в оптимизационной литературе известен как градиентный спуск с многократным рестартом . Начиная с некоторого предположения о местоположении локального максимума , который может быть случайной точкой входных данных , сдвиг среднего значения вычисляет оценку градиента плотности в точке и осуществляет шаг в этом направлении (в сторону увеличения) .
Определение ядра: Пусть X будет n-мерным евклидовым пространством . Обозначим i-тую компоненту x через . Нормой вектора x является неотрицательное число . Говорят, что функция K: является ядром, если существует профиль , такой, что
и
Два часто используемых ядерных профиля для сдвига среднего значения:
где параметр стандартного отклонения служит параметром ширины пропускания .
Рассмотрим набор точек в двухмерном пространстве. Рассмотрим круглое окно с центром в C с радиусом r в качестве ядра. Метод сдвига среднего значения является алгоритмом поиска экстремума, который сдвигает это ядро итеративно к области с большей плотностью, пока процесс не сойдётся. Любой сдвиг определяется вектором сдвига среднего значения. Вектор сдвига среднего значения всегда указывает в направлении максимального увеличения плотности. На каждой итерации ядро сдвигается к центру тяжести или среднему значению точек внутри его. Метод вычисления этого среднего зависит от выбора ядра. Если выбрано гауссово ядро вместо плоского ядра, то каждой точке будет назначен вес, который уменьшается экспоненциально по мере увеличения расстояния от центра ядра. Когда процесс сойдётся, не будет направления, в котором сдвиг может вместить больше точек внутрь ядра.
Алгоритм сдвига среднего значения можно использовать для визуального отслеживания. Простейший алгоритм такого рода мог бы создавать карту согласованности в новом изображении, основываясь на цветовой гистограмме объекта в предыдущем изображении, и использовать сдвиг среднего значения для нахождения пика карты согласованности рядом со старой позицией объекта. Карта согласованности является плотностью вероятности на новом изображении, назначающей каждой точке нового изображения вероятность, которая равна вероятности цвета точки объекта на предыдущем изображении. Несколько алгоритмов, таких как отслеживание на основе ядер , ансамблевое отслеживание , CAMshift расширяют эту идею.
Пусть будет d-мерным входом и будет отфильтрованными пикселями изображения в пространственных областях. Для каждого пикселя,
Варианты алгоритма можно найти в пакетах машинного обучения и обработки изображений: