Skip to content

Commit 43d0e89

Browse files
committed
update week 2
1 parent 20884f8 commit 43d0e89

30 files changed

+8884
-745
lines changed

doc/pub/week2/ipynb/.ipynb_checkpoints/BlackScholesPINN-checkpoint.ipynb

Lines changed: 6872 additions & 0 deletions
Large diffs are not rendered by default.

doc/pub/week2/ipynb/BlackScholesPINN.ipynb

Lines changed: 72 additions & 72 deletions
Large diffs are not rendered by default.
0 Bytes
Binary file not shown.

doc/pub/week2/ipynb/week2.ipynb

Lines changed: 525 additions & 428 deletions
Large diffs are not rendered by default.

doc/pub/week2/pdf/week2.pdf

29.1 KB
Binary file not shown.
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
\begin{MintedVerbatim}[commandchars=\\\{\},codes={\catcode`\$=3\catcode`\^=7\catcode`\_=8\relax}]
2+
\PYG{k+kn}{import}\PYG{+w}{ }\PYG{n+nn}{autograd}\PYG{n+nn}{.}\PYG{n+nn}{numpy}\PYG{+w}{ }\PYG{k}{as}\PYG{+w}{ }\PYG{n+nn}{np}
3+
\PYG{k+kn}{from}\PYG{+w}{ }\PYG{n+nn}{sklearn}\PYG{n+nn}{.}\PYG{n+nn}{model\PYGZus{}selection}\PYG{+w}{ }\PYG{k+kn}{import} \PYG{n}{train\PYGZus{}test\PYGZus{}split}
4+
5+
\PYG{k}{def}\PYG{+w}{ }\PYG{n+nf}{SkrankeFunction}\PYG{p}{(}\PYG{n}{x}\PYG{p}{,} \PYG{n}{y}\PYG{p}{)}\PYG{p}{:}
6+
\PYG{k}{return} \PYG{n}{np}\PYG{o}{.}\PYG{n}{ravel}\PYG{p}{(}\PYG{l+m+mi}{0} \PYG{o}{+} \PYG{l+m+mi}{1}\PYG{o}{*}\PYG{n}{x} \PYG{o}{+} \PYG{l+m+mi}{2}\PYG{o}{*}\PYG{n}{y} \PYG{o}{+} \PYG{l+m+mi}{3}\PYG{o}{*}\PYG{n}{x}\PYG{o}{*}\PYG{o}{*}\PYG{l+m+mi}{2} \PYG{o}{+} \PYG{l+m+mi}{4}\PYG{o}{*}\PYG{n}{x}\PYG{o}{*}\PYG{n}{y} \PYG{o}{+} \PYG{l+m+mi}{5}\PYG{o}{*}\PYG{n}{y}\PYG{o}{*}\PYG{o}{*}\PYG{l+m+mi}{2}\PYG{p}{)}
7+
8+
\PYG{k}{def}\PYG{+w}{ }\PYG{n+nf}{create\PYGZus{}X}\PYG{p}{(}\PYG{n}{x}\PYG{p}{,} \PYG{n}{y}\PYG{p}{,} \PYG{n}{n}\PYG{p}{)}\PYG{p}{:}
9+
\PYG{k}{if} \PYG{n+nb}{len}\PYG{p}{(}\PYG{n}{x}\PYG{o}{.}\PYG{n}{shape}\PYG{p}{)} \PYG{o}{\PYGZgt{}} \PYG{l+m+mi}{1}\PYG{p}{:}
10+
\PYG{n}{x} \PYG{o}{=} \PYG{n}{np}\PYG{o}{.}\PYG{n}{ravel}\PYG{p}{(}\PYG{n}{x}\PYG{p}{)}
11+
\PYG{n}{y} \PYG{o}{=} \PYG{n}{np}\PYG{o}{.}\PYG{n}{ravel}\PYG{p}{(}\PYG{n}{y}\PYG{p}{)}
12+
13+
\PYG{n}{N} \PYG{o}{=} \PYG{n+nb}{len}\PYG{p}{(}\PYG{n}{x}\PYG{p}{)}
14+
\PYG{n}{l} \PYG{o}{=} \PYG{n+nb}{int}\PYG{p}{(}\PYG{p}{(}\PYG{n}{n} \PYG{o}{+} \PYG{l+m+mi}{1}\PYG{p}{)} \PYG{o}{*} \PYG{p}{(}\PYG{n}{n} \PYG{o}{+} \PYG{l+m+mi}{2}\PYG{p}{)} \PYG{o}{/} \PYG{l+m+mi}{2}\PYG{p}{)} \PYG{c+c1}{\PYGZsh{} Number of elements in beta}
15+
\PYG{n}{X} \PYG{o}{=} \PYG{n}{np}\PYG{o}{.}\PYG{n}{ones}\PYG{p}{(}\PYG{p}{(}\PYG{n}{N}\PYG{p}{,} \PYG{n}{l}\PYG{p}{)}\PYG{p}{)}
16+
17+
\PYG{k}{for} \PYG{n}{i} \PYG{o+ow}{in} \PYG{n+nb}{range}\PYG{p}{(}\PYG{l+m+mi}{1}\PYG{p}{,} \PYG{n}{n} \PYG{o}{+} \PYG{l+m+mi}{1}\PYG{p}{)}\PYG{p}{:}
18+
\PYG{n}{q} \PYG{o}{=} \PYG{n+nb}{int}\PYG{p}{(}\PYG{p}{(}\PYG{n}{i}\PYG{p}{)} \PYG{o}{*} \PYG{p}{(}\PYG{n}{i} \PYG{o}{+} \PYG{l+m+mi}{1}\PYG{p}{)} \PYG{o}{/} \PYG{l+m+mi}{2}\PYG{p}{)}
19+
\PYG{k}{for} \PYG{n}{k} \PYG{o+ow}{in} \PYG{n+nb}{range}\PYG{p}{(}\PYG{n}{i} \PYG{o}{+} \PYG{l+m+mi}{1}\PYG{p}{)}\PYG{p}{:}
20+
\PYG{n}{X}\PYG{p}{[}\PYG{p}{:}\PYG{p}{,} \PYG{n}{q} \PYG{o}{+} \PYG{n}{k}\PYG{p}{]} \PYG{o}{=} \PYG{p}{(}\PYG{n}{x} \PYG{o}{*}\PYG{o}{*} \PYG{p}{(}\PYG{n}{i} \PYG{o}{\PYGZhy{}} \PYG{n}{k}\PYG{p}{)}\PYG{p}{)} \PYG{o}{*} \PYG{p}{(}\PYG{n}{y}\PYG{o}{*}\PYG{o}{*}\PYG{n}{k}\PYG{p}{)}
21+
22+
\PYG{k}{return} \PYG{n}{X}
23+
24+
\PYG{n}{step}\PYG{o}{=}\PYG{l+m+mf}{0.5}
25+
\PYG{n}{x} \PYG{o}{=} \PYG{n}{np}\PYG{o}{.}\PYG{n}{arange}\PYG{p}{(}\PYG{l+m+mi}{0}\PYG{p}{,} \PYG{l+m+mi}{1}\PYG{p}{,} \PYG{n}{step}\PYG{p}{)}
26+
\PYG{n}{y} \PYG{o}{=} \PYG{n}{np}\PYG{o}{.}\PYG{n}{arange}\PYG{p}{(}\PYG{l+m+mi}{0}\PYG{p}{,} \PYG{l+m+mi}{1}\PYG{p}{,} \PYG{n}{step}\PYG{p}{)}
27+
\PYG{n}{x}\PYG{p}{,} \PYG{n}{y} \PYG{o}{=} \PYG{n}{np}\PYG{o}{.}\PYG{n}{meshgrid}\PYG{p}{(}\PYG{n}{x}\PYG{p}{,} \PYG{n}{y}\PYG{p}{)}
28+
\PYG{n}{target} \PYG{o}{=} \PYG{n}{SkrankeFunction}\PYG{p}{(}\PYG{n}{x}\PYG{p}{,} \PYG{n}{y}\PYG{p}{)}
29+
\PYG{n}{target} \PYG{o}{=} \PYG{n}{target}\PYG{o}{.}\PYG{n}{reshape}\PYG{p}{(}\PYG{n}{target}\PYG{o}{.}\PYG{n}{shape}\PYG{p}{[}\PYG{l+m+mi}{0}\PYG{p}{]}\PYG{p}{,} \PYG{l+m+mi}{1}\PYG{p}{)}
30+
31+
\PYG{n}{poly\PYGZus{}degree}\PYG{o}{=}\PYG{l+m+mi}{3}
32+
\PYG{n}{X} \PYG{o}{=} \PYG{n}{create\PYGZus{}X}\PYG{p}{(}\PYG{n}{x}\PYG{p}{,} \PYG{n}{y}\PYG{p}{,} \PYG{n}{poly\PYGZus{}degree}\PYG{p}{)}
33+
34+
\PYG{n}{X\PYGZus{}train}\PYG{p}{,} \PYG{n}{X\PYGZus{}test}\PYG{p}{,} \PYG{n}{t\PYGZus{}train}\PYG{p}{,} \PYG{n}{t\PYGZus{}test} \PYG{o}{=} \PYG{n}{train\PYGZus{}test\PYGZus{}split}\PYG{p}{(}\PYG{n}{X}\PYG{p}{,} \PYG{n}{target}\PYG{p}{)}
35+
36+
37+
\end{MintedVerbatim}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
\begin{MintedVerbatim}[commandchars=\\\{\},codes={\catcode`\$=3\catcode`\^=7\catcode`\_=8\relax}]
2+
\PYG{n}{neural\PYGZus{}network}\PYG{o}{.}\PYG{n}{reset\PYGZus{}weights}\PYG{p}{(}\PYG{p}{)} \PYG{c+c1}{\PYGZsh{} reset weights such that previous runs or reruns don\PYGZsq{}t affect the weights}
3+
4+
\PYG{n}{scheduler} \PYG{o}{=} \PYG{n}{Adam}\PYG{p}{(}\PYG{n}{eta}\PYG{o}{=}\PYG{l+m+mf}{1e\PYGZhy{}4}\PYG{p}{,} \PYG{n}{rho}\PYG{o}{=}\PYG{l+m+mf}{0.9}\PYG{p}{,} \PYG{n}{rho2}\PYG{o}{=}\PYG{l+m+mf}{0.999}\PYG{p}{)}
5+
\PYG{n}{scores} \PYG{o}{=} \PYG{n}{neural\PYGZus{}network}\PYG{o}{.}\PYG{n}{fit}\PYG{p}{(}\PYG{n}{X\PYGZus{}train}\PYG{p}{,} \PYG{n}{t\PYGZus{}train}\PYG{p}{,} \PYG{n}{scheduler}\PYG{p}{,} \PYG{n}{epochs}\PYG{o}{=}\PYG{l+m+mi}{1000}\PYG{p}{,} \PYG{n}{X\PYGZus{}val}\PYG{o}{=}\PYG{n}{X\PYGZus{}val}\PYG{p}{,} \PYG{n}{t\PYGZus{}val}\PYG{o}{=}\PYG{n}{t\PYGZus{}val}\PYG{p}{)}
6+
7+
8+
\end{MintedVerbatim}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
\begin{MintedVerbatim}[commandchars=\\\{\},codes={\catcode`\$=3\catcode`\^=7\catcode`\_=8\relax}]
2+
\PYG{n}{linear\PYGZus{}regression}\PYG{o}{.}\PYG{n}{reset\PYGZus{}weights}\PYG{p}{(}\PYG{p}{)} \PYG{c+c1}{\PYGZsh{} reset weights such that previous runs or reruns don\PYGZsq{}t affect the weights}
3+
4+
\PYG{n}{scheduler} \PYG{o}{=} \PYG{n}{Constant}\PYG{p}{(}\PYG{n}{eta}\PYG{o}{=}\PYG{l+m+mf}{1e\PYGZhy{}3}\PYG{p}{)}
5+
\PYG{n}{scores} \PYG{o}{=} \PYG{n}{linear\PYGZus{}regression}\PYG{o}{.}\PYG{n}{fit}\PYG{p}{(}\PYG{n}{X\PYGZus{}train}\PYG{p}{,} \PYG{n}{t\PYGZus{}train}\PYG{p}{,} \PYG{n}{scheduler}\PYG{p}{)}
6+
7+
8+
9+
\end{MintedVerbatim}

0 commit comments

Comments
 (0)