Алгоритм минимизации среднеквадратичной ошибки

5.8.1. Минимальная квадратичная ошибка и псевдообращение

В
случае ранее рассмотренных функций
критерия внимание в основном было
сфокусировано на выборках, классифицируемых
с ошибкой. Теперь будет рассмотрена
функция критерия, включаю­щая все
выборки. Там, где прежде осуществлялся
предварительный поиск весового вектора
а,
приводящего
к положительным значениям все скалярные
произведения аtуi,
теперь попытаемся получить аtуi=bi,
где
bi
являются произвольно заданными
положительными

константами. Таким
образом, задача нахождения решения
системы линейных неравенств заменяется
более строгой, но более понятной задачей
определения решения системы линейных
уравнений.

Вид
системы линейных уравнений упрощается,
если ввести матричные обозначения.
Пусть Y
матрица
размера nx,
i-я
строка
которой является вектором
,
и пустьb—вектор-столбец
b=(b1,
. . . ,
bn)t.
Тогда наша задача сводится к определению
весового век­тора
а,

удовлетворяющего уравнению

Yа=b.
(29)

Если
бы матрица
Y
была невырожденной, то можно было бы
записать равенство а=Y-1b
и сразу же получить формальное реше­ние.
Однако
Y
является прямоугольной матрицей, у
которой число строк обычно превышает
число столбцов. Когда уравнений больше,
чем неизвестных, вектор а
определен избыточно, и обычно точного
решения не существует. Однако можно
искать весовой вектор
а,
минимизирующий
некоторую функцию разности между Yа
и b.
Если определить вектор ошибки е
как

е=Yа-b, (30)

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

.
(31)

Задача
минимизации суммы квадратичных ошибок
является классической. Как будет
показано в п.
5.8.4, она
может быть реше­на методом градиентного
анализа. Простое решение в замкнутой
форме можно также получить, образуя
градиент

и полагая его
равным нулю. Отсюда получается необходимое
усло­вие

(32)

и
задача решения уравнения
сводится к задаче решения урав­нения

.
Большим достоинством этого замечательного
уравнения является то, что матрица
размераквадратная и часто невырожденная. Если
данная матрица невырождена, вектор а
может быть определен однозначно:

, (33)

где
матрица размера
n

(34)

называетсяпсевдообращением
матрицы Y.
Заметим, что если матрица Y
квадратная и невырожденная, псевдообращенная
совпадает с обычным обращением. Следует
также отметить, что YY
= I,
но обычно
YY


I.
Если матрица YtY
вырождена, решение уравнения (32)
не будет единственным. Однако решение,
обеспечивающее минимальную квадратичную
ошибку, существует всегда. В частности,
при определении Y
в более общем виде: можно показать, что
данный предел всегда существует, и
a=Yb
является
решением уравнения Ya.=b,
обеспечивающим наименьшую квадратичную
ошибку. Указанные и другие интересные
свойства псевдообращения подробно
изложены в литературе.

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

Алгоритм минимизации среднеквадратнческой ошибки 18$ где Й,, ‘ — обратная матрица для матрицы корреляции К„. Вектор весовых коэффици- ентов хч, называют Винеровским решением линейной задачи оптимальной фильтрации в честь Норберта Винера (ЯогЬеп %1епег), который внес весомый вющд в ее решение 1434), 11144). Исходя из этого, можно сформулировать следующее утверждение. Дхя эргодического процесса линейный филыпр, построенный по методу наименьших квадратов, асимптотически сходится к фильтру Винера по мере приблиэсения кали- честеа наблюдений к бесконечности. 3.6.

Алгоритм минимизации среднеквадратической ошибки Алгоршпм минимизации среднеквадратической ошибки (!еазпшеап-зцпаге — 1.МБ) основан на использовании дискретных значений функции стоимости: Е(хч) = — ез(п), 2 (3.33) где е(п) — сигнал ошибки, измеренный в момент времени и. Дифференцируя Е(зч) по вектору весов зч, получим: д Е(хч) д е(п) дш дчг = е(п) —. (3.34) Как и в случае линейного фильтра, построенного по методу наименьших квадратов, алгоритм минимизации среднеквадратической ошибки работает с линейным нейроном. Исходя из этого, сигнал ошибки можно записать в следующем виде: е(п) = а(п) — х (п)зч(п). (3.35) Для построения фильтра Винера необходимо знать статистические характеристики второго порядка: матрицу корреляции а„для вектора входного сигнала х(п) и вектора взаимной корреляции г„в между х(п) и желаемым откликом а(п).

Однако эта информация на практике зачастую недоступна. В неизвестной среде можно использовать линейный адаптивный филыпр (11пеаг в1арйче 611ег). Под термином «адаптивность’* понимается возможность настраивать свободные параметры фильтра в соответствии со статистическими вариациями среды. Наиболее популярным алгоритмом такой настройки на непрерывной основе является алгоритм минимизации среднеквадратической ошибки, который самым тесным образом связан с фильтром Винера. 188 Глава 3.

Однослойный лерсвлтрон Следовательно, д е(п) = -х(п), д Е(зч) = — х(п)е(п). Используя полученный результат, можно оценить вектор градиента й(п) = -х(п)е(п). (3.36) И, наконец, используя формулу (3.36) для вектора градиента в методе наискорейшего спуска (3.12), можно сформулировать алгоритм минимизации среднеквадратической ошибки в следующем виде: зв(п + 1) = ч(п) + т1 х(п)е(п), (3.37) где т! — параметр скорости обучения. Контур обратной связи для вектора весов Ф(п) в алгоритме минимизации среднеквадратической ошибки ведет себя как низкочастотный фильтр (1ож-раза Й!гег), передающий низкочастотные компоненты сигнала ошибки и задерживающий его высокочастотные составляющие [434). Усредненная временная константаэтой фильтрации обратно пропорциональнапараметрускорости обучения т).

Следовательно, при малых значениях 11 процесс адаптации будет продвигаться медленно. При этом алгоритм минимизации среднеквадратической ошибки будет запоминать большее количество предшествующих данных, а значит, более точной будет фильтрация. Другими словами, величина, обратная параметру скорости обучения 11, является мерой памяти (шеая~ге о( шепюгу) алгоритма минимизации среднеквадратической ошибки.

В формуле (3.37) вместо зв(п) мы использовали зв(п). Этим подчеркивается тот факт, что алгоритм минимизации среднеквадратической ошибки только оценивает (езйшаге) вектор весовых коэффициентов на основе метода наискорейшего спуска. Следовательно, используя алгоритм минимизации среднеквадратической ошибки, можно пожертвовать одной из отличительных особенностей алгоритма наискорейшего спуска. В последнем вектор весовых коэффициентов и» (и) изменяется по детерминированной траектории в пространстве весов при заранее выбранном параметре 11.

В противоположность этому в алгоритме минимизации среднеквадратической ошибки вектор зг(п) перемещается по случайной траектории. По этой причине алгоритм минимизации среднеквадратической ошибки иногда называют стохастическим градиентным алгоритмом. При стремлении количества итераций в алгоритме 1.МЯ к бесконечности вектор зв(п) выписывает хаотичную траекторию (в соответствии с З.б. Алгоритм минимизации среднеквадратической ошибки 187 ТАБЛИЦА 3.1. Краткое описание алгоритма минимизации среднеквадратической ошибки Вектор входного сигнала = х(п) Желаемый отклик = Н(п) Ч Ф(0) = 0 Для п = 1, 2,…

е(п) = г?(п) — «т(п)х(п), Ф(п + 1) = Ф(п) + з) х(п)е(п) Обучающий пример Выбираемый пользователем параметр Инициализация весов Вычислительная схема Граф передачи сигнала для алгоритма минимизации среднеквадратической ошибки Объединяя формулы (3.35) и (3.37), эволюцию вектора весов в алгоритме минимиза- ции среднеквадратической ошибки можно представить в следуюшсм виде: Ф(п+ 1) = Ф(п) + з? х(п)[г?(п) — хт(п)Ф(п)] = = [1 — з) х(п)хт(п)]Е(п) + з) х(п)д(п), (3.38) где 1 — единичная матрица.

При использовании алгоритма минимизации среднеквад- ратической ошибки (3.39) где х ‘ — оператор единичной задержки, реализующей память алгоритма. Используя выражения (3.38) и (3.39), алгоритм минимизации среднеквадратической ошибки можно представить в виде графа передачи сигнала, показанного на рис. 3.3. На этом графе видно, что алгоритм минимизации среднеквадратической ошибки является всего лишь частным случаем стохастической системы с обратной свзиью (мосйазйс 1еебЬаск зуиеш).

Наличие обратной связи оказывает первостепенное влияние на сходимость алгоритма?.М8. принципами броуновского движения) вокруг Винеровского решения зч,. Важно отметить, что, в отличие от метода наискорейшего спуска, алгоритм минимизации среднеквадратической ошибки не требует знания статистических характеристик окружающей среды. Краткое описание алгоритма минимизации среднеквадратической ошибки представлено в табл. 3.1, из которой ясно видна его простота. Из таблицы видно, что для инициализации (?п?йа?гкайоп) алгоритма достаточно обнулить его начальный вектор весовых коэффициентов.

188 Глава 3. Однослойный персептрон Лк(к й(к) Рис. 3.3. Граф передачи си~нала для апюритма минимизации сред- неквадратической ошибки Лк(к) хт(и) Условия сходимости алгоритма ~МЗ Е[тт(п)] — и, при п — оо, (3.40) где тт, — решение Винера. К сожалению, такой критерий сходимости не имеет большого практичесюго значения, так как последовательность произвольных векторов, имеющих среднее значение О, также будет удовлетворять этому условию.

С практической точки зрения вопрос устойчивости играет роль именно в смысле среднеквадратической сходимосл(и (солтегяепсе ог (1(е теал яоцвге): Е[ез(п)] -+ сопя( при и — оо. (3.41) Из теории управления известно, что устойчивость системы с обратной связью определяется параметрами обратной связи. На рис. 3.3 видно, что нижний контур обратной связи обеспечивает изменение поведения алгоритма минимизации среднеквадратической ошибки. В частности, пропускная способность юнтура обратной связи определяется двумя параметрами: козффициентом сюрости обучения 11 и вектором входного сигнала х(п). Таким образом, можно заключить, что сходимость (и устойчивость) алгоритма минимизации среднеквадратической ошибки зависит от статистических характеристик входного вектора х(п) и значения параметра т).

Другими словами, для каждой среды, из которой поступают входные векторы, следует подбирать собственный параметр скорости обучения (), который обеспечит сходимость алгоритма 1,МБ. Первым критерием сходимости алгоритма минимизации среднеквадратической ошибки является сходимослзь в среднем (сопчегяелсе оГ бте шеал): З.б.

Алюритм минимизации средиеквадратической ошибки 189 К сожалению, детальный анализ сходимости в смысле среднеквадратического значения для алгоритма ЬМЯ чрезвычайно сложен. Чтобы его математически упростить, сделаем следующие предположения. 1. Векторы входных сигналов х(1), х(2),… являются статистически независимыми друг от друга. 2. В момент времени и вектор входного сигнала х(п) является статистически независимым от всех предыдущих желаемых откликов, т.е.

41), д(2),…, И(п — 1). 3. В момент времени п желаемый отклик с1(п) зависит от вектора х(п), ио статистически не зависит от всех предыдущих значений желаемого отклика. 4. Вектор входного сигнала х(п) и желаемый отклик д(п) выбираются из множества, подчиняющегося распределению Гаусса. 2 0<Ч <— )~йЪЗХ (3.42) где 3 — наибольшее собственное значение (1агйез1 е)йепча!ие) матрицы корреляции К,. В типичных приложениях алгоритма ЬМБ значение 3, как правило, не известно. Чтобы обойти эту сложность, в качестве оценки сверху значения Х можно использовать след (пасе) матрицы К,. В этом случае условие (3.42) можно переписать в следующем виде: 2 )’ (3.43) где п[К,) — след матрицы К,. По определению след квадратной матрицы определяется как сумма ее диагональных элементов. Так как каждый из диагональных элементов матрицы корреляции К, является среднеквадратическим значением соответствующего входного сигнала, условие сходимости алгоритма минимизации среднеквадратической ошибки можно сформулировать в виде 2 0<э) < сумма среднеквадратических значений входных сигналов (3.44) Статистический анализ алгоритма минимизации среднеквадратической ошибки при наличии вышеуказанных допущений получил название теории независимости (1пдерепдепсе Гаеогу) [1138).

С учетом допущений теории независимости и достаточно малого значения параметра скорости обучения в [434) показано, что алгоритм минимизации средне- квадратической ошибки сходится в смысле среднеквадратического значения, если з) удовлепюряет условию 190 Глава 3. Однослойный лерселтрон Если параметр скорости обучения удовлетворяет этому условию, то алгоритм минимизации среднеквадратической ошибки сходится также и в смысле среднего значения. Это значит, что сходимость в смысле средиеквадратического значения является достаточным условием сходимости в среднем.

Всем привет!

Сегодня мы детально обсудим очень важный класс моделей машинного обучения – линейных. Ключевое отличие нашей подачи материала от аналогичной в курсах эконометрики и статистики – это акцент на практическом применении линейных моделей в реальных задачах (хотя и математики тоже будет немало).

Пример такой задачи – это соревнование Kaggle Inclass по идентификации пользователя в Интернете по его последовательности переходов по сайтам.

UPD 01.2022: С февраля 2022 г. ML-курс ODS на русском возрождается под руководством Петра Ермакова couatl. Для русскоязычной аудитории это предпочтительный вариант (c этими статьями на Хабре – в подкрепление), англоговорящим рекомендуется mlcourse.ai в режиме самостоятельного прохождения.

Все материалы доступны на GitHub.
А вот видеозапись лекции по мотивам этой статьи в рамках второго запуска открытого курса (сентябрь-ноябрь 2017). В ней, в частности, рассмотрены два бенчмарка соревнования, полученные с помощью логистической регрессии.

План этой статьи:

  1. Линейная регрессия
    • Метод наименьших квадратов
    • Метод максимального правдоподобия
    • Разложение ошибки на смещение и разброс (Bias-variance decomposition)
    • Регуляризация линейной регрессии
  2. Логистическая регрессия
    • Линейный классификатор
    • Логистическая регрессия как линейный классификатор
    • Принцип максимального правдоподобия и логистическая регрессия
    • L2-регуляризация логистической функции потерь
  3. Наглядный пример регуляризации логистической регрессии
  4. Где логистическая регрессия хороша и где не очень
    -Анализ отзывов IMDB к фильмам
    -XOR-проблема
  5. Кривые валидации и обучения
  6. Плюсы и минусы линейных моделей в задачах машинного обучения
  7. Домашнее задание №4
  8. Полезные ресурсы

1. Линейная регрессия

Метод наименьших квадратов

Рассказ про линейные модели мы начнем с линейной регрессии. В первую очередь, необходимо задать модель зависимости объясняемой переменной $y$ от объясняющих ее факторов, функция зависимости будет линейной: $y = w_0 + \sum_{i=1}^m w_i x_i$. Если мы добавим фиктивную размерность $x_0 = 1$ для каждого наблюдения, тогда линейную форму можно переписать чуть более компактно, записав свободный член $w_0$ под сумму: $y = \sum_{i=0}^m w_i x_i = \vec{w}^T \vec{x}$. Если рассматривать матрицу наблюдения-признаки, у которой в строках находятся примеры из набора данных, то нам необходимо добавить единичную колонку слева. Зададим модель следующим образом:

$\large \vec y = X \vec w + \epsilon,$

где

Можем выписать выражение для каждого конкретного наблюдения

$\large y_i = \sum_{j=0}^m w_j X_{ij} + \epsilon_i$

Также на модель накладываются следующие ограничения (иначе это будет какая то другая регрессия, но точно не линейная):

Оценка $\hat{w}_i$ весов $w_i$ называется линейной, если

$\large \hat{w}_i = \omega_{1i}y_1 + \omega_{2i}y_2 + \cdots + \omega_{ni}y_n,$

где $\forall\ k\ \omega_{ki}$ зависит только от наблюдаемых данных $X$ и почти наверняка нелинейно. Так как решением задачи поиска оптимальных весов будет именно линейная оценка, то и модель называется линейной регрессией. Введем еще одно определение. Оценка $\hat{w}_i$ называется несмещенной тогда, когда матожидание оценки равно реальному, но неизвестному значению оцениваемого параметра:

$\large \mathbb{E}\left[\hat{w}_i\right] = w_i$

Один из способов вычислить значения параметров модели является метод наименьших квадратов (МНК), который минимизирует среднеквадратичную ошибку между реальным значением зависимой переменной и прогнозом, выданным моделью:

$\large \begin{array}{rcl}\mathcal{L}\left(X, \vec{y}, \vec{w} \right) &=& \frac{1}{2n} \sum_{i=1}^n \left(y_i - \vec{w}^T \vec{x}_i\right)^2 \\ &=& \frac{1}{2n} \left\| \vec{y} - X \vec{w} \right\|_2^2 \\ &=& \frac{1}{2n} \left(\vec{y} - X \vec{w}\right)^T \left(\vec{y} - X \vec{w}\right) \end{array}$

Для решения данной оптимизационной задачи необходимо вычислить производные по параметрам модели, приравнять их к нулю и решить полученные уравнения относительно $\vec w$ (матричное дифференцирование неподготовленному читателю может показаться затруднительным, попробуйте расписать все через суммы, чтобы убедиться в ответе):

Шпаргалка по матричным производным

$\large \begin{array}{rcl} \frac{\partial}{\partial x} x^T a &=& a \\ \frac{\partial}{\partial x} x^T A x &=& \left(A + A^T\right)x \\ \frac{\partial}{\partial A} x^T A y &=& xy^T\\ \frac{\partial}{\partial x} A^{-1} &=& -A^{-1} \frac{\partial A}{\partial x} A^{-1} \end{array}$

$\large \begin{array}{rcl} \frac{\partial \mathcal{L}}{\partial \vec{w}} &=& \frac{\partial}{\partial \vec{w}} \frac{1}{2n} \left( \vec{y}^T \vec{y} -2\vec{y}^T X \vec{w} + \vec{w}^T X^T X \vec{w}\right) \\ &=& \frac{1}{2n} \left(-2 X^T \vec{y} + 2X^T X \vec{w}\right) \end{array}$

$\large \begin{array}{rcl} \frac{\partial \mathcal{L}}{\partial \vec{w}} = 0 &\Leftrightarrow& \frac{1}{2n} \left(-2 X^T \vec{y} + 2X^T X \vec{w}\right) = 0 \\ &\Leftrightarrow& -X^T \vec{y} + X^T X \vec{w} = 0 \\ &\Leftrightarrow& X^T X \vec{w} = X^T \vec{y} \\ &\Leftrightarrow& \vec{w} = \left(X^T X\right)^{-1} X^T \vec{y} \end{array}$

Итак, имея в виду все определения и условия описанные выше, мы можем утверждать, опираясь на теорему Маркова-Гаусса, что оценка МНК является лучшей оценкой параметров модели, среди всех линейных и несмещенных оценок, то есть обладающей наименьшей дисперсией.

Метод максимального правдоподобия

У читателя вполне резонно могли возникнуть вопросы: например, почему мы минимизируем среднеквадратичную ошибку, а не что-то другое. Ведь можно минимизировать среднее абсолютное значение невязки или еще что-то. Единственное, что произойдёт в случае изменения минимизируемого значения, так это то, что мы выйдем из условий теоремы Маркова-Гаусса, и наши оценки перестанут быть лучшими среди линейных и несмещенных.

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

Как-то после школы я заметил, что все помнят формулу этилового спирта. Тогда я решил провести эксперимент: помнят ли люди более простую формулу метилового спирта: $CH_3OH$. Мы опросили 400 человек и оказалось, что формулу помнят всего 117 человек. Разумно предположить, что вероятность того, что следующий опрошенный знает формулу метилового спирта – $\frac{117}{400} \approx 0.29%$. Покажем, что такая интуитивно понятная оценка не просто хороша, а еще и является оценкой максимального правдоподобия.

Разберемся, откуда берется эта оценка, а для этого вспомним определение распределения Бернулли: случайная величина $X$ имеет распределение Бернулли, если она принимает всего два значения ($1$ и $0$ с вероятностями $\theta$ и $1 - \theta$ соответственно) и имеет следующую функцию распределения вероятности:

$\large p\left(\theta, x\right) = \theta^{x} \left(1 - \theta\right)^\left(1 - x\right), x \in \left\{0, 1\right\}$

Похоже, это распределение – то, что нам нужно, а параметр распределения $\theta$ и есть та оценка вероятности того, что человек знает формулу метилового спирта. Мы проделали $400$ независимых экспериментов, обозначим их исходы как $\vec{x} = \left(x_1, x_2, \ldots, x_{400}\right)$. Запишем правдоподобие наших данных (наблюдений), то есть вероятность наблюдать 117 реализаций случайной величины $X = 1$ и 283 реализации $X = 0$:

$\large p(\vec{x} \mid \theta) = \prod_{i=1}^{400} \theta^{x_i} \left(1 - \theta\right)^{\left(1 - x_i\right)} = \theta^{117} \left(1 - \theta\right)^{283}$

Далее будем максимизировать это выражение по $\theta$, и чаще всего это делают не с правдоподобием $p(\vec{x} \mid \theta)$, а с его логарифмом (применение монотонного преобразования не изменит решение, но упростит вычисления):

$\large \log p(\vec{x} \mid \theta) = \log \prod_{i=1}^{400} \theta^{x_i} \left(1 - \theta\right)^{\left(1 - x_i\right)} = $

$ \large = \log \theta^{117} \left(1 - \theta\right)^{283} = 117 \log \theta + 283 \log \left(1 - \theta\right)$

Теперь мы хотим найти такое значение $\theta$, которое максимизирует правдоподобие, для этого мы возьмем производную по $\theta$, приравняем к нулю и решим полученное уравнение:

$\large \frac{\partial p(\vec{x} \mid \theta)}{\partial \theta} = \frac{\partial}{\partial \theta} \left(117 \log \theta + 283 \log \left(1 - \theta\right)\right) = \frac{117}{\theta} - \frac{283}{1 - \theta};$

$\large \begin{array}{rcl} \frac{117}{\theta} - \frac{283}{1 - \theta} = 0 \Rightarrow \theta = \frac{117}{400} \end{array}.$

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

$\large \vec y = X \vec w + \epsilon,$

но будем теперь считать, что случайные ошибки берутся из центрированного нормального распределения:

$\large \epsilon_i \sim \mathcal{N}\left(0, \sigma^2\right)$

Перепишем модель в новом свете:

$\large \begin{array}{rcl} p\left(y_i \mid X, \vec{w}\right) &=& \sum_{j=1}^m w_j X_{ij} + \mathcal{N}\left(0, \sigma^2\right) \\ &=& \mathcal{N}\left(\sum_{j=1}^m w_j X_{ij}, \sigma^2\right) \end{array}$

Так как примеры берутся независимо (ошибки не скоррелированы – одно из условий теоремы Маркова-Гаусса), то полное правдоподобие данных будет выглядеть как произведение функций плотности $p\left(y_i\right)$. Рассмотрим логарифм правдоподобия, что позволит нам перейти от произведения к сумме:

$\large \begin{array}{rcl} \log p\left(\vec{y} \mid X, \vec{w}\right) &=& \log \prod_{i=1}^n \mathcal{N}\left(\sum_{j=1}^m w_j X_{ij}, \sigma^2\right) \\ &=& \sum_{i=1}^n \log \mathcal{N}\left(\sum_{j=1}^m w_j X_{ij}, \sigma^2\right) \\ &=& -\frac{n}{2}\log 2\pi\sigma^2 -\frac{1}{2\sigma^2} \sum_{i=1}^n \left(y_i - \vec{w}^T \vec{x}_i\right)^2 \end{array}$

Мы хотим найти гипотезу максимального правдоподобия, т.е. нам нужно максимизировать выражение $p\left(\vec{y} \mid X, \vec{w}\right)$, а это то же самое, что и максимизация его логарифма. Обратите внимание, что при максимизации функции по какому-то параметру можно выкинуть все члены, не зависящие от этого параметра:

$\large \begin{array}{rcl} \hat{w} &=& \arg \max_{w} p\left(\vec{y} \mid X, \vec{w}\right) \\ &=& \arg \max_{w} -\frac{n}{2}\log 2\pi\sigma^2 -\frac{1}{2\sigma^2} \sum_{i=1}^n \left(y_i - \vec{w}^T \vec{x}_i\right)^2 \\ &=& \arg \max_{w} -\frac{1}{2\sigma^2} \sum_{i=1}^n \left(y_i - \vec{w}^T \vec{x}_i\right)^2 \\ &=& \arg \max_{w} -\mathcal{L}\left(X, \vec{y}, \vec{w} \right) \end{array}$

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

Разложение ошибки на смещение и разброс (Bias-variance decomposition)

Поговорим немного о свойствах ошибки прогноза линейной регрессии (в принципе эти рассуждения верны для всех алгоритмов машинного обучения). В свете предыдущего пункта мы выяснили, что:

Тогда ошибка в точке $\vec{x}$ раскладывается следующим образом:

$\large \begin{array}{rcl} \text{Err}\left(\vec{x}\right) &=& \mathbb{E}\left[\left(y - \hat{f}\left(\vec{x}\right)\right)^2\right] \\ &=& \mathbb{E}\left[y^2\right] + \mathbb{E}\left[\left(\hat{f}\left(\vec{x}\right)\right)^2\right] - 2\mathbb{E}\left[y\hat{f}\left(\vec{x}\right)\right] \\ &=& \mathbb{E}\left[y^2\right] + \mathbb{E}\left[\hat{f}^2\right] - 2\mathbb{E}\left[y\hat{f}\right] \\ \end{array}$

Для наглядности опустим обозначение аргумента функций. Рассмотрим каждый член в отдельности, первые два расписываются легко по формуле $\text{Var}\left(z\right) = \mathbb{E}\left[z^2\right] - \mathbb{E}\left[z\right]^2$:

$\large \begin{array}{rcl} \mathbb{E}\left[y^2\right] &=& \text{Var}\left(y\right) + \mathbb{E}\left[y\right]^2 = \sigma^2 + f^2\\ \mathbb{E}\left[\hat{f}^2\right] &=& \text{Var}\left(\hat{f}\right) + \mathbb{E}\left[\hat{f}\right]^2 \\ \end{array}$

Пояснения:

$\large \begin{array}{rcl} \text{Var}\left(y\right) &=& \mathbb{E}\left[\left(y - \mathbb{E}\left[y\right]\right)^2\right] \\ &=& \mathbb{E}\left[\left(y - f\right)^2\right] \\ &=& \mathbb{E}\left[\left(f + \epsilon - f\right)^2\right] \\ &=& \mathbb{E}\left[\epsilon^2\right] = \sigma^2 \end{array}$

$\large \mathbb{E}[y] = \mathbb{E}[f + \epsilon] = \mathbb{E}[f] + \mathbb{E}[\epsilon] = f$

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

$\large \begin{array}{rcl} \mathbb{E}\left[y\hat{f}\right] &=& \mathbb{E}\left[\left(f + \epsilon\right)\hat{f}\right] \\ &=& \mathbb{E}\left[f\hat{f}\right] + \mathbb{E}\left[\epsilon\hat{f}\right] \\ &=& f\mathbb{E}\left[\hat{f}\right] + \mathbb{E}\left[\epsilon\right] \mathbb{E}\left[\hat{f}\right] = f\mathbb{E}\left[\hat{f}\right] \end{array}$

Наконец, собираем все вместе:

$\large \begin{array}{rcl} \text{Err}\left(\vec{x}\right) &=& \mathbb{E}\left[\left(y - \hat{f}\left(\vec{x}\right)\right)^2\right] \\ &=& \sigma^2 + f^2 + \text{Var}\left(\hat{f}\right) + \mathbb{E}\left[\hat{f}\right]^2 - 2f\mathbb{E}\left[\hat{f}\right] \\ &=& \left(f - \mathbb{E}\left[\hat{f}\right]\right)^2 + \text{Var}\left(\hat{f}\right) + \sigma^2 \\ &=& \text{Bias}\left(\hat{f}\right)^2 + \text{Var}\left(\hat{f}\right) + \sigma^2 \end{array}$

Итак, мы достигли цели всех вычислений, описанных выше, последняя формула говорит нам, что ошибка прогноза любой модели вида $y = f\left(\vec{x}\right) + \epsilon$ складывается из:

Если с последней мы ничего сделать не можем, то на первые два слагаемых мы можем как-то влиять. В идеале, конечно же, хотелось бы свести на нет оба этих слагаемых (левый верхний квадрат рисунка), но на практике часто приходится балансировать между смещенными и нестабильными оценками (высокая дисперсия).

Как правило, при увеличении сложности модели (например, при увеличении количества свободных параметров) увеличивается дисперсия (разброс) оценки, но уменьшается смещение. Из-за того что тренировочный набор данных полностью запоминается вместо обобщения, небольшие изменения приводят к неожиданным результатам (переобучение). Если же модель слабая, то она не в состоянии выучить закономерность, в результате выучивается что-то другое, смещенное относительно правильного решения.

Теорема Маркова-Гаусса как раз утверждает, что МНК-оценка параметров линейной модели является самой лучшей в классе несмещенных линейных оценок, то есть с наименьшей дисперсией. Это значит, что если существует какая-либо другая несмещенная модель $g$ тоже из класса линейных моделей, то мы можем быть уверены, что $Var\left(\hat{f}\right) \leq Var\left(g\right)$.

Регуляризация линейной регрессии

Иногда бывают ситуации, когда мы намеренно увеличиваем смещенность модели ради ее стабильности, т.е. ради уменьшения дисперсии модели $\text{Var}\left(\hat{f}\right)$. Одним из условий теоремы Маркова-Гаусса является полный столбцовый ранг матрицы $X$. В противном случае решение МНК $\vec{w} = \left(X^T X\right)^{-1} X^T \vec{y}$ не существует, т.к. не будет существовать обратная матрица $\left(X^T X\right)^{-1}.$ Другими словами, матрица $X^T X$ будет сингулярна, или вырожденна. Такая задача называется некорректно поставленной. Задачу нужно скорректировать, а именно, сделать матрицу $X^TX$ невырожденной, или регулярной (именно поэтому этот процесс называется регуляризацией). Чаще в данных мы можем наблюдать так называемую мультиколлинеарность — когда два или несколько признаков сильно коррелированы, в матрице $X$ это проявляется в виде «почти» линейной зависимости столбцов. Например, в задаче прогнозирования цены квартиры по ее параметрам «почти» линейная зависимость будет у признаков «площадь с учетом балкона» и «площадь без учета балкона». Формально для таких данных матрица $X^T X$ будет обратима, но из-за мультиколлинеарности у матрицы $X^T X$ некоторые собственные значения будут близки к нулю, а в обратной матрице $\left(X^T X\right)^{-1}$ появятся экстремально большие собственные значения, т.к. собственные значения обратной матрицы – это $\frac{1}{\lambda_i}$. Итогом такого шатания собственных значений станет нестабильная оценка параметров модели, т.е. добавление нового наблюдения в набор тренировочных данных приведёт к совершенно другому решению. Иллюстрации роста коэффициентов вы найдете в одном из наших прошлых постов. Одним из способов регуляризации является регуляризация Тихонова, которая в общем виде выглядит как добавление нового члена к среднеквадратичной ошибке:

$\large \begin{array}{rcl} \mathcal{L}\left(X, \vec{y}, \vec{w} \right) &=& \frac{1}{2n} \left\| \vec{y} - X \vec{w} \right\|_2^2 + \left\|\Gamma \vec{w}\right\|^2\\ \end{array}$

Часто матрица Тихонова выражается как произведение некоторого числа на единичную матрицу: $\Gamma = \frac{\lambda}{2} E$. В этом случае задача минимизации среднеквадратичной ошибки становится задачей с ограничением на $L_2$ норму. Если продифференцировать новую функцию стоимости по параметрам модели, приравнять полученную функцию к нулю и выразить $\vec{w}$, то мы получим точное решение задачи.

$\large \begin{array}{rcl} \vec{w} &=& \left(X^T X + \lambda E\right)^{-1} X^T \vec{y} \end{array}$

Такая регрессия называется гребневой регрессией (ridge regression). А гребнем является как раз диагональная матрица, которую мы прибавляем к матрице $X^T X$, в результате получается гарантированно регулярная матрица.

Такое решение уменьшает дисперсию, но становится смещенным, т.к. минимизируется также и норма вектора параметров, что заставляет решение сдвигаться в сторону нуля. На рисунке ниже на пересечении белых пунктирных линий находится МНК-решение. Голубыми точками обозначены различные решения гребневой регрессии. Видно, что при увеличении параметра регуляризации $\lambda$ решение сдвигается в сторону нуля.

Советуем обратиться в наш прошлый пост за примером того, как $L_2$ регуляризация справляется с проблемой мультиколлинеарности, а также чтобы освежить в памяти еще несколько интерпретаций регуляризации.

2. Логистическая регрессия

Линейный классификатор

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

Мы уже знакомы с линейной регрессией и методом наименьших квадратов. Рассмотрим задачу бинарной классификации, причем метки целевого класса обозначим «+1» (положительные примеры) и «-1» (отрицательные примеры).
Один из самых простых линейных классификаторов получается на основе регрессии вот таким образом:

$\large a(\vec{x}) = sign(\vec{w}^Tx),$

где

Логистическая регрессия как линейный классификатор

Логистическая регрессия является частным случаем линейного классификатора, но она обладает хорошим «умением» – прогнозировать вероятность $p_+$ отнесения примера $\vec{x_i}$ к классу «+»:

$\large p_+ = P\left(y_i = 1 \mid \vec{x_i}, \vec{w}\right) $

Прогнозирование не просто ответа («+1» или «-1»), а именно вероятности отнесения к классу «+1» во многих задачах является очень важным бизнес-требованием. Например, в задаче кредитного скоринга, где традиционно применяется логистическая регрессия, часто прогнозируют вероятность невозврата кредита ($p_+$). Клиентов, обратившихся за кредитом, сортируют по этой предсказанной вероятности (по убыванию), и получается скоркарта — по сути, рейтинг клиентов от плохих к хорошим. Ниже приведен игрушечный пример такой скоркарты.

Банк выбирает для себя порог $p_*$ предсказанной вероятности невозврата кредита (на картинке – $0.15$) и начиная с этого значения уже не выдает кредит. Более того, можно умножить предсказанную вероятность на выданную сумму и получить матожидание потерь с клиента, что тоже будет хорошей бизнес-метрикой (Далее в комментариях специалисты по скорингу могут поправить, но главная суть примерно такая).

Итак, мы хотим прогнозировать вероятность $p_+ \in [0,1]$, а пока умеем строить линейный прогноз с помощью МНК: $b(\vec{x}) = \vec{w}^T \vec{x} \in \mathbb{R}$. Каким образом преобразовать полученное значение в вероятность, пределы которой – [0, 1]? Очевидно, для этого нужна некоторая функция $f: \mathbb{R} \rightarrow [0,1].$ В модели логистической регрессии для этого берется конкретная функция: $\sigma(z) = \frac{1}{1 + \exp^{-z}}$. И сейчас разберемся, каковы для этого предпосылки.

Обозначим $P(X)$ вероятностью происходящего события $X$. Тогда отношение вероятностей $OR(X)$ определяется из $\frac{P(X)}{1-P(X)}$, а это — отношение вероятностей того, произойдет ли событие или не произойдет. Очевидно, что вероятность и отношение шансов содержат одинаковую информацию. Но в то время как $P(X)$ находится в пределах от 0 до 1, $OR(X)$ находится в пределах от 0 до $\infty$.

Если вычислить логарифм $OR(X)$ (то есть называется логарифм шансов, или логарифм отношения вероятностей), то легко заметить, что $\log{OR(X)} \in \mathbb{R}$. Его-то мы и будем прогнозировать с помощью МНК.

Посмотрим, как логистическая регрессия будет делать прогноз $p_+ = P\left(y_i = 1 \mid \vec{x_i}, \vec{w}\right)$ (пока считаем, что веса $\vec{w}$ мы как-то получили (т.е. обучили модель), далее разберемся, как именно).

  • Шаг 1. Вычислить значение $w_{0}+w_{1}x_1 + w_{2}x_2 + ... = \vec{w}^T\vec{x}$. (уравнение $\vec{w}^T\vec{x} = 0$ задает гиперплоскость, разделяющую примеры на 2 класса);

  • Шаг 2. Вычислить логарифм отношения шансов: $ \log(OR_{+}) = \vec{w}^T\vec{x}$.

  • Шаг 3. Имея прогноз шансов на отнесение к классу «+» – $OR_{+}$, вычислить $p_{+}$ с помощью простой зависимости:

$\large p_{+} = \frac{OR_{+}}{1 + OR_{+}} = \frac{\exp^{\vec{w}^T\vec{x}}}{1 + \exp^{\vec{w}^T\vec{x}}} = \frac{1}{1 + \exp^{-\vec{w}^T\vec{x}}} = \sigma(\vec{w}^T\vec{x})$

В правой части мы получили как раз сигмоид-функцию.

Итак, логистическая регрессия прогнозирует вероятность отнесения примера к классу «+» (при условии, что мы знаем его признаки и веса модели) как сигмоид-преобразование линейной комбинации вектора весов модели и вектора признаков примера:

$\large p_+(x_i) = P\left(y_i = 1 \mid \vec{x_i}, \vec{w}\right) = \sigma(\vec{w}^T\vec{x_i}). $

Следующий вопрос: как модель обучается? Тут мы опять обращаемся к принципу максимального правдоподобия.

Принцип максимального правдоподобия и логистическая регрессия

Теперь посмотрим, как из принципа максимального правдоподобия получается оптимизационная задача, которую решает логистическая регрессия, а именно, – минимизация логистической функции потерь.
Только что мы увидели, что логистическая регрессия моделирует вероятность отнесения примера к классу «+» как

$\large p_+(\vec{x_i}) = P\left(y_i = 1 \mid \vec{x_i}, \vec{w}\right) = \sigma(\vec{w}^T\vec{x_i})$

Тогда для класса «-» аналогичная вероятность:

$\large p_-(\vec{x_i}) = P\left(y_i = -1 \mid \vec{x_i}, \vec{w}\right) = 1 - \sigma(\vec{w}^T\vec{x_i}) = \sigma(-\vec{w}^T\vec{x_i}) $

Оба этих выражения можно ловко объединить в одно (следите за моими руками – не обманывают ли вас):

$\large P\left(y = y_i \mid \vec{x_i}, \vec{w}\right) = \sigma(y_i\vec{w}^T\vec{x_i})$

Выражение $M(\vec{x_i}) = y_i\vec{w}^T\vec{x_i}$ называется отступом (margin) классификации на объекте $\vec{x_i}$ (не путать с зазором (тоже margin), про который чаще всего говорят в контексте SVM). Если он неотрицателен, модель не ошибается на объекте $\vec{x_i}$, если же отрицателен – значит, класс для $\vec{x_i}$ спрогнозирован неправильно.
Заметим, что отступ определен для объектов именно обучающей выборки, для которых известны реальные метки целевого класса $y_i$.

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

Рекомендую решить почти классическую задачу из начального курса линейной алгебры: найти расстояние от точки с радиус-вектором $\vec{x_A}$ до плоскости, которая задается уравнением $\vec{w}^T\vec{x} = 0.$

Ответ

$\large \rho(\vec{x_A}, \vec{w}^T\vec{x} = 0) = \frac{\vec{w}^T\vec{x_A}}{||\vec{w}||}$

Когда получим (или посмотрим) ответ, то поймем, что чем больше по модулю выражение $\vec{w}^T\vec{x_i}$, тем дальше точка $\vec{x_i}$ находится от плоскости $\vec{w}^T\vec{x} = 0.$

Значит, выражение $M(\vec{x_i}) = y_i\vec{w}^T\vec{x_i}$ – это своего рода «уверенность» модели в классификации объекта $\vec{x_i}$:

  • если отступ большой (по модулю) и положительный, это значит, что метка класса поставлена правильно, а объект находится далеко от разделяющей гиперплоскости (такой объект классифицируется уверенно). На рисунке – $x_3$.
  • если отступ большой (по модулю) и отрицательный, значит метка класса поставлена неправильно, а объект находится далеко от разделяющей гиперплоскости (скорее всего такой объект – аномалия, например, его метка в обучающей выборке поставлена неправильно). На рисунке – $x_1$.
  • если отступ малый (по модулю), то объект находится близко к разделяющей гиперплоскости, а знак отступа определяет, правильно ли объект классифицирован. На рисунке – $x_2$ и $x_4$.

Теперь распишем правдоподобие выборки, а именно, вероятность наблюдать данный вектор $\vec{y}$ у выборки $X$. Делаем сильное предположение: объекты приходят независимо, из одного распределения (i.i.d.). Тогда

$\large P\left(\vec{y} \mid X, \vec{w}\right) = \prod_{i=1}^{\ell} P\left(y = y_i \mid \vec{x_i}, \vec{w}\right),$

где $\ell$ – длина выборки $X$ (число строк).

Как водится, возьмем логарифм данного выражения (сумму оптимизировать намного проще, чем произведение):

$\large \begin{array}{rcl} \log P\left(\vec{y} \mid X, \vec{w}\right) &=& \log \prod_{i=1}^{\ell} P\left(y = y_i \mid \vec{x_i}, \vec{w}\right) \\ &=& \log \prod_{i=1}^{\ell} \sigma(y_i\vec{w}^T\vec{x_i}) \\ &=& \sum_{i=1}^{\ell} \log \sigma(y_i\vec{w}^T\vec{x_i}) \\ &=& \sum_{i=1}^{\ell} \log \frac{1}{1 + \exp^{-y_i\vec{w}^T\vec{x_i}}} \\ &=& - \sum_{i=1}^{\ell} \log (1 + \exp^{-y_i\vec{w}^T\vec{x_i}}) \end{array}$

То есть в даном случае принцип максимизации правдоподобия приводит к минимизации выражения

$\large \mathcal{L_{log}} (X, \vec{y}, \vec{w}) = \sum_{i=1}^{\ell} \log (1 + \exp^{-y_i\vec{w}^T\vec{x_i}}).$

Это логистическая функция потерь, просуммированная по всем объектам обучающей выборки.

Посмотрим на новую фунцию как на функцию от отступа: $L(M) = \log (1 + \exp^{-M})$. Нарисуем ее график, а также график 1/0 функциий потерь (zero-one loss), которая просто штрафует модель на 1 за ошибку на каждом объекте (отступ отрицательный): $L_{1/0}(M) = [M < 0]$.

Картинка отражает общую идею, что в задаче классификации, не умея напрямую минимизировать число ошибок (по крайней мере, градиентными методами это не сделать – производная 1/0 функциий потерь в нуле обращается в бесконечность), мы минимизируем некоторую ее верхнюю оценку. В данном случае это логистическая функция потерь (где логарифм двоичный, но это не принципиально), и справедливо

$\large \begin{array}{rcl} \mathcal{L_{1/0}} (X, \vec{y}, \vec{w}) &=& \sum_{i=1}^{\ell} [M(\vec{x_i}) < 0] \\ &\leq& \sum_{i=1}^{\ell} \log (1 + \exp^{-y_i\vec{w}^T\vec{x_i}}) \\ &=& \mathcal{L_{log}} (X, \vec{y}, \vec{w}) \end{array}$

где $\mathcal{L_{1/0}} (X, \vec{y}, \vec{w})$ – попросту число ошибок логистической регрессии с весами $\vec{w}$ на выборке $(X, \vec{y})$.

То есть уменьшая верхнюю оценку $\mathcal{L_{log}}$ на число ошибок классификации, мы таким образом надеемся уменьшить и само число ошибок.

$L_2$-регуляризация логистических потерь

L2-регуляризация логистической регрессии устроена почти так же, как и в случае с гребневой (Ridge регрессией). Вместо функционала $\mathcal{L_{log}} (X, \vec{y}, \vec{w})$ минимизируется следующий:

$\large J(X, \vec{y}, \vec{w}) = \mathcal{L_{log}} (X, \vec{y}, \vec{w}) + \lambda |\vec{w}|^2$

В случае логистической регрессии принято введение обратного коэффициента регуляризации $C = \frac{1}{\lambda}$. И тогда решением задачи будет

$\large \hat{w} = \arg \min_{\vec{w}} J(X, \vec{y}, \vec{w}) = \arg \min_{\vec{w}}\ (C\sum_{i=1}^{\ell} \log (1 + \exp^{-y_i\vec{w}^T\vec{x_i}})+ |\vec{w}|^2)$

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

3. Наглядный пример регуляризации логистической регрессии

В 1 статье уже приводился пример того, как полиномиальные признаки позволяют линейным моделям строить нелинейные разделяющие поверхности. Покажем это в картинках.

Посмотрим, как регуляризация влияет на качество классификации на наборе данных по тестированию микрочипов из курса Andrew Ng по машинному обучению.
Будем использовать логистическую регрессию с полиномиальными признаками и варьировать параметр регуляризации C.
Сначала посмотрим, как регуляризация влияет на разделяющую границу классификатора, интуитивно распознаем переобучение и недообучение.
Потом численно установим близкий к оптимальному параметр регуляризации с помощью кросс-валидации (cross-validation) и перебора по сетке (GridSearch).

Подключение библиотек

from __future__ import division, print_function
# отключим всякие предупреждения Anaconda
import warnings
warnings.filterwarnings('ignore')
%matplotlib inline
from matplotlib import pyplot as plt
import seaborn as sns

import numpy as np
import pandas as pd
from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LogisticRegression, LogisticRegressionCV
from sklearn.model_selection import cross_val_score, StratifiedKFold
from sklearn.model_selection import GridSearchCV

Загружаем данные с помощью метода read_csv библиотеки pandas. В этом наборе данных для 118 микрочипов (объекты) указаны результаты двух тестов по контролю качества (два числовых признака) и сказано, пустили ли микрочип в производство. Признаки уже центрированы, то есть из всех значений вычтены средние по столбцам. Таким образом, «среднему» микрочипу соответствуют нулевые значения результатов тестов.

Загрузка данных

data = pd.read_csv('../../data/microchip_tests.txt',
header=None, names = ('test1','test2','released'))
# информация о наборе данных
data.info()

<class ‘pandas.core.frame.DataFrame’>
RangeIndex: 118 entries, 0 to 117
Data columns (total 3 columns):
test1 118 non-null float64
test2 118 non-null float64
released 118 non-null int64
dtypes: float64(2), int64(1)
memory usage: 2.8 KB

Посмотрим на первые и последние 5 строк.

Сохраним обучающую выборку и метки целевого класса в отдельных массивах NumPy. Отобразим данные. Красный цвет соответствует бракованным чипам, зеленый – нормальным.

Код

X = data.ix[:,:2].values
y = data.ix[:,2].values

plt.scatter(X[y == 1, 0], X[y == 1, 1], c='green', label='Выпущен')
plt.scatter(X[y == 0, 0], X[y == 0, 1], c='red', label='Бракован')
plt.xlabel("Тест 1")
plt.ylabel("Тест 2")
plt.title('2 теста микрочипов')
plt.legend();

Определяем функцию для отображения разделяющей кривой классификатора

Код

def plot_boundary(clf, X, y, grid_step=.01, poly_featurizer=None):
x_min, x_max = X[:, 0].min() - .1, X[:, 0].max() + .1
y_min, y_max = X[:, 1].min() - .1, X[:, 1].max() + .1
xx, yy = np.meshgrid(np.arange(x_min, x_max, grid_step),
np.arange(y_min, y_max, grid_step))

# каждой точке в сетке [x_min, m_max]x[y_min, y_max]
# ставим в соответствие свой цвет
Z = clf.predict(poly_featurizer.transform(np.c_[xx.ravel(), yy.ravel()]))
Z = Z.reshape(xx.shape)
plt.contour(xx, yy, Z, cmap=plt.cm.Paired)

Полиномиальными признаками до степени $d$ для двух переменных $x_1$ и $x_2$ мы называем следующие:

$\large \{x_1^d, x_1^{d-1}x_2, \ldots x_2^d\} = \{x_1^ix_2^j\}_{i+j \leq d, i,j \in \mathbb{N}}$

Например, для $d=3$ это будут следующие признаки:

$\large 1, x_1, x_2, x_1^2, x_1x_2, x_2^2, x_1^3, x_1^2x_2, x_1x_2^2, x_2^3$

Нарисовав треугольник Пифагора, Вы сообразите, сколько таких признаков будет для $d=4,5...$ и вообще для любого $d$.
Попросту говоря, таких признаков экспоненциально много, и строить, скажем, для 100 признаков полиномиальные степени 10 может оказаться затратно (а более того, и не нужно).

Создадим объект sklearn, который добавит в матрицу $X$ полиномиальные признаки вплоть до степени 7 и обучим логистическую регрессию с параметром регуляризации $C = 10^{-2}$. Изобразим разделяющую границу.
Также проверим долю правильных ответов классификатора на обучающей выборке. Видим, что регуляризация оказалась слишком сильной, и модель «недообучилась». Доля правильных ответов классификатора на обучающей выборке оказалась равной 0.627.

Код

poly = PolynomialFeatures(degree=7)
X_poly = poly.fit_transform(X)

C = 1e-2
logit = LogisticRegression(C=C, n_jobs=-1, random_state=17)
logit.fit(X_poly, y)

plot_boundary(logit, X, y, grid_step=.01, poly_featurizer=poly)

plt.scatter(X[y == 1, 0], X[y == 1, 1], c='green', label='Выпущен')
plt.scatter(X[y == 0, 0], X[y == 0, 1], c='red', label='Бракован')
plt.xlabel("Тест 1")
plt.ylabel("Тест 2")
plt.title('2 теста микрочипов. Логит с C=0.01')
plt.legend();

print("Доля правильных ответов классификатора на обучающей выборке:", 
round(logit.score(X_poly, y), 3))

Увеличим $C$ до 1. Тем самым мы ослабляем регуляризацию, теперь в решении значения весов логистической регрессии могут оказаться больше (по модулю), чем в прошлом случае. Теперь доля правильных ответов классификатора на обучающей выборке – 0.831.

Код

C = 1
logit = LogisticRegression(C=C, n_jobs=-1, random_state=17)
logit.fit(X_poly, y)

plot_boundary(logit, X, y, grid_step=.005, poly_featurizer=poly)

plt.scatter(X[y == 1, 0], X[y == 1, 1], c='green', label='Выпущен')
plt.scatter(X[y == 0, 0], X[y == 0, 1], c='red', label='Бракован')
plt.xlabel("Тест 1")
plt.ylabel("Тест 2")
plt.title('2 теста микрочипов. Логит с C=1')
plt.legend();

print("Доля правильных ответов классификатора на обучающей выборке:", 
round(logit.score(X_poly, y), 3))

Еще увеличим $C$ – до 10 тысяч. Теперь регуляризации явно недостаточно, и мы наблюдаем переобучение. Можно заметить, что в прошлом случае (при $C$=1 и «гладкой» границе) доля правильных ответов модели на обучающей выборке не намного ниже, чем в 3 случае, зато на новой выборке, можно себе представить, 2 модель сработает намного лучше.
Доля правильных ответов классификатора на обучающей выборке – 0.873.

Код

C = 1e4
logit = LogisticRegression(C=C, n_jobs=-1, random_state=17)
logit.fit(X_poly, y)

plot_boundary(logit, X, y, grid_step=.005, poly_featurizer=poly)

plt.scatter(X[y == 1, 0], X[y == 1, 1], c='green', label='Выпущен')
plt.scatter(X[y == 0, 0], X[y == 0, 1], c='red', label='Бракован')
plt.xlabel("Тест 1")
plt.ylabel("Тест 2")
plt.title('2 теста микрочипов. Логит с C=10k')
plt.legend();

print("Доля правильных ответов классификатора на обучающей выборке:", 
round(logit.score(X_poly, y), 3))

Чтоб обсудить результаты, перепишем формулу для функционала, который оптимизируется в логистической регрессии, в таком виде:

$\large J(X,y,w) = \mathcal{L} + \frac{1}{C}||w||^2,$

где

Промежуточные выводы:

  • чем больше параметр $C$, тем более сложные зависимости в данных может восстанавливать модель (интуитивно $C$ соответствует «сложности» модели (model capacity))
  • если регуляризация слишком сильная (малые значения $C$), то решением задачи минимизации логистической функции потерь может оказаться то, когда многие веса занулились или стали слишком малыми. Еще говорят, что модель недостаточно «штрафуется» за ошибки (то есть в функционале $J$ «перевешивает» сумма квадратов весов, а ошибка $\mathcal{L}$ может быть относительно большой). В таком случае модель окажется недообученной (1 случай)
  • наоборот, если регуляризация слишком слабая (большие значения $C$), то решением задачи оптимизации может стать вектор $w$ с большими по модулю компонентами. В таком случае больший вклад в оптимизируемый функционал $J$ имеет $\mathcal{L}$ и, вольно выражаясь, модель слишком «боится» ошибиться на объектах обучающей выборки, поэтому окажется переобученной (3 случай)
  • то, какое значение $C$ выбрать, сама логистическая регрессия «не поймет» (или еще говорят «не выучит»), то есть это не может быть определено решением оптимизационной задачи, которой является логистическая регрессия (в отличие от весов $w$). Так же точно, дерево решений не может «само понять», какое ограничение на глубину выбрать (за один процесс обучения). Поэтому $C$ – это гиперпараметр модели, который настраивается на кросс-валидации, как и max_depth для дерева.

Настройка параметра регуляризации

Теперь найдем оптимальное (в данном примере) значение параметра регуляризации $C$. Сделать это можно с помощью LogisticRegressionCV – перебора параметров по сетке с последующей кросс-валидацией. Этот класс создан специально для логистической регрессии (для нее известны эффективные алгоритмы перебора параметров), для произвольной модели мы бы использовали GridSearchCV, RandomizedSearchCV или, например, специальные алгоритмы оптимизации гиперпараметров, реализованные в hyperopt.

Код


skf = StratifiedKFold(n_splits=5, shuffle=True, random_state=17)

c_values = np.logspace(-2, 3, 500)

logit_searcher = LogisticRegressionCV(Cs=c_values, cv=skf, verbose=1, n_jobs=-1)
logit_searcher.fit(X_poly, y)

Посмотрим, как качество модели (доля правильных ответов на обучающей и валидационной выборках) меняется при изменении гиперпараметра $C$.

Выделим участок с «лучшими» значениями C.

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

4. Где логистическая регрессия хороша и где не очень

Анализ отзывов IMDB к фильмам

Будем решать задачу бинарной классификации отзывов IMDB к фильмам. Имеется обучающая выборка с размеченными отзывами, по 12500 отзывов известно, что они хорошие, еще про 12500 – что они плохие. Здесь уже не так просто сразу приступить к машинному обучению, потому что готовой матрицы $X$ нет – ее надо приготовить. Будем использовать самый простой подход – мешок слов («Bag of words»). При таком подходе признаками отзыва будут индикаторы наличия в нем каждого слова из всего корпуса, где корпус – это множество всех отзывов. Идея иллюстрируется картинкой

Импорт библиотек и загрузка данных

from __future__ import division, print_function
# отключим всякие предупреждения Anaconda
import warnings
warnings.filterwarnings('ignore')
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
import numpy as np
from sklearn.datasets import load_files
from sklearn.feature_extraction.text import CountVectorizer, TfidfTransformer, TfidfVectorizer
from sklearn.linear_model import LogisticRegression
from sklearn.svm import LinearSVC

Загрузим данные отсюда (краткое описание — тут). В обучающей и тестовой выборках по 12500 тысяч хороших и плохих отзывов к фильмам.

reviews_train = load_files("YOUR PATH")
text_train, y_train = reviews_train.data, reviews_train.target

print("Number of documents in training data: %d" % len(text_train))
print(np.bincount(y_train))

# поменяйте путь к файлу
reviews_test = load_files("YOUR PATH")
text_test, y_test = reviews_test.data, reviews_test.target
print("Number of documents in test data: %d" % len(text_test))
print(np.bincount(y_test))

Пример плохого отзыва:

‘Words can\’t describe how bad this movie is. I can\’t explain it by writing only. You have too see it for yourself to get at grip of how horrible a movie really can be. Not that I recommend you to do that. There are so many clich\xc3\xa9s, mistakes (and all other negative things you can imagine) here that will just make you cry. To start with the technical first, there are a LOT of mistakes regarding the airplane. I won\’t list them here, but just mention the coloring of the plane. They didn\’t even manage to show an airliner in the colors of a fictional airline, but instead used a 747 painted in the original Boeing livery. Very bad. The plot is stupid and has been done many times before, only much, much better. There are so many ridiculous moments here that i lost count of it really early. Also, I was on the bad guys\’ side all the time in the movie, because the good guys were so stupid. «Executive Decision» should without a doubt be you\’re choice over this one, even the «Turbulence»-movies are better. In fact, every other movie in the world is better than this one.’

Пример хорошего отзыва:

‘Everyone plays their part pretty well in this «little nice movie». Belushi gets the chance to live part of his life differently, but ends up realizing that what he had was going to be just as good or maybe even better. The movie shows us that we ought to take advantage of the opportunities we have, not the ones we do not or cannot have. If U can get this movie on video for around $10, it\xc2\xb4d be an investment!’

Простой подсчет слов

Составим словарь всех слов с помощью CountVectorizer. Всего в выборке 74849 уникальных слов. Если посмотреть на примеры полученных «слов» (лучше их называть токенами), то можно увидеть, что многие важные этапы обработки текста мы тут пропустили (автоматическая обработка текстов – это могло бы быть темой отдельной серии статей).

Код

cv = CountVectorizer()
cv.fit(text_train)

print(len(cv.vocabulary_)) #74849

print(cv.get_feature_names()[:50])
print(cv.get_feature_names()[50000:50050])

[’00’, ‘000’, ‘0000000000001’, ‘00001’, ‘00015’, ‘000s’, ‘001’, ‘003830’, ‘006’, ‘007’, ‘0079’, ‘0080’, ‘0083’, ‘0093638’, ’00am’, ’00pm’, ’00s’, ’01’, ’01pm’, ’02’, ‘020410’, ‘029’, ’03’, ’04’, ‘041’, ’05’, ‘050’, ’06’, ’06th’, ’07’, ’08’, ‘087’, ‘089’, ’08th’, ’09’, ‘0f’, ‘0ne’, ‘0r’, ‘0s’, ’10’, ‘100’, ‘1000’, ‘1000000’, ‘10000000000000’, ‘1000lb’, ‘1000s’, ‘1001’, ‘100b’, ‘100k’, ‘100m’]
[‘pincher’, ‘pinchers’, ‘pinches’, ‘pinching’, ‘pinchot’, ‘pinciotti’, ‘pine’, ‘pineal’, ‘pineapple’, ‘pineapples’, ‘pines’, ‘pinet’, ‘pinetrees’, ‘pineyro’, ‘pinfall’, ‘pinfold’, ‘ping’, ‘pingo’, ‘pinhead’, ‘pinheads’, ‘pinho’, ‘pining’, ‘pinjar’, ‘pink’, ‘pinkerton’, ‘pinkett’, ‘pinkie’, ‘pinkins’, ‘pinkish’, ‘pinko’, ‘pinks’, ‘pinku’, ‘pinkus’, ‘pinky’, ‘pinnacle’, ‘pinnacles’, ‘pinned’, ‘pinning’, ‘pinnings’, ‘pinnochio’, ‘pinnocioesque’, ‘pino’, ‘pinocchio’, ‘pinochet’, ‘pinochets’, ‘pinoy’, ‘pinpoint’, ‘pinpoints’, ‘pins’, ‘pinsent’]

Закодируем предложения из текстов обучающей выборки индексами входящих слов. Используем разреженный формат. Преобразуем так же тестовую выборку.

X_train = cv.transform(text_train)
X_test = cv.transform(text_test)

Обучим логистическую регрессию и посмотрим на доли правильных ответов на обучающей и тестовой выборках. Получается, на тестовой выборке мы правильно угадываем тональность примерно 86.7% отзывов.

Код

%%time
logit = LogisticRegression(n_jobs=-1, random_state=7)
logit.fit(X_train, y_train)
print(round(logit.score(X_train, y_train), 3), round(logit.score(X_test, y_test), 3))

Коэффициенты модели можно красиво отобразить.

Код визуализации коэффициентов модели

def visualize_coefficients(classifier, feature_names, n_top_features=25):
# get coefficients with large absolute values 
coef = classifier.coef_.ravel()
positive_coefficients = np.argsort(coef)[-n_top_features:]
negative_coefficients = np.argsort(coef)[:n_top_features]
interesting_coefficients = np.hstack([negative_coefficients, positive_coefficients])
# plot them
plt.figure(figsize=(15, 5))
colors = ["red" if c < 0 else "blue" for c in coef[interesting_coefficients]]
plt.bar(np.arange(2 * n_top_features), coef[interesting_coefficients], color=colors)
feature_names = np.array(feature_names)
plt.xticks(np.arange(1, 1 + 2 * n_top_features), feature_names[interesting_coefficients], rotation=60, ha="right");

def plot_grid_scores(grid, param_name):
plt.plot(grid.param_grid[param_name], grid.cv_results_['mean_train_score'],
color='green', label='train')
plt.plot(grid.param_grid[param_name], grid.cv_results_['mean_test_score'],
color='red', label='test')
plt.legend();

visualize_coefficients(logit, cv.get_feature_names())

Подберем коэффициент регуляризации для логистической регрессии. Используем sklearn.pipeline, поскольку CountVectorizer правильно применять только на тех данных, на которых в текущий момент обучается модель (чтоб не «подсматривать» в тестовую выборку и не считать по ней частоты вхождения слов). В данном случае pipeline задает последовательность действий: применить CountVectorizer, затем обучить логистическую регрессию. Так мы поднимаем долю правильных ответов до 88.5% на кросс-валидации и 87.9% – на отложенной выборке.

Код

from sklearn.pipeline import make_pipeline

text_pipe_logit = make_pipeline(CountVectorizer(), 
LogisticRegression(n_jobs=-1, random_state=7))

text_pipe_logit.fit(text_train, y_train)
print(text_pipe_logit.score(text_test, y_test))

from sklearn.model_selection import GridSearchCV

param_grid_logit = {'logisticregression__C': np.logspace(-5, 0, 6)}
grid_logit = GridSearchCV(text_pipe_logit, param_grid_logit, cv=3, n_jobs=-1)

grid_logit.fit(text_train, y_train)
grid_logit.best_params_, grid_logit.best_score_
plot_grid_scores(grid_logit, 'logisticregression__C')
grid_logit.score(text_test, y_test)

Теперь то же самое, но со случайным лесом. Видим, что с логистической регрессией мы достигаем большей доли правильных ответов меньшими усилиями. Лес работает дольше, на отложенной выборке 85.5% правильных ответов.

Код для обучения случайного леса

from sklearn.ensemble import RandomForestClassifier
forest = RandomForestClassifier(n_estimators=200, n_jobs=-1, random_state=17)
forest.fit(X_train, y_train)
print(round(forest.score(X_test, y_test), 3))

XOR-проблема

Теперь рассмотрим пример, где линейные модели справляются хуже.

Линейные методы классификации строят все же очень простую разделяющую поверхность – гиперплоскость. Самый известный игрушечный пример, в котором классы нельзя без ошибок поделить гиперплоскостью (то есть прямой, если это 2D), получил имя «the XOR problem».

XOR – это «исключающее ИЛИ», булева функция со следующей таблицей истинности:

XOR дал имя простой задаче бинарной классификации, в которой классы представлены вытянутыми по диагоналям и пересекающимися облаками точек.

Код, рисующий следующие 3 картинки

# порождаем данные
rng = np.random.RandomState(0)
X = rng.randn(200, 2)
y = np.logical_xor(X[:, 0] > 0, X[:, 1] > 0)

plt.scatter(X[:, 0], X[:, 1], s=30, c=y, cmap=plt.cm.Paired);

def plot_boundary(clf, X, y, plot_title):
xx, yy = np.meshgrid(np.linspace(-3, 3, 50),
np.linspace(-3, 3, 50))
clf.fit(X, y)
# plot the decision function for each datapoint on the grid
Z = clf.predict_proba(np.vstack((xx.ravel(), yy.ravel())).T)[:, 1]
Z = Z.reshape(xx.shape)

image = plt.imshow(Z, interpolation='nearest',
extent=(xx.min(), xx.max(), yy.min(), yy.max()),
aspect='auto', origin='lower', cmap=plt.cm.PuOr_r)
contours = plt.contour(xx, yy, Z, levels=[0], linewidths=2,
linetypes='--')
plt.scatter(X[:, 0], X[:, 1], s=30, c=y, cmap=plt.cm.Paired)
plt.xticks(())
plt.yticks(())
plt.xlabel(r'$<!-- math>$inline$x_1$inline$</math -->$')
plt.ylabel(r'$<!-- math>$inline$x_2$inline$</math -->$')
plt.axis([-3, 3, -3, 3])
plt.colorbar(image)
plt.title(plot_title, fontsize=12);

plot_boundary(LogisticRegression(), X, y,
"Logistic Regression, XOR problem")

from sklearn.preprocessing import PolynomialFeatures
from sklearn.pipeline import Pipeline

logit_pipe = Pipeline([('poly', PolynomialFeatures(degree=2)), 
('logit', LogisticRegression())])

plot_boundary(logit_pipe, X, y,
"Logistic Regression + quadratic features. XOR problem")

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

А вот если на вход подать полиномиальные признаки, в данном случае до 2 степени, то проблема решается.

Здесь логистическая регрессия все равно строила гиперплоскость, но в 6-мерном пространстве признаков $1, x_1, x_2, x_1^2, x_1x_2$ и $x_2^2$. В проекции на исходное пространство признаков $x_1, x_2$ граница получилась нелинейной.

На практике полиномиальные признаки действительно помогают, но строить их явно – вычислительно неэффективно. Гораздо быстрее работает SVM с ядровым трюком. При таком подходе в пространстве высокой размерности считается только расстояние между объектами (задаваемое функцией-ядром), а явно плодить комбинаторно большое число признаков не приходится. Про это подробно можно почитать в курсе Евгения Соколова (математика уже серьезная).

5. Кривые валидации и обучения

Мы уже получили представление о проверке модели, кросс-валидации и регуляризации.
Теперь рассмотрим главный вопрос:

Если качество модели нас не устраивает, что делать?

  • Сделать модель сложнее или упростить?
  • Добавить больше признаков?
  • Или нам просто нужно больше данных для обучения?

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

Будем работать со знакомыми данными по оттоку клиентов телеком-оператора.

Импорт библиотек и чтение данных

from __future__ import division, print_function
# отключим всякие предупреждения Anaconda
import warnings
warnings.filterwarnings('ignore')
%matplotlib inline
from matplotlib import pyplot as plt
import seaborn as sns

import numpy as np
import pandas as pd
from sklearn.preprocessing import PolynomialFeatures
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression, LogisticRegressionCV, SGDClassifier
from sklearn.model_selection import validation_curve

data = pd.read_csv('../../data/telecom_churn.csv').drop('State', axis=1)
data['International plan'] = data['International plan'].map({'Yes': 1, 'No': 0})
data['Voice mail plan'] = data['Voice mail plan'].map({'Yes': 1, 'No': 0})

y = data['Churn'].astype('int').values
X = data.drop('Churn', axis=1).values

Логистическую регрессию будем обучать стохастическим градиентным спуском. Пока объясним это тем, что так быстрее, но далее в программе у нас отдельная статья про это дело. Построим валидационные кривые, показывающие, как качество (ROC AUC) на обучающей и проверочной выборке меняется с изменением параметра регуляризации.

Код

alphas = np.logspace(-2, 0, 20)
sgd_logit = SGDClassifier(loss='log', n_jobs=-1, random_state=17)
logit_pipe = Pipeline([('scaler', StandardScaler()), ('poly', PolynomialFeatures(degree=2)), 
('sgd_logit', sgd_logit)])
val_train, val_test = validation_curve(logit_pipe, X, y,
'sgd_logit__alpha', alphas, cv=5,
scoring='roc_auc')

def plot_with_err(x, data, **kwargs):
mu, std = data.mean(1), data.std(1)
lines = plt.plot(x, mu, '-', **kwargs)
plt.fill_between(x, mu - std, mu + std, edgecolor='none',
facecolor=lines[0].get_color(), alpha=0.2)

plot_with_err(alphas, val_train, label='training scores')
plot_with_err(alphas, val_test, label='validation scores')
plt.xlabel(r'$\alpha$'); plt.ylabel('ROC AUC')
plt.legend();

Тенденция видна сразу, и она очень часто встречается.

  • Для простых моделей тренировочная и валидационная ошибка находятся где-то рядом, и они велики. Это говорит о том, что модель недообучилась: то есть она не имеет достаточное кол-во параметров.

  • Для сильно усложненных моделей тренировочная и валидационная ошибки значительно отличаются. Это можно объяснить переобучением: когда параметров слишком много либо не хватает регуляризации, алгоритм может «отвлекаться» на шум в данных и упускать основной тренд.

Сколько нужно данных?

Известно, что чем больше данных использует модель, тем лучше. Но как нам понять в конкретной ситуации, помогут ли новые данные? Скажем, целесообразно ли нам потратить N\$ на труд асессоров, чтобы увеличить выборку вдвое?

Поскольку новых данных пока может и не быть, разумно поварьировать размер имеющейся обучающей выборки и посмотреть, как качество решения задачи зависит от объема данных, на котором мы обучали модель. Так получаются кривые обучения (learning curves).

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

Давайте посмотрим, что мы получим для линейной модели. Коэффициент регуляризации выставим большим.

Код

from sklearn.model_selection import learning_curve

def plot_learning_curve(degree=2, alpha=0.01):
train_sizes = np.linspace(0.05, 1, 20)
logit_pipe = Pipeline([('scaler', StandardScaler()), ('poly', PolynomialFeatures(degree=degree)), 
('sgd_logit', SGDClassifier(n_jobs=-1, random_state=17, alpha=alpha))])
N_train, val_train, val_test = learning_curve(logit_pipe,
X, y, train_sizes=train_sizes, cv=5,
scoring='roc_auc')
plot_with_err(N_train, val_train, label='training scores')
plot_with_err(N_train, val_test, label='validation scores')
plt.xlabel('Training Set Size'); plt.ylabel('AUC')
plt.legend()

plot_learning_curve(degree=2, alpha=10)

Типичная ситуация: для небольшого объема данных ошибки на обучающей выборке и в процессе кросс-валидации довольно сильно отличаются, что указывает на переобучение. Для той же модели, но с большим объемом данных ошибки «сходятся», что указывается на недообучение.

Если добавить еще данные, ошибка на обучающей выборке не будет расти, но с другой стороны, ошибка на тестовых данных не будет уменьшаться.

Получается, ошибки «сошлись», и добавление новых данных не поможет. Собственно, это случай – самый интересный для бизнеса. Возможна ситуация, когда мы увеличиваем выборку в 10 раз. Но если не менять сложность модели, это может и не помочь. То есть стратегия «настроил один раз – дальше использую 10 раз» может и не работать.

Что будет, если изменить коэффициент регуляризации (уменьшить до 0.05)?

Видим хорошую тенденцию – кривые постепенно сходятся, и если дальше двигаться направо (добавлять в модель данные), можно еще повысить качество на валидации.

А если усложнить модель ещё больше ($alpha=10^{-4}$)?

Проявляется переобучение – AUC падает как на обучении, так и на валидации.

Строя подобные кривые, можно понять, в какую сторону двигаться, и как правильно настроить сложность модели на новых данных.

Выводы по кривым валидации и обучения

  • Ошибка на обучающей выборке сама по себе ничего не говорит о качестве модели
  • Кросс-валидационная ошибка показывает, насколько хорошо модель подстраивается под данные (имеющийся тренд в данных), сохраняя при этом способность обобщения на новые данные
  • Валидационная кривая представляет собой график, показывающий результат на тренировочной и валидационной выборке в зависимости от сложности модели:
  • если две кривые распологаются близко, и обе ошибки велики, — это признак недообучения
  • если две кривые далеко друг от друга, — это показатель переобучения
  • Кривая обучения — это график, показывающий результаты на валидации и тренировочной подвыборке в зависимости от количества наблюдений:
  • если кривые сошлись друг к другу, добавление новых данных не поможет – надо менять сложность модели
  • если кривые еще не сошлись, добавление новых данных может улучшить результат.

6. Плюсы и минусы линейных моделей в задачах машинного обучения

Плюсы:

Минусы:

  • Плохо работают в задачах, в которых зависимость ответов от признаков сложная, нелинейная
  • На практике предположения теоремы Маркова-Гаусса почти никогда не выполняются, поэтому чаще линейные методы работают хуже, чем, например, SVM и ансамбли (по качеству решения задачи классификации/регрессии)

7. Домашнее задание № 4

В качестве закрепления изученного материала предлагаем следующее задание: разобраться с тем, как работает TfidfVectorizer и DictVectorizer, обучить и настроить модель линейной регрессии Ridge на данных о публикациях на Хабрахабре и воспроизвести бенчмарк в соревновании. Проверить себя можно отправив ответы в веб-форме (там же найдете и решение).

Актуальные и обновляемые версии демо-заданий – на английском на сайте курса. Также по подписке на Patreon («Bonus Assignments» tier) доступны расширенные домашние задания по каждой теме (только на англ.)

8. Полезные ресурсы

  • Перевод материала этой статьи на английский – Jupyter notebooks в репозитории курса
  • Видеозаписи лекций по мотивам этой статьи: классификация, регрессия
  • Основательный обзор классики машинного обучения и, конечно же, линейных моделей сделан в книге «Deep Learning» (I. Goodfellow, Y. Bengio, A. Courville, 2016);
  • Реализация многих алгоритмов машинного обучения с нуля – репозиторий rushter. Рекомендуем изучить реализацию логистической регрессии;
  • Курс Евгения Соколова по машинному обучению (материалы на GitHub). Хорошая теория, нужна неплохая математическая подготовка;
  • Курс Дмитрия Ефимова на GitHub (англ.). Тоже очень качественные материалы.

Статья написана в соавторстве с mephistopheies (Павлом Нестеровым). Он же – автор домашнего задания. Авторы домашнего задания в первой сессии курса (февраль-май 2017)– aiho (Ольга Дайховская) и das19 (Юрий Исаков). Благодарю bauchgefuehl (Анастасию Манохину) за редактирование.

Критерий — минимум — среднеквадратичная ошибка

Cтраница 1

Критерий минимума среднеквадратичной ошибки используется для решения более сложных задач по сравнению с задачей определения оптимальных параметров при известной структуре системы.
 [1]

Идея приближения по критерию минимума среднеквадратичной ошибки, как уже указывалось, не единственна.
 [2]

Тх корректирующего устройства по критерию минимума среднеквадратичной ошибки, если полезный сигнал и помеха независимы и приложены к одной точке системы.
 [3]

Первое из этих условий удовлетворялось и при синтезе по критерию минимума среднеквадратичной ошибки.
 [4]

Адекватность полученной модели и необходимость ее коррекции оценивают чаще всего по критерию минимума среднеквадратичной ошибки. Этот метод наиболее целесообразен.
 [5]

Причем объем вычислений может быть значительно уменьшен за счет незначительного ухудшения качества, фильтрации по критерию минимума среднеквадратичной ошибки.
 [6]

В большинстве практически встречающихся случаев представляется возможным, хотя бы в первом приближении, рассматривать процессы изменения технологических величин или других производственных показателей как стационарные случайные функции с нормальным распределением. Поэтому обычно критерий минимума среднеквадратичной ошибки является наиболее приемлемым в качестве критерия наилучшего предсказания в большинстве рассматриваемых задач управления.
 [7]

Кроме того, по критерию минимума среднеквадратичной ошибки определяются оптимальная структура и передаточная функция замкнутой системы, обеспечивающие минимальную величину погрешности.
 [8]

Анализ и синтез нелинейных систем с неизвестной структурой предлагается проводить с помощью многопеременных прямоугольных функций. Практически реализуемый алгоритм с применением этих функций получен на основе критерия минимума среднеквадратичной ошибки. Алгоритм применим при входных стационарных сигналах с произвольной плотностью распределения вероятностей.
 [9]

Задача заключается в оценке значений, к-рые реализация рассматриваемого процесса ( или нек-рых его параметров, таких, как ср. Здесь в большинстве случаев определяется инвариантный во времени линейный реализуемый фильтр, оптимизирующий оценку по критерию минимума среднеквадратичной ошибки. Возможны и часто желательны др. критерии, но указанный критерий отличается математич. Для решения задач такого рода часто применяется теория Винера — Колмогорова. В этой теории предполагается, что сигнал S ( t) характеризуется только статистич. Мешающий шум N ( t) представляет также чисто случайный процесс, комбинируется с сигналом аддитивно и может быть с ним связан статистически. Далее предполагается, что накопление и обработка данных совершаются только над прошлым процессов на входе, к-рые считаются стационарными в широком смысле и имеющими положительно определенные ковариант-ные ф-ции. Кроме того, в большинстве случаев реализуются оптимальные линейные фильтры, к-рые не только реализуемы, но также и инвариантны во времени. При этих условиях импульсная переходная ф-ция линейного фильтра определяется из интегр.
 [10]

Задача заключается в оценке значений, к-рые реализация рассматриваемого процесса ( или нек-рых его параметров, таких, как ср. Здесь в большинство случаев определяется инвариантный во времени линейный реализуемый фильтр, оптимизирующий оценку по критерию минимума среднеквадратичной ошибки. Возможны и часто желательны др. критерии, но указанный критерий отличается математич. Для решения задач такого рода часто применяется теория Винера — Колмогорова. В этой теории предполагается, что сигнал S ( t) характеризуется только статпстич. Мешающий шум N ( t) представляет также чисто случайный процесс, комбинируется с сигналом аддитивно и может быть с ним связан статистически. Далее предполагается, что накопление и обработка данных совершаются только над прошлым процессов па входе, к-рые считаются стационарными в широком смысле и имеющими положительно определенные ковариант-ные ф-ции. Кроме того, в большинстве случаев реализуются оптимальные линейные фильтры, к-рые не только реализуемы, но также и инвариантны во времени. При этих условиях импульсная переходная ф-ция линейного фильтра определяется из интегр.
 [11]

После определения среднеквадратичной ошибки необходимо обеспечить минимальное значение ее. Наиболее просто задача решается путем минимизации среднеквадратичной ошибки по тому или иному параметру системы при заданных воздействиях. В качестве параметров, которые желательно сделать оптимальными на основе критерия минимума среднеквадратичной ошибки, могут рассматриваться различные постоянные, имеющие большое значение для определения динамических свойств системы.
 [12]

Страницы:  

   1

    Анализ систем на основе критерия минимума среднеквадратичной ошибки [c.189]

    Если ковариационные функции процессов Х( ) и У(/) известны точно, то можно воспользоваться винеровским критерием минимума среднеквадратичной ошибки Этот критерий утверждает, что функция /г(и) должна быть выбрана так, чтобы минимизировать среднеквадратичную ошибку шумовой компоненты, т е [c.190]

    Синтез следящих систем. Одно из первых инженерных применений анализа на основе критерия минимума среднеквадратичной ошибки было сделано при синтезировании следящих систем для зенитных орудий и в радиолокационных следящих системах [5] Например, от радиолокационной следящей системы требуется, чтобы она следила за самолетом несмотря на возмущения отра- [c.189]

    Другое применение критерий минимума среднеквадратичной ошибки находит в задаче об идентификации системы В этом случае в распоряжении имеются входной сигнал и соответствующий ему выходной сигнал от некоторой системы, требуется вывести линейное приближение к этой системе для дальнейшего его использования при управлении или моделировании Предположим, например, что система представляет собой черный ящик (рис 5 7). Если вход является реализацией случайного процесса Х 1), то выход можно рассматривать как реализацию случайного процесса У(0< где [c.190]

    Оптимальное в любом смысле корреляционное окно, например (7 2 3), будет зависеть от неизвестного спектра Гхх(/). Этот недостаток свойствен не только спектральному анализу Вообще говоря, справедливо правило, согласно которому наилучший план действий должен опираться на некоторые представления об истинном положении вещей Следовательно, очень валено проводить четкое различие между планированием спектрального анализа до сбора данных и самим анализом данных, после того как они собраны Мы хотели бы использовать критерии минимума среднеквадратичной ошибки или какой-нибудь аналогичный критерий до проведения спектрального анализа, чтобы решить, например, какой длины нужно взять запись Но после того как данные собраны, могло бы оказаться, что наши представления относительно Гхх (/) были абсолютно неправильны [c.26]

    Если плотность вероятности ге ([х у) симметрична относительно среднего значения гпг [х у и унимодальна (т. е. монотонно невозрастающая функция [х — /П] [х у ), то байесовская оценка (5.18) совпадает с оценкой по критерию максимума апостериорной плотности вероятности. В этом случае функция С (х) не должна быть обязательно выпуклой, а лишь монотонно неубывающей функцией х (см. приложение С). Так как нормальная плотность вероятности унимодальна, то всегда, когда плотность вероятности ге ([х I у) нормальна, оценка по максимуму апостериорной плотности вероятности совпадает с широким классом байесовских оценок, который включает оценки по минимуму среднеквадратичной ошибки (или минимуму дисперсии). [c.158]


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

В более сложных случаях приходится искать минимум дисперсии путем числового задания интересующих параметров и построения соответствующих графиков.

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

замкнутой системы , при которой обеспечивается получение теоретического минимума среднеквадратичной ошибки.

Задача относится к категории вариационных задач. Приведем здесь некоторые результаты ее решения [120] для случая, когда полезный сигнал g (t) и помеха f (I) представляют собой центрированные стационарные случайные процессы, приложенные на входе системы. Перед системой ставится задача преобразовывать входной сигнал g (t) так, чтобы на ее выходе воспроизводилась величина h (t), связанная с g (t) некоторой формулой преобразования

тде Н (р) — преобразующий оператор.

Так, например, при получится задача интегрирования входного сигнала, при Н(р)=р — задача дифференцирования, при H(р) = 1 — задача простого воспроизведения со

сглаживанием помехи (обычная следящая система при наличии помех), при — статистическое упреждение (предсказание) и т. п.

На основании изложенного ошибку системы можно представить в виде

(11.130)

Выходная величина системы регулирования

(11.131)

где — весовая функция замкнутой системы. Подставляя (11.130) и (11.131) в формулу (11.129), получаем

(11.132)

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

(11.133)

таким образом, чтобы минимизировать значение .

Раскроем в выражении (11.132) скобки и изменим порядок интегрирования:

Так как в реальных системах , то нижние пределы интегрирования в (11.138) надо положить равными нулю. В результате получим

(11.139)

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

Можно показать [120], что необходимое и достаточное условие минимизации выражения (11.139), которое должно быть наложено на весовую функцию, заключается в том, чтобы она была решением интегрального уравнения Винера — Хопфа

(11.140)

Оптимальная передаточная функция (11.133), соответствующая оптимальной весовой функции, являющейся решением уравнения (11.140), может быть представлена в виде

(11.141)

где

(11.142)

Вчастном случае, когда преобразующий оператор Н(р) = 1, т. е в так называемом случае оптимального сглаживания, имеем

Вэтом случае решение (11.141) может быть представлено в более простом виде:

(11.143)

Числитель этого выражения определяется следующим образом. Рассмотрим следующее выражение:

(11.144)

Здесь , расположенные в верхней полуплоскости, полюсы , расположенные в нижней полуплоскости, причем полюсы предполагаются простыми, а — нули . Тогда

(11.145)

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

(11.146)

или, в другом виде,

(11.147).

Рассмотрим иллюстративный пример. Предположим, что полезному сигналу и помехе на входе системы регулирования соответствуют спектральные плотности:

причем корреляция между ними отсутствует и . Найдем спектральную плотность, соответствующую (11.136):

Отсюда знаменатель искомой передаточной функции (11.143)

Отбросив первый член в скобках, соответствующий полюсу в нижней полуплоскости, находим числитель искомой передаточной функции (11.143):

Нахождение оптимальной передаточной функции еще не означает, что реальная автоматическая система может быть выполнена оптимальной, так как реализация ее может быть сопряжена с большими трудностями. Оптимальную передаточную функцию, за исключением простейших случаев, следует считать идеальной функцией, к которой по возможности надо стремиться при выполнении реальной автоматической системы. Теория оптимальных систем излагается в работах [26, 108, 120, 121].

ГЛАВА 12. МЕТОДЫ СИНТЕЗА СИСТЕМ АВТОМАТИЧЕСКОГО РЕГУЛИРОВАНИЯ

§ 12.1. Общие соображения

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

Синтез можно трактовать как пример вариационной задачи и рассматривать такое построение системы автоматического регулирования, при котором для данных условий работы (управляющие и возмущающие воздействия, помехи, ограничения по времени работы и т. п.) обеспечивается теоретический минимум ошибки.

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

Иногда в понятие инженерного синтеза вкладывается еще более узкий смысл и рассматривается синтез, имеющий целью определение вида и параметров корректирующих средств, которые необходимо добавить к некоторой неизменяемой части системы регулирования (объект с регулятором), чтобы обеспечить требуемые динамические качества.

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

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

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

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

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

§ 12.2. Корневой метод

Наиболее простой корневой метод разработан Т. Н. Соколовым [117]. Сущность его сводится к следующему. [В соответствии с изложенным в § 12.1 рассматривается только задача

.получения приемлемых динамических качеств при заданном значении общего коэффициента усиления, т. е. последнего члена характеристического уравнения.]

Пусть имеется характеристическое уравнение системы

(12.1)

С точки зрения скорейшего затухания переходного процесса важно, чтобы вещественные части всех корней характеристического уравнения были наибольшими. Сумма вещественных частей всех корней численно равна первому коэффициенту характеристического уравнения (12.1). Поэтому при заданной величине этого коэффициента наивыгоднейшие результаты получаются при равенстве вещественных частей всех корней/ Однако расчеты и исследования построенных систем показывают, что стремление удовлетворить поставленному требованию приводит к совершенно нереальным конструктивным характеристикам отдельных звеньев. Эти расчеты и исследования показывают, что из общего числа корней характеристического уравнения всегда можно выделить два или три корня с меньшей по абсолютному значению вещественной частью, которые и определяют ход основного процесса. Остальные же корни характеризуют быстро затухающие составляющие, оказывающие влияние только на начальной стадии переходного процесса.

Примем, что основной характер переходного процесса определяется двумя корнями. Тогда уравнение (12.1) удобно представить в виде

(12.2)

Второй сомножитель (12.2) и будет определять основной характер процесса.

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

Оптимальное соотношение между коэффициентами B1 и В2 определяется из условия получения затухания за один период , которому соответствует выражение (см. §8.6)

(12.3)

где — вещественная и мнимая части комплексного корня, характеризующего основной процесс. Учитывая соотношения:

(12.4)

Множитель определяющий соотношение между коэффициентами основного множителя характеристического уравнения, является критерием переходного режима, зависящим от выбранной степени затухания. Формула (12.4) показывает желаемое соотношение между коэффициентами характеристического уравнения, к которому надо стремиться при проектировании системы. Это должно осуществляться введением различных корректирующих средств.

Из (12.3) можно также получить требуемое соотношение между мнимой и вещественной частями корня (колебательность):

(12.5)

В ряде случаев для описания основного переходного процесса оказывается более целесообразным воспользоваться уравнением третьей степени

(12.6)

Это уравнение можно представить в виде

(12.7)

Между коэффициентами уравнений (12.6) и (12.7) имеют место соотношения:

Положим, что во втором множителе (12.7) по-прежнему

(12.8)

Поэтому корни характеристического уравнения (12.6) и (12.7) равны: (12.9)

(12.10)

Так как вещественная часть корней должна быть возможно большей, то целесообразно задать

(12.11)

и, следовательно,

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

Эти соотношения должны реализоваться при проектировании системы регулирования. Корни основного уравнения

Выбор уравнения для описания основной составляющей переходного процесса зависит от структурной схемы проектируемой системы.

Рассмотрим теперь связь между основной и дополнительной составляющими переходного процесса для заданного затухания ξ (8.40). Для этой цели полезно представить характеристическое уравнение (12.1) в таком виде:

(12.19)

где — произвольно выбранный среднегеометрический корень, А1, . . . , . ., Аn-1 — безразмерные коэффициенты.

Записанное в такой форме уравнение третьей степени принимает вид

Разлагая его на множители, находим

Соотношения для коэффициентов:

(12.21)

Введем коэффициент а и положим

откуда

Таким образом, безразмерные коэффициенты А1 и A2 являются функциями критерия переходного процесса &ш зависящего от. желаемой степени затухания и коэффициента разложения а, определяющего соотношение постоянных времени затухания отдельных составляющих.

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

характеристического уравнения четвертой, пятой и более высоких степеней [117].

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

(12.1) или (12.20).

Этот метод оказывается достаточно эффективным в случае сравнительно невысокой степени характеристического уравнения (n=2-4). В более сложных случаях обеспечить требуемые значения коэффициентов характеристического уравнения оказывается затруднительно, так как некоторые параметры системы и корректирующих средств могут влиять сразу на несколько коэффициентов характеристического уравнения.

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

§ 12.3. Метод корневых годографов

Качество системы регулирования с точки зрения быстродействия и запаса устойчивости может характеризоваться расположением корней числителя и знаменателя передаточной функции замкнутой системы, т. е. расположением нулей и полюсов передаточной функции (§ 8.6).

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

При плавном изменении значения какого-либо параметра корни будут перемещаться на плоскости корней, прочерчивая некоторую кривую, которую будем называть корневым

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

Первый способ построения траекторий корней заключается в следующем. Пусть имеется дифференциальное уравнение замкнутой системы, записанное для регулируемой величины при наличии задающего воздействия (5.3):

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

Передаточная функция замкнутой системы

(12.29)

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

ее нули (корни числителя) —через .

Коэффициенты числителя и знаменателя (12.29) определенным образом выражены через параметры регулируемого объекта, регулятора и корректирующих устройств. Если нужно

выбрать величину какого-либо параметра (постоянная времени, коэффициент усиления и т. п.), входящего как угодно в коэффициенты (12.29), то необходимо принять некоторые постоянные

значения для всех остальных параметров, а для искомого параметра задавать различные

числовые значения внутри реально возможных пределов изменения этого параметра в данной системе регулирования. Для каждого из этих вариантов необходимо затем вычислить корни числителя и знаменателя (12.29). Результаты вычислений можно свести в таблицу, на основании которой легко строятся все траектории корней.

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

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

Из простых численных методов определения корней можно рекомендовать, например, метод последовательных делений [98].

Другой способ построения траекторий корней, разработанный Ивэнсом и Э. Г. Удерманом [128], в отличие от первого, пригодного для выбора любого параметра системы, специально приспособлен для выбора общего коэффициента усиления передаточной функции разомкнутой системы (5.10), которую запишем следующим образом:

(12.30)

Здесь К = Кr — общий коэффициент усиления разомкнутой системы, имеющий размерность сек-r, где r — степень астатизма; G1 (р) — операторная часть передаточной функции разомкнутой системы.

Характеристическое уравнение системы может быть записано в виде

(12.31)

Обозначим полюсы и нули передаточной функции разомкнутой системы соответственно через . Тогда

Каждый сомножитель в выражении (12.32) можно изобразить в виде вектора на комплексной плоскости (рис. 12.1), где р — текущая точка. Обозначим длину (модуль) каждого

вектора в знаменателе (12.32) через , а в числителе — через Соответственно угол между вектором и положительным направлением оси вещественных

(аргумент) для знаменателя обозначим , а для числителя — . По правилу перемножения комплексных чисел согласно формуле (12.32) найдем, что G (р) будет представлять собой вектор с длиной г ж аргументом ф, причем

(12.33)

где

Траектории корней (рис. 12.1) строятся таким образом, чтобы они удовлетворяли условию (12.38). После этого по формуле (12.34) для каждой

конкретной комбинации корней можно вычислить А и величину r, а затем по формуле (12.37) — общий коэффициент усиления К.

Для упрощения построения траекторий корней используются следующие свойства. 1.При К = 0 корни характеристического уравнения замкнутой системы совпадают с

полюсами передаточной функции разомкнутой системы W (р) или G (р), так как согласно (12.31) при К = 0 имеем .

2. При корни стремятся к нулям передаточной функции разомкнутой системы, так

как при из (12.31) получаем . Но количество нулей равно m, в то время как количество корней n >m. Поэтому остальные n — m корней уходят в бесконечность, так как

еще при . Для последних n-m корней можно определить направления асимптот на основании (12.31) и (12.32). При больших имеем соответственно

откуда аргумент комплексного числа и, значит, аргумент числа , т. е. наклон искомых асимптот, будет

(12.41)

3.На вещественной оси траектории корней представляют собой отрезки прямой, соединяющие нули и полюсы функции G (р), расположенные на этой оси. Началом траекторий на вещественной оси служит нуль, расположенный правее всех остальных.

4.Если траектория отклоняется от вещественной оси, то положение точки р = а, в которой траектория отходит от этой оси, можно оценить из того условия, что при малом отклонении , от вещественной оси приращение угла (12.35), обусловленное влиянием полюсов и нулей функции G (р), расположенных на оси влево от искомой точки, должно уничтожаться приращением этого же угла, обусловленным влиянием полюсов и нулей О (р), расположенных вправо от этой точки.

Так, например, пусть имеется функция

(12.42)

При К = 0 траектории исходят из точек (—0,001), (—2) и (—6), лежащих на вещественной

оси. Отрезки траекторий лежат между точками (—0,001) ж (—2) и между (—6) и . Применяя правило 4, можем записать

Решение этого квадратного уравнения дает .

5. Положение точки, в которой траектория пересекает мнимую ось при переходе в правую полуплоскость комплексной переменной р, часто можно оценить, пренебрегая влиянием малого по абсолютной величине полюса функции G (р).

Рассмотрим в качестве примера опять функцию (12.42). При значительных по модулю величинах комплексной переменной р эту функцию можно с хорошей точностью аппроксимировать функцией

Тогда (рис. 12.2) и, следовательно, условие (12.38) сводится к равенству

и Рассматривая график на рис. 12.2, можно заметить, что

откуда следует, что . Это равенство и представляет собой условие для определения точки пересечения В.

6. Направление касательной к траектории при выходе ее из какого-либо полюса или при подходе к какому-либо нулю нетрудно определить путем вычисления угла между этой касательной в данном полюсе или нуле и вещественной осью. При таком вычислении используется зависимость (12.38) для аргументов всех нулей и полюсов, расположенных по условию в левой полуплоскости комплексной переменной р.

На рис. 12.3 изображены траектории корней передаточной функции G (р), имеющей два нуля и два полюса на вещественной оси и одну пару комплексных сопряженных полюсов. При

достаточно малом удалении точки р от полюса q4 углы , соответствующие

остальным нулям и полюсам, останутся неизменными. Таким образом, в силу (12.38) угол найдется из уравнения I

From Wikipedia, the free encyclopedia

In statistics, the mean squared error (MSE)[1] or mean squared deviation (MSD) of an estimator (of a procedure for estimating an unobserved quantity) measures the average of the squares of the errors—that is, the average squared difference between the estimated values and the actual value. MSE is a risk function, corresponding to the expected value of the squared error loss.[2] The fact that MSE is almost always strictly positive (and not zero) is because of randomness or because the estimator does not account for information that could produce a more accurate estimate.[3] In machine learning, specifically empirical risk minimization, MSE may refer to the empirical risk (the average loss on an observed data set), as an estimate of the true MSE (the true risk: the average loss on the actual population distribution).

The MSE is a measure of the quality of an estimator. As it is derived from the square of Euclidean distance, it is always a positive value that decreases as the error approaches zero.

The MSE is the second moment (about the origin) of the error, and thus incorporates both the variance of the estimator (how widely spread the estimates are from one data sample to another) and its bias (how far off the average estimated value is from the true value).[citation needed] For an unbiased estimator, the MSE is the variance of the estimator. Like the variance, MSE has the same units of measurement as the square of the quantity being estimated. In an analogy to standard deviation, taking the square root of MSE yields the root-mean-square error or root-mean-square deviation (RMSE or RMSD), which has the same units as the quantity being estimated; for an unbiased estimator, the RMSE is the square root of the variance, known as the standard error.

Definition and basic properties[edit]

The MSE either assesses the quality of a predictor (i.e., a function mapping arbitrary inputs to a sample of values of some random variable), or of an estimator (i.e., a mathematical function mapping a sample of data to an estimate of a parameter of the population from which the data is sampled). The definition of an MSE differs according to whether one is describing a predictor or an estimator.

Predictor[edit]

If a vector of n predictions is generated from a sample of n data points on all variables, and Y is the vector of observed values of the variable being predicted, with hat{Y} being the predicted values (e.g. as from a least-squares fit), then the within-sample MSE of the predictor is computed as

{displaystyle operatorname {MSE} ={frac {1}{n}}sum _{i=1}^{n}left(Y_{i}-{hat {Y_{i}}}right)^{2}.}

In other words, the MSE is the mean {textstyle left({frac {1}{n}}sum _{i=1}^{n}right)} of the squares of the errors {textstyle left(Y_{i}-{hat {Y_{i}}}right)^{2}}. This is an easily computable quantity for a particular sample (and hence is sample-dependent).

In matrix notation,

{displaystyle operatorname {MSE} ={frac {1}{n}}sum _{i=1}^{n}(e_{i})^{2}={frac {1}{n}}mathbf {e} ^{mathsf {T}}mathbf {e} }

where e_{i} is {displaystyle (Y_{i}-{hat {Y_{i}}})} and {displaystyle mathbf {e} } is the {displaystyle ntimes 1} column vector.

The MSE can also be computed on q data points that were not used in estimating the model, either because they were held back for this purpose, or because these data have been newly obtained. Within this process, known as statistical learning, the MSE is often called the test MSE,[4] and is computed as

{displaystyle operatorname {MSE} ={frac {1}{q}}sum _{i=n+1}^{n+q}left(Y_{i}-{hat {Y_{i}}}right)^{2}.}

Estimator[edit]

The MSE of an estimator hat{theta} with respect to an unknown parameter theta is defined as[1]

{displaystyle operatorname {MSE} ({hat {theta }})=operatorname {E} _{theta }left[({hat {theta }}-theta )^{2}right].}

This definition depends on the unknown parameter, but the MSE is a priori a property of an estimator. The MSE could be a function of unknown parameters, in which case any estimator of the MSE based on estimates of these parameters would be a function of the data (and thus a random variable). If the estimator hat{theta} is derived as a sample statistic and is used to estimate some population parameter, then the expectation is with respect to the sampling distribution of the sample statistic.

The MSE can be written as the sum of the variance of the estimator and the squared bias of the estimator, providing a useful way to calculate the MSE and implying that in the case of unbiased estimators, the MSE and variance are equivalent.[5]

{displaystyle operatorname {MSE} ({hat {theta }})=operatorname {Var} _{theta }({hat {theta }})+operatorname {Bias} ({hat {theta }},theta )^{2}.}

Proof of variance and bias relationship[edit]

{displaystyle {begin{aligned}operatorname {MSE} ({hat {theta }})&=operatorname {E} _{theta }left[({hat {theta }}-theta )^{2}right]\&=operatorname {E} _{theta }left[left({hat {theta }}-operatorname {E} _{theta }[{hat {theta }}]+operatorname {E} _{theta }[{hat {theta }}]-theta right)^{2}right]\&=operatorname {E} _{theta }left[left({hat {theta }}-operatorname {E} _{theta }[{hat {theta }}]right)^{2}+2left({hat {theta }}-operatorname {E} _{theta }[{hat {theta }}]right)left(operatorname {E} _{theta }[{hat {theta }}]-theta right)+left(operatorname {E} _{theta }[{hat {theta }}]-theta right)^{2}right]\&=operatorname {E} _{theta }left[left({hat {theta }}-operatorname {E} _{theta }[{hat {theta }}]right)^{2}right]+operatorname {E} _{theta }left[2left({hat {theta }}-operatorname {E} _{theta }[{hat {theta }}]right)left(operatorname {E} _{theta }[{hat {theta }}]-theta right)right]+operatorname {E} _{theta }left[left(operatorname {E} _{theta }[{hat {theta }}]-theta right)^{2}right]\&=operatorname {E} _{theta }left[left({hat {theta }}-operatorname {E} _{theta }[{hat {theta }}]right)^{2}right]+2left(operatorname {E} _{theta }[{hat {theta }}]-theta right)operatorname {E} _{theta }left[{hat {theta }}-operatorname {E} _{theta }[{hat {theta }}]right]+left(operatorname {E} _{theta }[{hat {theta }}]-theta right)^{2}&&operatorname {E} _{theta }[{hat {theta }}]-theta ={text{const.}}\&=operatorname {E} _{theta }left[left({hat {theta }}-operatorname {E} _{theta }[{hat {theta }}]right)^{2}right]+2left(operatorname {E} _{theta }[{hat {theta }}]-theta right)left(operatorname {E} _{theta }[{hat {theta }}]-operatorname {E} _{theta }[{hat {theta }}]right)+left(operatorname {E} _{theta }[{hat {theta }}]-theta right)^{2}&&operatorname {E} _{theta }[{hat {theta }}]={text{const.}}\&=operatorname {E} _{theta }left[left({hat {theta }}-operatorname {E} _{theta }[{hat {theta }}]right)^{2}right]+left(operatorname {E} _{theta }[{hat {theta }}]-theta right)^{2}\&=operatorname {Var} _{theta }({hat {theta }})+operatorname {Bias} _{theta }({hat {theta }},theta )^{2}end{aligned}}}

An even shorter proof can be achieved using the well-known formula that for a random variable {textstyle X}, {textstyle mathbb {E} (X^{2})=operatorname {Var} (X)+(mathbb {E} (X))^{2}}. By substituting {textstyle X} with, {textstyle {hat {theta }}-theta }, we have

{displaystyle {begin{aligned}operatorname {MSE} ({hat {theta }})&=mathbb {E} [({hat {theta }}-theta )^{2}]\&=operatorname {Var} ({hat {theta }}-theta )+(mathbb {E} [{hat {theta }}-theta ])^{2}\&=operatorname {Var} ({hat {theta }})+operatorname {Bias} ^{2}({hat {theta }})end{aligned}}}

But in real modeling case, MSE could be described as the addition of model variance, model bias, and irreducible uncertainty (see Bias–variance tradeoff). According to the relationship, the MSE of the estimators could be simply used for the efficiency comparison, which includes the information of estimator variance and bias. This is called MSE criterion.

In regression[edit]

In regression analysis, plotting is a more natural way to view the overall trend of the whole data. The mean of the distance from each point to the predicted regression model can be calculated, and shown as the mean squared error. The squaring is critical to reduce the complexity with negative signs. To minimize MSE, the model could be more accurate, which would mean the model is closer to actual data. One example of a linear regression using this method is the least squares method—which evaluates appropriateness of linear regression model to model bivariate dataset,[6] but whose limitation is related to known distribution of the data.

The term mean squared error is sometimes used to refer to the unbiased estimate of error variance: the residual sum of squares divided by the number of degrees of freedom. This definition for a known, computed quantity differs from the above definition for the computed MSE of a predictor, in that a different denominator is used. The denominator is the sample size reduced by the number of model parameters estimated from the same data, (np) for p regressors or (np−1) if an intercept is used (see errors and residuals in statistics for more details).[7] Although the MSE (as defined in this article) is not an unbiased estimator of the error variance, it is consistent, given the consistency of the predictor.

In regression analysis, «mean squared error», often referred to as mean squared prediction error or «out-of-sample mean squared error», can also refer to the mean value of the squared deviations of the predictions from the true values, over an out-of-sample test space, generated by a model estimated over a particular sample space. This also is a known, computed quantity, and it varies by sample and by out-of-sample test space.

Examples[edit]

Mean[edit]

Suppose we have a random sample of size n from a population, X_{1},dots ,X_{n}. Suppose the sample units were chosen with replacement. That is, the n units are selected one at a time, and previously selected units are still eligible for selection for all n draws. The usual estimator for the mu is the sample average

overline{X}=frac{1}{n}sum_{i=1}^n X_i

which has an expected value equal to the true mean mu (so it is unbiased) and a mean squared error of

{displaystyle operatorname {MSE} left({overline {X}}right)=operatorname {E} left[left({overline {X}}-mu right)^{2}right]=left({frac {sigma }{sqrt {n}}}right)^{2}={frac {sigma ^{2}}{n}}}

where sigma ^{2} is the population variance.

For a Gaussian distribution, this is the best unbiased estimator (i.e., one with the lowest MSE among all unbiased estimators), but not, say, for a uniform distribution.

Variance[edit]

The usual estimator for the variance is the corrected sample variance:

{displaystyle S_{n-1}^{2}={frac {1}{n-1}}sum _{i=1}^{n}left(X_{i}-{overline {X}}right)^{2}={frac {1}{n-1}}left(sum _{i=1}^{n}X_{i}^{2}-n{overline {X}}^{2}right).}

This is unbiased (its expected value is sigma ^{2}), hence also called the unbiased sample variance, and its MSE is[8]

{displaystyle operatorname {MSE} (S_{n-1}^{2})={frac {1}{n}}left(mu _{4}-{frac {n-3}{n-1}}sigma ^{4}right)={frac {1}{n}}left(gamma _{2}+{frac {2n}{n-1}}right)sigma ^{4},}

where mu _{4} is the fourth central moment of the distribution or population, and gamma_2=mu_4/sigma^4-3 is the excess kurtosis.

However, one can use other estimators for sigma ^{2} which are proportional to S^2_{n-1}, and an appropriate choice can always give a lower mean squared error. If we define

{displaystyle S_{a}^{2}={frac {n-1}{a}}S_{n-1}^{2}={frac {1}{a}}sum _{i=1}^{n}left(X_{i}-{overline {X}},right)^{2}}

then we calculate:

{displaystyle {begin{aligned}operatorname {MSE} (S_{a}^{2})&=operatorname {E} left[left({frac {n-1}{a}}S_{n-1}^{2}-sigma ^{2}right)^{2}right]\&=operatorname {E} left[{frac {(n-1)^{2}}{a^{2}}}S_{n-1}^{4}-2left({frac {n-1}{a}}S_{n-1}^{2}right)sigma ^{2}+sigma ^{4}right]\&={frac {(n-1)^{2}}{a^{2}}}operatorname {E} left[S_{n-1}^{4}right]-2left({frac {n-1}{a}}right)operatorname {E} left[S_{n-1}^{2}right]sigma ^{2}+sigma ^{4}\&={frac {(n-1)^{2}}{a^{2}}}operatorname {E} left[S_{n-1}^{4}right]-2left({frac {n-1}{a}}right)sigma ^{4}+sigma ^{4}&&operatorname {E} left[S_{n-1}^{2}right]=sigma ^{2}\&={frac {(n-1)^{2}}{a^{2}}}left({frac {gamma _{2}}{n}}+{frac {n+1}{n-1}}right)sigma ^{4}-2left({frac {n-1}{a}}right)sigma ^{4}+sigma ^{4}&&operatorname {E} left[S_{n-1}^{4}right]=operatorname {MSE} (S_{n-1}^{2})+sigma ^{4}\&={frac {n-1}{na^{2}}}left((n-1)gamma _{2}+n^{2}+nright)sigma ^{4}-2left({frac {n-1}{a}}right)sigma ^{4}+sigma ^{4}end{aligned}}}

This is minimized when

a=frac{(n-1)gamma_2+n^2+n}{n} = n+1+frac{n-1}{n}gamma_2.

For a Gaussian distribution, where gamma_2=0, this means that the MSE is minimized when dividing the sum by a=n+1. The minimum excess kurtosis is gamma_2=-2,[a] which is achieved by a Bernoulli distribution with p = 1/2 (a coin flip), and the MSE is minimized for {displaystyle a=n-1+{tfrac {2}{n}}.} Hence regardless of the kurtosis, we get a «better» estimate (in the sense of having a lower MSE) by scaling down the unbiased estimator a little bit; this is a simple example of a shrinkage estimator: one «shrinks» the estimator towards zero (scales down the unbiased estimator).

Further, while the corrected sample variance is the best unbiased estimator (minimum mean squared error among unbiased estimators) of variance for Gaussian distributions, if the distribution is not Gaussian, then even among unbiased estimators, the best unbiased estimator of the variance may not be S^2_{n-1}.

Gaussian distribution[edit]

The following table gives several estimators of the true parameters of the population, μ and σ2, for the Gaussian case.[9]

True value Estimator Mean squared error
{displaystyle theta =mu } hat{theta} = the unbiased estimator of the population mean, overline{X}=frac{1}{n}sum_{i=1}^n(X_i) operatorname{MSE}(overline{X})=operatorname{E}((overline{X}-mu)^2)=left(frac{sigma}{sqrt{n}}right)^2
{displaystyle theta =sigma ^{2}} hat{theta} = the unbiased estimator of the population variance, S^2_{n-1} = frac{1}{n-1}sum_{i=1}^nleft(X_i-overline{X},right)^2 operatorname{MSE}(S^2_{n-1})=operatorname{E}((S^2_{n-1}-sigma^2)^2)=frac{2}{n - 1}sigma^4
{displaystyle theta =sigma ^{2}} hat{theta} = the biased estimator of the population variance, S^2_{n} = frac{1}{n}sum_{i=1}^nleft(X_i-overline{X},right)^2 operatorname{MSE}(S^2_{n})=operatorname{E}((S^2_{n}-sigma^2)^2)=frac{2n - 1}{n^2}sigma^4
{displaystyle theta =sigma ^{2}} hat{theta} = the biased estimator of the population variance, S^2_{n+1} = frac{1}{n+1}sum_{i=1}^nleft(X_i-overline{X},right)^2 operatorname{MSE}(S^2_{n+1})=operatorname{E}((S^2_{n+1}-sigma^2)^2)=frac{2}{n + 1}sigma^4

Interpretation[edit]

An MSE of zero, meaning that the estimator hat{theta} predicts observations of the parameter theta with perfect accuracy, is ideal (but typically not possible).

Values of MSE may be used for comparative purposes. Two or more statistical models may be compared using their MSEs—as a measure of how well they explain a given set of observations: An unbiased estimator (estimated from a statistical model) with the smallest variance among all unbiased estimators is the best unbiased estimator or MVUE (Minimum-Variance Unbiased Estimator).

Both analysis of variance and linear regression techniques estimate the MSE as part of the analysis and use the estimated MSE to determine the statistical significance of the factors or predictors under study. The goal of experimental design is to construct experiments in such a way that when the observations are analyzed, the MSE is close to zero relative to the magnitude of at least one of the estimated treatment effects.

In one-way analysis of variance, MSE can be calculated by the division of the sum of squared errors and the degree of freedom. Also, the f-value is the ratio of the mean squared treatment and the MSE.

MSE is also used in several stepwise regression techniques as part of the determination as to how many predictors from a candidate set to include in a model for a given set of observations.

Applications[edit]

  • Minimizing MSE is a key criterion in selecting estimators: see minimum mean-square error. Among unbiased estimators, minimizing the MSE is equivalent to minimizing the variance, and the estimator that does this is the minimum variance unbiased estimator. However, a biased estimator may have lower MSE; see estimator bias.
  • In statistical modelling the MSE can represent the difference between the actual observations and the observation values predicted by the model. In this context, it is used to determine the extent to which the model fits the data as well as whether removing some explanatory variables is possible without significantly harming the model’s predictive ability.
  • In forecasting and prediction, the Brier score is a measure of forecast skill based on MSE.

Loss function[edit]

Squared error loss is one of the most widely used loss functions in statistics[citation needed], though its widespread use stems more from mathematical convenience than considerations of actual loss in applications. Carl Friedrich Gauss, who introduced the use of mean squared error, was aware of its arbitrariness and was in agreement with objections to it on these grounds.[3] The mathematical benefits of mean squared error are particularly evident in its use at analyzing the performance of linear regression, as it allows one to partition the variation in a dataset into variation explained by the model and variation explained by randomness.

Criticism[edit]

The use of mean squared error without question has been criticized by the decision theorist James Berger. Mean squared error is the negative of the expected value of one specific utility function, the quadratic utility function, which may not be the appropriate utility function to use under a given set of circumstances. There are, however, some scenarios where mean squared error can serve as a good approximation to a loss function occurring naturally in an application.[10]

Like variance, mean squared error has the disadvantage of heavily weighting outliers.[11] This is a result of the squaring of each term, which effectively weights large errors more heavily than small ones. This property, undesirable in many applications, has led researchers to use alternatives such as the mean absolute error, or those based on the median.

See also[edit]

  • Bias–variance tradeoff
  • Hodges’ estimator
  • James–Stein estimator
  • Mean percentage error
  • Mean square quantization error
  • Mean square weighted deviation
  • Mean squared displacement
  • Mean squared prediction error
  • Minimum mean square error
  • Minimum mean squared error estimator
  • Overfitting
  • Peak signal-to-noise ratio

Notes[edit]

  1. ^ This can be proved by Jensen’s inequality as follows. The fourth central moment is an upper bound for the square of variance, so that the least value for their ratio is one, therefore, the least value for the excess kurtosis is −2, achieved, for instance, by a Bernoulli with p=1/2.

References[edit]

  1. ^ a b «Mean Squared Error (MSE)». www.probabilitycourse.com. Retrieved 2020-09-12.
  2. ^ Bickel, Peter J.; Doksum, Kjell A. (2015). Mathematical Statistics: Basic Ideas and Selected Topics. Vol. I (Second ed.). p. 20. If we use quadratic loss, our risk function is called the mean squared error (MSE) …
  3. ^ a b Lehmann, E. L.; Casella, George (1998). Theory of Point Estimation (2nd ed.). New York: Springer. ISBN 978-0-387-98502-2. MR 1639875.
  4. ^ Gareth, James; Witten, Daniela; Hastie, Trevor; Tibshirani, Rob (2021). An Introduction to Statistical Learning: with Applications in R. Springer. ISBN 978-1071614174.
  5. ^ Wackerly, Dennis; Mendenhall, William; Scheaffer, Richard L. (2008). Mathematical Statistics with Applications (7 ed.). Belmont, CA, USA: Thomson Higher Education. ISBN 978-0-495-38508-0.
  6. ^ A modern introduction to probability and statistics : understanding why and how. Dekking, Michel, 1946-. London: Springer. 2005. ISBN 978-1-85233-896-1. OCLC 262680588.{{cite book}}: CS1 maint: others (link)
  7. ^ Steel, R.G.D, and Torrie, J. H., Principles and Procedures of Statistics with Special Reference to the Biological Sciences., McGraw Hill, 1960, page 288.
  8. ^ Mood, A.; Graybill, F.; Boes, D. (1974). Introduction to the Theory of Statistics (3rd ed.). McGraw-Hill. p. 229.
  9. ^ DeGroot, Morris H. (1980). Probability and Statistics (2nd ed.). Addison-Wesley.
  10. ^ Berger, James O. (1985). «2.4.2 Certain Standard Loss Functions». Statistical Decision Theory and Bayesian Analysis (2nd ed.). New York: Springer-Verlag. p. 60. ISBN 978-0-387-96098-2. MR 0804611.
  11. ^ Bermejo, Sergio; Cabestany, Joan (2001). «Oriented principal component analysis for large margin classifiers». Neural Networks. 14 (10): 1447–1461. doi:10.1016/S0893-6080(01)00106-X. PMID 11771723.

Применим закон распределения равновероятности:

              (4)

Подставляя (1) и (2) и (4) и вводя обозначения с фазой

Последовательная схема может быть
также реализована на основе СФ.

Нормальные
и аномальные ошибки.

Необходимо рассматривать

,
тогда

если ,
либо  соответствует , то 

Эта же задача стоит при
радиоизмерениях. И она может решаться при построении оптимального устройства, с
различными критериями.

Статистические
критерии оценки непрерывных параметров

сигнала.

Cуществуют
следующие критерии:

ü 
Критерий максимума функции правдоподобия.

ü 
максимальная апостериорная плотность распределения вероятности
параметра .

ü 
Критерий минимума средне квадратичной ошибки.

ü 
Критерий Баеса.

Распишем каждый критерий более
подробно.

Критерий максимального
правдоподобия.

 оценка
максимального правдоподобия.

Критерий максимальной
апостериорной вероятности.

Рассмотрим статистическую схему:

Оценивается значение
максимального параметра.

Критерий минимальной средне
квадратичной ошибки.

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

Шумовая составляющая:

Дисперсия:

Шумовая составляющая имеет вид , но её особенность, что
количество сигнальных выбросов тем больше, чем больше шумовой уровень.

При регистрации шумовой выброс
может быть принят за сигнальный выброс. Ошибка может составить , а нормальные ошибки не выходят за
корреляционные пределы. Вероятность появления аномальных ошибок характеризует
неправильность измерения вообще.

При проектировании задают
соотношение сигнал/шум, чтобы избежать аномальных ошибок.

А среднеквадратичная ошибка
параметра .

Расчёт среднеквадратической ошибки.

Рассмотрим формулу исходя из
геометрического происхождения сигнала.

Понравилась статья? Поделить с друзьями:
  • Алгоритм обратного распространения ошибки достоинства
  • Алгоритм обратного распространения ошибки для чайников
  • Алгоритм обратного распространения ошибки python
  • Алгоритм обратного распределения ошибки
  • Алгоритм действий при выявлении ошибок