Data som vektorer og matriser
Anta at vi skal anslå strømforbruket i fire leiligheter. For hver leilighet kjenner vi areal, antall beboere og utetemperatur. Hver enkelt måling er en skalar, altså ett tall. Samler vi de tre målingene for én leilighet, får vi en vektor . Legger vi de fire vektorene under hverandre som rader, får vi en matrise med fire rader og tre kolonner. Konvensjonen i maskinlæring er nesten alltid den samme: én rad per observasjon og én kolonne per feature. Bilder, lyd og video trenger flere akser, og en slik flerdimensjonal array kalles en tensor. En batch med 32 gråtonebilder på piksler har for eksempel formen .
En lineær modell gir hver feature en vekt og legger sammen bidragene. Det er ƒskalarprodukt:
Hvert ledd er bidraget fra én feature. Fortegnet til sier om featuren trekker resultatet opp eller ned, og størrelsen sier hvor kraftig. Geometrisk er skalarproduktet stort og positivt når vektorene peker omtrent samme vei, null når de står vinkelrett på hverandre, og negativt når de peker hver sin vei.
I figuren gir og scoren . Legg merke til den første formregelen: skalarproduktet krever like mange komponenter i begge vektorene. Tre features krever tre vekter, verken flere eller færre.
Skalarprodukt på tre måter og bidrag per feature
Prøv: Dra w_temp over null og se «temperatur bidrar» skifte fortegn og totalen på linja «løkke … np.dot … x @ w» falle.
RegneeksempelRegn ut scoren for leiligheten i koden, med og .Vis løsningSkjul løsning
Steg 1. Sjekk formene: begge vektorene har tre komponenter, så skalarproduktet er definert.
Steg 2. Gang komponent for komponent: , og .
Steg 3. Summer: kWh.
Steg 4. Tolk fortegnet. Temperaturbidraget er positivt fordi både featuren og vekten er negative: en kald dag øker forbruket. Med vekt ville samme dag bidratt med , og totalen ville blitt .
Hva beskriver kolonnene i en vanlig datamatrise for tabulære data?
Regn ut skalarproduktet for og .