Чем обоснован этот расчет производной матричной функции?

10

В курсе машинного обучения Эндрю Нг он использует следующую формулу:

Atr(ABATC)=CAB+CTABT

и он делает быстрое доказательство, которое показано ниже:

Atr(ABATC)=Atr(f(A)ATC)=tr(f()ATC)+tr(f(A)TC)=(ATC)Tf()+(Ttr(f(A)TC)T=CTABT+(Ttr(T)Cf(A))T=CTABT+((Cf(A))T)T=CTABT+CAB

Доказательство кажется очень плотным без каких-либо комментариев, и мне трудно понять его. Что именно произошло со второго на третье равенство?

Moneyball
источник
Он должен делать особые предположения о размерах , и , так как в противном случае эта формула вообще не имеет смысла. В левой части должна быть матрица матрица a матрица a для произвольных неотрицательных целых чисел . Но тогда продукты справа не будут определены, если . AC A i × j B j × j C i × m i , j , m i = mBCAi×jBj×jCi×mi,j,mi=m
whuber
@ Понятно. Учитывая предположения, я до сих пор не понимаю, как произошел переход со второй на третью строку, где он вводит .
MoneyBall
Между второй и третьей строкой он положил . Между второй и третьей строкой он использовал правило продукта. позже он использует цепное правило, чтобы избавиться от . f ( )f(A)=ABf()
Брайан

Ответы:

14

Существует тонкое, но серьезное злоупотребление нотацией, которое делает многие шаги запутанными. Давайте обратимся к этой проблеме, вернувшись к определениям умножения матриц, транспозиции, трасс и производных. Для тех, кто хочет опустить объяснения, просто перейдите к последнему разделу «Собираем все вместе», чтобы увидеть, насколько короткой и простой может быть строгая демонстрация.


Обозначения и понятия

Габаритные размеры

Чтобы выражение имело смысл, когда является матрицей , должно быть (квадратной) матрицей, а должно быть матрицей, откуда произведение является матрица. Чтобы взять трассу (которая является суммой диагональных элементов, ), затем , что делает квадратной матрицей.м × п В п × п С м × р м × р Тр ( Х ) = Σ я х я я р = м СABACAm×nBn×nCm×pm×pTr(X)=iXiip=mC

производные

Обозначения « » появляется для обозначения производной выражения по отношению к . Как правило, дифференциация операция , выполняемая на функции . Производной в точке является линейным преобразованием . При выборе базисов для этих векторных пространств такое преобразование можно представить в виде матрицы Это не тот случай, здесь! A f : R NR M x R N D f ( x ) : R NR M M × NAAf:RNRMxRNDf(x):RNRMM×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(ABAC)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

(1)i,jωijAij=Tr(Aω)=Tr(ωA).

Отождествляя постоянную матрицу с любой из функций или , мы можем представить линейную образует на пространстве матриц как матриц. (Не путайте их с производными функций от до !)ωATr(Aω)ATr(ωA)m×nm×nRnRm


Вычисление производной

Определение

Производные многих матричных функций, встречающихся в статистике, наиболее легко и надежно вычисляются из определения: на самом деле вам не нужно прибегать к сложным правилам матричного дифференцирования. Это определение говорит, что дифференцируемо в тогда и только тогда, когда существует линейное преобразование такое, чтоfxL

f(x+h)f(x)=Lh+o(|h|)

при сколь угодно малых перемещений . Маленькая-ой запись означает , что ошибка , сделанная в приближении разности от сколь угодно меньше , чем размер при достаточно малом . В частности, мы всегда можем игнорировать ошибки, которые пропорциональны .hRNf(x+h)f(x)Lhhh|h|2

Расчет

Давайте применим определение к рассматриваемой функции. Умножение, расширение и игнорирование термина с произведением двух в нем,h

(2)f(A+h)f(A)=Tr((A+h)B(A+h)C)Tr(ABAC)=Tr(hBAC)+Tr(ABhC)+o(|h|).

Чтобы определить производную , мы должны получить это в виде . Первый член в правой части есть уже в таком виде, с . Другой член справа имеет вид для . Давайте выпишем это:L=Df(A)(1)ω=BACTr(XhC)X=AB

(3)Tr(XhC)=i=1mj=1nk=1mXijhkjCki=i,j,khkj(CkiXij)=Tr((CX)h).

Ссылаясь на , можно переписатьX=AB(2)

f(A+h)f(A)=Tr(hBAC)+Tr(CABh)+o(|h|).

Именно в этом смысле мы можем рассматривать производную в как потому что эти матрицы играют роли в формулах следа .fA

Df(A)=(BAC)+CAB=CAB+CAB,
ω(1)

Собираем все вместе

Вот полное решение.

Пусть быть матрицы, в матрицы, а матрицу. Пусть . Пусть - матрица с сколь угодно малыми коэффициентами. Потому что (по тождеству ) есть дифференцируемо и его производная является линейной формой, определяемой матрицейAm×nBn×nCm×mf(A)=Tr(ABAC)hm×n(3)

f(A+h)f(A)=Tr(hBAC)+Tr(ABhC)+o(|h|)=Tr(h(CAB)+(CAB)h)+o(|h|),
f
CAB+CAB.

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

Whuber
источник
1
Полезно знать, что в общем случае если матрицы имеют совместимые размеры. Знание этого делает (3) тривиальным шагом. tr(ABC)=tr(CAB)
Брайан
1
@ Амеба Я не могу сказать, пытаешься ли ты быть смешным или нет. Ни вопрос, ни ответ не имеют прямого отношения к частным производным. Форма явно является линейной формой, определенной в векторном пространстве из вещественных матриц. Когда кто-то утверждает, что производная функции в точке равна некоторой матрице , они имеют в виду, что является линейной форма, заданная . (1)Mat(m,n)m×nf:Mat(m,n)RAωDf(A)X:→Tr(Xω)
whuber
2
@Amoeba Совершенно верно - это вполне обосновывает утверждения в первой строке этого ответа. Вот почему я написал «в этом смысле» и позже в резюме использовал фразу «определяется», а не «равно». Я не буду отрицать, что объяснение было сложным; Я подумаю, как это уточнить, и я ценю все ваши комментарии и предложения.
whuber
1
@ user10324 Большая часть того, что я публикую на этом сайте, является моей собственной формулировкой - я редко обращаюсь к источникам (и документирую их, когда делаю). Эти посты являются вымыслом из чтения многих книг и газет. Некоторые из лучших книг не были те, которые полностью математически строгие, но которые прекрасно объяснили и иллюстрировали основополагающие идеи. Первые несколько, которые приходят на ум - в порядке изощренности - это Freedman, Pisani & Purves, Statistics (любое издание); Джек Кифер, Введение в статистический вывод ; и Стивен Шрив, Стохастическое исчисление для финансов II .
whuber
1
@whuber Наконец-то я понял, что такое линейная форма трассы. Я извиняюсь за то, что снова задавал тот же вопрос на отдельных постах, когда мог бы прочитать ваше объяснение более внимательно. У меня есть еще один вопрос. Если ваше уравнение может быть применено для нахождения производных любой матричной функции, имеет ли такую ​​же размерность, что и ? Так что, если , то ? h x x R m × n h R m × nf(x+h)f(x)=Lh+o(|h|)hxxRm×nhRm×n
MoneyBall