Существует тонкое, но серьезное злоупотребление нотацией, которое делает многие шаги запутанными. Давайте обратимся к этой проблеме, вернувшись к определениям умножения матриц, транспозиции, трасс и производных. Для тех, кто хочет опустить объяснения, просто перейдите к последнему разделу «Собираем все вместе», чтобы увидеть, насколько короткой и простой может быть строгая демонстрация.
Обозначения и понятия
Габаритные размеры
Чтобы выражение имело смысл, когда является матрицей , должно быть (квадратной) матрицей, а должно быть матрицей, откуда произведение является матрица. Чтобы взять трассу (которая является суммой диагональных элементов, ), затем , что делает квадратной матрицей.м × п В п × п С м × р м × р Тр ( Х ) = Σ я х я я р = м СABA′CAm×nBn×nCm×pm×pTr(X)=∑iXiip=mC
производные
Обозначения « » появляется для обозначения производной выражения по отношению к . Как правило, дифференциация операция , выполняемая на функции . Производной в точке является линейным преобразованием . При выборе базисов для этих векторных пространств такое преобразование можно представить в виде матрицы Это не тот случай, здесь! A f : R N → R M x ∈ R N D f ( x ) : R N → R M M × N∇AAf:RN→RMx∈RNDf(x):RN→RMM×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 × nARmnN=mnf(A)=Tr(ABA′C)M=1Df(x)1×mnRmnm×n
След как линейная форма
Пусть - постоянная матрица. Тогда по определению следа и умножения матрицм × nωm×n
Tr(Aω′)=∑i=1m(Aω′)ii=∑i=1m(∑j=1nAij(ω′)ji)=∑i,jωijAij
Это выражает наиболее общую возможную линейную комбинацию коэффициентов : - это матрица той же формы, что и а ее коэффициент в строке и столбце - это коэффициент в линейной комбинации. Поскольку , роли и могут меняться, давая эквивалентное выражениеω A i j A i j ω i j A i j = A i j ω i j ω AAωAijAijωijAij=AijωijωA
∑i,jωijAij=Tr(Aω′)=Tr(ωA′).(1)
Отождествляя постоянную матрицу с любой из функций или , мы можем представить линейную образует на пространстве матриц как матриц. (Не путайте их с производными функций от до !)ωA→Tr(Aω′)A→Tr(ωA′)m×nm×nRnRm
Вычисление производной
Определение
Производные многих матричных функций, встречающихся в статистике, наиболее легко и надежно вычисляются из определения: на самом деле вам не нужно прибегать к сложным правилам матричного дифференцирования. Это определение говорит, что дифференцируемо в тогда и только тогда, когда существует линейное преобразование такое, чтоfxL
f(x+h)−f(x)=Lh+o(|h|)
при сколь угодно малых перемещений . Маленькая-ой запись означает , что ошибка , сделанная в приближении разности от сколь угодно меньше , чем размер при достаточно малом . В частности, мы всегда можем игнорировать ошибки, которые пропорциональны .h∈RNf(x+h)−f(x)Lhhh|h|2
Расчет
Давайте применим определение к рассматриваемой функции. Умножение, расширение и игнорирование термина с произведением двух в нем,h
f(A+h)−f(A)=Tr((A+h)B(A+h)′C)−Tr(ABA′C)=Tr(hBA′C)+Tr(ABh′C)+o(|h|).(2)
Чтобы определить производную , мы должны получить это в виде . Первый член в правой части есть уже в таком виде, с . Другой член справа имеет вид для . Давайте выпишем это:L=Df(A)(1)ω=BA′CTr(Xh′C)X=AB
Tr(Xh′C)=∑i=1m∑j=1n∑k=1mXijhkjCki=∑i,j,khkj(CkiXij)=Tr((CX)h′).(3)
Ссылаясь на , можно переписатьX=AB(2)
f(A+h)−f(A)=Tr(hBA′C)+Tr(CABh′)+o(|h|).
Именно в этом смысле мы можем рассматривать производную в как потому что эти матрицы играют роли в формулах следа .fA
Df(A)=(BA′C)′+CAB=C′AB′+CAB,
ω(1)
Собираем все вместе
Вот полное решение.
Пусть быть матрицы, в матрицы, а матрицу. Пусть . Пусть - матрица с сколь угодно малыми коэффициентами. Потому что (по тождеству ) есть дифференцируемо и его производная является линейной формой, определяемой матрицейAm×nBn×nCm×mf(A)=Tr(ABA′C)hm×n(3)
f(A+h)−f(A)=Tr(hBA′C)+Tr(ABh′C)+o(|h|)=Tr(h(C′AB′)′+(CAB)h′)+o(|h|),
fC′AB′+CAB.
Поскольку это занимает только около половины работы и включает в себя только самые основные манипуляции с матрицами и трассами (умножение и транспонирование), его следует рассматривать как более простую и, возможно, более заметную, демонстрацию результата. Если вы действительно хотите понять отдельные шаги в исходной демонстрации, вам может быть полезно сравнить их с расчетами, показанными здесь.