Dec C: Regression med en periodisk og stigende funktion

Lineær model med cosinus-basis, parameteraflæsning, NN-parametertælling og generaliseringsfejl.

Vi ønsker en model $f(x)$ der forudsiger $y$. Trænings- og test-data er vist i PDF'en (øverste række), samt fits af Model 1 og Model 2 (nederste række).

Se PDF for scatterplots og modelkurver.

$$f(x)=w_0+w_1\cdot x+w_2\cdot\cos(2\pi x)$$
Spørgsmål C.1

Hvilken konkret metode kan passende benyttes til effektivt at estimere parametrene $w_0$, $w_1$ og $w_2$?

Vis svar Skjul svar
Svar C.1

Model 1 er lineær i parametrene, så vi kan benytte ordinær lineær regression: kvadratisk fejl som cost-funktion, sæt den afledede lig nul, og løs de tre ligninger med tre ubekendte.

Ordinær lineær regression

Et fit af Model 1 er vist i PDF'en. Amplituden af cosinus-komponenten er fundet til $w_2=3$.

Spørgsmål C.2

Giv ud fra figuren et estimat af parameteren $w_0$.

Vis svar Skjul svar
Svar C.2

I punktet $x=0$ aflæses $f(0)=4$:

$$f(0)=w_0+w_2\cdot\cos(0)=w_0+w_2=4\Rightarrow w_0=4-3=1$$

1

model2 = torch.nn.Sequential(
    torch.nn.Linear(1, 50),
    torch.nn.Tanh(),
    torch.nn.Linear(50, 1))

Model 2 er et neuralt netværk med ét skjult lag (50 neuroner, tanh) og er væsentligt mere fleksibel end Model 1.

Spørgsmål C.3

Hvor mange parametre har Model 2?

Vis svar Skjul svar
Svar C.3

Input er en skalar: hver af de 50 skjulte neuroner har 1 vægt + 1 bias. Output-neuronen har 50 vægte + 1 bias:

$$(1+1)\cdot 50+(50+1)=100+51=151$$

151

Spørgsmål C.4

Hvilken model har den laveste generaliseringsfejl (dvs. fejl på test-data)?

Vis svar Skjul svar
Svar C.4

Begge modeller fitter trænings-data fint, men omkring $x=3$ (ingen træningsdata) følger Model 1 test-data bedre end Model 2. Dermed har Model 1 den laveste generaliseringsfejl.

Model 1