Статистический алгоритм
Алгоритмы наименьших средних квадратов ( LMS ) представляют собой класс адаптивных фильтров, используемых для имитации желаемого фильтра путем нахождения коэффициентов фильтра, которые относятся к получению наименьшего среднего квадрата сигнала ошибки (разницы между желаемым и фактическим сигналом). Это метод стохастического градиентного спуска , в котором фильтр адаптируется только на основе ошибки в текущий момент времени. Он был изобретен в 1960 году профессором Стэнфордского университета Бернардом Уидроу и его первым аспирантом Тедом Хоффом на основе их исследований однослойных нейронных сетей ( ADALINE ). В частности, они использовали градиентный спуск, чтобы обучить ADALINE распознавать шаблоны, и назвали алгоритм « дельта-правилом ». Затем они применили правило к фильтрам, в результате чего появился алгоритм LMS.
Формулировка проблемы
На рисунке показаны различные части фильтра. — входной сигнал, который затем преобразуется неизвестным фильтром , который мы хотим сопоставить с помощью . Выход неизвестного фильтра — , который затем интерферирует с шумовым сигналом , производя . Затем вычисляется сигнал ошибки , и он возвращается в адаптивный фильтр для настройки его параметров с целью минимизации среднего квадрата сигнала ошибки .
Связь с фильтром Винера
Реализация каузального фильтра Винера очень похожа на решение для оценки наименьших квадратов, за исключением области обработки сигнала. Решение наименьших квадратов для входной матрицы и выходного вектора
:
Фильтр наименьших средних квадратов FIR связан с фильтром Винера, но минимизация критерия ошибки первого не зависит от взаимных корреляций или автокорреляций. Его решение сходится к решению фильтра Винера. Большинство задач линейной адаптивной фильтрации можно сформулировать с помощью приведенной выше блок-схемы. То есть, необходимо идентифицировать неизвестную систему, а адаптивный фильтр пытается адаптировать фильтр , чтобы сделать ее максимально близкой к , используя только наблюдаемые сигналы , и ; но , и не являются непосредственно наблюдаемыми. Его решение тесно связано с фильтром Винера .
Определение символов
- номер текущего входного образца
- количество кранов фильтра
- ( Эрмитово транспонирование или сопряженное транспонирование )
- оцененный фильтр; интерпретировать как оценку коэффициентов фильтра после n выборок
Идея
Основная идея фильтра LMS заключается в приближении к оптимальным весам фильтра путем обновления весов фильтра таким образом, чтобы они сходились к оптимальному весу фильтра. Это основано на алгоритме градиентного спуска. Алгоритм начинается с предположения малых весов (в большинстве случаев нулевых) и на каждом шаге, находя градиент среднеквадратической ошибки, веса обновляются. То есть, если градиент MSE положительный, это означает, что ошибка будет продолжать увеличиваться положительно, если тот же вес используется для дальнейших итераций, что означает, что нам нужно уменьшить веса. Точно так же, если градиент отрицательный, нам нужно увеличить веса. Уравнение обновления веса имеет вид
где представляет собой среднеквадратичную ошибку, а — коэффициент сходимости.
Отрицательный знак показывает, что мы идем вниз по наклону ошибки, чтобы найти веса фильтра, которые минимизируют ошибку.
Среднеквадратическая ошибка как функция весов фильтра является квадратичной функцией, что означает, что она имеет только один экстремум, который минимизирует среднеквадратичную ошибку, которая является оптимальным весом. Таким образом, LMS приближается к этим оптимальным весам, поднимаясь/спускаясь вниз по кривой среднеквадратической ошибки против веса фильтра.
Вывод
Идея фильтров LMS заключается в использовании скорейшего спуска для нахождения весов фильтров , которые минимизируют функцию стоимости . Начнем с определения функции стоимости как
где — ошибка в текущей выборке n , а — ожидаемое значение .
Эта функция стоимости ( ) является среднеквадратической ошибкой, и она минимизируется LMS. Отсюда LMS и получила свое название. Применение наискорейшего спуска означает взятие частных производных по отдельным элементам вектора коэффициента фильтра (веса)
где находится оператор градиента
Теперь, — это вектор, который указывает на самый крутой подъем функции стоимости. Чтобы найти минимум функции стоимости, нам нужно сделать шаг в противоположном направлении от . Чтобы выразить это в математических терминах
где — размер шага (константа адаптации). Это означает, что мы нашли алгоритм последовательного обновления, который минимизирует функцию стоимости. К сожалению, этот алгоритм не реализуем, пока мы не узнаем .
Обычно ожидание выше не вычисляется. Вместо этого, чтобы запустить LMS в онлайн-среде (обновляя после получения каждого нового образца), мы используем мгновенную оценку этого ожидания. См. ниже.
Упрощения
Для большинства систем функция ожидания должна быть аппроксимирована. Это можно сделать с помощью следующей несмещенной оценки
где указывает количество образцов, которые мы используем для этой оценки. Самый простой случай —
Для этого простого случая алгоритм обновления выглядит следующим образом:
По сути, это и есть алгоритм обновления фильтра LMS.
Резюме алгоритма LMS
Алгоритм LMS для фильтра порядка можно обобщить следующим образом:
Сходимость и устойчивость в среднем
Поскольку алгоритм LMS не использует точные значения ожиданий, веса никогда не достигнут оптимальных весов в абсолютном смысле, но возможна конвергенция в среднем. То есть, даже если веса могут изменяться на небольшие величины, они изменяются относительно оптимальных весов. Однако, если дисперсия, с которой изменяются веса, велика, конвергенция в среднем будет вводящей в заблуждение. Эта проблема может возникнуть, если значение размера шага выбрано неправильно.
Если выбрано большим, то величина, на которую изменяются веса, сильно зависит от оценки градиента, и поэтому веса могут измениться на большую величину, так что градиент, который был отрицательным в первый момент, может теперь стать положительным. А во второй момент вес может измениться в противоположном направлении на большую величину из-за отрицательного градиента и, таким образом, будет продолжать колебаться с большой дисперсией вокруг оптимальных весов. С другой стороны, если выбрано слишком малым, то время сходимости к оптимальным весам будет слишком большим.
Таким образом, необходима верхняя граница , которая задается как ,
где — наибольшее собственное значение матрицы автокорреляции . Если это условие не выполняется, алгоритм становится неустойчивым и расходится.
Максимальная скорость сходимости достигается, когда
где — наименьшее собственное значение . Учитывая, что меньше или равно этому оптимуму, скорость сходимости определяется , причем большее значение дает более быструю сходимость. Это означает, что более быстрая сходимость может быть достигнута, когда близка к , то есть максимально достижимая скорость сходимости зависит от разброса собственных значений .
Сигнал белого шума имеет автокорреляционную матрицу, где — дисперсия сигнала. В этом случае все собственные значения равны, а разброс собственных значений минимален по всем возможным матрицам. Поэтому общепринятая интерпретация этого результата заключается в том, что LMS быстро сходится для белых входных сигналов и медленно для цветных входных сигналов, таких как процессы с низкочастотными или высокочастотными характеристиками.
Важно отметить, что указанная выше верхняя граница обеспечивает только устойчивость в среднем, но коэффициенты могут все еще расти бесконечно большими, т.е. расхождение коэффициентов все еще возможно. Более практичная граница
где обозначает след . Эта граница гарантирует , что коэффициенты не расходятся (на практике значение не следует выбирать близким к этой верхней границе, поскольку оно несколько оптимистично из-за приближений и предположений, сделанных при выводе границы).
Нормализованный фильтр наименьших средних квадратов (NLMS)
Главным недостатком «чистого» алгоритма LMS является его чувствительность к масштабированию входных данных . Это делает очень сложным (если не невозможным) выбор скорости обучения , гарантирующей устойчивость алгоритма (Haykin 2002). Нормализованный фильтр наименьших средних квадратов (NLMS) — это вариант алгоритма LMS, который решает эту проблему путем нормализации с учетом мощности входных данных. Алгоритм NLMS можно обобщить следующим образом:
Оптимальная скорость обучения
Можно показать, что если помехи отсутствуют ( ), то оптимальная скорость обучения для алгоритма NLMS равна
и не зависит от входа и реального (неизвестного) импульсного отклика . В общем случае с помехами ( ) оптимальная скорость обучения равна
Приведенные выше результаты предполагают, что сигналы и не коррелируют друг с другом, что обычно и происходит на практике.
Доказательство
Пусть смещение фильтра определяется как , тогда мы можем вывести ожидаемое смещение для следующего образца как:
Пусть и
Предполагая независимость, имеем:
Оптимальная скорость обучения находится при , что приводит к:
Смотрите также
Ссылки
- Монсон Х. Хейс: Статистическая цифровая обработка сигналов и моделирование, Wiley, 1996, ISBN 0-471-59431-8
- Саймон Хейкин: Теория адаптивного фильтра, Prentice Hall, 2002, ISBN 0-13-048434-2
- Саймон С. Хайкин, Бернард Уидроу (редактор): Адаптивные фильтры с наименьшими квадратами, Wiley, 2003, ISBN 0-471-21570-8
- Бернард Уидроу, Сэмюэл Д. Стернс: Адаптивная обработка сигналов, Prentice Hall, 1985, ISBN 0-13-004029-0
- Вэйфэн Лю, Хосе Принсипе и Саймон Хейкин: Kernel Adaptive Filtering: A Comprehensive Introduction, John Wiley, 2010, ISBN 0-470-44753-2
- Пауло С. Р. Диниц: Адаптивная фильтрация: алгоритмы и практическая реализация, Kluwer Academic Publishers, 1997, ISBN 0-7923-9912-9
Внешние ссылки
- Алгоритм LMS в адаптивных антенных решетках www.antenna-theory.com
- Демонстрация шумоподавления LMS www.advsolned.com