Дифференциальное и матричное исчисление
Градиент и линии уровня
Почему градиент — направление наискорейшего роста, и почему он перпендикулярен линиям уровня
Частные производные и градиент
Частная производная — обычная производная по одной переменной, все остальные считаются постоянными. Собрав их в вектор, получаем градиент:
Определение через линейную аппроксимацию из первого урока переносится дословно, и именно эта запись — рабочая:
Обратите внимание, что делить на не приходится: вместо этого
появляется
Наискорейший рост — это следствие, а не определение
Производная по направлению единичного вектора :
Теперь спросим, при каком это максимально. По Коши–Буняковскому
и равенство достигается ровно когда направлен вдоль .
Вот и всё доказательство. «Градиент — направление наискорейшего роста» — не определение и не мнемоника, а одна строчка из неравенства, которое мы уже доказали в блоке 1. Заодно получаем: скорость роста в лучшем направлении равна .
Включите дисковый переключатель направления и покрутите его — производная по направлению максимальна там, где стрелка:
- f(x, y)
- 1.56
- градиент
- 2, 1.5
- крутизна ‖∇f‖
- 2.5
Линии уровня — окружности, градиент смотрит строго от центра. В самом центре он равен нулю: это минимум.
Перпендикулярность линиям уровня
Линия уровня — множество . Утверждение: градиент ортогонален линии уровня в каждой точке.
Доказательство в одну строку. Пусть — направление вдоль линии уровня. Двигаясь по ней, значение не меняется по определению, значит , то есть . Это и есть ортогональность.
Отсюда понятно и почему рост максимален перпендикулярно: вдоль линии уровня изменение нулевое, а значит всё изменение живёт в перпендикулярном направлении. Подвигайте точку в виджете и убедитесь, что стрелка всегда пересекает кривую под прямым углом.
Что стоит запомнить про формы
Градиент — это вектор, а не число, и его тип обязан сходиться с типом . Если , то . Проверка размерностей здесь работает так же, как shape-исчисление в блоке 1: если в выкладке градиент внезапно оказался матрицей — где-то потерян индекс.
Полезное соглашение, которое встретится в статьях: считают столбцом, а производную иногда пишут строкой. Тогда они транспонированы друг другу. Это то самое расхождение layout-соглашений, которому посвящён отдельный урок через два шага.
Критические точки в многомерии
Условие первого порядка обобщается: в точке локального экстремума . Но обратное неверно ещё сильнее, чем в одномерном случае, потому что появляется новый тип критических точек — седло, где по одним направлениям минимум, по другим максимум.
Переключитесь на и поставьте точку в начало координат. Градиент нулевой, экстремума нет. В высоких размерностях седла составляют подавляющее большинство критических точек — и это одна из причин, по которой обучение глубоких сетей работает лучше, чем можно было бы бояться: застрять в плохом локальном минимуме труднее, чем замедлиться около седла.
Источники
- Deisenroth, Faisal, Ong — Mathematics for Machine Learning, гл. 5.2–5.3 — Частные производные, градиент, производная по направлению
- 3Blue1Brown — Multivariable calculus (Khan Academy) — Градиент, линии уровня, производная по направлению
Проверки
0 из 2Градиент и линии уровня
Отметьте все верные утверждения про .
Градиент квадратичной функции
Реализуйте
gradient(coeffs, point)для функции двух переменныхcoeffs— это список[a, b, c, d, e, g],point— список[x, y]. Верните[∂f/∂x, ∂f/∂y].Продифференцируйте на бумаге один раз:
Заметьте, что смешанный член попадает в обе частные производные — по он даёт , по даёт . Именно из-за него линии уровня оказываются повёрнутыми эллипсами, а не осесимметричными.
Свободный член
gв градиент не входит вовсе.Загрузка редактора…
Ctrl/⌘ + Enter