Uge 2: Øvelser#

Opgaverne er håndregningsopgaver med mindre andet er angivet (fx at du bliver bedt om at plotte en graf eller udregne en eksponentialfunktion).

Opgaver – Store Dag#

1: Jacobi-matricer for forskellige funktioner#

Vi definerer funktioner nedenfor af formen \(\pmb{f}: \operatorname{dom}(\pmb{f}) \to \mathbb{R}^k\), hvor \(\operatorname{dom}(\pmb{f}) \subseteq \mathbb{R}^n\) og hvor \(n\) og \(k\) kan aflæses af funktionsforskriften. Vi vil i denne opgave ikke bekymre os om at finde den præcise definitionsmængde \(\operatorname{dom}(\pmb{f})\), men blot nævne at hvis fx \(\ln(x_3)\) indgår i funktionsforeskriften, så må man jo kræve at \(x_3 > 0\).

Spørgsmål a#

  1. Lad \({f}(x_1, x_2, x_3) = x_1^2x_2 + 2x_3\). Beregn Jacobi-matricen \(J_{f}(\pmb{x})\) og evaluer den i punktet \(\pmb{x} = (1, -1, 3)\). Bekræft at Jacobi-matricen for en skalar-funktion af flere variable kun har én række.

  2. Lad \(\pmb{f}(x) = (3x, x^2, \sin(2x))\). Beregn Jacobi-matricen \(J_{\pmb{f}}(x)\) og evaluer den i punktet \(x = 2\). Bekræft at Jacobi-matricen for en vektor-funktion af én variabel kun har én søjle.

  3. Lad \(\pmb{f}(x_1, x_2) = (x_1^2, -3x_2, 12x_1)\). Beregn Jacobi-matricen \(J_{\pmb{f}}(\pmb{x})\) og evaluer den i punktet \(\pmb{x} = (2, 0)\).

  4. Lad \(\pmb{f}(x_1, x_2, x_3) = (x_2 \sin(x_3), 3x_1x_2 \ln(x_3))\). Beregn Jacobi-matricen \(J_{\pmb{f}}(\pmb{x})\) og evaluer den i punktet \(\pmb{x} = (-1, 3, 2)\).

  5. Lad \(\pmb{f}(x_1, x_2, x_3) = (x_1 e^{x_2}, 3x_2 \sin(x_2), -x_1^2 \ln(x_2 + x_3))\). Beregn Jacobi-matricen \(J_{\pmb{f}}(\pmb{x})\) og evaluer den i punktet \(\pmb{x} = (1, 0, 1)\).

Note

Når du skal evaluere Jacobi-matricen, skal du ikke angive decimaltal. Du skal angive den præcise værdi som fx kan indeholde \(\cos(4)\) og \(\ln(2)\).

Spørgsmål b#

Alle funktionerne fra forrige spørgsmål er differentiable. Hvordan kan man argumentere for dette? For hvilke af funktionerne kan vi udregne Hesse-matricen? (eng: the hessian). Udregn Hesse-matricen for de af funktionerne hvor Hesse-matricen er defineret.

Spørgsmål c#

Lad \(\pmb{v} = (1,1,1)\). Normaliser vektoren \(\pmb{v}\) og kald denne \(\pmb{e}\). Tjek at \(||\pmb{e}||=1\). Udregn den retningsafledte af skalar-funktionen \({f}(x_1, x_2, x_3) = x_1^2x_2 + 2x_3\) i punktet \(\pmb{x} = (1, -1, 3)\) i retningen \(\pmb{v}\). Udregn bagefter \(J_f(\pmb{x}) \pmb{e}\). Sammenlign med den retningsafledte. Er de ens? I så fald: er det et tilfælde?

2: Jacobi-matricen for et Neuralt Netværk#

Vi betragter et neuralt netværk \(\Phi: \mathbb{R}^2 \to \mathbb{R}^3\) med ét skjult lag. Netværket sender et input \(\pmb{x}\) til et output \(\pmb{y}\) gennem følgende trin:

  1. Affin transformation (Lag 1): \(\pmb{z} = W_1 \pmb{x} + \pmb{b}_1\). Vi skriver \(T_{W_1,\pmb{b}_1}(\pmb{x}) = W_1 \pmb{x} + \pmb{b}_1\).

  2. Aktivering (ReLU): \(\pmb{h} = \pmb{ReLU}(\pmb{z})\)

  3. Lineær transformation (Output uden aktivering): \(\pmb{y} = W_2 \pmb{h}\). Vi skriver \(L_{W_2}(\pmb{h}) = W_2 \pmb{h}\).

Altså er sidste aktiveringsfunktion identiteten.

Parametrene er givet ved:

\[\begin{split} W_1 = \begin{bmatrix} 1 & -1 \\ 1 & 1 \end{bmatrix}, \quad \pmb{b}_1 = \begin{bmatrix} -1 \\ 0 \end{bmatrix}, \quad W_2 = \begin{bmatrix} 2 & 1 \\ 0 & -2 \\ -1 & 3 \end{bmatrix} \end{split}\]

Vi ønsker at bestemme Jacobi-matricen \(J_{\Phi}(\pmb{x})\).

Spørgsmål a#

Vi betragter først den skalare ReLU-funktion \(\sigma = \text{ReLU}\) fra \(\mathbb{R}\) til \(\mathbb{R}\). Find et udtryk for \(\sigma'(z)\) givet ved en gaffelfunktion. Udtrykket er ikke defineret for \(z=0\). Hvorfor? Find dernæst et udtryk for \(\pmb{J}_{\pmb{\operatorname{ReLU}}}\) for ReLU-vektorfunktionen fra \(\mathbb{R}^2\) til \(\mathbb{R}^2\).

Vi skriver \(\Lambda = \pmb{J}_{\pmb{\operatorname{ReLU}}}\) i resten af opgaven.

Spørgsmål b#

Find Jacobi-matricerne for de to funktioner fra hhv trin 1 og 3.

Spørgsmål c#

Benyt kædereglen til at opstille et generelt udtryk for Jacobi-matricen \(J_{\Phi}(\pmb{x})\).

Spørgsmål d#

Vi betragter nu det specifikke input \(\pmb{x}_0 = \begin{bmatrix} 0 \\ 2 \end{bmatrix}\). Find Jacobi-matricen \(J_{\Phi}(\pmb{x}_0)\).

Spørgsmål e#

Vi har nu fundet Jacobi-matricen \(J_{\Phi}(\pmb{x}_0)\). Hvis vi ændrer inputtet \(x_1\) med en lille værdi \(\epsilon\) (dvs. \(\Delta \pmb{x} = [\epsilon, 0]^T\)), hvor meget ændrer output-vektoren \(\pmb{y}\) sig så cirka? Brug din Jacobi-matrix til at svare.

Note

Jacobi-matricen beskriver netværkets følsomhed: Den fortæller præcis, hvor meget og i hvilken retning outputtet ændrer sig, når vi justerer inputtet en smule. Denne indsigt er vigtig i neurale netværk for at forstå, hvilke input-parametre der har størst indflydelse på resultatet.

Spørgsmål f (frivillig)#

Verificerer beregningen symbolsk i Python med SymPy. Du kan bruge dette eksempel som inspiration:

from sympy import symbols, Matrix, Max

x1, x2 = symbols('x1 x2')
x = Matrix([x1, x2])

W1 = Matrix([[1, -1], [2, 1]])
b1 = Matrix([-1, 0])
W2 = Matrix([[2, 1], [0, -3]])

z = W1 * x + b1
h = Matrix([Max(0, z[0]), Max(0, z[1])]) # ReLU(z)

y = W2 * h

J = y.jacobian(x)
J_val = J.subs({x1: 0, x2: 2})

print("Evalueret Jacobi-matrix:")
display(J_val)
Evalueret Jacobi-matrix:
\[\begin{split}\displaystyle \left[\begin{matrix}2 & 1\\-6 & -3\end{matrix}\right]\end{split}\]

3: Beskrivelse af mængder i planen#

Tegn i hvert af de fire nedenstående tilfælde en skitse af den angivne punktmængde \(\,A\,\), det indre \(\,A^{\circ}\,\), randen \(\,\partial A\,\) og afslutningen \(\,\bar{A}\,\). Undersøg endvidere, om \(\,A\,\) er åben, afsluttet eller ingen af delene. Angiv endelig, om \(\,A\,\) er begrænset eller ikke.

  1. \(\{(x,y) \mid xy\neq 0\}\)

  2. \(\{(x,y) \mid 0<x<1 \wedge 1\leq y\leq 3\}\)

  3. \(\{(x,y) \mid y\geq x^2 \wedge y<2 \}\)

  4. \(\{(x,y) \mid x^2+y^2-2x+6y\leq 15 \}\)

4: Alle lineære afbildninger fra \(\mathbb{R^n}\) til \(\mathbb{R}\)#

Lad \(L: \mathbb{R}^n \to \mathbb{R}\) være en (vilkårlig) lineær afbildning. Lad \(e = \pmb{e}_1, \pmb{e}_2, \dots, \pmb{e}_n\) være standard-basen for \(\mathbb{R}^n\), og lad \(\beta\) være standard-basen for \(\mathbb{R}\). Husk standard basen fra Matematik 1a. Bemærk da dimensionen af \(\mathbb{R}\) (over \(\mathbb{R}\)) er en, er standard-basen for \(\mathbb{R}\) blot tallet \(1\).

Vis at der eksisterer en søjlevektor \(\pmb{c} \in \mathbb{R}^n\) således at

\[\begin{equation*} L(\pmb{x}) = \pmb{c}^T \pmb{x} = \langle \pmb{x}, \pmb{c} \rangle \end{equation*}\]

hvor \(\langle \cdot, \cdot \rangle\) angiver det sædvanlige indreprodukt på \(\mathbb{R}^n\). (Søjlevektoren er entydigt givet, men det er ikke en del af opgaven at argumentere for dette).

5: Linæere(?) vektor funktioner#

Vi betragter følgende to funktioner:

  1. \(f: \mathbb{R}^{2 \times 2} \to \mathbb{R}^{2 \times 2}, f(X) = C X B\), hvor \(C = \operatorname{diag}(2,1) \in \mathbb{R}^{2 \times 2}\) og \(B = \begin{bmatrix} 1 & 1 \\ 0 & 1 \end{bmatrix}\).

  2. \(g: \mathbb{R}^n \to \mathbb{R}, g(\pmb{x}) = \pmb{x}^T A \pmb{x}\), hvor \(A\) er en \(n \times n\) matrix (og ikke nulmatricen).

Afgør for hver funktion om den er en lineær afbildning. Hvis afbildningen er lineær, find afbildningsmatricen med hensyn til, henholdsvis:

  1. standard-basen \(E=\begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix}, \begin{bmatrix} 0 & 1 \\ 0 & 0 \end{bmatrix}, \begin{bmatrix} 0 & 0 \\ 1 & 0 \end{bmatrix}, \begin{bmatrix} 0 & 0 \\ 0 & 1 \end{bmatrix}\) i \(\mathbb{R}^{2 \times 2}\). Husk dette eksempel fra Mat1a

  2. standard-basen \(e\) i \(\mathbb{R}^n\). Husk dette result fra Mat1a

6: Den simple kæderegel#

I denne opgave skal vi arbejde med den simple kæderegel givet her.

Vi betragter først en reel funktion af to reelle variable givet ved forskriften

\[\begin{equation*} g(x,y)=\ln(9-x^2-y^2). \end{equation*}\]

Spørgsmål a#

Bestem den størst mulige definitionsmængde for \(g\), og karakterisér den ved hjælp af begreber som åben, afsluttet, begrænset, ubegrænset.

Vi betragter nu en parametriseret kurve \(\pmb{r}\) i \((x,y)\)-planen givet ved

\[\begin{equation*} \pmb{r}(u)=(u,u^3)\,,\,u\in \left[-1.2\,,\,1.2\right]. \end{equation*}\]

Spørgsmål b#

Hvilken kurve er der tale om (du er bekendt med dens ligning)?

Vi betragter nu den sammensatte funktion

\[\begin{equation*} h(u) = g(\pmb{r}(u)). \end{equation*}\]

Spørgsmål c#

Hvad er definitionsmændgen og dispositionsmængden for \(h = g \circ \pmb{r}\)?

Spørgsmål d#

Bestem \(h'(1)\) ved to forskellige metoder:

  1. Bestem et funktionsudtryk for \(h(u)\) og differentiér på sædvanlig vis.

  2. Benyt Kædereglen i Afsnit 3.7.

7: Den generaliserede kæderegel#

I denne opgave skal vi bruge denne sætning: Generalized chain rule

Givet funktionerne:

  1. \(\pmb{f} : \mathbb{R}^3 \to \mathbb{R}^2\) defineret ved \(\pmb{f}(x_1, x_2, x_3) = (f_1(x_1, x_2, x_3), f_2(x_1, x_2, x_3))\), hvor \(f_1(x_1, x_2, x_3) = x_1^2 + x_2^2 + x_3^2\) og \(f_2(x_1, x_2, x_3) = e^{x_1 + x_2} \, \cos(x_3)\).

  2. \(g : \mathbb{R}^2 \to \mathbb{R}\) defineret ved \(g(y_1, y_2) = y_1 \, \sin(y_2)\).

  3. Sammensætning af disse funktioner: \(h = g \circ \pmb{f}\).

Vi vil i opgaven beregne Jacobi-matricen af \(h\) (med hensyn til de variable \(x_1, x_2,\) og \(x_3\)) ved brug af den generaliserede kæderegel. Du må gerne lave udregningerne i SymPy.

Spørgsmål a#

Find funktionsudtrykket for \(h\) samt definitionsmængden og dispositionsmængden. Udregn gradienten af \(h\).

Spørgsmål b#

Beregn Jacobi-matricen for \(\pmb{f}\). Beregn Jacobi-matricen for \(g\). Hvad er sammenhængen mellem gradienten og Jacobi-matricen for \(g\)?

Spørgsmål c#

Anvend nu kædereglen og Jacobi-matricerne fra forrige opgave til at finde Jacobi-matricen af \(h\). Sammenlign med svaret i Spørgsmål a.

8: Partielle afledede men ikke differentiabel#

Vi starter med en simpel funktion \(f\), der er differentiabel overalt. Lad \(f:\mathbb{R}^2 \to \mathbb{R}\) være givet ved

\[\begin{equation*} f(x_1,x_2)=x_1^2-4x_1+x_2^2. \end{equation*}\]

Spørgsmål a#

Lad \(\pmb{x}_0 = (x_1,x_2) \in \mathbb{R}^2\) være et vilkårligt punkt. Gør rede for at \(f\) er differentiabel i \(\pmb{x}_0\) og bestem gradienten af \(f\) i \(\pmb{x}_0\).

Soft version: Benyt resultatet i denne sætning

Hard version: Løs opgaven direkte fra definitionen på differentiabilitet i afsnit 3.6. Vi følger denne fremgangsmåde i hints og svar nedenfor:

Spørgsmål b#

For at konkludere differentiabilitet fra de partielle afledede, jvf. denne sætning, kræves at de partielle afledede er kontinuerte. Hvorfor er det ikke nok at de partielle afledede eksisterer? Det skal vi undersøge gennem et konkret eksempel. Men først generaliserer vi en (fra gymnasiet) velkendt sætning om en funktion af én variabel: Hvis den er differentiabel i et punkt, så er den også kontinuert i det punkt.

Vis at hvis en funktion af to variable er differentiabel i et punkt \(\pmb{x}_0\), så er den også kontinuert i det punkt.

Og nu til eksemplet, der har navngivet opgaven. Vi betragter funktionen

\[\begin{equation*} g(x_1,x_2) = \begin{cases} \frac{x_1^2x_2}{x_1^4+x_2^2}, & \text{for } (x_1,x_2) \neq (0,0) \\ 0, & \text{for } (x_1,x_2)=(0,0) \end{cases} \end{equation*}\]

Spørgsmål c#

Vis at de partielle afledede af \(g\) eksisterer i \((0,0)\), men at \(g\) ikke er differentiabel i dette punkt.

9: Niveaukurver og retningsafledte for skalar-funktioner#

En funktion \(f:\mathbb{R}^2\rightarrow\mathbb{R}\) er givet ved forskriften

\[\begin{equation*} f(x,y)=x^2+y^2. \end{equation*}\]

Og en anden funktion \(g:\mathbb{R}^2\rightarrow\mathbb{R}\) er givet ved forskriften

\[\begin{equation*} g(x,y)=x^2-4x+y^2. \end{equation*}\]

Spørgsmål a#

Beskriv niveaukurverne givet ved \(f(x,y)=c\) for værdierne \(c\in\{1,2,3,4,5\}\).

Spørgsmål b#

Bestem gradienten af \(f\) i punktet \((1,1)\) og bestem den retningsafledede af \(f\) i punktet \((1,1)\) i den retning der er bestemt af enhedsretningsvektoren \(\pmb{e}=(1,0)\).

Spørgsmål c#

Beskriv niveaukurverne givet ved \(g(x,y)=c\) for værdierne \(c \in\{-3,-2,-1,0,1\}\).

Spørgsmål d#

Bestem gradienten af \(g\) i punktet \((1,2)\) og bestem den retningsafledede af \(g\) i punktet \((1,2)\) i retningen mod Origo \((0,0)\).

10: Gradientvektorfelter og hesse-matricen#

Spørgsmål a#

Gradient-vektoren for \(f(x_1, x_2) = x_1^2 \sin(x_2)\) er \(\nabla f(\pmb{x})=(2x_1 \sin(x_2),x_1^2 \cos(x_2))\). Gradientvektoren kan derfor opfattes som en afbildning \(\nabla f : \operatorname{dom}(f) \to \mathbb{R}^2\). Nedskriv afbildningen som funktion (hvor du angiver \(\operatorname{dom}(f)\)) og plot den som et vektorfelt.

Spørgsmål b#

Udregn nu Jacobi-matricen \(\pmb{J}_{\nabla f}(x_1,x_2)\) af \(\nabla f : \mathbb{R}^2 \to \mathbb{R}^2\) i punktet \((x_1,x_2)\).

Spørgsmål c#

Udregn hesse-matricen \(\pmb{H}_{f}(x_1,x_2)\) for \(f : \mathbb{R}^2 \to \mathbb{R}\) i punktet \((x_1,x_2)\) og sammenlign med svaret i forrige opgave.


Temaøvelse – Lille Dag#

Der er tema-øvelse Tema 1: Gradientmetoden