Исследование устойчивости оценок ковариационной матрицы параметров

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
(Сравнение гиперпараметров для разных признаков)
(Литература)
 
(11 промежуточных версий не показаны.)
Строка 52: Строка 52:
Критерий остановки --- малое изменение функционала <tex>S(w)</tex> для двух последовательных итераций алгоритма.
Критерий остановки --- малое изменение функционала <tex>S(w)</tex> для двух последовательных итераций алгоритма.
-
==Вычислительный эксперимент==
+
=Вычислительный эксперимент=
 +
==Шумовые признаки==
===Один признак===
===Один признак===
Строка 79: Строка 80:
Сравнивались логарифм гиперпараметра значимого признака и минимальный из логарифмов гиперпарамтеров для незначимых признаков.
Сравнивались логарифм гиперпараметра значимого признака и минимальный из логарифмов гиперпарамтеров для незначимых признаков.
Бралось усреднение логарифма по пяти различным выборкам.
Бралось усреднение логарифма по пяти различным выборкам.
-
Результаты приведены на рисунках \ref{fig:hyperparametersCompare}.
+
Результаты приведены на рисунках.
-
На рисунке \ref{fig:hyperparametersCompare} видно, что в большинстве случаев значение гиперпараметра для значимого признака меньше, чем минимальное значение гиперпараметров для шумового, однако, в некоторых случаях наблюдаются выбросы.
+
Отметим, что в большинстве случаев значение гиперпараметра для значимого признака меньше, чем минимальное значение гиперпараметров для шумового, однако, в некоторых случаях наблюдаются выбросы, особенно хорошо это видно на правом рисунке, на котором рассматривалась аппроксимация обобщенно-линейной функции линейной.
[[Изображение:MeanAlphaVsNoiseAlpha.png|500px|Линейная функция]]
[[Изображение:MeanAlphaVsNoiseAlpha.png|500px|Линейная функция]]
Строка 88: Строка 89:
Проводился аналогичный эксперимент для двух информативных признаков, причем сравнивался максимальное значение гиперпараметра для информативных признаков с минимальным значением признака для шумовых признаков.
Проводился аналогичный эксперимент для двух информативных признаков, причем сравнивался максимальное значение гиперпараметра для информативных признаков с минимальным значением признака для шумовых признаков.
-
На рисунках \ref{fig:hyperparametersCompare2} видно, что информативные признаки имели меньшие значения гиперпараметра <tex>\alpha</tex>, чем информативные.
+
На рисунках видно, что информативные признаки имели меньшие значения гиперпараметра <tex>\alpha</tex>, чем информативные.
Таким образом, удается выделить информативные и шумовые признаки.
Таким образом, удается выделить информативные и шумовые признаки.
-
На рисунке \ref{fig:hyperparametersCompare3}показано сравнение информативности первого и второго информативных признаков, видно, что из-за большего веса один признак информативнее другого для линейной модели.
+
На рисунке показано сравнение информативности первого и второго информативных признаков, видно, что из-за большего веса один признак информативнее другого для линейной модели.
-
Так же отметим, что для обобщенно-линейной функции не удается выделить наиболее информативный признак, в некоторых случаях гиперпараметры для одного из признаков стремятся к бесконечности.
+
Так же отметим, что для обобщенно-линейной функции не удается выделить наиболее информативный признак, в некоторых случаях гиперпараметры для первого или второго из признаков стремятся к бесконечности.
-
 
+
-
 
+
-
[Изображение:MeanAlphaVsNoiseAlpha2| Линейная функция]
+
[[Изображение:MeanAlphaVsNoiseAlpha2.png|500px|Линейная функция]]
-
[Изображение:MeanAlphaVsNoiseAlpha2sin|Синусоида]
+
[[Изображение:MeanAlphaVsNoiseAlpha2sin.png|500px|Синусоида]]
-
 
+
-
+
[[Изображение:AlphasCompare.png|500px|Линейная функция]]
-
[Изображение:AlphasCompare|Линейная функция]
+
[[Изображение:AlphasCompareSin.png|500px|Синус]]
-
[Изображение:AlphasCompareSin|Синус]
+
-
 
+
===Реальные данные===
===Реальные данные===
Строка 108: Строка 105:
Данные были нормализованы так, что как у свободных, так и у зависимой переменной были нулевые математические ожидания и единичные дисперсии.
Данные были нормализованы так, что как у свободных, так и у зависимой переменной были нулевые математические ожидания и единичные дисперсии.
Для данных без шумовых признаков алгоритм был запущен сто раз на разных подвыборках размера <tex>90</tex> (размер полной выборки --- <tex>103</tex>).
Для данных без шумовых признаков алгоритм был запущен сто раз на разных подвыборках размера <tex>90</tex> (размер полной выборки --- <tex>103</tex>).
-
Результаты приведены на рисунке \ref{fig:realDatanoNoise}.
+
Результаты приведены на рисунке.
Видно, что признаки разделяются по информативности и что информативность почти всегда эквивалента модулю веса.
Видно, что признаки разделяются по информативности и что информативность почти всегда эквивалента модулю веса.
 +
Слева - веса полученные на каждом из ста запусков алгоритма, справа --- соответсвтующие им гиперпараметры.
 +
[[Изображение:WeightArrayNoNoise.png|500px|Веса <tex>w_i</tex>]]
 +
[[Изображение:AlphaArrayNoNoise.png||500px|Гиперпараметры <tex>\alpha_i</tex>]]
Так же был проведен следующий эксперимент.
Так же был проведен следующий эксперимент.
К начальному набору свободных переменных был добавлен ряд шумовых признаков, затем на ста запусках была оценена <tex>95</tex>-процентная квантиль рассматриваемой величины.
К начальному набору свободных переменных был добавлен ряд шумовых признаков, затем на ста запусках была оценена <tex>95</tex>-процентная квантиль рассматриваемой величины.
-
На рисунке \ref{fig:realDataNoise} видно, что увеличение числа шумовых признаков увеличивает, хоть и не сильно, квантиль как оценки параметра, так и оценки гиперпараметра для разных признаков.
+
На рисунке видно, что увеличение числа шумовых признаков увеличивает, хоть и не сильно, квантиль как оценки параметра, так и оценки гиперпараметра для разных признаков.
Отметим, что, тем не менее, это не влияет на разделимость признаков по информативности.
Отметим, что, тем не менее, это не влияет на разделимость признаков по информативности.
 +
[[Изображение:FeatureWeightVsNoise7.png|500px|Вес <tex>w_7</tex>]]
 +
[[Изображение:FeatureAlphaVsNoise7.png|500px|Гиперпараметр <tex>\alpha_7</tex>]]
 +
==Выводы==
 +
Используемый подход устойчив по отношению к шумовым признакам, качество полученной аппроксимации и оценки весов и информативности для информативных признаков слабо зависят от количества шумовых признаков.
-
===Выводы===
+
=Мультиколлинеарные признаки=
 +
==Модельные данные==
 +
Генерировалась выборка из нормального распределения размером сто точек, количество признаков равнялось двадцати.
 +
Ковариационная матрица первых десяти признаков имеет вид:
 +
<tex>
 +
\begin{pmatrix}
 +
1.1 & 1 & 1 & \ldots & 1 \\
 +
1 & 1.1 & 1 & \ldots & 1 \\
 +
\ldots & \ldots & \ldots & \ldots & \ldots\\
 +
1 & 1 & 1 & \ldots & 1.1 \\
 +
\end{pmatrix}
 +
</tex>
 +
Ковариационная матрица для последних десяти признаков --- единичная.
 +
Первая и вторая десятки признаков порождены независимо.
 +
Вектор откликов имел вид:
 +
<tex>
 +
y = \sum_{i = 1}^n x_i.
 +
</tex>
 +
Было сделано <tex>50</tex> запусков эксперимента.
 +
Полученные значения логарифмов гиперпараметров <tex>\alpha_i</tex> и параметров <tex>w_i</tex> приведены на рисунке.
 +
Ближе к читателю расположены оценки, полученные для коррелирующих признаков, дальше --- для не коррелирующих признаков.
 +
Видно, что для признаков, не являющихся мультиколлинеарными, оценки значений гиперпараметров и параметров мало зависят от обучающей выборки.
 +
В то же время, для мультиколлинеарных признаков значения гиперпараметров и параметров сильно менялись от запуска к запуску.
-
Используемый подход устойчив по отношению к шумовым признакам, качество полученной аппроксимации и оценки весов и информативности для информативных признаков слабо зависят от количества шумовых признаков.
+
[[Изображение:AlphaMultiCollinearityCvsNoMultiCollinearity.png|500px|Гиперпараметры <tex>\alpha_i</tex>]]
 +
[[Изображение:WeightsMultiCollinearityCvsNoMultiCollinearity.png|500px|Параметры <tex>w_i</tex>]]
 +
 
 +
Для признаков с ненулевыми весами была построена кривая зависимости значений параметров от гиперпараметров (отметим, что истинное значение всех параметров равно единице).
 +
Полученная кривая приведена на рисунке для признаков, оценки параметров для которых больше нуля.
 +
Мы видим, что при нормализации гиперпараметра <tex>\alpha_i</tex> на <tex>w_i^2</tex> признаки разделяются на две группы, в которых примерно одинаковые информативности.
 +
Таким образом, алгоритм верно классифицировал, что информативность признака, связанного с другими признаками посредством корреляции выше, чем информативность независимых признаков.
 +
Отметим так же, что для некоторых признаков вес получался равным нулю.
 +
Все такие признаки принадлежали группе мультиколлинеарных.
 +
 
 +
[[Изображение:WeightsVsAlphasWithoutZeros.png|500px|Зависимость <tex>w_i</tex> от <tex>\alpha_i</tex>]]
 +
[[Изображение:WeightsVsAlphasWithoutZerosNormalized.png|500px|Зависимость <tex>w_i</tex> от <tex>\frac{\alpha_i}{w_i^2}</tex>]]
 +
 
 +
==Реальные данные==
 +
 
 +
Использовались реальные данные для задачи «цемент».
 +
К данным добавлялся признак, сильно коррелирующий с одним из предложенных.
 +
Такой признак равнялся зашумленному стандартным нормальным шумом признаку.
 +
Сравнительные гистограммы значений гиперпараметров приведены на рисунке.
 +
Видно, что добавление мультикоррелирующего признака влияет на значение информативности исходного признака.
 +
 
 +
[[Изображение:Bar1.png|350px|Первый признак]]
 +
[[Изображение:Bar2.png|350px|Второй признак]]
 +
[[Изображение:Bar3.png|350px|Третий признак]]
 +
==Выводы==
 +
 
 +
Добавление мультиколлинеарных признаков влияет на оценки информативности других признаков. При этом, полученные результаты соответствуют ожидаемым.
== Исходный код и полный текст работы ==
== Исходный код и полный текст работы ==
Строка 153: Строка 205:
}}
}}
-
{{Задание|Алексей Зайцев|В.В. Стрижов|28 сентября 2011|likz|Strijov}}
+
{{ЗаданиеВыполнено|Алексей Зайцев|В.В. Стрижов|28 сентября 2011|likz|Strijov}}
[[Категория:Практика и вычислительные эксперименты]]
[[Категория:Практика и вычислительные эксперименты]]
[[Категория:Регрессионный анализ]]
[[Категория:Регрессионный анализ]]

Текущая версия

Содержание

Введение

В данной работе исследуется устойчивость оценок ковариационной матрицы параметров модели. Рассматриваются модели линейной регрессии. Тогда вектор параметров модели соответствует набору признаков модели. Ковариационная матрица параметров строится в предположении о вероятностном распределении вектора параметров. Исследуется, как будет меняться ковариационная матрица параметров модели при добавлении новых столбцов в матрицу плана. Для такой матрицы плана получаем расширенный вектор параметров модели и оценку матрицы ковариации параметров модели. Сравнивается ковариационная матрица для нерасширенного и расширенного вектора параметеров модели. Исследуется пространство параметров для информативных признаков.

Постановка задачи

Задана выборка D = (X, \mathbf{y}) = \{(x_i, y_i)\}_{i = 1}^m. Вектор свободных переменных x \in \mathbb{R}^n, зависимая переменная y \in \mathbb{R}. Предполгается, что

y = f(x, w) + \varepsilon,

где f(x, w) --- некоторая параметрическая функция, w \in W --- вектор ее параметров, \varepsilon --- ошибка, распределенная нормально с нулевым математическим ожиданием и дисперсией \beta, \varepsilon \sim \mathcal{N}(0, \beta). Предполагается, что вектор параметров w --- нормальнораспределенный случайный вектор с нулевым математическим ожиданием и матрицей ковариаций A.

Рассматривается класс линейных функций f(x, w). Наиболее вероятные параметры w_{MP} имеют вид:

w_{MP} = argmax_{w} p(w| D, A, \beta, f).

Для такого набора параметров исследуется матрица ковариации A, который мы тоже оцениваем, используя принцип максимального правдоподобия.

Описание алгоритма оценки матрицы ковариации

Для фиксированных гиперпарамтеров A, \beta вектор наиболее вероятных параметров минимизирует функционал

S(w) = w^T A w + \beta \sum_{i = 1}^n (y_i - x_i^T w)^2 = E_{w} + \beta E_D.

Набор наиболее вероятных гиперпараметров будем искать, максимизируя оценку правдоподобия по A, \beta

	\ln p(D|A, \beta, f) = - \frac12 \ln |A| - \frac{m}2 \ln 2\pi + \frac{m}2 \ln \beta \underbrace{- E_{w} - \beta E_D}_{S(w_0)} - \frac12 \ln |H|,

здесь H --- гессиан функционала S(w). В предположении о диагональности матрицы A = diag(\alpha) и гессиана H = diag(\mathbf{h}), \alpha = \{ \alpha_i \}_{i = 1}^m, \mathbf{h} = \{h_i \}_{i = 1}^m, приравняв производные по гиперпараметрам к нулю, получаем оценку для \alpha_i:

	\alpha_i = \frac12 \lambda_i \left( \sqrt{1 + \frac{4}{w_i^2 \lambda_i}} - 1 \right),

здесь \lambda_i = \beta h_i.

Так же получаем оценку \beta:

	\beta = \frac{n - \gamma}{2 E_D},

здесь

	\gamma = \sum_{j=1}^n \frac{\lambda_j}{\lambda_j + \alpha_j}.

Используя оценки вектора параметров при фиксированных гиперпарамтерах и гиперпараметров при фиксированных параметрах, выпишем итерационный алгоритм поиска наиболее вероятных параметров и гиперпараметров. Он состоит из шагов:

  • поиск вектора параметров, максимизирующих функционал S(w),
  • поиск гиперпараметров, максимизирующих правдоподобие,
  • проверка критерия остановки.

Критерий остановки --- малое изменение функционала S(w) для двух последовательных итераций алгоритма.

Вычислительный эксперимент

Шумовые признаки

Один признак

В выборках один информативный признак и n' шумовых. Вектор свободных переменных для каждого объекта генерируется из нормального распределения с нулевым математическим ожиданием и единичной дисперсией. Рассматриваются выборки размером 100 и 1000. Зависимая переменная --- зашумленная линейная или обобщенно-линейная функция входа. Рассматривались обобщенные-линейные функции y = \exp(-w^T x) и y = \sin(w^T x). Шум состоял из независимых нормальнораспределенных величин с дисперсией \frac{1}{4}.


Зависимость параметра от гиперпараметров

На рисунках приведена зависимость параметра w и гиперпараметра \alpha, которые соответствуют нешумовому признаку.

Линейная функция Экспонента Синусоида

Мы видим, что параметр сильно коррелирует с гиперпараметром, при этом, нет зависимости от числа шумовых признаков.

Сравнение гиперпараметров для разных признаков

Гиперпараметры \alpha_i могут служить мерой информативности признаков. Сравнивались логарифм гиперпараметра значимого признака и минимальный из логарифмов гиперпарамтеров для незначимых признаков. Бралось усреднение логарифма по пяти различным выборкам. Результаты приведены на рисунках. Отметим, что в большинстве случаев значение гиперпараметра для значимого признака меньше, чем минимальное значение гиперпараметров для шумового, однако, в некоторых случаях наблюдаются выбросы, особенно хорошо это видно на правом рисунке, на котором рассматривалась аппроксимация обобщенно-линейной функции линейной.

Линейная функция Экспонента

Два признака

Проводился аналогичный эксперимент для двух информативных признаков, причем сравнивался максимальное значение гиперпараметра для информативных признаков с минимальным значением признака для шумовых признаков. На рисунках видно, что информативные признаки имели меньшие значения гиперпараметра \alpha, чем информативные. Таким образом, удается выделить информативные и шумовые признаки. На рисунке показано сравнение информативности первого и второго информативных признаков, видно, что из-за большего веса один признак информативнее другого для линейной модели. Так же отметим, что для обобщенно-линейной функции не удается выделить наиболее информативный признак, в некоторых случаях гиперпараметры для первого или второго из признаков стремятся к бесконечности.

Линейная функция Синусоида

Линейная функция Синус

Реальные данные

Использовались реальные данные по определения характеристик цемента по его составу. Данные были нормализованы так, что как у свободных, так и у зависимой переменной были нулевые математические ожидания и единичные дисперсии. Для данных без шумовых признаков алгоритм был запущен сто раз на разных подвыборках размера 90 (размер полной выборки --- 103). Результаты приведены на рисунке. Видно, что признаки разделяются по информативности и что информативность почти всегда эквивалента модулю веса. Слева - веса полученные на каждом из ста запусков алгоритма, справа --- соответсвтующие им гиперпараметры.

Веса Гиперпараметры


Так же был проведен следующий эксперимент. К начальному набору свободных переменных был добавлен ряд шумовых признаков, затем на ста запусках была оценена 95-процентная квантиль рассматриваемой величины. На рисунке видно, что увеличение числа шумовых признаков увеличивает, хоть и не сильно, квантиль как оценки параметра, так и оценки гиперпараметра для разных признаков. Отметим, что, тем не менее, это не влияет на разделимость признаков по информативности.

Вес Гиперпараметр

Выводы

Используемый подход устойчив по отношению к шумовым признакам, качество полученной аппроксимации и оценки весов и информативности для информативных признаков слабо зависят от количества шумовых признаков.

Мультиколлинеарные признаки

Модельные данные

Генерировалась выборка из нормального распределения размером сто точек, количество признаков равнялось двадцати. Ковариационная матрица первых десяти признаков имеет вид: 
	\begin{pmatrix}
		1.1	& 1   & 1 & \ldots & 1 \\
		1	  & 1.1 & 1 & \ldots & 1 \\
		\ldots & \ldots & \ldots & \ldots & \ldots\\
		1	  & 1 & 1 & \ldots & 1.1 \\
	\end{pmatrix}
Ковариационная матрица для последних десяти признаков --- единичная. Первая и вторая десятки признаков порождены независимо. Вектор откликов имел вид: 
y = \sum_{i = 1}^n x_i.
Было сделано 50 запусков эксперимента. Полученные значения логарифмов гиперпараметров \alpha_i и параметров w_i приведены на рисунке. Ближе к читателю расположены оценки, полученные для коррелирующих признаков, дальше --- для не коррелирующих признаков. Видно, что для признаков, не являющихся мультиколлинеарными, оценки значений гиперпараметров и параметров мало зависят от обучающей выборки. В то же время, для мультиколлинеарных признаков значения гиперпараметров и параметров сильно менялись от запуска к запуску.

Гиперпараметры Параметры

Для признаков с ненулевыми весами была построена кривая зависимости значений параметров от гиперпараметров (отметим, что истинное значение всех параметров равно единице). Полученная кривая приведена на рисунке для признаков, оценки параметров для которых больше нуля. Мы видим, что при нормализации гиперпараметра \alpha_i на w_i^2 признаки разделяются на две группы, в которых примерно одинаковые информативности. Таким образом, алгоритм верно классифицировал, что информативность признака, связанного с другими признаками посредством корреляции выше, чем информативность независимых признаков. Отметим так же, что для некоторых признаков вес получался равным нулю. Все такие признаки принадлежали группе мультиколлинеарных.

Зависимость  от Зависимость  от

Реальные данные

Использовались реальные данные для задачи «цемент». К данным добавлялся признак, сильно коррелирующий с одним из предложенных. Такой признак равнялся зашумленному стандартным нормальным шумом признаку. Сравнительные гистограммы значений гиперпараметров приведены на рисунке. Видно, что добавление мультикоррелирующего признака влияет на значение информативности исходного признака.

Первый признак Второй признак Третий признак

Выводы

Добавление мультиколлинеарных признаков влияет на оценки информативности других признаков. При этом, полученные результаты соответствуют ожидаемым.

Исходный код и полный текст работы

Смотри также

Литература

  1. Стрижов В.В. и Сологуб Р.А. Алгоритм выбора нелинейных регрессионных моделей с анализом гиперпараметров. — ММРО-14. — 2009.
  2. Christopher M. Bishop Pattern Recognition and Machine Learning. — Hardcover. — 2006. — 740 с.
  3. Yeh, I. and others Modeling slump flow of concrete using second-order regressions and artificial neural networks. — 2007.


Данная статья была создана в рамках учебного задания.
Студент: Алексей Зайцев
Преподаватель: В.В. Стрижов
Срок: 28 сентября 2011


В настоящее время задание завершено и проверено. Данная страница может свободно правиться другими участниками проекта MachineLearning.ru.

См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе.