
Lo scopo dell'articolo è supportare i nuovi data scientist. In abbiamo esaminato tre modi di risolvere l'equazione di regressione lineare: soluzione analitica, discesa del gradiente, discesa del gradiente stocastica. Per la soluzione analitica abbiamo applicato la formula
. In questo articolo, come indicato dal titolo, giustificheremo l'uso di questa formula o, in altre parole, la deriviamo autonomamente.
Perché ha senso prestare particolare attenzione alla formula
?
È proprio dall'equazione matriciale che, nella maggior parte dei casi, inizia l'incontro con la regressione lineare. Tuttavia, dettagliate spiegazioni su come è stata derivata la formula sono rare.
Ad esempio, nei corsi di machine learning di Yandex, quando si introduce il concetto di regolarizzazione, si propone di utilizzare le funzioni della libreria sklearn, senza menzionare neppure una volta la rappresentazione matriciale dell'algoritmo. Proprio in questo momento, alcuni partecipanti potrebbero avere il desiderio di approfondire l'argomento — scrivere codice senza utilizzare funzioni predefinite. E per fare questo, è necessario prima rappresentare l'equazione con il regolarizzatore in forma matriciale. Questo articolo è pensato proprio per coloro che desiderano acquisire tali competenze. Iniziamo.
Condizioni iniziali
Indicatori obiettivo
Abbiamo una serie di valori per l'indicatore obiettivo. Ad esempio, l'indicatore obiettivo può essere il prezzo di un certo attivo: petrolio, oro, grano, dollaro, ecc. Inoltre, per serie di valori dell'indicatore obiettivo intendiamo il numero di osservazioni. Tali osservazioni possono essere, ad esempio, i prezzi mensili del petrolio per un anno, cioè avremo 12 valori per l'indicatore obiettivo. Iniziamo a introdurre le notazioni. Indichiamo ciascun valore dell'indicatore obiettivo come
. In totale abbiamo
osservazioni, quindi possiamo rappresentare le nostre osservazioni come
.
Regressori
Consideriamo che esistano fattori che spiegano in qualche modo i valori dell'indicatore target. Ad esempio, il tasso di cambio tra dollaro e rublo è fortemente influenzato dal prezzo del petrolio, dal tasso della Fed e altro ancora. Questi fattori vengono definiti regressori. Inoltre, a ciascun valore dell'indicatore target deve corrispondere un valore del regressore, cioè, se abbiamo 12 indicatori target per ogni mese del 2018, anche i valori dei regressori devono essere 12 per lo stesso periodo. Denotiamo i valori di ciascun regressore tramite
. Supponiamo che nel nostro caso ci siano
regressori (cioè
fattori che influenzano i valori dell'indicatore target). Dunque, i nostri regressori possono essere rappresentati nel seguente modo: per il 1° regressore (ad esempio, il prezzo del petrolio):
, per il 2° regressore (ad esempio, il tasso della Fed):
, per il «
-esimo» regressore: 
La dipendenza degli indicatori target dai regressori
Supponiamo che la dipendenza dell'indicatore target
dai regressori «
-esimo» osservazione possa essere espressa tramite l'equazione di regressione lineare di tipo:

, dove
— «
-esimo» valore del regressore da 1 a
,
— numero di regressori da 1 a 
— coefficienti angolari che rappresentano l'ammontare con cui varierà in media l'indicatore target stimato al variare del regressore.
In altre parole, per ciascun (eccetto
) regressore definiamo il nostro coefficiente
, quindi moltiplichiamo i coefficienti per i valori dei regressori «
-esimo» osservazione, ottenendo così una certa approssimazione del «
-esimo» indicatore target.
Pertanto, dobbiamo trovare tali coefficienti
, per i quali i valori della nostra funzione di approssimazione
saranno posizionati il più vicino possibile ai valori degli indicatori target.
Valutazione della qualità della funzione di approssimazione
Definiremo la valutazione della qualità della funzione di approssimazione mediante il metodo dei minimi quadrati. In questo caso, la funzione di valutazione della qualità avrà il seguente aspetto:

Dobbiamo selezionare tali valori dei coefficienti $w$, per i quali il valore
sarà il più piccolo.
Trasformiamo l'equazione in forma matriciale
Rappresentazione vettoriale
Per cominciare, per semplificarci la vita, è opportuno prestare attenzione all'equazione di regressione lineare e notare che il primo coefficiente
non si moltiplica per alcun regressore. Tuttavia, quando trasformeremo i dati in forma matriciale, la suddetta circostanza complicherà seriamente i calcoli. In questo contesto, si propone di introdurre un altro regressore per il primo coefficiente
e uguagliarlo a uno. Piuttosto, ogni "
-esima" valore di questo regressore deve essere uguagliato a uno — poiché moltiplicare per uno non cambierà nulla dal punto di vista del risultato dei calcoli, mentre dal punto di vista delle regole della moltiplicazione delle matrici, allevierà notevolmente le nostre difficoltà.
Ora, per un po', al fine di semplificare il materiale, supponiamo di avere solo un "
-esimo" osservazione. Allora, poniamo i valori dei regressori dell'"
-esima" osservazione come un vettore
. Il vettore
ha dimensione
, cioè
righe e 1 colonna:

Rappresentiamo i coefficienti ricercati come un vettore
, avente dimensione
:

L'equazione della regressione lineare per l'"
-esimo" osservazione avrà la forma:

La funzione di valutazione della qualità del modello lineare avrà la forma:

Notiamo che, secondo le regole della moltiplicazione delle matrici, abbiamo dovuto trasporre il vettore
.
Rappresentazione matriciale
Di conseguenza, moltiplicando i vettori, otterremo un numero:
, come ci si aspettava. Questo numero è l'approssimazione dell'"
-esimo" indicatore target. Ma a noi serve l'approssimazione non di un valore dell'indicatore target, ma di tutti. Per far ciò, registreremo tutti gli "
-esimi" regressori nel formato matrice
. La matrice ottenuta ha dimensione
:

Ora l'equazione della regressione lineare avrà la forma:

Indichiamo i valori degli indicatori target (tutti
) come vettore
di dimensione
:

Ora possiamo scrivere in formato matriciale l'equazione per la valutazione della qualità del modello lineare:

Di fatto, da questa formula si ottiene poi la formula a noi nota 
Come si fa? Si espandono le parentesi, si effettuano le differenziazioni, si trasformano le espressioni ottenute, ecc., e proprio di questo ci occuperemo ora.
Trasformazioni matriciali
Espandiamo le parentesi


Prepariamo l'equazione per la differenziazione
Per far ciò, effettueremo alcune trasformazioni. Nei calcoli successivi ci sarà più comodo se il vettore
sia presentato all'inizio di ogni prodotto nell'equazione.
Trasformazione 1

Come è successo? Per rispondere a questa domanda è sufficiente guardare le dimensioni delle matrici moltiplicate e vedere che in uscita otteniamo un numero o altrimenti
.
Scriviamo le dimensioni delle espressioni matriciali.



Trasformazione 2

Scriveremo in modo analogo alla trasformazione 1


In uscita otteniamo un'equazione che dobbiamo differenziare:

Differenziamo la funzione di valutazione della qualità del modello
Differenziamo rispetto al vettore
:




Non dovrebbero esserci domande sul perché
, ma analizzeremo più in dettaglio le operazioni per definire le derivate in altre due espressioni.
Differenziazione 1
Apriamo la differenziazione: 
Per determinare la derivata di una matrice o di un vettore dobbiamo guardare cosa c'è dentro. Vediamo:



Indichiamo il prodotto delle matrici
con la matrice
. La matrice
è quadrata e inoltre simmetrica. Queste proprietà ci saranno utili in seguito, ricordiamole. La matrice
ha dimensione
:

Ora il nostro compito è moltiplicare correttamente i vettori per la matrice e non ottenere 'due per due cinque', quindi concentriamoci e prestiamo la massima attenzione.




Tuttavia, abbiamo ottenuto un'espressione complicata! In realtà abbiamo ottenuto un numero — uno scalare. E ora, davvero, passiamo alla differenziazione. È necessario trovare la derivata dell'espressione ottenuta rispetto a ciascun coefficiente
e ottenere un vettore di dimensione
. Per ogni evenienza, riporterò le procedure in azione:
1) differenziamo rispetto a
, otteniamo: 
2) differenziamo rispetto a
, otteniamo: 
3) differenziamo rispetto a
, otteniamo: 
In uscita — il vettore promesso di dimensione
:

Se osserviamo attentamente il vettore, possiamo notare che gli elementi di sinistra e gli elementi corrispondenti di destra possono essere raggruppati in modo tale che, alla fine, nel vettore presentato possiamo isolare il vettore
di dimensione
. Ad esempio,
(elemento sinistro della riga superiore del vettore)
(elemento destro della riga superiore del vettore) può essere rappresentato come
, ma
— come
e così via per ogni riga. Raggruppiamo:

Portiamo fuori il vettore
e in uscita otteniamo:

Ora, osserviamo la matrice risultante. La matrice è la somma di due matrici
:

Ricordiamo che poco fa abbiamo sottolineato una importante proprietà della matrice
— è simmetrica. Sulla base di questa proprietà, possiamo affermare con certezza che l'espressione
è uguale a
. È facile verificarlo, aprendo elemento per elemento il prodotto delle matrici.
. Non lo faremo qui, coloro che lo desiderano possono eseguire il controllo da soli.
Torniamo alla nostra espressione. Dopo le nostre trasformazioni, è venuta fuori esattamente come volevamo vederla:

Quindi, con la prima derivazione ci siamo riusciti. Passiamo alla seconda espressione.
Derivazione 2

Seguiamo il percorso battuto. Sarà molto più corto del precedente, quindi non allontanatevi troppo dallo schermo.
Esaminiamo elemento per elemento il vettore e la matrice:



Per un momento, rimuoviamo il due dai calcoli — non ha un grande ruolo, poi lo riporteremo al suo posto. Moltiplichiamo i vettori per la matrice. Prima di tutto, moltiplichiamo la matrice
per il vettore
, qui non abbiamo alcuna restrizione. Otterremo un vettore di dimensione
:

Eseguiamo la seguente operazione: moltiplichiamo il vettore
per il vettore ottenuto. Il risultato sarà un numero:

Ecco ciò che deriveremo. Il risultato sarà un vettore di dimensione
:

Ti ricorda qualcosa? Esatto! È il prodotto della matrice
per il vettore
.
Pertanto, la seconda derivazione è stata completata con successo.
In conclusione
Ora sappiamo come è sorta l'uguaglianza
.
Infine, descriviamo un modo veloce per le trasformazioni delle formule fondamentali.
Valutiamo la qualità del modello secondo il metodo dei minimi quadrati:


Deriviamo l'espressione ottenuta:


Letteratura
Fonti online:
1)
2)
3)
4)
Libri, collezioni di esercizi:
1) Appunti di lezioni di matematica avanzata: corso completo / D.T. Pismennyy — 4ª ed. – Mosca: Iris-Press, 2006
2) Analisi di regressione applicata / N. Draper, G. Smith — 2ª ed. – Mosca: Finanze e statistiche, 1986 (traduzione dall'inglese)
3) Problemi sulla risoluzione di equazioni matriciali:
Fonte: habr.com
