Hvordan priorforventninger påvirker estimater: MAP vs MLE
En metode for å vekte settet Θ for å reflektere tidligere kunnskap om plausibiliteten til forskjellige θ (og dermed forskjellige p(x|θ)-modeller) er å plassere en priorfordeling på Θ. La p(θ) betegne en slik fordeling. Vi kan se på p(θ) som en ikke-negativ vektingsfunksjon over settet Θ og bruke denne vektingen til å modifisere optimaliseringen vår på følgende måte:
θ̂MAP = argmax p(x|θ)p(θ), hvor θ ∈ Θ.
Denne optimaliseringen vil gjerne favorisere løsninger der p(θ) er stor. Denne metoden kalles Maximum a Posteriori (MAP) estimator. Navnet MAP stammer fra det faktum at θ)p(θ) max | p(x| p(x θ)p(θ) = max θ∈Θ θ∈Θ p(x) = max p(θ|x) θ∈Θ, og p(θ|x) kalles den posterior fordelingen av θ gitt x.
I et konkret eksempel, for temperaturmålinger, antar vi at prioren har formen:
Det finnes flere måter å konstruere funksjonsrom på, og en grunnleggende tilnærming er å bruke parametiske klasser av funksjoner. Dette kan være lineære funksjoner, polynomfunksjoner eller til og med nevrale nettverk. Et eksempel på et parametisk funksjonsrom kan være et enkelt to-lags nevralt nettverk, hvor funksjonen har formen:
f(x)=∑k=1Kvkϕ(wkTx+bk)f(x) = \sum_{k=1}^{K} v_k \phi(w_k^T x + b_k)f(x)=k=1∑Kvkϕ(wkTx+bk)
Her er ϕ\phiϕ en fast aktiveringsfunksjon (som ReLU), og wkw_kwk, vkv_kvk, bkb_kbk er de lærbare parameterne. Vi kan videre begrense dette rommet ved å sette betingelser på størrelsen av vektene og biasene.
En annen tilnærming er å bruke atomiske funksjonsklasser. I en slik klasse kan vi ha funksjoner som er parameterisert av en vekt www, hvor www tilhører en mengde WWW, og hver funksjon ϕw(x)\phi_w(x)ϕw(x) i klassen kan sees som et "atom". For eksempel kan nevronelementene i et nevralt nettverk betraktes som slike atomer. Dette åpner for en mer generell måte å konstruere funksjonsrom på, som ikke nødvendigvis er begrenset til et endelig antall parametere.
I tillegg til parametiske og atomiske funksjonsklasser finnes det også ikke-parametiske klasser, hvor funksjonene ikke er eksplisitt parameterisert. Et eksempel på dette er klassen av kontinuerlige funksjoner på intervallet [0,1][0, 1][0,1], som kan beskrives ved en norm som ∥f∥C0=supx∈[0,1]∣f(x)∣\|f\|_{C^0} = \sup_{x \in [0,1]} |f(x)|∥f∥C0=supx∈[0,1]∣f(x)∣. Det finnes også høyere ordens normer, for eksempel ∥f∥Ck=supx∈[0,1]∣f(k)(x)∣\|f\|_{C^k} = \sup_{x \in [0,1]} |f^{(k)}(x)|∥f∥Ck=supx∈[0,1]∣f(k)(x)∣, som beskriver klasser av funksjoner med kontinuerlige deriverte.
Den viktigste innsikten fra disse forskjellige måtene å konstruere funksjonsrom på er at maskinlæring ofte innebærer å finne et kompromiss mellom å tilpasse seg treningsdataene godt (minimere tapet) og å kontrollere kompleksiteten til funksjonen for å unngå overtilpasning. Dette er grunnen til at normer spiller en så viktig rolle i optimeringen, ettersom de hjelper oss å kontrollere størrelsen på funksjonene vi vurderer.
En annen viktig aspekt ved funksjonsrom og normer er deres betydning for generalisering. En viktig teorem i statistikk og maskinlæring er at større funksjonsrom kan føre til bedre tilpasning til treningsdataene, men kan også øke risikoen for overtilpasning. På den andre siden kan et begrenset funksjonsrom hindre modellen fra å fange opp viktige mønstre i dataene. For å adressere dette har vi generaliseringsteoremer, som gir oss grenser på hvordan godt en modell på et gitt funksjonsrom kan generalisere til nye, ukjente data.
Når man definerer funksjonsrom i maskinlæring, er det derfor viktig å balansere tilpasning til treningsdataene med evnen til å generalisere til nye data. Å bruke normer på funksjonene i rommet er en måte å styre denne balansen på.