Що обґрунтовує цей обчислення похідної матричної функції?


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

Доказ здається дуже щільним, без будь-яких коментарів, і я маю проблеми з його розумінням. Що саме сталося від другої до третьої рівності?


Він повинен робити особливі припущення щодо розмірів A , B і C , бо в іншому випадку ця формула взагалі не має сенсу. У лівій частині A повинна бути матриця i×j , B a j×j матриця і C a i×m матриця для довільних невід’ємних цілих чисел i,j,m . Але тоді продукти праворуч би не були визначені, якщо i=m .
whuber

@whuber Я бачу. Зважаючи на припущення, я досі не розумію, як відбувся перехід від другого до третього рядка, де він вводить .
MoneyBall

Між другим і третім рядком він нехай . Між другим і третім рядком він використовує правило продукту. пізніше він використовує правило ланцюга, щоб позбутися . f ( )f(A)=ABf()
Брайан Борчерс

Відповіді:


14

Існує тонке, але сильне зловживання позначенням, яке робить багато кроків заплутаними. Давайте розглянемо це питання, повернувшись до визначень матричного множення, транспозиції, слідів та похідних. Для тих, хто бажає опустити пояснення, просто перейдіть до останнього розділу "Зробити все разом", щоб побачити, наскільки коротка і проста сувора демонстрація може бути.


Позначення та поняття

Розміри

Для виразу має сенс, коли - матриця , має бути (квадрат) матрицею, а має бути матрицею, звідки добуток є матриця . Для того, щоб взяти слід (який є сумою діагональних елементів, ім'я ), тоді , склавши квадратною матрицею.A m × n B n × nABACAm×nBn×nm × p m × p Tr ( X ) = i X i i p = m CCm×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

Слід як лінійна форма

Нехай - константа матриці . Потім, за визначенням сліду та множення матриці,m × 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).

Ідентифікуючи постійну матрицю з будь-якою з функцій або , ми можемо представляти лінійну утворює на просторі матриць як матриць. (Не плутайте їх із похідними функцій від до !)A Tr ( A ω ) A Tr ( ω A ) m × n m × n R n R mωATr(Aω)ATr(ωA)m×nm×nRnRm


Обчислення похідних

Визначення

Похідні багатьох матричних функцій, що зустрічаються в статистиці, найлегше і надійно обчислюються з визначення: вам не потрібно дійсно вдаватися до складних правил диференціації матриць. Це визначення говорить, що є диференційованим при якщо і лише тоді, коли є лінійне перетворення таке, щоx LfxL

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

при як завгодно малих переміщень . Позначення мало-о означає, що помилка, допущена при наближенні різниці , довільно менша, ніж розмір для досить малих . Зокрема, ми завжди можемо ігнорувати помилки, пропорційні . f ( x + h ) - f ( x ) L h h h | ч | 2hRNf(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|).

Для ідентифікації похідної ми повинні отримати це у формі . Перший член в правій частині є вже в такому вигляді, з . Інший термін праворуч має форму для . Давайте випишемо це:( 1 ) ω = B A C Tr ( X h C ) X = A BL=Df(A)(1)ω=BACTr(XhC)X=AB

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

Згадуючи , можна переписати( 2 )X=AB(2)

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

Саме в цьому сенсі , що ми можемо вважати похідну на , щоб бути тому що ці матриці грають ролі у формулах слідів .A D f ( A ) = ( B A C ) + C A B = C A B + C A B , ω ( 1 )fA

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

Збираємо це все разом

Ось тоді повне рішення.

Нехай бути матриці, в матриці, а матрицю. Нехай . Нехай - матриця з довільно малими коефіцієнтами. Тому що (за ідентичністю ) є диференційована та її похідна - це лінійна форма, що визначається матрицеюm × n B n × n C m × m f ( A ) = Tr ( A B A C ) h m × n ( 3 ) f ( A + h ) - f ( A ) = Tr ( h B A C ) + Tr ( A B h C )Ам×нБн×нСм×мf(А)=Тр(АБА'С)годм×н(3)

f(А+год)-f(А)=Тр(годБА'С)+Тр(АБгод'С)+о(|год|)=Тр(год(С'АБ')'+(САБ)год')+о(|год|),
f
С'АБ'+САБ.

Оскільки це займає лише близько половини роботи і передбачає лише основні маніпуляції з матрицями та слідами (множення та переміщення), це слід вважати простішою - і, можливо, більш виразною - демонстрацією результату. Якщо ви дійсно хочете зрозуміти окремі етапи в оригінальній демонстрації, вам може бути корисним порівняти їх із наведеними тут розрахунками.


1
Корисно знати, що в цілому всякий раз, коли матриці мають сумісні розміри. Знаючи це, роблять (3) тривіальний крок. тр(АБС)=тр(САБ)
Брайан Борчерс

1
@Amoeba Я не можу сказати, ти намагаєшся бути жартівливим чи ні. Ні питання, ні відповідь не мають нічого спільного з частковими похідними. Форма явно є лінійна форма , визначена на векторному просторі з речові матриці. Коли хтось стверджує, що похідна функції у точці дорівнює деякій матриці , то це означає, що є лінійною форма, задана . (1)Мат(м,н)м×нf:Мат(м,н)RАωDf(А)Х: →Тр(Хω')
whuber

2
@Amoeba Це точно так - це чітко виправдовує твердження в першому рядку цієї відповіді. Ось чому я написав «у цьому сенсі», а згодом у резюме використав фразу «визначається», а не «дорівнює». Я не заперечую, що пояснення було складним; Я подумаю, як це уточнити, і я вдячний за всі ваші коментарі та пропозиції.
whuber

1
@ user10324 Більшість публікацій на цьому веб-сайті - це моя власна формулювання - я рідко звертаюся до джерел (і я документую їх, коли це роблю). Ці пости є дистиляцією від читання багатьох книг і паперів. Деякі з найкращих книг не були тими, які є суто математично суворими, але які прекрасно пояснили та проілюстрували основні ідеї. Перші, які приходять в голову - з метою витонченості - це Фрідман, Пісані та Первес, Статистика (будь-яке видання); Джек Кіфер, Вступ до статистичних висновків ; та Стівен Шрев, Стохастичний обчислення для фінансів II .
whuber

1
@whuber Нарешті я розумію, що таке лінійна форма сліду. Прошу вибачення за те, що знову задали те саме питання на окремих посадах, коли я міг прочитати ваші пояснення більш уважно. У мене є ще одне питання. Якщо ваше рівняння можна застосувати для пошуку похідних будь-якої матричної функції, чи має такий же розмір, як ? Отже, якщо , то ? h x x R m × n h R m × nf(х+год)-f(х)=Lгод+о(|год|)годххRм×нгодRм×н
MoneyBall
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.