CMD + K

Introduksjon til maskinlæringVerktøykassa: matte og Python for MLBegreper & formler23
13 min lesing

Verktøykassa: matte og Python for ML

Frisk opp vektorer, matriser, derivasjon, sannsynlighet og NumPy, slik at formlene og kodelinjene i resten av faget blir lette å lese og regne med.

Læringsmål
  • 01Les formen på resultatet av @, *, axis-operasjoner og broadcasting i NumPy, og avgjør når en linje gir formfeil
  • 02Regn ut skalarprodukt og matrise–vektor-produkt for hånd og tolk hvert ledd som bidraget fra én feature
  • 03Regn ut deriverte og gradienter for små funksjoner, og velg retningen som senker funksjonsverdien
  • 04Regn ut forventning og varians, og forklar hvordan de endres når data skaleres eller forskyves
  • 05Bruk Bayes' regel med prior, likelihood og evidens til å regne ut en posterior, og forklar hvorfor grunnraten betyr mye
  • 06Velg mellom random.sample, random.choices og rng.choice ut fra om trekket skal være med eller uten tilbakelegging
0 av 22 aktiviteter
Kjerneidé

Maskinlæring er regning med tabeller av tall. En observasjon er en vektor, et datasett er en matrise, en modell regner ut skalarprodukter, treningen følger gradienter nedover, og sannsynlighet sier hvor sikre vi kan være på svaret. Tenk på kapitlet som verktøykassa før en snekkerjobb: du bruker ikke alle verktøyene hele tiden, men du må vite hvilket du griper etter, og hvordan du holder det riktig.

Steg 1 av 7

Data som vektorer og matriser

Konsept

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.

Laster interaktiv figur …
Figur 0.1To vektorer og skalarproduktet x·w = 5. Vektorene peker omtrent samme vei, så skalarproduktet er positivt: x·w = 3·1 + 1·2 = 5.
Playground

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.

Pythonkap0-skalarprodukt.py
RegneeksempelRegn ut scoren for leiligheten i koden, med og .

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 .

Øving 1 av 2

Hva beskriver kolonnene i en vanlig datamatrise for tabulære data?

Øving 2 av 2

Regn ut skalarproduktet for og .

Mine notater

Skriv egne notater for dette kapittelet. De lagres automatisk og dukker opp i «Mine notater»-oversikten paa fag-siden.

Laster…