Однослойные сети RBF для решения задач регрессии (пример)
Материал из MachineLearning.
Радиальная функция — это функция , зависящая только от расстояния между x и фиксированной точкой пространства X.
В данной работе используются гауссианы , которые можно представить в виде
где — нормировочный множитель,
— взвешенная евклидова метрика в n-мерном пространстве X:
,
.
Сеть радиальных базисных функций - нейронная сеть прямого распространения сигнала, которая содержит промежуточный (скрытый) слой радиально симметричных нейронов. Такой нейрон преобразовывает расстояние от данного входного вектора до соответствующего ему "центра" по некоторому нелинейному закону - с помощью радиальной функции. В данной статье мы рассмотрим применение этой нейронной сети к решению задачи регрессии с помощью восстановления смесей распределений.
Содержание |
Постановка задачи
Задана выборка — множество значений свободных переменных и множество соответствующих им значений зависимой переменной. Предполагается, что на множестве объектов задана плотность распределения , представимая в виде смеси распределений - гауссиан с параметрами
и :
Требуется решить задачу регрессии с помощью однослойной сети 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] - веса.
2 и 3 компоненты совпадают, т.е. на самом дела найдено всего 3 компоненты, одна из которых расщеплена на 2. Дальнейшее разделение смеси приводит только к большему разделению этой компоненты. Плохо описанные элементы на следующем шаге(синим цветом):
Пример 2
Те же данные, что и в примере 1, попытка отделить новую компоненту от старой. Если она попадает в то место, где уже есть старая - сдвигаем ее центр на небольшую величину.
Результат разделения смеси распределений
Плохо описанные элементы:
Пример 3
Нелинейная функция
Результат разделения смеси распределений
Кластеризация на основе разделения смеси
Исходный код
Скачать код MATLAB можно здесь: RBFlearn.m , calculationYm.m , EMk.m , probabilityCalculation.m , RBFregression.m
См. также
- Регрессионный анализ
- EM-алгоритм
- EM-алгоритм с последовательным добавлением компонент (пример)
- Сеть радиальных базисных функций
- Нейронные сети
Литература
- Хайкин, Саймон. Нейронные сети: полный курс, 2-е изд., испр. : Пер. с англ. - М. : ООО "И.Д. Вильямс", 2006. - 1104 с. : ил. - Парал. тит. англ. ISBN 5-8459-0890-6 (рус.)
- К. В. Воронцов, Лекции по линейным алгоритмам классификации и регрессии
Данная статья является непроверенным учебным заданием.
До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}. См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе. |