Het doel van het artikel is om ondersteuning te bieden aan beginnende datawetenschappers. IN
Waarom het zinvol is om extra aandacht te besteden aan de formule ?
Het is met de matrixvergelijking dat men in de meeste gevallen kennis begint te maken met lineaire regressie. Tegelijkertijd zijn gedetailleerde berekeningen over hoe de formule is afgeleid zeldzaam.
Wanneer studenten in machine learning-cursussen van Yandex bijvoorbeeld kennis maken met regularisatie, wordt hen aangeboden functies uit de bibliotheek te gebruiken sluw, terwijl er geen woord wordt gezegd over de matrixrepresentatie van het algoritme. Het is op dit moment dat sommige luisteraars dit probleem misschien meer in detail willen begrijpen: code schrijven zonder gebruik te maken van kant-en-klare functies. En om dit te doen, moet je de vergelijking eerst in matrixvorm presenteren met een regularisator. Dit artikel zal degenen die dergelijke vaardigheden willen beheersen, in staat stellen. Laten we beginnen.
Begincondities
Doelindicatoren
Wij hebben een aantal streefwaarden. De doelindicator kan bijvoorbeeld de prijs van elk actief zijn: olie, goud, tarwe, dollar, enz. Tegelijkertijd bedoelen we met een aantal streefindicatorwaarden het aantal waarnemingen. Dergelijke observaties zouden bijvoorbeeld de maandelijkse olieprijzen voor het jaar kunnen zijn, dat wil zeggen dat we twaalf streefwaarden zullen hebben. Laten we beginnen met het introduceren van de notatie. Laten we elke waarde van de doelindicator aanduiden als . In totaal hebben we waarnemingen, wat betekent dat we onze waarnemingen kunnen weergeven als .
Regressoren
We gaan ervan uit dat er factoren zijn die tot op zekere hoogte de waarden van de doelindicator verklaren. De wisselkoers tussen de dollar en de roebel wordt bijvoorbeeld sterk beïnvloed door de olieprijs, de rente van de Federal Reserve, enz. Dergelijke factoren worden regressoren genoemd. Tegelijkertijd moet elke doelindicatorwaarde overeenkomen met een regressorwaarde, dat wil zeggen: als we 12 doelindicatoren hebben voor elke maand in 2018, dan zouden we ook 12 regressorwaarden moeten hebben voor dezelfde periode. Laten we de waarden van elke regressor aangeven met . Laat dat in ons geval zo zijn regressoren (bijv. factoren die de streefindicatorwaarden beïnvloeden). Dit betekent dat onze regressoren als volgt kunnen worden weergegeven: voor de eerste regressor (bijvoorbeeld de olieprijs): , voor de tweede regressor (bijvoorbeeld de Fed-rente): , voor "-de" regressor:
Afhankelijkheid van doelindicatoren van regressoren
Laten we aannemen dat de afhankelijkheid van de doelindicator van regressoren "Deze waarneming kan worden uitgedrukt door middel van een lineaire regressievergelijking in de vorm:
Waar - "-th" regressorwaarde van 1 tot ,
— aantal regressors van 1 tot
— hoekcoëfficiënten, die de hoeveelheid weergeven waarmee de berekende doelindicator gemiddeld zal veranderen wanneer de regressor verandert.
Met andere woorden, wij zijn er voor iedereen (behalve ) van de regressor bepalen we “onze” coëfficiënt en vermenigvuldig vervolgens de coëfficiënten met de waarden van de regressoren "e" observatie, als resultaat verkrijgen we een bepaalde benadering "-de" doelindicator.
Daarom moeten we dergelijke coëfficiënten selecteren , waarbij de waarden van onze benaderende functie zullen zo dicht mogelijk bij de streefindicatorwaarden worden geplaatst.
Beoordelen van de kwaliteit van de benaderende functie
We zullen de kwaliteitsbeoordeling van de benaderende functie bepalen met behulp van de kleinste kwadratenmethode. De kwaliteitsbeoordelingsfunctie zal in dit geval de volgende vorm aannemen:
We moeten dergelijke waarden selecteren van de coëfficiënten $w$ waarvoor de waarde zal de kleinste zijn.
De vergelijking omzetten in matrixvorm
Vectorweergave
Om uw leven gemakkelijker te maken, moet u om te beginnen aandacht besteden aan de lineaire regressievergelijking en de eerste coëfficiënt opmerken wordt door geen enkele regressor vermenigvuldigd. Tegelijkertijd zal, wanneer we de gegevens in matrixvorm omzetten, de bovengenoemde omstandigheid de berekeningen ernstig bemoeilijken. In dit verband wordt voorgesteld om voor de eerste coëfficiënt een andere regressor in te voeren en vergelijk het met één. Of beter gezegd, elke "stel de e-waarde van deze regressor gelijk aan één - wanneer vermenigvuldigd met één zal er immers niets veranderen vanuit het oogpunt van het resultaat van de berekeningen, maar vanuit het oogpunt van de regels voor het product van matrices, onze kwelling zal aanzienlijk worden verminderd.
Laten we nu, om het materiaal te vereenvoudigen, voorlopig aannemen dat we er maar één hebben "-de" waarneming. Stel je dan de waarden van de regressoren voor "-th" waarnemingen als een vector . Vector heeft dimensie Dat wil zeggen, rijen en 1 kolom:
Laten we de vereiste coëfficiënten als een vector weergeven , met dimensie :
Lineaire regressievergelijking voor "-de" waarneming zal de vorm aannemen:
De functie voor het beoordelen van de kwaliteit van een lineair model zal de vorm aannemen:
Houd er rekening mee dat we, in overeenstemming met de regels van matrixvermenigvuldiging, de vector moesten transponeren .
Matrixweergave
Als resultaat van het vermenigvuldigen van vectoren krijgen we het getal: , wat te verwachten is. Dit getal is de benadering "-de" doelindicator. Maar we hebben niet slechts één streefwaarde, maar alle streefwaarden bij elkaar moeten brengen. Om dit te doen, laten we alles opschrijven “-th" regressoren in matrixformaat . De resulterende matrix heeft de dimensie :
Nu zal de lineaire regressievergelijking de vorm aannemen:
Laten we de waarden van doelindicatoren aangeven (allemaal ) per vector dimensie :
Nu kunnen we de vergelijking voor het beoordelen van de kwaliteit van een lineair model in matrixformaat schrijven:
Eigenlijk verkrijgen we uit deze formule verder de ons bekende formule
Hoe het gedaan wordt? De haakjes worden geopend, differentiatie wordt uitgevoerd, de resulterende uitdrukkingen worden getransformeerd, enz., en dit is precies wat we nu gaan doen.
Matrixtransformaties
Laten we de haakjes openen
Laten we een vergelijking voorbereiden voor differentiatie
Om dit te doen, zullen we enkele transformaties uitvoeren. Bij volgende berekeningen zal het voor ons handiger zijn als de vector wordt weergegeven aan het begin van elk product in de vergelijking.
Conversie 1
Hoe is het gebeurd? Om deze vraag te beantwoorden, kijk je gewoon naar de afmetingen van de matrices die worden vermenigvuldigd en zie je dat we bij de uitvoer een getal of iets anders krijgen .
Laten we de grootte van matrixuitdrukkingen opschrijven.
Conversie 2
Laten we het op dezelfde manier schrijven als transformatie 1
Aan de uitgang krijgen we een vergelijking die we moeten differentiëren:
We differentiëren de modelkwaliteitsbeoordelingsfunctie
Laten we differentiëren met betrekking tot de vector :
Vragen waarom Dat zou niet zo moeten zijn, maar we zullen de bewerkingen voor het bepalen van afgeleiden in de andere twee uitdrukkingen in meer detail onderzoeken.
Differentiatie 1
Laten we de differentiatie uitbreiden:
Om de afgeleide van een matrix of vector te bepalen, moet je kijken naar wat erin zit. Laten we kijken:
Laten we het product van matrices aanduiden via de matrix . de matrix vierkant en bovendien symmetrisch. Deze eigenschappen zullen later nuttig voor ons zijn, laten we ze onthouden. Matrix heeft dimensie :
Nu is het onze taak om de vectoren correct te vermenigvuldigen met de matrix en niet 'tweemaal twee is vijf' te krijgen, dus laten we ons concentreren en uiterst voorzichtig zijn.
We hebben echter een ingewikkelde uitdrukking bereikt! In feite hebben we een getal: een scalair. En nu gaan we echt verder met differentiatie. Het is noodzakelijk om voor elke coëfficiënt de afgeleide van de resulterende uitdrukking te vinden en krijg de dimensievector als uitvoer . Voor het geval dat, zal ik de procedures per actie opschrijven:
1) onderscheid maken door , we krijgen:
2) onderscheid maken door , we krijgen:
3) onderscheid maken door , we krijgen:
De uitvoer is de beloofde vector van grootte :
Als je de vector beter bekijkt, zul je merken dat de linker- en corresponderende rechterelementen van de vector zo kunnen worden gegroepeerd dat als resultaat een vector kan worden geïsoleerd van de gepresenteerde vector afmeting . Bijvoorbeeld (linkerelement van de bovenste regel van de vector) (het rechterelement van de bovenste regel van de vector) kan worden weergegeven als En - net zo enz. op elke lijn. Laten we groeperen:
Laten we de vector eruit halen en bij de uitvoer krijgen we:
Laten we nu de resulterende matrix eens nader bekijken. De matrix is de som van twee matrices :
Laten we ons herinneren dat we iets eerder een belangrijke eigenschap van de matrix hebben opgemerkt - het is symmetrisch. Op basis van deze eigenschap kunnen we vol vertrouwen zeggen dat de uitdrukking is gelijk aan . Dit kan eenvoudig worden geverifieerd door het product van matrices element voor element uit te breiden . Dat doen we hier niet, geïnteresseerden kunnen het zelf nagaan.
Laten we terugkeren naar onze uitdrukking. Na onze transformaties is het geworden zoals wij het graag wilden zien:
We hebben dus de eerste differentiatie voltooid. Laten we verder gaan met de tweede uitdrukking.
Differentiatie 2
Laten we de gebaande paden volgen. Het zal veel korter zijn dan de vorige, dus ga niet te ver van het scherm af.
Laten we de vectoren en de matrix element voor element uitbreiden:
Laten we de twee een tijdje uit de berekeningen verwijderen - het speelt geen grote rol, en dan zetten we het weer op zijn plaats. Laten we de vectoren vermenigvuldigen met de matrix. Laten we eerst de matrix vermenigvuldigen naar vector , we hebben hier geen beperkingen. We krijgen de groottevector :
Laten we de volgende actie uitvoeren: vermenigvuldig de vector naar de resulterende vector. Bij de uitgang wacht het nummer op ons:
Dan gaan we het differentiëren. Aan de uitgang krijgen we een dimensievector :
Doet me ergens aan denken? Dat is juist! Dit is het product van de matrix naar vector .
Zo is de tweede differentiatie met succes voltooid.
In plaats Output
Nu weten we hoe de gelijkheid tot stand kwam .
Ten slotte zullen we een snelle manier beschrijven om basisformules te transformeren.
Laten we de kwaliteit van het model evalueren volgens de kleinste kwadratenmethode:
Laten we de resulterende uitdrukking differentiëren:
Literatuur
Internetbronnen:
1)
2)
3)
4)
Leerboeken, verzamelingen van problemen:
1) Collegenota's over hogere wiskunde: volledige cursus / D.T. Geschreven – 4e druk. – M.: Irispers, 2006
2) Toegepaste regressieanalyse / N. Draper, G. Smith - 2e ed. – M.: Financiën en Statistiek, 1986 (vertaling uit het Engels)
3) Problemen bij het oplossen van matrixvergelijkingen:
Bron: www.habr.com