
L'obiettivo dell'articolo è fornire supporto ai principianti nel data science. In abbiamo spiegato in modo semplice tre metodi per risolvere l'equazione della regressione lineare: soluzione analitica, discesa del gradiente e discesa del gradiente stocastico. Per la soluzione analitica abbiamo utilizzato la formula
. In questo articolo, come suggerisce il titolo, giustificheremo l'applicazione di questa formula, o in altre parole, la deriveremo autonomamente.
Perché è importante prestare particolare attenzione alla formula
?
È proprio dall'equazione matriciale che in molti casi inizia la familiarità con la regressione lineare. Tuttavia, le derivazioni dettagliate di come è stata ottenuta la formula sono rare.
Ad esempio, nei corsi di machine learning di Yandex, quando si introduce la regolarizzazione, si suggerisce di utilizzare le funzioni della libreria sklearn, mentre non si menziona affatto la rappresentazione matriciale dell'algoritmo. Proprio in questo momento, alcuni ascoltatori possono sentire il desiderio di approfondire la questione — scrivere codice senza utilizzare funzioni predefinite. Per fare ciò, è necessario prima rappresentare l'equazione con il regolarizzatore in forma matriciale. Questo articolo, infatti, aiuterà coloro che desiderano acquisire tali competenze. Iniziamo.
Condizioni di partenza
Obiettivi target
Abbiamo una serie di valori del target. Ad esempio, il target può essere il prezzo di un certo attivo: petrolio, oro, grano, dollaro, ecc. Con una serie di valori del target intendiamo il numero di osservazioni. Tali osservazioni possono essere, ad esempio, i prezzi mensili del petrolio per un anno, quindi avremo 12 valori del target. Iniziamo a introdurre le notazioni. Indichiamo ciascun valore del target come
. In totale abbiamo
osservazioni, e quindi possiamo rappresentare le nostre osservazioni come
.
Regressori
Possiamo affermare che esistono fattori che spiegano in certa misura il valore del parametro target. Ad esempio, il tasso di cambio tra dollaro e rublo è fortemente influenzato dal prezzo del petrolio, dal tasso della Fed e altro ancora. Tali fattori sono chiamati regressori. Inoltre, a ciascun valore del parametro target deve corrispondere un valore del regressore, cioè, se abbiamo 12 parametri target per ogni mese del 2018, allora dovremmo avere anche 12 valori dei regressori per lo stesso periodo. Indichiamo i valori di ciascun regressore con
. Supponiamo che nel nostro caso ci siano
regressori (cioè,
fattori che influenzano i valori del parametro target). Quindi, i nostri regressori possono essere rappresentati come segue: 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 dei parametri target dai regressori
Supponiamo che la dipendenza del parametro target
dai regressori «
-esimo» osservazione possa essere espressa tramite un'equazione di regressione lineare del tipo:

, dove
— «
«-esimo» valore del regressore da 1 a
,
— numero di regressori da 1 a 
— coefficienti angolari che rappresentano la quantità con cui cambia mediamente l'obiettivo calcolato al variare del regressore.
In altre parole, definiamo per ciascun regressore (eccetto
) il «proprio» coefficiente
, poi moltiplichiamo i coefficienti per i valori dei regressori dell'osservazione «
», ottenendo così un'approssimazione del «
» obiettivo.
Pertanto, dobbiamo trovare coefficienti
che fanno sì che i valori della nostra funzione approssimativa
siano il più vicini possibile ai valori degli obiettivi.
Valutazione della qualità della funzione approssimativa
Definiamo la valutazione della qualità della funzione approssimativa con il metodo dei minimi quadrati. La funzione di valutazione della qualità avrà quindi la seguente forma:

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 iniziare, per semplificarci la vita, è utile guardare all'equazione della regressione lineare e notare che il primo coefficiente
non si moltiplica per alcun regressore. Tuttavia, quando convertiremo i dati in forma matriciale, la circostanza sopra menzionata complica seriamente i calcoli. A questo proposito, si propone di introdurre un ulteriore regressore per il primo coefficiente
e di eguagliarlo a uno. In altre parole, ogni «
-esimo» valore di questo regressore sarà eguagliato a uno: poiché moltiplicando per uno, non cambierà nulla dal punto di vista del risultato dei calcoli, e in termini di regole di moltiplicazione delle matrici, ridurrà significativamente le nostre difficoltà.
Ora, per un certo periodo, al fine di semplificare il materiale, supponiamo di avere solo un «
-esimo» campione. Allora, consideriamo i valori dei regressori del «
-esimo» campione come un vettore
. Il vettore
ha dimensione
, vale a dire
righe e 1 colonna:

I coefficienti ricercati rappresentiamoli come un vettore
, avente dimensione
:

L'equazione di regressione lineare per il «
-esimo» campione avrà la seguente forma:

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

Notiamo che, in base alle regole di moltiplicazione delle matrici, abbiamo dovuto trasporre il vettore
.
Rappresentazione matriciale
Il risultato della moltiplicazione dei vettori sarà un numero:
, come ci si aspettava. Questo numero è l'approssimazione del «
-esimo» obiettivo target. Ma noi abbiamo bisogno dell'approssimazione di non un singolo valore dell'obiettivo, ma di tutti. Per questo scriviamo tutti i «
-esimi» regressori in formato matrice
. La matrice risultante ha dimensione
:

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

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

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

Infatti, da questa formula si ottiene la nota formula 
Come si fa? Si aprono le parentesi, si esegue la differenziazione, si trasformano le espressioni ottenute, ecc., ed è proprio di questo che ci occuperemo adesso.
Trasformazioni matriciali
Apriamo le parentesi


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

Come è successo? Per rispondere a questa domanda, basta guardare le dimensioni delle matrici moltiplicate e vedere che all'uscita otteniamo un numero, o in altre parole
.
Annotiamo le dimensioni delle espressioni matriciali.



Trasformazione 2

Scriviamo in modo analogo alla trasformazione 1


All'uscita otteniamo un'equazione che dovremo derivare:

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




Non dovrebbero esserci domande sul perché
, ma analizzeremo più in dettaglio le operazioni relative alla definizione delle derivate nelle altre due espressioni.
Derivazione 1
Apriamo la derivazione: 
Per determinare la derivata di una matrice o di un vettore, è necessario guardare cosa c'è all'interno. Vediamo:



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

Ora il nostro compito è moltiplicare correttamente i vettori con la matrice e non ottenere «due volte due cinque», quindi concentriamoci e stiamo molto attenti.




Tuttavia, abbiamo ottenuto un'espressione complessa! In realtà, abbiamo ricevuto un numero — uno scalare. E ora, passiamo realmente alla differenziazione. Dobbiamo trovare la derivata dell'espressione ottenuta rispetto a ciascun coefficiente.
e ottenere in output un vettore di dimensione
. Nel caso, elencherò le procedure da seguire:
1) differenzieremo rispetto a
, otteniamo: 
2) differenzieremo rispetto a
, otteniamo: 
3) differenzieremo rispetto a
, otteniamo: 
In output — il vettore promesso di dimensione
:

Se osserviamo il vettore con attenzione, possiamo notare che gli elementi di sinistra e i corrispondenti elementi di destra del vettore possono essere raggruppati in modo tale che, infine, dal vettore presentato possiamo estrarre un vettore
di dimensione
. Ad esempio,
(l'elemento sinistro della riga superiore del vettore)
(l'elemento destro della riga superiore del vettore) può essere rappresentato come
, e
— come
e così via per ogni riga. Raggruppiamo:

Estraiamo il vettore
e in output otteniamo:

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

Ricordiamo che poco fa abbiamo notato una proprietà importante della matrice
— è simmetrica. Basandoci su questa proprietà, possiamo affermare con certezza che l'espressione
è uguale a
. È facile verificarlo, espandendo elemento per elemento il prodotto delle matrici
. Non lo faremo qui, chi è interessato può effettuare il controllo autonomamente.
Torniamo alla nostra espressione. Dopo le nostre trasformazioni, è risultata esattamente come volevamo vederla:

Quindi, abbiamo completato la prima derivazione. Passiamo alla seconda espressione.
Derivazione 2

Seguiamo il percorso tracciato. Sarà molto più breve rispetto al precedente, quindi non allontanatevi troppo dallo schermo.
Espandiamo elemento per elemento i vettori e la matrice:



Per un momento eliminiamo dal calcolo il due — non ha un ruolo significativo, poi lo riporteremo al suo posto. Moltiplichiamo i vettori per la matrice. Per prima cosa moltiplicheremo la matrice
per il vettore
, qui non abbiamo alcuna restrizione. Otterremo un vettore di dimensione
:

Facciamo la seguente operazione: moltiplichiamo il vettore
per il vettore ottenuto. In output ci aspetta un numero:

È proprio quello che deriveremo. In output otterremo un vettore di dimensione
:

Vi ricorda qualcosa? Esatto! Questo è il prodotto della matrice
per il vettore
.
Pertanto, la seconda derivazione è stata completata con successo.
In conclusion
Ora sappiamo come si è giunti all'uguaglianza
.
Infine, descriviamo un metodo rapido per trasformare le formule fondamentali.
Valuteremo la qualità del modello secondo il metodo dei minimi quadrati:


Deriviamo l'espressione ottenuta:


Letteratura
Fonti internet:
1)
2)
3)
4)
Libri di testo, raccolte di esercizi:
1) Appunti di lezioni di analisi matematica: corso completo / D.T. Pis'mennyy – 4ª ed. – Mosca: Iris-Press, 2006
2) Analisi regressiva 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
