В курсе машинного обучения Эндрю Нг он использует следующую формулу:
и он делает быстрое доказательство, которое показано ниже:
Доказательство кажется очень плотным без каких-либо комментариев, и мне трудно понять его. Что именно произошло со второго на третье равенство?
machine-learning
matrix
derivative
Moneyball
источник
источник
Ответы:
Существует тонкое, но серьезное злоупотребление нотацией, которое делает многие шаги запутанными. Давайте обратимся к этой проблеме, вернувшись к определениям умножения матриц, транспозиции, трасс и производных. Для тех, кто хочет опустить объяснения, просто перейдите к последнему разделу «Собираем все вместе», чтобы увидеть, насколько короткой и простой может быть строгая демонстрация.
Обозначения и понятия
Габаритные размеры
Чтобы выражение имело смысл, когда является матрицей , должно быть (квадратной) матрицей, а должно быть матрицей, откуда произведение является матрица. Чтобы взять трассу (которая является суммой диагональных элементов, ), затем , что делает квадратной матрицей.м × п В п × п С м × р м × р Тр ( Х ) = Σ я х я я р = м СABA′C A m×n B n×n C m×p m×p Tr(X)=∑iXii p=m C
производные
Обозначения « » появляется для обозначения производной выражения по отношению к . Как правило, дифференциация операция , выполняемая на функции . Производной в точке является линейным преобразованием . При выборе базисов для этих векторных пространств такое преобразование можно представить в виде матрицы Это не тот случай, здесь! A f : R N → R M x ∈ R N D f ( x ) : R N → R M M × N∇A A f:RN→RM x∈RN Df(x):RN→RM M×N
Матрицы как векторы
Вместо этого рассматривается как элемент : его коэффициенты развертываются (обычно либо строка за строкой, либо столбец за столбцом) в вектор длиной . Функция имеет действительные значения, откуда . Следовательно, должна быть матрицей : это вектор строки, представляющий линейную форму в . Однако вычисления в вопросе используют другой способ представления линейных форм: их коэффициенты сворачиваются в матриц.R m n N = m n f ( A ) = Tr ( A B A ' C ) M = 1 D f ( x ) 1 × m n R m n m × nA Rmn N=mn f(A)=Tr(ABA′C) M=1 Df(x) 1×mn Rmn m×n
След как линейная форма
Пусть - постоянная матрица. Тогда по определению следа и умножения матрицм × nω m×n
Это выражает наиболее общую возможную линейную комбинацию коэффициентов : - это матрица той же формы, что и а ее коэффициент в строке и столбце - это коэффициент в линейной комбинации. Поскольку , роли и могут меняться, давая эквивалентное выражениеω A i j A i j ω i j A i j = A i j ω i j ω AA ω A i j Aij ωijAij=Aijωij ω A
Отождествляя постоянную матрицу с любой из функций или , мы можем представить линейную образует на пространстве матриц как матриц. (Не путайте их с производными функций от до !)ω A→Tr(Aω′) A→Tr(ωA′) m×n m×n Rn Rm
Вычисление производной
Определение
Производные многих матричных функций, встречающихся в статистике, наиболее легко и надежно вычисляются из определения: на самом деле вам не нужно прибегать к сложным правилам матричного дифференцирования. Это определение говорит, что дифференцируемо в тогда и только тогда, когда существует линейное преобразование такое, чтоf x L
при сколь угодно малых перемещений . Маленькая-ой запись означает , что ошибка , сделанная в приближении разности от сколь угодно меньше , чем размер при достаточно малом . В частности, мы всегда можем игнорировать ошибки, которые пропорциональны .h∈RN f(x+h)−f(x) Lh h h |h|2
Расчет
Давайте применим определение к рассматриваемой функции. Умножение, расширение и игнорирование термина с произведением двух в нем,h
Чтобы определить производную , мы должны получить это в виде . Первый член в правой части есть уже в таком виде, с . Другой член справа имеет вид для . Давайте выпишем это:L=Df(A) (1) ω=BA′C Tr(Xh′C) X=AB
Ссылаясь на , можно переписатьX=AB (2)
Именно в этом смысле мы можем рассматривать производную в как потому что эти матрицы играют роли в формулах следа .f A
Собираем все вместе
Вот полное решение.
Поскольку это занимает только около половины работы и включает в себя только самые основные манипуляции с матрицами и трассами (умножение и транспонирование), его следует рассматривать как более простую и, возможно, более заметную, демонстрацию результата. Если вы действительно хотите понять отдельные шаги в исходной демонстрации, вам может быть полезно сравнить их с расчетами, показанными здесь.
источник