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

gitwjldnum5gje_3iuzvwn-n2c0.png

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


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


Пусть $inline$E \subseteq \mathbb{R}$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) выглядит так

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

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

Обозначим

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

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

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

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

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

$$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}. \qquad (4)$$display$$


Определение 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$$

_rqa0c0wclyvwpyykeid8dhtbie.png

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


Пусть $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$\theta_t$inline$ вектор параметров функции на шаге $inline$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$ — это скорость обучения, которая регулирует размер шага, который мы делаем в направлении склона-градиента. В частности, могут возникать две противоположные друг другу проблемы:

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


myiwuilvatumdqnakduzkpr9dg8.png


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


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


© Habrahabr.ru