Однослойные сети RBF для решения задач регрессии (пример)
Материал из MachineLearning.
Цель работы - решить задачу регрессии с помощью сети радиальных базисных функций и исследовать некоторые свойства алгоритма.
Радиальная функция - это функция , зависящая только от расстояния между и фиксированной точкой пространства .
В данной работе используются гауссианы , которые можно представить в виде
где - нормировочный множитель,
- взвешенная евклидова метрика в -мерном пространстве :
,
.
Сеть радиальных базисных функций - нейронная сеть прямого распространения сигнала, которая содержит промежуточный (скрытый) слой радиально симметричных нейронов. Такой нейрон преобразовывает расстояние от данного входного вектора до соответствующей ему фиксированной точки пространства по некоторому нелинейному закону, заданному радиальной функцией. В данной статье мы рассмотрим применение этой нейронной сети к решению задачи регрессии с помощью восстановления смесей распределений.
Содержание |
Постановка задачи
Задана выборка — множество значений свободных переменных и множество соответствующих им значений зависимой переменной. Предполагается, что на множестве объектов задана плотность распределения , представимая в виде смеси распределений - гауссиан с параметрами
и :
Требуется решить задачу регрессии с помощью однослойной сети RBF, параметрами которой являются
- число компонент смеси,
- веса компонент,
- центры и дисперсия компонент,
- значения зависимой переменной в центрах компонент.
Смесь распределений требуется восстановить с помощью EM-алгоритма с добавлением компонент.
Таким образом решается задача регрессии с помощью однослойной сети RBF, обучаемой с помощью EM-алгоритма с добавлением компонент.
Описание алгоритма
Разделение смеси рапределений
Настройка параметров RBF-сети происходит с помощью EM-алгоритма с добавлением компонент. Идея EM-алгоритма заключается во введении вспомогательного вектора скрытых переменных : . С одной стороны, он может быть вычислен, если известны значения вектора параметров , с другой стороны, поиск максимума правдоподобия сильно упрощается, если известны значения скрытых переменных. EM-алгоритм состоит из итерационного повторения двух шагов. На E-шаге вычисляется ожидаемое значение (expectation) вектора скрытых переменных по текущему приближению вектора параметров . На М-шаге решается задача максимизации правдоподобия (maximization) и находится следующее приближение вектора по текущим значениям векторов и .
Если число компонент смеси заранее неизвестно, то применяется EM-алгоритм с последовательным добавлением компонент. Его идея заключается в том, что если данные описаны смесью компонент, то можно добавить в смесь -ю компоненту, построенную на плохо описанных элементах.
Элемент считается плохо описанным, если его правдободобие , - параметр.
Далее на смеси из -ой компоненты запускается EM-алгоритм.
Для более подробного описания см.
Восстановление регрессии
Значения зависимой переменной в центрах компонент
Значение для произвольного получим, используя формулу Надарая-Ватсона
Эта формула интуитивно очевидна: значение есть среднее по центрам компонент с учетом вероятности того, что объект принадлежит -ой компоненте смеси.
Вычислительный эксперимент
Эксперименты проводились на модельных данных. , т.е. один признак. Цель эксперимента - проверить работу описанного алгоритма, исследовать его сходимость.
Пример 1
Задана функция . Выборка сгенерирована случайно согласно следующему распределению: несколько нормальных классов с центрами в точках , и нормальной дисперсией . В каждом классе объектов. К значениям добавлен нормальный шум с дисперсией
Красный цвет - данные, синий - полученная в результате работы алгоритма зависимость
Результат разделения смеси распределений (середина полосы-центр компоненты , полуширина - корень из дисперсии компоненты , координата по оси - значение зависимой переменной в центре компоненты ):
Найдено 4 компоненты
[4.0402; 2.5110; 2.5089; 0.9861] - центры,
[0.0271; 0.4256; 0.4257; 0.0188] - дисперсии ,
[0.2257; 0.1908; 0.3537; 0.2299] - веса.
Вторая и третья компоненты совпадают, т.е. на самом дела найдено всего 3 компоненты, одна из которых разбита на 2. Дальнейшее разделение смеси приводит только к большему разделению этой компоненты.
Плохо описанные элементы на следующем шаге(синим цветом):
Видно, что центр новой компоненты из плохо описанных элементов попадает в точку , и в результате EM-итераций новя компонента не отделяется от уже существующих там второй и третей компонент.
Пример 2
Те же данные, что и в примере 1, попытка отделить новую компоненту от старой. Если она попадает в то место, где уже есть старая, то перед запуском EM-итераций сдвигаем ее центр на небольшую величину.
Результат разделения смеси распределений
Плохо описанные элементы:
Как видно, совпадения компонент уже нет. Но дальнейшее разделение смеси невозможно, т.к. ковариационная матрица оказалась вырожденной, а для подсчета правдободобия требуется ее обращать.
Пример 3
Выборка сгенерирована случайно согласно равномерному распределению. К значениям добавлен нормальный шум с дисперсией
Результат разделения смеси распределений
На следующем графике покажем кластеризацию на основе разделения смеси: каждый элемент отнесен к компоненте
, вероятность принадлежности к которой максимальна с учетом весов, т.е.
, .
Видно, что для лучшего восстановления регрессии требуется продолжить разделение смеси, в частности, разделить изображенные на рисунке красным и желтым цветом компоненты на несколько.
Исходный код
Скачать код MATLAB можно здесь: RBFlearn.m , calculationYm.m , EMk.m , probabilityCalculation.m , RBFregression.m
См. также
- Регрессионный анализ
- EM-алгоритм
- EM-алгоритм с последовательным добавлением компонент (пример)
- Сеть радиальных базисных функций
- Нейронные сети
Литература
- Хайкин, Саймон. Нейронные сети: полный курс, 2-е изд., испр. : Пер. с англ. - М. : ООО "И.Д. Вильямс", 2006. - 1104 с. : ил. - Парал. тит. англ. ISBN 5-8459-0890-6 (рус.)
- К. В. Воронцов, Лекции по линейным алгоритмам классификации и регрессии[[1]]
Данная статья является непроверенным учебным заданием.
До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}. См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе. |