Хабрахабр

[Из песочницы] Конспект по «Машинному обучению». Математический анализ. Градиентный спуск

Вспомним математический анализ

Непрерывность функции и производная

Пусть $inline$E \subseteq \mathbb$inline$, $inline$a$inline$ — предельная точка множества $inline$E$inline$ (т.е. $inline$a \in E, \forall \varepsilon > 0 \space\space |(a - \varepsilon, a + \varepsilon) \cap E| = \infty$inline$), $inline$f \colon E \to \mathbb{R}$inline$.

Определение 1 (предел функции по Коши):

Функция $inline$f \colon E \to \mathbb{R}$inline$ стремится к $inline$A$inline$ при $inline$x$inline$, стремящемся к $inline$a$inline$, если

$$display$$\forall \varepsilon > 0 \space\space \exists \delta > 0 \space\space \forall x \in E \space\space (0 < |x- a| < \delta \Rightarrow |f(x)- A| < \varepsilon).$$display$$

Обозначение: $inline$\lim\limits_{E \ni x \to a}f(x) = A$inline$.
Определение 2:

  1. Интервалом $inline$ab$inline$ называется множество $inline$]a,b[ \space := \{x \in \mathbb{R}| a < x < b\}$inline$;
  2. Интервал, содержащий точку $inline$x \in \mathbb{R}$inline$, называется окрестностью этой точки.
  3. Проколотой окрестностью точки называется окрестность точки, из которой исключена сама эта точка.

Обозначение:

  1. $inline$V(x)$inline$ или $inline$U(x)$inline$ — окрестность точки $inline$x$inline$;
  2. $inline$\overset{\circ}{U}(x)$inline$ — проколотая окрестность точки $inline$x$inline$;
  3. $inline$U_E(x) := E \cap U(x), \\ \overset{\circ}{U}_E(x) := E \cap \overset{\circ}{U}(x)$inline$

Определение 3 (предел функции через окрестности):

$$display$$\lim\limits_{E \ni x \to a}f(x) = A := \forall V_R(A) \space \exists \overset{\circ}{U}_E (a) \space\space (f(\overset{\circ}{U}_E (a)) \subset V_R(A)).$$display$$

Определения 1 и 3 равносильны.

Определение 4 (непрерывность функции в точке):

  1. $inline$f \colon E \to \mathbb{R}$inline$ непрерывна в $inline$a \in E :=$inline$

    $$display$$= \forall V(f(a)) \space\space \exists U_E(a) \space\space (f(U_E(a)) \subset V(f(a)));$$display$$

  2. $inline$f \colon E \to \mathbb{R}$inline$ непрерывна в $inline$a \in E :=$inline$

    $$display$$\forall \varepsilon > 0 \space\space \exists \delta > 0 \space\space \forall x \in E \space\space (|x-a| < \delta \Rightarrow |f(x)-f(a)| < \varepsilon).$$display$$

Из определений 3 и 4 видно, что
($inline$f \colon E \to \mathbb{R}$inline$ непрерывна в $inline$a \in E$inline$, где $inline$a$inline$ — предельная точка $inline$E$inline$) $inline$\Leftrightarrow$inline$
$inline$ \Leftrightarrow (\lim\limits_{E \ni x \to a}f(x) = f(a)).$inline$

Определение 5:

Функция $inline$f \colon E \to \mathbb{R}$inline$ называется непрерывной на множестве $inline$E$inline$, если она непрерывна в каждой точке множества $inline$E$inline$.

Определение 6:

  1. Функция $inline$f \colon E \to \mathbb{R}$inline$, определённая на множестве $inline$E \subset \mathbb{R}$inline$, называется дифференцируемой в точке $inline$a \in E$inline$, предельной для множества $inline$E$inline$, если существует такая линейная относительно приращения $inline$x-a$inline$ аргумента функция $inline$A \cdot (x-a)$inline$ [дифференциал функции $inline$f$inline$ в точке $inline$a$inline$], что приращение $inline$f(x)-f(a)$inline$ функции $inline$f$inline$ представляется в виде

    $$display$$f(x)-f(a)=A\cdot (x-a) + o(x-a) \quad при \space x\to a, \space x\in E.$$display$$

  2. Величина

    $$display$$f'(a) = \lim\limits_{E \ni x \to a} \frac{f(x)-f(a)}{x-a}$$display$$

    называется производной функции $inline$f$inline$ в точке $inline$a$inline$.

Также

$$display$$f'(x) = \lim_{\substack{h \to 0 \\ x+h, x \in E}} \frac{f(x+h)-f(x)}{h}.$$display$$

Определение 7:

  1. Точка $inline$x_0 \in E \subset \mathbb{R}$inline$ называется точкой локального максимума (минимума), а значение функции в ней — локальным максимумом (минимумом) функции $inline$f \colon E \to \mathbb{R}$inline$, если $inline$\exists U_E(x_0)$inline$:

    $$display$$\forall x \in U_E(x_0) \space\space f(x) \leq f(x_0)(соответственно, f(x) \geq f(x_0)).$$display$$

  2. Точки локального максимума и минимума называются точками локального экстремума, а значения функции в них — локальными экстремумами функции.
  3. Точка $inline$x_0 \in E$inline$ экстремума функции $inline$f \colon E \to \mathbb{R}$inline$ называется точкой внутреннего экстремума, если $inline$x_0$inline$ является предельной точкой как для множества $inline$E_-=\{x\in E | x < x_0\}$inline$, так и для множества $inline$E_+=\{x\in E | x > x_0\}$inline$.

Лемма 1 (Ферма):

Если функция $inline$f \colon E \to \mathbb{R}$inline$ дифференцируема в точке внутреннего экстремума $inline$x_0 \in E$inline$, то её производная в этой точке равна нулю: $inline$f'(x_0)=0$inline$.

Утверждение 1 (теорема Ролля):
Если функция $inline$f \colon [a,b] \to \mathbb{R}$inline$ непрерывна на отрезке $inline$[a,b]$inline$, дифференцируема в интервале $inline$]a,b[$inline$ и $inline$f(a)=f(b)$inline$, то найдётся точка $inline$\xi \in ]a,b[$inline$ такая, что $inline$f'(\xi)=0$inline$.

Теорема 1 (теорема Лагранжа о конечном приращении):

Если функция $inline$f\colon[a,b] \to \mathbb{R}$inline$ непрерывна на отрезке $inline$[a,b]$inline$ и дифференцируема в интервале $inline$]a,b[$inline$, то найдётся точка $inline$\xi \in ]a,b[$inline$ такая, что

$$display$$f(b)-f(a) = f'(\xi)(b-a).$$display$$

Следствие 1 (признак монотонности функции):
Если в любой точке некоторого интервала производная функции неотрицательная (положительная), то функция не убывает (возрастает) на этом интервале.

Следствие 2 (критерий постоянства функции):
Непрерывная на отрезке $inline$[a,b]$inline$ функция постоянна не нём тогда и только тогда, когда её производная равна нулю в любой точке отрезка $inline$[a,b]$inline$ (или хотя бы интервала $inline$]a,b[$inline$).

Частная производная функции многих переменных

Через $inline$\mathbb{R}^m$inline$ обозначают множество:

$$display$$\mathbb{R}^m = \underbrace{\mathbb{R} \times \mathbb{R} \times \cdots \times \mathbb{R}}_m = \{(\omega_1, \omega_2, ..., \omega_m), \space \omega_i \in \mathbb{R} \space\forall i \in \overline{1,m}\}.$$display$$

Определение 8:

Функция $inline$f \colon E \to \mathbb{R}$inline$, определённая на множестве $inline$E \subset \mathbb{R}^m$inline$, называется дифференцируемой в точке $inline$x \in E$inline$, предельной для множества $inline$E$inline$, если

$$display$$f(x+h)-f(x)=L(x)h+\alpha(x;h),\qquad (1)$$display$$

где $inline$L(x) \colon \mathbb{R}^m \to \mathbb{R}$inline$ — линейная относительно $inline$h$inline$ функция [дифференциал функции $inline$f$inline$ в точке $inline$x$inline$ (обозн. $inline$df(x)$inline$ или $inline$f'(x)$inline$)], а $inline$\alpha(x;h) = o(h)$inline$ при $inline$h \to 0, x+h \in E$inline$.

Соотношение (1) можно переписать в следующем виде:

$$display$$f(x+h)-f(x) = f'(x)h+\alpha(x;h)$$display$$

или

$$display$$\bigtriangleup f(x;h) = df(x)h + \alpha(x;h).$$display$$

Если перейти к координатной записи точки $inline$x = (x^1, ..., x^m)$inline$, вектора $inline$h = (h^1, ..., h^m)$inline$ и линейной функции $inline$L(x)h = a_1(x)h^1 + ... + a_m(x)h^m$inline$, то равенство (1) выглядит так

+ a_m(x)h^m + o(h) \quad при \space\space h \to 0, \qquad (2)$$display$$ $$display$$f(x^1 + h^1, ..., x^m + h^m)-f(x^1,...,x^m) = \\ = a_1(x)h^1 + ...

где $inline$a_1(x), ..., a_m(x)$inline$ — связанные с точкой $inline$x$inline$ вещественные числа. Необходимо найти эти числа.

Обозначим

+ 0\cdot e_{i-1} + h^i\cdot e_i + 0\cdot e_{i+1} + ... $$display$$h_i = h^ie_i = 0\cdot e_1 + ... + 0\cdot e_m,$$display$$

где $inline$\{e_1, ...,e_m\}$inline$ — базис в $inline$\mathbb{R}^m$inline$.

При $inline$h=h_i$inline$ из (2) получаем

,x^m)-f(x^1,...,x^i,...,x^m) = \\ = a_i(x)h^i + o(h^i) \quad при \space\space h^i \to 0. $$display$$f(x^1, ..., x^{i-1}, x^i + h^i, x^{i+1}, ... \qquad (3)$$display$$

Из (3) получаем

\qquad(4)$$display$$ $$display$$a_i(x) = \lim_{h_i \to 0} \frac{f(x^1,...,x^{i-1}, x^i + h^i, x^{i+1}, .., x^m)-f(x^1,...,x^i,...,x^m)}{h^i}.

Определение 9:
Предел (4) называется частной производной функции $inline$f(x)$inline$ в точке $inline$x = (x^1, ..., x^m)$inline$ по переменной $inline$x^i$inline$. Обозначается:

$$display$$\frac{\partial f}{\partial x^i}(x), \quad \partial_if(x), \quad f'_{x^i}(x).$$display$$

Пример 1:

$$display$$f(u,v) = u^3 + v^2 \sin u, \\ \partial_1f(u,v) = \frac{\partial f}{\partial u}(u, v) = 3u^2 + v^2\cos u, \\ \partial_2 f(u,v) = \frac{\partial f}{\partial v}(u, v) = 2v\sin u.$$display$$

Градиентный спуск

Пусть $inline$f \colon \mathbb{R}^n \to \mathbb{R}$inline$, где $inline$\mathbb{R}^n = \underbrace{\mathbb{R} \times \mathbb{R} \times \cdots \times \mathbb{R}}_n = \{(\theta_1, \theta_2, ..., \theta_n), \space \theta_i \in \mathbb{R} \space\forall i \in \overline{1,n}\}$inline$.

Определение 10:

Градиентом функции $inline$f \colon \mathbb{R}^n \to \mathbb{R}$inline$ называется вектор, $inline$i$inline$-й элемент которого равен $inline$\frac{\partial f}{\partial \theta_i}$inline$:

$$display$$\bigtriangledown_{\theta}f = \left( \begin{array}{c} \frac{\partial f}{\partial \theta_1}\\\frac{\partial f}{\partial \theta_2}\\\vdots\\\frac{\partial f}{\partial \theta_n} \end{array} \right), \quad\theta = (\theta_1, \theta_2, ..., \theta_n).$$display$$

Градиент — это то направление, в котором функция быстрее всего возрастает. А значит, направление, в котором она быстрее всего убывает, — это и есть направление, обратное градиенту, то есть $inline$-\bigtriangledown_{\theta}f$inline$.

Целью метода градиентного спуска является поиск точки экстремума (минимума) функции.

Вектор обновления параметров на шаге $inline$t$inline$: Обозначим через $inline$\theta_t$inline$ вектор параметров функции на шаге $inline$t$inline$.

$$display$$u_t = -\eta\bigtriangledown_{\theta}f(\theta_{t-1}), \quad \theta_t = \theta_{t-1} + u_t.$$display$$

В формуле выше параметр $inline$\eta$inline$ — это скорость обучения, которая регулирует размер шага, который мы делаем в направлении склона-градиента. В частности, могут возникать две противоположные друг другу проблемы:

  • если шаги будут слишком маленькими, то обучение будет слишком долгим, и повышается вероятность застрять в небольшом неудачном локальном минимуме по дороге (первое изображение на картинке ниже);
  • если слишком большие, можно бесконечно прыгать через искомый минимум взад-вперёд, но так и не прийти в самую нижнюю точку (третье изображение на картинке ниже).

Список используемой литературы:

  • «Математический анализ. Часть 1», В.А. Зорич, Москва, 1997;
  • «Глубокое обучение. Погружение в мир нейронных сетей», С. Никуленко, А. Кадурин, Е. Архангельская, ПИТЕР, 2018.

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть