Задача регрессии (аппроксимации)#
Пусть имеем конечный набор точек \(\left\{\left(x_i, y_i\right)\right\}_{i=1}^N\), причём \(x_i \in \mathbb{R}^\ell, y_i \in \mathbb{R}\).
Хотим найти функцию \(\check{y}\), наилучшим образом аппроксимирующий данный набор точек.
Простейший пример - провести прямую по точкам (см. картинку выше).
Сразу же возникает несколько поинтов к постановке задачи:
…, наилучшим образом … - нужен числовой критерий «качества» аппроксимации. Им, как правило, служит функция ошибки (Loss-function).
… функцию \(\check{y}\), …__ - перебрать все функции невозможно (мы тут не на матане), так что придётся сузить круг поиска на некотором семействе функций.
Семейства функций (модели)#
Как мы уже поняли, перебирать все функции мы не в силах из-за ограничений компьютера. Поэтому сузим наш круг поиска на какое-то семейство функций \(\check{y}(x) = g_\mathbf{w}(x)\) (модели), зависящих от какого-то вектора числовых параметров (весов модели) \(\mathbf{w} = (\text{w}_1, \text{w}_2, ..., \text{w}_m)^\top\).
Наша цель в данном контексте - найти особенный набор параметров \(\mathbf{w}^* = (\text{w}^*_1, \text{w}^*_2, ..., \text{w}^*_m)^\top\), который даёт наилучшую функцию \(g_{\mathbf{w}^*}(x)\) в контексте восстановления зависимости точек \(\left\{\left(x_i, y_i\right)\right\}_{i=1}^N\).
Это и будет наша наилучшая аппроксимация \(\check{y}^*(x) \stackrel{\text{def}}{=} g_{\mathbf{w}^*}(x)\).
Как выбирать семейства функций? Есть два главных подхода:
Из теории (наука) - знаем зависимость, вопрос в константах (их и «фиттим»).
Из головы (искусство) - не знаем ни зависимости, ни констант. Стараемся подобрать получше эмпирически.
Пример с многочленами
Пусть есть \(\left\{\left(x_i, y_i\right)\right\}_{i=1}^N\) - набор точек для «фита». Поищем аппроксимирующую функцию среди многочленов второй степени:
Как видим, множество числовых параметров в данном случае просто вектор:
Это частный случай линейной регрессии, т.к. признаки (в данном случае многочлены) входят в модель линейным образом.