Исследование устойчивости оценок ковариационной матрицы параметров
Материал из MachineLearning.
 (→Описание алгоритма оценки матрицы ковариации)  | 
				|||
| Строка 51: | Строка 51: | ||
Критерий остановки --- малое изменение функционала <tex>S(w)</tex> для двух последовательных итераций алгоритма.  | Критерий остановки --- малое изменение функционала <tex>S(w)</tex> для двух последовательных итераций алгоритма.  | ||
| + | |||
| + | ==Вычислительный эксперимент==  | ||
| + | |||
| + | ===Один признак===  | ||
| + | |||
| + | В выборках один информативный признак и <tex>n'</tex> шумовых.  | ||
| + | Вектор свободных переменных для каждого объекта генерируется из нормального распределения с нулевым математическим ожиданием и единичной дисперсией.  | ||
| + | Рассматриваются выборки размером <tex>100</tex> и <tex>1000</tex>.  | ||
| + | Зависимая переменная --- зашумленная линейная или обобщенно-линейная функция входа.  | ||
| + | Рассматривались обобщенные-линейные функции <tex>y = \exp(-w^T x)</tex> и <tex>y = \sin(w^T x)</tex>.  | ||
| + | Шум состоял из независимых нормальнораспределенных величин с дисперсией <tex>\frac{1}{4}</tex>.  | ||
| + | |||
| + | |||
| + | ====Зависимость параметра от гиперпараметров====  | ||
| + | |||
| + | На рисунках приведена зависимость параметра <tex>w</tex> и гиперпараметра <tex>\alpha</tex>, которые соответствуют нешумовому признаку.  | ||
| + | \begin{figure}  | ||
| + |   \centering  | ||
| + |   \subfloat[Линейная функция]{\label{fig:gull}\includegraphics[width=0.3\textwidth]{images/covarianceOneFeature100}}                  | ||
| + |   \subfloat[Экспонента]{\label{fig:tiger}\includegraphics[width=0.3\textwidth]{images/covarianceOneFeature100exp}}  | ||
| + |   \subfloat[Синусоида]{\label{fig:mouse}\includegraphics[width=0.3\textwidth]{images/covarianceOneFeature100sin}}  | ||
| + |   \caption{Зависимость параметров и гиперпараметров от числа шумовых признаков}  | ||
| + |   \label{fig:parametersHyperparameters}  | ||
| + | \end{figure}  | ||
| + | |||
| + | Мы видим, что параметр сильно коррелирует с гиперпараметром, при этом, нет зависимости от числа шумовых признаков.  | ||
| + | |||
| + | ====Сравнение гиперпараметров для разных признаков====  | ||
| + | |||
| + | Гиперпараметры <tex>\alpha_i</tex> могут служить мерой информативности признаков.  | ||
| + | Сравнивались логарифм гиперпараметра значимого признака и минимальный из логарифмов гиперпарамтеров для незначимых признаков.  | ||
| + | Бралось усреднение логарифма по пяти различным выборкам.  | ||
| + | Результаты приведены на рисунках \ref{fig:hyperparametersCompare}.  | ||
| + | На рисунке \ref{fig:hyperparametersCompare} видно, что в большинстве случаев значение гиперпараметра для значимого признака меньше, чем минимальное значение гиперпараметров для шумового, однако, в некоторых случаях наблюдаются выбросы.  | ||
| + | \begin{figure}  | ||
| + |   \centering  | ||
| + |   \subfloat[Линейная функция]{\label{fig:gull}\includegraphics[width=0.5\textwidth]{images/meanAlphaVsNoiseAlpha}}                  | ||
| + |   \subfloat[Экспонента]{\label{fig:tiger}\includegraphics[width=0.5\textwidth]{images/meanAlphaVsNoiseAlphaExp}}  | ||
| + |   \caption{Гиперпараметры для шумовых и информативного признака}  | ||
| + |   \label{fig:hyperparametersCompare}  | ||
| + | \end{figure}  | ||
| + | |||
| + | ===Два признака===  | ||
| + | |||
| + | Проводился аналогичный эксперимент для двух информативных признаков, причем сравнивался максимальное значение гиперпараметра для информативных признаков с минимальным значением признака для шумовых признаков.  | ||
| + | На рисунках \ref{fig:hyperparametersCompare2} видно, что информативные признаки имели меньшие значения гиперпараметра <tex>\alpha</tex>, чем информативные.  | ||
| + | Таким образом, удается выделить информативные и шумовые признаки.  | ||
| + | На рисунке \ref{fig:hyperparametersCompare3}показано сравнение информативности первого и второго информативных признаков, видно, что из-за большего веса один признак информативнее другого для линейной модели.  | ||
| + | Так же отметим, что для обобщенно-линейной функции не удается выделить наиболее информативный признак, в некоторых случаях гиперпараметры для одного из признаков стремятся к бесконечности.  | ||
| + | |||
| + | |||
| + | \begin{figure}  | ||
| + |   \centering  | ||
| + |   \subfloat[Линейная функция]{\label{fig:gull}\includegraphics[width=0.5\textwidth]{images/meanAlphaVsNoiseAlpha2}}                  | ||
| + |   \subfloat[Синусоида]{\label{fig:tiger}\includegraphics[width=0.5\textwidth]{images/meanAlphaVsNoiseAlpha2sin}}  | ||
| + |   \caption{Гиперпараметры для шумовых и информативных признаков}  | ||
| + |   \label{fig:hyperparametersCompare2}  | ||
| + | \end{figure}  | ||
| + | |||
| + | \begin{figure}  | ||
| + |   \centering  | ||
| + |   \subfloat[Линейная функция]{\label{fig:gull}\includegraphics[width=0.5\textwidth]{images/alphasCompare}}                  | ||
| + |   \subfloat[Синус]{\label{fig:tiger}\includegraphics[width=0.5\textwidth]{images/alphasCompareSin}}  | ||
| + |   \caption{Гиперпараметры для шумовых и информативных признаков}  | ||
| + |   \label{fig:hyperparametersCompare3}  | ||
| + | \end{figure}  | ||
| + | |||
| + | ===Реальные данные===  | ||
| + | |||
| + | Использовались реальные данные по определения характеристик цемента по его составу.  | ||
| + | Данные были нормализованы так, что как у свободных, так и у зависимой переменной были нулевые математические ожидания и единичные дисперсии.  | ||
| + | Для данных без шумовых признаков алгоритм был запущен сто раз на разных подвыборках размера <tex>90</tex> (размер полной выборки --- <tex>103</tex>).  | ||
| + | Результаты приведены на рисунке \ref{fig:realDatanoNoise}.  | ||
| + | Видно, что признаки разделяются по информативности и что информативность почти всегда эквивалента модулю веса.  | ||
| + | |||
| + | \begin{figure}  | ||
| + |   \centering  | ||
| + |   \subfloat[Веса <tex>w_i<tex>]{\label{fig:gull}\includegraphics[width=0.5\textwidth]{images/weightArrayNoNoise}}                  | ||
| + |   \subfloat[Гиперпараметры <tex>\alpha_i<tex>]{\label{fig:tiger}\includegraphics[width=0.5\textwidth]{images/alphaArrayNoNoise}}  | ||
| + |   \caption{Веса и гиперпараметры для выборки без шумовых признаков}  | ||
| + |   \label{fig:realDatanoNoise}  | ||
| + | \end{figure}  | ||
| + | |||
| + | Так же был проведен следующий эксперимент.  | ||
| + | К начальному набору свободных переменных был добавлен ряд шумовых признаков, затем на ста запусках была оценена  <tex>95</tex>-процентная квантиль рассматриваемой величины.  | ||
| + | На рисунке \ref{fig:realDataNoise} видно, что увеличение числа шумовых признаков увеличивает, хоть и не сильно, квантиль как оценки параметра, так и оценки гиперпараметра для разных признаков.  | ||
| + | Отметим, что, тем не менее, это не влияет на разделимость признаков по информативности.  | ||
| + | |||
| + | \begin{figure}  | ||
| + |   \centering  | ||
| + |   \subfloat[Вес <tex>w_7<tex>]{\label{fig:gull}\includegraphics[width=0.5\textwidth]{images/featureWeightVsNoise7}}                  | ||
| + |   \subfloat[Гиперпараметр <tex>\alpha_7<tex>]{\label{fig:tiger}\includegraphics[width=0.5\textwidth]{images/featureAlphaVsNoise7}}  | ||
| + |   \caption{Зависимость квантили оценки параметров и гиперпараметров при добавлении шумовых признаков}  | ||
| + |   \label{fig:realDataNoise}  | ||
| + | \end{figure}  | ||
| + | |||
| + | |||
| + | ==Выводы===  | ||
| + | |||
| + | Используемый подход устойчив по отношению к шумовым признакам, качество полученной аппроксимации и оценки весов и информативности для информативных признаков слабо зависят от количества шумовых признаков.  | ||
| + | |||
== Исходный код и полный текст работы ==  | == Исходный код и полный текст работы ==  | ||
| Строка 60: | Строка 161: | ||
== Литература ==  | == Литература ==  | ||
| + | |||
| + | # {{книга  | ||
| + | |автор        = Стрижов В.В. и Сологуб Р.А.  | ||
| + | |заглавие     = Алгоритм выбора нелинейных регрессионных моделей с анализом гиперпараметров  | ||
| + | |издание      = ММРО-14  | ||
| + | |год          = 2009  | ||
| + | }}  | ||
| + | # {{книга  | ||
| + | |автор        = Christopher M. Bishop   | ||
| + | |заглавие     = Pattern Recognition and Machine Learning  | ||
| + | |издание      = Hardcover  | ||
| + | |год          = 2006  | ||
| + | |страниц      = 740  | ||
| + | }}  | ||
| + | # {{книга  | ||
| + | |автор        = Yeh, I. and others  | ||
| + | |заглавие     = Modeling slump flow of concrete using second-order regressions and artificial neural networks  | ||
| + | |год          = 2007  | ||
| + | }}  | ||
{{Задание|Алексей Зайцев|В.В. Стрижов|28 сентября 2011|likz|Strijov}}  | {{Задание|Алексей Зайцев|В.В. Стрижов|28 сентября 2011|likz|Strijov}}  | ||
Версия 18:22, 26 сентября 2011
Содержание | 
Введение
В данной работе исследуется устойчивость оценок ковариационной матрицы параметров модели. Рассматриваются модели линейной регрессии. Тогда вектор параметров модели соответствует набору признаков модели. Ковариационная матрица параметров строится в предположении о вероятностном распределении вектора параметров. Исследуется, как будет меняться ковариационная матрица параметров модели при добавлении новых столбцов в матрицу плана. Для такой матрицы плана получаем расширенный вектор параметров модели и оценку матрицы ковариации параметров модели. Сравнивается ковариационная матрица для нерасширенного и расширенного вектора параметеров модели. Исследуется пространство параметров для информативных признаков.
Постановка задачи
Задана выборка .
Вектор свободных переменных 
, зависимая переменная 
. 
Предполгается, что 
где  --- некоторая параметрическая функция, 
 --- вектор ее параметров, 
 --- ошибка, распределенная нормально с нулевым математическим ожиданием и дисперсией 
, 
. Предполагается, что вектор параметров 
 --- нормальнораспределенный случайный вектор с нулевым математическим ожиданием и матрицей ковариаций 
.
Рассматривается класс линейных функций .
Наиболее вероятные параметры 
 имеют вид: 
Для такого набора параметров исследуется матрица ковариации , который мы тоже оцениваем, используя принцип максимального правдоподобия.
Описание алгоритма оценки матрицы ковариации
Для фиксированных гиперпарамтеров , 
 вектор наиболее вероятных параметров минимизирует функционал
Набор наиболее вероятных гиперпараметров будем искать, максимизируя оценку правдоподобия по , 
здесь  --- гессиан функционала 
.
В предположении о диагональности матрицы 
 и гессиана 
,
, 
, приравняв производные по гиперпараметрам к нулю, получаем оценку для 
: 
здесь .
Так же получаем оценку : 
здесь
Используя оценки вектора параметров при фиксированных гиперпарамтерах и гиперпараметров при фиксированных параметрах, выпишем итерационный алгоритм поиска наиболее вероятных параметров и гиперпараметров. Он состоит из шагов:
-  поиск вектора параметров, максимизирующих функционал 
,
 - поиск гиперпараметров, максимизирующих правдоподобие,
 - проверка критерия остановки.
 
Критерий остановки --- малое изменение функционала  для двух последовательных итераций алгоритма.
Вычислительный эксперимент
Один признак
В выборках один информативный признак и  шумовых.
Вектор свободных переменных для каждого объекта генерируется из нормального распределения с нулевым математическим ожиданием и единичной дисперсией.
Рассматриваются выборки размером 
 и 
.
Зависимая переменная --- зашумленная линейная или обобщенно-линейная функция входа.
Рассматривались обобщенные-линейные функции 
 и 
.
Шум состоял из независимых нормальнораспределенных величин с дисперсией 
.
Зависимость параметра от гиперпараметров
На рисунках приведена зависимость параметра  и гиперпараметра 
, которые соответствуют нешумовому признаку.
\begin{figure}
 \centering
 \subfloat[Линейная функция]{\label{fig:gull}\includegraphics[width=0.3\textwidth]{images/covarianceOneFeature100}}                
 \subfloat[Экспонента]{\label{fig:tiger}\includegraphics[width=0.3\textwidth]{images/covarianceOneFeature100exp}}
 \subfloat[Синусоида]{\label{fig:mouse}\includegraphics[width=0.3\textwidth]{images/covarianceOneFeature100sin}}
 \caption{Зависимость параметров и гиперпараметров от числа шумовых признаков}
 \label{fig:parametersHyperparameters}
\end{figure}
Мы видим, что параметр сильно коррелирует с гиперпараметром, при этом, нет зависимости от числа шумовых признаков.
Сравнение гиперпараметров для разных признаков
Гиперпараметры  могут служить мерой информативности признаков.
Сравнивались логарифм гиперпараметра значимого признака и минимальный из логарифмов гиперпарамтеров для незначимых признаков.
Бралось усреднение логарифма по пяти различным выборкам.
Результаты приведены на рисунках \ref{fig:hyperparametersCompare}.
На рисунке \ref{fig:hyperparametersCompare} видно, что в большинстве случаев значение гиперпараметра для значимого признака меньше, чем минимальное значение гиперпараметров для шумового, однако, в некоторых случаях наблюдаются выбросы.
\begin{figure}
 \centering
 \subfloat[Линейная функция]{\label{fig:gull}\includegraphics[width=0.5\textwidth]{images/meanAlphaVsNoiseAlpha}}                
 \subfloat[Экспонента]{\label{fig:tiger}\includegraphics[width=0.5\textwidth]{images/meanAlphaVsNoiseAlphaExp}}
 \caption{Гиперпараметры для шумовых и информативного признака}
 \label{fig:hyperparametersCompare}
\end{figure}
Два признака
Проводился аналогичный эксперимент для двух информативных признаков, причем сравнивался максимальное значение гиперпараметра для информативных признаков с минимальным значением признака для шумовых признаков.
На рисунках \ref{fig:hyperparametersCompare2} видно, что информативные признаки имели меньшие значения гиперпараметра , чем информативные.
Таким образом, удается выделить информативные и шумовые признаки.
На рисунке \ref{fig:hyperparametersCompare3}показано сравнение информативности первого и второго информативных признаков, видно, что из-за большего веса один признак информативнее другого для линейной модели.
Так же отметим, что для обобщенно-линейной функции не удается выделить наиболее информативный признак, в некоторых случаях гиперпараметры для одного из признаков стремятся к бесконечности.
\begin{figure}
 \centering
 \subfloat[Линейная функция]{\label{fig:gull}\includegraphics[width=0.5\textwidth]{images/meanAlphaVsNoiseAlpha2}}                
 \subfloat[Синусоида]{\label{fig:tiger}\includegraphics[width=0.5\textwidth]{images/meanAlphaVsNoiseAlpha2sin}}
 \caption{Гиперпараметры для шумовых и информативных признаков}
 \label{fig:hyperparametersCompare2}
\end{figure}
\begin{figure}
 \centering
 \subfloat[Линейная функция]{\label{fig:gull}\includegraphics[width=0.5\textwidth]{images/alphasCompare}}                
 \subfloat[Синус]{\label{fig:tiger}\includegraphics[width=0.5\textwidth]{images/alphasCompareSin}}
 \caption{Гиперпараметры для шумовых и информативных признаков}
 \label{fig:hyperparametersCompare3}
\end{figure}
Реальные данные
Использовались реальные данные по определения характеристик цемента по его составу.
Данные были нормализованы так, что как у свободных, так и у зависимой переменной были нулевые математические ожидания и единичные дисперсии.
Для данных без шумовых признаков алгоритм был запущен сто раз на разных подвыборках размера  (размер полной выборки --- 
).
Результаты приведены на рисунке \ref{fig:realDatanoNoise}.
Видно, что признаки разделяются по информативности и что информативность почти всегда эквивалента модулю веса.
\begin{figure}
\centering \subfloat[Веса-процентная квантиль рассматриваемой величины. На рисунке \ref{fig:realDataNoise} видно, что увеличение числа шумовых признаков увеличивает, хоть и не сильно, квантиль как оценки параметра, так и оценки гиперпараметра для разных признаков. Отметим, что, тем не менее, это не влияет на разделимость признаков по информативности.
\begin{figure}
\centering \subfloat[Вес![]()

