From e442964ea8e29071be5cbd27ee0b03dc18eb8065 Mon Sep 17 00:00:00 2001 From: Morten Hjorth-Jensen Date: Tue, 10 Oct 2023 06:33:38 +0200 Subject: [PATCH] update exercises --- .../_build/.doctrees/environment.pickle | Bin 448462 -> 459335 bytes .../_build/.doctrees/exercisesweek41.doctree | Bin 16458 -> 252214 bytes .../html/_images/exercisesweek41_16_2.png | Bin 0 -> 22078 bytes .../html/_images/exercisesweek41_22_1.png | Bin 0 -> 22153 bytes .../html/_images/exercisesweek41_39_2.png | Bin 0 -> 20636 bytes .../html/_images/exercisesweek41_41_2.png | Bin 0 -> 31965 bytes .../html/_images/exercisesweek41_5_1.png | Bin 0 -> 21515 bytes .../html/_sources/exercisesweek41.ipynb | 1069 +++++++- .../_build/html/exercisesweek41.html | 1207 ++++++++- doc/LectureNotes/_build/html/searchindex.js | 2 +- .../jupyter_execute/exercisesweek41.ipynb | 1428 ++++++++++- .../_build/jupyter_execute/exercisesweek41.py | 815 +++++++ .../jupyter_execute/exercisesweek41_16_2.png | Bin 0 -> 22078 bytes .../jupyter_execute/exercisesweek41_22_1.png | Bin 0 -> 22153 bytes .../jupyter_execute/exercisesweek41_39_2.png | Bin 0 -> 20636 bytes .../jupyter_execute/exercisesweek41_41_2.png | Bin 0 -> 31965 bytes .../jupyter_execute/exercisesweek41_5_1.png | Bin 0 -> 21515 bytes doc/LectureNotes/exercisesweek41.ipynb | 1069 +++++++- doc/LectureNotes/figures/adagrad.png | Bin 0 -> 182991 bytes doc/LectureNotes/figures/adam.png | Bin 0 -> 182545 bytes doc/LectureNotes/figures/rmsprop.png | Bin 0 -> 187567 bytes doc/src/week41/exercisesweek41.do.txt | 740 +++++- doc/src/week41/figures/adagrad.png | Bin 0 -> 182991 bytes doc/src/week41/figures/adam.png | Bin 0 -> 182545 bytes doc/src/week41/figures/rmsprop.png | Bin 0 -> 187567 bytes .../week41/ipynb-exercisesweek41-src.tar.gz | Bin 0 -> 511880 bytes doc/src/week41/week40.do.txt | 2151 ----------------- 27 files changed, 6301 insertions(+), 2180 deletions(-) create mode 100644 doc/LectureNotes/_build/html/_images/exercisesweek41_16_2.png create mode 100644 doc/LectureNotes/_build/html/_images/exercisesweek41_22_1.png create mode 100644 doc/LectureNotes/_build/html/_images/exercisesweek41_39_2.png create mode 100644 doc/LectureNotes/_build/html/_images/exercisesweek41_41_2.png create mode 100644 doc/LectureNotes/_build/html/_images/exercisesweek41_5_1.png create mode 100644 doc/LectureNotes/_build/jupyter_execute/exercisesweek41.py create mode 100644 doc/LectureNotes/_build/jupyter_execute/exercisesweek41_16_2.png create mode 100644 doc/LectureNotes/_build/jupyter_execute/exercisesweek41_22_1.png create mode 100644 doc/LectureNotes/_build/jupyter_execute/exercisesweek41_39_2.png create mode 100644 doc/LectureNotes/_build/jupyter_execute/exercisesweek41_41_2.png create mode 100644 doc/LectureNotes/_build/jupyter_execute/exercisesweek41_5_1.png create mode 100644 doc/LectureNotes/figures/adagrad.png create mode 100644 doc/LectureNotes/figures/adam.png create mode 100644 doc/LectureNotes/figures/rmsprop.png create mode 100644 doc/src/week41/figures/adagrad.png create mode 100644 doc/src/week41/figures/adam.png create mode 100644 doc/src/week41/figures/rmsprop.png create mode 100644 doc/src/week41/ipynb-exercisesweek41-src.tar.gz delete mode 100644 doc/src/week41/week40.do.txt diff --git a/doc/LectureNotes/_build/.doctrees/environment.pickle b/doc/LectureNotes/_build/.doctrees/environment.pickle index 671097068da065e23ec1e58e9b2015d0332015cd..b0107b33fd457ea10b2912c80cbcc6c4c8930a95 100644 GIT binary patch literal 459335 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

TSZa={+)B%Q`XeHuhUdEqtpK!Efru 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 K!(T2AEc}0Fn4lj3 literal 448462 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 } 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∋Wqb?xk!+2(lNOim;9>KkS^sEB`ix^-;Egy0AFW=|0TXf{^-v zsR-+&lo)gh9OVk~_$J#7T^=2x(|w)&VuIi+rXs8($cR3tfXKLxIR3~sNf(D!bh_WO zUr(U?x2Xv0P%>lBDOfV^KrpA>XlqWU8J%t!TLFURBvTRA(a`X73Kx1Ap=@Ovq}y6F zqSI|+znlQM)Kr9ZAZ=sLDQw!_iI~c4Gj%aBqtgwr6(PuqrXs8(Bk|`HOynw}c?sJb zT{Ife>0ZQsIl=LKQxVp2a0ARKw73r=%nz{(Ll@@cqtm^gts7zeUQ-d)S*HWgDJ;_$ zk=57O#^|!@9G&jV>~|9uUo;hAokd3UIR!_?btLjTwn@4~w4&4fhW&a1<(H-+tV7X= zHm5++xF4aNQnNKIH;PWTl&ubdxX4t5b%6h4rqRX@^ z(doXxR*ztRz*K~F?CAh>3exmN#Pw^oF}k=qN2mJ*``v`aqoyLPvuG1_PQlXVJ|wiH zZfiKsicYtXtpcpT{l$U4D~^PIo<9D?;{}rXsA9?P3%;1$`IgV%>Niy9jmbhSlhFcd*qamFHGd z5!Ne@L3BB#k{CRXmEqm&BGIi3U5QTj4z_v(`rW1?tV2&lpi_XRt|6=k*{0~i>KL8w ze)g*ghv+ZHchvoXh)|zkF5d$wANIFbwK>^atb^C*;uns&s^qc}U`xXRuJKHc_aJtdyp2OCF(0R702S$Z)cmQ%ZL%3?yYPk2&Olgim;C9af)$tAG<(w!LBaU;S99QRINt0iF4(p4{OpB zyq{%jM~HvQRD^Znk83EqpRtQYmwR_Y+5LpAA0hukQxVq58wH|Mx@#i|*p<&|+M1bk zDU{tzwt@uxiKZf~qko*b`St7q(QWP`2N2Dbhk?inB8%;|ilHJ3m<(;&wADN1s?T$0$4^V!Of7B|OKgmrv#`)ZBy zK)G0!VfUIflGZZo2847W+bG@ca9#m|0ft&hK0+(PWdr;Dgv)wU5!SiPSDTU37$5ah z;oq`vK{hwA4bx?_prAGw7d0bvu4QXL=v-qe!aALkxA}fa#4&wYqN667rm)eT@NH~O2(`DEim*;?38d0$)@mX&X4{6==04>00NX@eUQ0z%Ez~i^ zD&w>DIkp-E)@MvbSckP}H>AR;;nzwe{E0_Z%1}P{E(G-`+dN%Riwl9!55HL=aZjvY zSjNey@26}f2&NyKim;Ap;m&5I0f{cgfz_yAEBd1lj60psJntriH1CkDA^M`iNUWXP zsvTi8o2>(3G{aPcbw(#07#eqyl4#|0srs>MdneL5pKYdYlRBwzXlUF`^lVRT9a|4V zY_+Kf>%_KguT+}#2IM^vQ(@@+JVzvzulOzOoROg9S7gX@59ziP7+zH2c1tMMgJ-e} zPq!XiUMRO%FZx!`MeAD(bfxvK$erwAogo+L=;ms+&ZN#`EXE!G)agQu%gPOr@oo3 z4PiKLD#AL$6=zOc(@aG?kwL6w8>QPo1ci~j$#U`h44+T zl@GgPez5`BL8}2~FjBwEc{gD>{}tP8-ExK%rdI7BuWP7XSZ>KG;A`1BkfMLJsfeTz zyb|ekJ0sPZ*^C@qohU*!SGkg*GShts8GeFoye`8ta~R@GG*O-){Wx1Cg7jmiBCI2w z-xpgR=V?w&R;Dh(rs_0%;&3(E{^+8i+`=_^4@?LZJmDe*M6)M>X;5oUMmpH?drY~8|!}rB0TyIR(lLz1mWVC${e|-^ueF=YkMgGdJ;ljY|6t4521h6$#+3yM~)XZ4K zK`A14{M_{nuIKC?^J`wMI3zMUd*uq#u1m$A!7lf}f! zLXg0odWjcEG>Nb(s+~n)oE(Ucy$4fP0ath^aCA=bMUnax4O?Ptp@~uI-^A zi55eX(W2QubPvDs8c(jz?i(Ggl>L&k#cOy@A2?f$*P*hC;muA@)M?+@;d`|zRBom6 z4u2b3I@Zbi*yd)|$)S5Xbq=3pzlhYaPe~EE<=g%I&ao@J*l1Qta6-L=W%(nvi8^ID zF+*{srmgn}?AMZ#eaKWq(r&(saJoHro)cAICulZ`!AN?fo^c&vOutDTh;7b>w>y2sOyI6x~MMU_cXRDgx@YH;wXMz+ zw2s@UUhCI87;Qi@`kP`0rxJYM)uzRK7I`(ynLu8X{HADE5Gm*%vfoV#`unCLl6LStWYz7?5u&U41I>yPf~l1IVKs&{gxtH3&dg_98S0Aw zY(hCVgp?>p7@f%0fH0bBDk9Cupu0|h1FG+#Jz+)%kx@~cN) zFfk((AO7Km6H}|rk$#vgm5w|W7Ec@H2D~qIKAjH2xy!lZmsa?a5$)8_=0vQfV z@B+AKt<+A4hiq6<$5qNOZX3)grhcJksY3}ppq9`B6RZ;2`NJna!HQ^VaR}i1wbfX$ z!hfw%{!bWw}~Hjh#$`tKkkAb?ds*B{Z#E);mk2dXecITvM?V7+F@c&acV6(>?@c&ach@K#lfd8Mm z0b2!1!2eI(fHeYdX!-wjST)p}*I@;bH_QLest&&p{C_2W{6_rvt@!bK@#7ET$DhQH zDL2E9Cy5`&iXX>`A5+DT6U2|{;>S$*(XIkrKq`>@3#$S>v4$crVjHam!{EIrO4%br zwBa+MNWA=U+3;ngNaSB^7m2|Txn-0s_eu;zB%|z4nC{pJEx=*nBS+U^;gUTF*;xbL zR%CN>rBm{~5{y87XBTW_i!rmadacv5vs|i{2ZtIflqIv_pTxVDJE3wk`#sJ)Vrsbx zA4(YO!hrp_8qDu%PYo5SHG7bNdRr)H7FJDB+2#3Pq)CJ0}*qoYcz z?Uqce7B68Js&2K|R1iB%a1`^9u-p}vyI{Fnk1co8;n^{iyR;i_1G__jNga3*TU}BI zo^L85`DQ#9t5LVt@LXA0`oqd19I4{!qMqiI6-2ER%x4k)huB4-3x6fT@0akwk_12Y zfKeP1Nt|MSKU*<^`MsthtYhw#n2UgUzYiS%U@nyh24HmynttM$oaYVCei~7Kja?kN zsLw^zMcC$$*0`}XZek7fpikQLm)WWj*k3diVIB7Q5_Sn-rv?x(N(jBoWOms0BLib8 z2>*BN;?ae_9^scG}2YzWP!g?LpAnSmy4gz+-KBfHp zC!@&tyAL%Z*G0}_oZwVNi|qxD#Cg- zSTC!=zzSzG42a~(e>hrEX~w=O!drR_Htm8YID=IN1GsBwB(C<7}%AG>In-N1lb z3{7(r(;^4z&@{Kjv=Cm>4P3(3knq3IR79G;!Ky;CFo6>d0}+W9McJQq-BEwRrr5_2 z=BqG+_ZrPw>UdAiJy?rwWEZe*Em~Me91CH>80$u=NtLYvsU`H1I?~#WwI&>2!PbXx{0mbN);X@<7S!O>wgW+T z9XP=T+xI~gX8RCKtqey@#zpw7nm-zdk6FsZD~5Dgf@3O3=GtvC&qn%mITi{anK3(>z|bRXYZ+aRoSOxomZTom$5IH^PKLC{YkM-%qfh5MzSXm8o98sN1FLe z_S;E8pJ*x~X<$>Oh^`N)PTB!|I}D+~*B_1rl)Q0gH$)JTJ1=Y0HM+KUBB%9iGc~LK z#K~~pM(PRY7g0|aT*`!=?&>(aR5B7@!&ZbK>opZ&9a+bu9!g-Hj&~!vYuM)MqSHv&TU)?wu)_fSyf-i4r6v(3|OSRGSsGc7 z1#Y*5Vm){RyYO`DLAO(YBz5L>Y@JD+`Abs~*6WN$N)M$vXxxvaKgl*(m$ZHgkc8ns zv9%!#|G`v*b%u;o9tumwbI9}u>>|)*%1;53uziTF6=C~bQxVqL=4JO#K<3?q)TZ5L zYu?c*1xUi^IJORi(UVO@SZ9gYP;AkBp{w@D&mO@qRBRj10rLytj2yJ0TGyrcp`&%E!!v#h&UHZ(lx!B z{Xzobm8K%JK^UJw%laf}eltGKwu(a{PR5du_!#?zgv8%U5l7LtA}_m#QpR~V;kWra zY_oOCxl;;|r0D-2TL)6~-!K)CG=i@oy>6e8(#__fFw=bq89wQDTVr2l3XlZp|C;hh z0)qd+RD^Y;+4(&bfZ4Yot~0ISYM%lmp;KUMKpLE5D#AJ)lMEgTI}-s&_DXi4=ys-) zNCA>yznrZe!M?>*gmvsK89o%6Eq_NyRkjJbkTNoVB!z#F{aRA^L#86qg>T^Yn|Kc6 zD91oVqJ<^LMj5;~$&>E1CI#==xnqwSOk$$*?O0*n$S!u>3bRaxJ5DrKQgv4{PLsc$ ztqQ3`uQ3&29p6RUL`VwAUL@j9jCj>?r{ax6JinEWIB3?aic<)6I8@?|f`9(uGPv`L zB=B%8sQDwRbrP#6sjuMRtuY6Gn#BnQe@?_M5Ea-y1IG`z=%RMJ)My>5WBUf>EL}DfR zFLuG{R+6oSQfRrX6~c0HFe$P;j65Oo!n=v(N(TZ(Q=zWy|H;;v)RzA+6=A)$oVW!d zd{*JGDjerfdj#bQvOD1pThpfLz%J2)G}z>XhDI!F>g~&1G zs#6o8T9v_Br<)Pfxol%~8`-JY$WU8(^b53grM9lrmasdAtqWn-V=BTryHgW(;Mx_(sbi5ns?PZ&*OV4Sc7aiIzg1&L=4%++eW-CMR?JyN#9pCy*A`Gbb zR+bwuh8pw%U@Z#EL_VDm>|K6C)fQue1P|4~yB7WwxK%ivv$llEJOQ1=cTNXNW(D&zdy5aa8lg~JD@DG|gbo^sO- z!`JUP5=HQqZw&v|+NuA4-CYZm995alYu=feOhOGf`>F(|7PG-VeCFwa9k~O`8EU<`r&MM-1*tiJ35mxaHD}pTI0TqH>R&<70A_Q7has5xyXmUN}j&a?B$TtXwV zfk>jn8vRQL`g_;EtSaqruMF*|O36K`w8J%lL$x#zIg|x5$}A1^!Iy>BG|(z8uC|Jr zw~F~1Of;cq1{Nj>gzPJ$GWvzkMpnw`0uyS)I7mWQ`woBH5?YS{U;k2V6*cE;(P_ic zp-j>`p|c+YTP#@RZ@s*4(4Q>7Q&edo^rY`pKRO6`i!hE{q?AKVpFP0bR3W13F#>EdOfH3_iRQ*9MBXYHW#vbm6a&1pJV zhNxDjJmny4MY9Ny$YDixm%t$d|aG<50XM!_r5O`(q&@cBPiTSd)%KKp|fKPiQ^%F(O! zC!!9%1nUcNPn1EqxHq&>m2xqsYpZG{XN1uza4y^(`uG7}zEf=#HRq*ct!2d-ZrB>l zVqIZ;waQP+1ivdQe+q3850LV^YOAO@Ddw#qeX1^#G+z-b zV`j2UN>A%mwHk$wy;>wszLjVf;HWvY4groDs;#2t938fLFr9YrbX93+N_sc*0b(ob zKa(mcpxiADZFHrlR##U{w8q@2Kp@VF$jJ^>!zQ*9MB=W*dWd}(|rv5nK_ zcX;M%-&vKr^Fte2DR&2V8H%83CE><%Lu(RXZC$lh)SR_8d}nMpeP171g#bm@R$E2QDVlrc5F$VFB!9-r%I6qTv9ia3C&{A(eJ`|Wl@pZk zbmMKXG2H^^(6>XY5FqFq)mBk+g1Xk`lgZ9>KflP_jc+;O>wZ?e6Q0366W|Ftxr$0C zd4C9PcBSMU-n9vOcbDniU8Z+{$|piA6rl3A)mBk+Dvvl#ztiOfhDsVWKf*i~(ew9@ z6_-*xP7rk0vJ^ z6qfy_jC>%pDU~wP*0sf_OMr;J(1#8X(OYd5H78<$6H9Eyy8=mk;5@a@%h*11DoOd! zW>!kl!md(1-|@1Q4XsFkvUIgo)SR-i^TQXLE&EMr`Ale2Dy4-FFRl!Z&_5mefC2aK zsQ$fy+i)1F@etUuF$FlsJ^4xDr!#kTs~JrCV49a>~@|W zWOR}|O5Ee2O{k;7V?f*&q6!S_)qD7KK(NKwMX~Rn+`MTfm-hHCK_) zuiCHIQKP(A=%;O;IhC}tLz`JCX$z%Sl*^cYpuTj}7^Lj1(24{oJH6T}$|(!;nx)ZV ze6b<@TxAtijBD|yYCoE(pDE3|?YVR;f^Ql}&>JHx<`ge2F1DYTF=a~cT>EzvhuFWT z=&=7l(PlqM(PTeG(Qf~dVwU|UihBELie~#6iaGYP`rC69?e_C3{)b|&{b!14_8y8l z`vr;__KOtt_Dh<2nPQs#ii%e$n(Wso+U(bL=U$3t`+q6w?KgDin-pi+Z&CExZ&NI@ zr_@0lYfq&(*`7vmfjymKjs0&@ZtynLw41QS=65xFSLfX}I>)hM@DIMsD86x<9YzZ= z`ie<<@UY&gR~79qFGGo`y;HXr?VlOgJ9S6Ve$h)zLt@@?&D1*`iIcp<3?%x!L>&@4 zyhJ?`U-l9WNZjuw8g~@)ZhexkI1Z38XfX|1Jh%i0m?m26RX7a_9oi#%rvt7sP;|>` zVg~kKtFR96n+odzA2X1-^KK(nj>sS+v(y}LIu3YxBdVS*2OLt!172gG9A&qcpaF!r1=-O;D9l17-hLyaWsXRufcmMza*Al1D0R0PIuP2hC){R8w16jw#AZ#$5^hA$GAWt-E*lzy5|;!bk98oN*yn2 zg1$QFNU5$-_Mhk_=&K=3umyZdAzQ#53fTf4Rmc`F^(d)@EntyCw%s!fl)5j|gs&m5 zFdl7$>95dBPy^-WEmSDwPVy4eDWwTIWtT$w;p+g1{@NBEIK9^qL7MWc>GB=>Y_QKxEx$Br8)nMSIRY-%MGEj~)@7jnsv2-vj283LA@UG5;UvvFsX@_bStF3=PG1# z+^Ud`?goWubmOEQXKZMJ4KMTe7O`P|mq6NZvO?MrHBfZg?j@+xtzLpUJ*o*>H}!C- zhXyTDNKJbcQqv&=rOHov308TBmtd8D)C3I5yUnpABKBBjEahDyXF~ahcs9(W^5e!G zZ;Wfj@2ma}zqg8Un-tQxPbj2uUsXu0A5=)KUo}wlTewK-(AIUfCTLIEK*@BoCTQH< z2Fm`YyabJ#$quL$9TSaP>Lt)L^KO%OIX>EG-v;f!#EVv&X#W!frP4iKf|VXNQ!>%6 zH3mwigqL8ZPkIR+`QN<+Pl|`V1Uu|Ey#&W9hqY?Oy&S8Y?j&*(;L*A>9J>=60*+aIsOJ(dKk5R}T@T{3kR)OTVg+mOiME#_d%|;}#wu6-pOruksSC zWs{d+i@R16aw3np-y6?#K;1txLx-q4cdkIHdxAo$8&OE5b`s7;q1y#Wp@$T*(CY@$ zu)G=cZ%Pb|5Bl9%m$koFo#s|}>>2GRot(hmmG8wS!R2GTPI(mw{$O9s+c2GU~&(r*URdj`^n z2GWxT(w_#>s|M1y2GYX@($5Cc+Xm9-2Ga8e(*FjM1p~>2fn>x$@?s#_QJ8mI2a@T2 zFeL5HDPB`_JG4Ps@zT9y%WaOQhw#Es9N|e4=}wJ_XvwD2xrj3|)Spfk?K@{onc~*3 z*VL}!kyi@mT+FJ^o#`a{F_|1#)t}yC701)3;swa9NY^Fe2oC_X#4WscoYm2DpWA?y zsZzL6U+j}bsQTRYgmbP{nrGB)ir}4{WISu7iW`e=Yb2UVr&f>e$@jYr`gjYc)Ak+E zvUiGhQKY`j_!UA5WCtZu89LOb8YJ$ZL}ER$iC_KyoV zAHIph**^jDJH-A4cJ;TgCe@W3_ z%63m9t9cN3)czH=8*%j%k?*%3f#*vMt^g5RAw`Fd_rNhztZH zG7yZ&KrkW$!H5h5BQg+-$Urb61Hp(41S2vKjL1MRA_KvQ33dZupllhhzASez=HU%Anq%O_X^^?g7~f=t}BS=M#XUj@moRM zHY#2#h|@;JXQSe>f_SVT4l9Vi3gWJUc&i}JDu}NNgSU-}rwZbzLVoN#nwA+UahH9_ zsISpY#{z?;KYM52bSEd51h)lGH4bpf%q3?pEqY$BPe%K#r1;Wp9I#T_cI{=Teef{1 z)yZHPyWu6tbS#QBQQeLR-nUFSIBQVNIau9#q__+8EJtp)J(7%W8;RhBN6BE}7q?!^ zgIrW?;hp26TX&|M9l7F_MSCU6*~f8nJU1s`v!l4Z*uSIbHlj7CF3^00FXL$ntM;ux zw#8*--I-@g>*<`l_ESr0uXpgYMQjk$YwVn?%9iz#sq>uZfK{AG-!n^U^eI`cvODLT zk=!7jX!9w_p?@>`&~XaH@5cEU&YXe+*sDZEq^PS=7^!tkonwCUT8UdH>-d4+ygOqc znYY*^+`1T6BP4X|(aR4-wb$gCbB*>x5bTE_*bhOlAA(>%1i^j?g8dK#`ymMSLlEqT zAlMH z2ZCJ>1iKyxc0Ca6dLY>KKrj#t!EWao+=1YUar()3eujV7qZg{j0`0sUxhbTrNqj%IUb7g14-fWIV>%?goA>j z+je#w7b~P!YaZ`X=QiS+jAgj-9?jqZZhI^}G?Y#aMYEeDXj~)3QMUu8U`>$-4ul0N zr3)Bb=gy7~MRS9ZXc9vMoV?Nx6x@!|y-p^Iho1}ntZ|rz`@02qj%JOg^Q=6P!ob7A z(c1DEm}o^a+3Lh2$%iE&ZfcKP%?sN4Wo!3v!XehFltI+nN97K zWVvl9)9U2=5%kZ2X!eEndgg7z&IlGF$NMevtfIYvduQRUXxxe5F~-PHB9+fs#oixc zm~&vNAFh=7Lma@0MKUl|hIaGtlQXUM^dR36ScfHqBn5lBp$-MH&*fVRli=l>tN@bZ@LZHJnp)4*C}=9f8_Z+Z(r=z z!}!5;yy(t|=5uK@Hzyy9;RQh}j{2LdY&M;ZB-3bH7goPuX+&ljJ@j=CZmXxWIj6^q zU*I}1fK!Y^8(y_{p2_oCXU zb+ploeVk9P_pRyKWAr-b&UyEpG3&bhs@GDZ7du^_UZ?e>Z#H_Z{-=k2fBTA0?pM8* z8NGNF@ac8-eJ@{b^jg)i>Zc7?-?Lx!T5j~>Wyz;k-zA%)Mz87je|GnV^c7`#VHm}W zn6JQn2&e&=MP*1{D#AN^w8DP?NG7G8pV zg)Tbe#OcdD~wuiw;bN|`!la7BN5DVfaNQ+acN|! zDfH^*C-GOe8G{TPs7O1wq0s8 zT)6Vtub#E*yFp)YTyzSb|zEY}W9aRBTq6m40!+7x>AwOhYa9G##Lhs*v#JO1#ZDYW;7 zy=NRfzr0XwPCHC6`A(L1Rb%|Xr&j-=-`K2boicT?Gk@qSR|GlbAm3l;jfZ!dLXE$8 zVCAiQC$Z&%zb>afDmmrwDHVJ8+t(ST8gd&xx9$5ASi%X4uTcDqmU|2+$cFablWEE!^vMgq*zjlp0+6xHtUiTzOI9s2_Lk zKc$W{r!S|Hex-iC?)}D7Q*OU+!$p7GkMtdHl;XtJr&MBN-*VHY-n{DgPwej9e@Y$W zjjB1ZhEi_b*aYQ_$DjPinJ<)1P}V+i>&NfezH4lPG8iqLn-nk&e^+4kgJ3fQ#c|F) z@uSXgBbjUhQ|sIa4!9WK9rG6a=-HBrFR}BP5lr5e=$xv1OTyav9^1j{eeQv!S?%bS zs1wU3GC7%$59eeugAlV!)q9*R1Me9gLI|Kq(;3`!cAFL384HP4PS|@mzm8+-j~^w? zQ1Y;sKwudYb{yaUL|iz_!#rE2gE`K3!EjtO_k@3S+}6asmXn1g@gxlwmve>%N6f~RMPEO^ktI|f+OuH^R)Mg+2qQ#hFS PV#b~+4t_D;zvTY_Y06PQ diff --git a/doc/LectureNotes/_build/.doctrees/exercisesweek41.doctree b/doc/LectureNotes/_build/.doctrees/exercisesweek41.doctree index e67f3b9e0ac1451891ad8788ba9496642bfd80ea..fd44b902b69ac34d76147f4861c69a5eca92a3db 100644 GIT binary patch literal 252214 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

gVOl+qJCR_iFuC^@bus%^t$(Xqa`%<-|6Rl6q>p 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 diff --git a/doc/LectureNotes/_build/html/_images/exercisesweek41_16_2.png b/doc/LectureNotes/_build/html/_images/exercisesweek41_16_2.png new file mode 100644 index 0000000000000000000000000000000000000000..641eb172937c996d76cc8b7f92819aadc10f6092 GIT binary patch literal 22078 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 mv!!N7vQ^|ST%Q{&q}h|Npp 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 JpPacw{x=h`wub-! literal 0 HcmV?d00001 diff --git a/doc/LectureNotes/_build/html/_images/exercisesweek41_41_2.png b/doc/LectureNotes/_build/html/_images/exercisesweek41_41_2.png new file mode 100644 index 0000000000000000000000000000000000000000..b8bfd4b8c7b91c329e0d8583e18683b248b9307a GIT binary patch literal 31965 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 literal 0 HcmV?d00001 diff --git a/doc/LectureNotes/_build/html/_images/exercisesweek41_5_1.png b/doc/LectureNotes/_build/html/_images/exercisesweek41_5_1.png new file mode 100644 index 0000000000000000000000000000000000000000..43447c4d578ee63172d7135a7ccd91433e389381 GIT binary patch literal 21515 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

}p00RMD&r1-Lwzm7eY|`QZ`UKBUKo-c; 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 literal 0 HcmV?d00001 diff --git a/doc/LectureNotes/_build/html/_sources/exercisesweek41.ipynb b/doc/LectureNotes/_build/html/_sources/exercisesweek41.ipynb index 3f5a72cf6..5030d4af7 100644 --- a/doc/LectureNotes/_build/html/_sources/exercisesweek41.ipynb +++ b/doc/LectureNotes/_build/html/_sources/exercisesweek41.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "42211505", + "id": "59b40432", "metadata": { "editable": true }, @@ -14,7 +14,7 @@ }, { "cell_type": "markdown", - "id": "abcd6d2e", + "id": "0c67e680", "metadata": { "editable": true }, @@ -27,12 +27,12 @@ }, { "cell_type": "markdown", - "id": "a754339c", + "id": "c36ec93d", "metadata": { "editable": true }, "source": [ - "## Overarching aims of the exercises this week\n", + "# Overarching aims of the exercises this week\n", "\n", "The aim of the exercises this week is to get started with implementing\n", "gradient methods of relevance for project 2. This exercise will also\n", @@ -46,7 +46,7 @@ "project 1. **However, we recommend using a simpler function like**\n", "$f(x)=a_0+a_1x+a_2x^2$ or higher-order one-dimensional polynomials.\n", "You can obviously test your final codes against for example the Franke\n", - "function.\n", + "function. Automatic differentiation will be discussed next week.\n", "\n", "You should include in your analysis of the GD and SGD codes the following elements\n", "1. A plain gradient descent with a fixed learning rate (you will need to tune it) using the analytical expression of the gradients\n", @@ -59,7 +59,7 @@ "\n", "5. Add RMSprop and Adam to your library of methods for tuning the learning rate.\n", "\n", - "The lecture notes from \"weeks 39 and 40 contain more information and code examples. Feel free to use these examples.\n", + "The lecture notes from weeks 39 and 40 contain more information and code examples. Feel free to use these examples.\n", "\n", "In summary, you should \n", "perform an analysis of the results for OLS and Ridge regression as\n", @@ -79,6 +79,1063 @@ "\n", "We recommend reading chapter 8 on optimization from the textbook of [Goodfellow, Bengio and Courville](https://www.deeplearningbook.org/). This chapter contains many useful insights and discussions on the optimization part of machine learning." ] + }, + { + "cell_type": "markdown", + "id": "38303814", + "metadata": { + "editable": true + }, + "source": [ + "# Code examples from week 39 and 40" + ] + }, + { + "cell_type": "markdown", + "id": "f68b9c20", + "metadata": { + "editable": true + }, + "source": [ + "## Code with a Number of Minibatches which varies, analytical gradient\n", + "\n", + "In the code here we vary the number of mini-batches." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "4dfe5e82", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "\n", + "# Importing various packages\n", + "from math import exp, sqrt\n", + "from random import random, seed\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "n = 100\n", + "x = 2*np.random.rand(n,1)\n", + "y = 4+3*x+np.random.randn(n,1)\n", + "\n", + "X = np.c_[np.ones((n,1)), x]\n", + "XT_X = X.T @ X\n", + "theta_linreg = np.linalg.inv(X.T @ X) @ (X.T @ y)\n", + "print(\"Own inversion\")\n", + "print(theta_linreg)\n", + "# Hessian matrix\n", + "H = (2.0/n)* XT_X\n", + "EigValues, EigVectors = np.linalg.eig(H)\n", + "print(f\"Eigenvalues of Hessian Matrix:{EigValues}\")\n", + "\n", + "theta = np.random.randn(2,1)\n", + "eta = 1.0/np.max(EigValues)\n", + "Niterations = 1000\n", + "\n", + "\n", + "for iter in range(Niterations):\n", + " gradients = 2.0/n*X.T @ ((X @ theta)-y)\n", + " theta -= eta*gradients\n", + "print(\"theta from own gd\")\n", + "print(theta)\n", + "\n", + "xnew = np.array([[0],[2]])\n", + "Xnew = np.c_[np.ones((2,1)), xnew]\n", + "ypredict = Xnew.dot(theta)\n", + "ypredict2 = Xnew.dot(theta_linreg)\n", + "\n", + "n_epochs = 50\n", + "M = 5 #size of each minibatch\n", + "m = int(n/M) #number of minibatches\n", + "t0, t1 = 5, 50\n", + "\n", + "def learning_schedule(t):\n", + " return t0/(t+t1)\n", + "\n", + "theta = np.random.randn(2,1)\n", + "\n", + "for epoch in range(n_epochs):\n", + "# Can you figure out a better way of setting up the contributions to each batch?\n", + " for i in range(m):\n", + " random_index = M*np.random.randint(m)\n", + " xi = X[random_index:random_index+M]\n", + " yi = y[random_index:random_index+M]\n", + " gradients = (2.0/M)* xi.T @ ((xi @ theta)-yi)\n", + " eta = learning_schedule(epoch*m+i)\n", + " theta = theta - eta*gradients\n", + "print(\"theta from own sdg\")\n", + "print(theta)\n", + "\n", + "plt.plot(xnew, ypredict, \"r-\")\n", + "plt.plot(xnew, ypredict2, \"b-\")\n", + "plt.plot(x, y ,'ro')\n", + "plt.axis([0,2.0,0, 15.0])\n", + "plt.xlabel(r'$x$')\n", + "plt.ylabel(r'$y$')\n", + "plt.title(r'Random numbers ')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "9671e6bc", + "metadata": { + "editable": true + }, + "source": [ + "In the above code, we have use replacement in setting up the\n", + "mini-batches. The discussion\n", + "[here](https://sebastianraschka.com/faq/docs/sgd-methods.html) may be\n", + "useful." + ] + }, + { + "cell_type": "markdown", + "id": "1d74a9cd", + "metadata": { + "editable": true + }, + "source": [ + "## Momentum based GD\n", + "\n", + "The stochastic gradient descent (SGD) is almost always used with a\n", + "*momentum* or inertia term that serves as a memory of the direction we\n", + "are moving in parameter space. This is typically implemented as\n", + "follows" + ] + }, + { + "cell_type": "markdown", + "id": "8abf1570", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\mathbf{v}_{t}=\\gamma \\mathbf{v}_{t-1}+\\eta_{t}\\nabla_\\theta E(\\boldsymbol{\\theta}_t) \\nonumber\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "17a32c59", + "metadata": { + "editable": true + }, + "source": [ + "\n", + "

\n", + "\n", + "$$\n", + "\\begin{equation} \n", + "\\boldsymbol{\\theta}_{t+1}= \\boldsymbol{\\theta}_t -\\mathbf{v}_{t},\n", + "\\label{_auto1} \\tag{1}\n", + "\\end{equation}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "2956cf09", + "metadata": { + "editable": true + }, + "source": [ + "where we have introduced a momentum parameter $\\gamma$, with\n", + "$0\\le\\gamma\\le 1$, and for brevity we dropped the explicit notation to\n", + "indicate the gradient is to be taken over a different mini-batch at\n", + "each step. We call this algorithm gradient descent with momentum\n", + "(GDM). From these equations, it is clear that $\\mathbf{v}_t$ is a\n", + "running average of recently encountered gradients and\n", + "$(1-\\gamma)^{-1}$ sets the characteristic time scale for the memory\n", + "used in the averaging procedure. Consistent with this, when\n", + "$\\gamma=0$, this just reduces down to ordinary SGD as discussed\n", + "earlier. An equivalent way of writing the updates is" + ] + }, + { + "cell_type": "markdown", + "id": "9c55e40e", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\Delta \\boldsymbol{\\theta}_{t+1} = \\gamma \\Delta \\boldsymbol{\\theta}_t -\\ \\eta_{t}\\nabla_\\theta E(\\boldsymbol{\\theta}_t),\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "b60fe832", + "metadata": { + "editable": true + }, + "source": [ + "where we have defined $\\Delta \\boldsymbol{\\theta}_{t}= \\boldsymbol{\\theta}_t-\\boldsymbol{\\theta}_{t-1}$." + ] + }, + { + "cell_type": "markdown", + "id": "51c2673d", + "metadata": { + "editable": true + }, + "source": [ + "## Algorithms and codes for Adagrad, RMSprop and Adam\n", + "\n", + "The algorithms we have implemented are well described in the text by [Goodfellow, Bengio and Courville, chapter 8](https://www.deeplearningbook.org/contents/optimization.html).\n", + "\n", + "The codes which implement these algorithms are discussed after our presentation of automatic differentiation." + ] + }, + { + "cell_type": "markdown", + "id": "1801af52", + "metadata": { + "editable": true + }, + "source": [ + "## Practical tips\n", + "\n", + "* **Randomize the data when making mini-batches**. It is always important to randomly shuffle the data when forming mini-batches. Otherwise, the gradient descent method can fit spurious correlations resulting from the order in which data is presented.\n", + "\n", + "* **Transform your inputs**. Learning becomes difficult when our landscape has a mixture of steep and flat directions. One simple trick for minimizing these situations is to standardize the data by subtracting the mean and normalizing the variance of input variables. Whenever possible, also decorrelate the inputs. To understand why this is helpful, consider the case of linear regression. It is easy to show that for the squared error cost function, the Hessian of the cost function is just the correlation matrix between the inputs. Thus, by standardizing the inputs, we are ensuring that the landscape looks homogeneous in all directions in parameter space. Since most deep networks can be viewed as linear transformations followed by a non-linearity at each layer, we expect this intuition to hold beyond the linear case.\n", + "\n", + "* **Monitor the out-of-sample performance.** Always monitor the performance of your model on a validation set (a small portion of the training data that is held out of the training process to serve as a proxy for the test set. If the validation error starts increasing, then the model is beginning to overfit. Terminate the learning process. This *early stopping* significantly improves performance in many settings.\n", + "\n", + "* **Adaptive optimization methods don't always have good generalization.** Recent studies have shown that adaptive methods such as ADAM, RMSPorp, and AdaGrad tend to have poor generalization compared to SGD or SGD with momentum, particularly in the high-dimensional limit (i.e. the number of parameters exceeds the number of data points). Although it is not clear at this stage why these methods perform so well in training deep neural networks, simpler procedures like properly-tuned SGD may work as well or better in these applications.\n", + "\n", + "Geron's text, see chapter 11, has several interesting discussions." + ] + }, + { + "cell_type": "markdown", + "id": "c0c6253b", + "metadata": { + "editable": true + }, + "source": [ + "## Using Automatic differentation with OLS\n", + "\n", + "We conclude the part on optmization by showing how we can make codes\n", + "for linear regression and logistic regression using **autograd**. The\n", + "first example shows results with ordinary leats squares." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "dcd56458", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "# Using Autograd to calculate gradients for OLS\n", + "from random import random, seed\n", + "import numpy as np\n", + "import autograd.numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from autograd import grad\n", + "\n", + "def CostOLS(beta):\n", + " return (1.0/n)*np.sum((y-X @ beta)**2)\n", + "\n", + "n = 100\n", + "x = 2*np.random.rand(n,1)\n", + "y = 4+3*x+np.random.randn(n,1)\n", + "\n", + "X = np.c_[np.ones((n,1)), x]\n", + "XT_X = X.T @ X\n", + "theta_linreg = np.linalg.pinv(XT_X) @ (X.T @ y)\n", + "print(\"Own inversion\")\n", + "print(theta_linreg)\n", + "# Hessian matrix\n", + "H = (2.0/n)* XT_X\n", + "EigValues, EigVectors = np.linalg.eig(H)\n", + "print(f\"Eigenvalues of Hessian Matrix:{EigValues}\")\n", + "\n", + "theta = np.random.randn(2,1)\n", + "eta = 1.0/np.max(EigValues)\n", + "Niterations = 1000\n", + "# define the gradient\n", + "training_gradient = grad(CostOLS)\n", + "\n", + "for iter in range(Niterations):\n", + " gradients = training_gradient(theta)\n", + " theta -= eta*gradients\n", + "print(\"theta from own gd\")\n", + "print(theta)\n", + "\n", + "xnew = np.array([[0],[2]])\n", + "Xnew = np.c_[np.ones((2,1)), xnew]\n", + "ypredict = Xnew.dot(theta)\n", + "ypredict2 = Xnew.dot(theta_linreg)\n", + "\n", + "plt.plot(xnew, ypredict, \"r-\")\n", + "plt.plot(xnew, ypredict2, \"b-\")\n", + "plt.plot(x, y ,'ro')\n", + "plt.axis([0,2.0,0, 15.0])\n", + "plt.xlabel(r'$x$')\n", + "plt.ylabel(r'$y$')\n", + "plt.title(r'Random numbers ')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "6502c1ea", + "metadata": { + "editable": true + }, + "source": [ + "## Same code but now with momentum gradient descent" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "fa89613b", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "# Using Autograd to calculate gradients for OLS\n", + "from random import random, seed\n", + "import numpy as np\n", + "import autograd.numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from autograd import grad\n", + "\n", + "def CostOLS(beta):\n", + " return (1.0/n)*np.sum((y-X @ beta)**2)\n", + "\n", + "n = 100\n", + "x = 2*np.random.rand(n,1)\n", + "y = 4+3*x#+np.random.randn(n,1)\n", + "\n", + "X = np.c_[np.ones((n,1)), x]\n", + "XT_X = X.T @ X\n", + "theta_linreg = np.linalg.pinv(XT_X) @ (X.T @ y)\n", + "print(\"Own inversion\")\n", + "print(theta_linreg)\n", + "# Hessian matrix\n", + "H = (2.0/n)* XT_X\n", + "EigValues, EigVectors = np.linalg.eig(H)\n", + "print(f\"Eigenvalues of Hessian Matrix:{EigValues}\")\n", + "\n", + "theta = np.random.randn(2,1)\n", + "eta = 1.0/np.max(EigValues)\n", + "Niterations = 30\n", + "\n", + "# define the gradient\n", + "training_gradient = grad(CostOLS)\n", + "\n", + "for iter in range(Niterations):\n", + " gradients = training_gradient(theta)\n", + " theta -= eta*gradients\n", + " print(iter,gradients[0],gradients[1])\n", + "print(\"theta from own gd\")\n", + "print(theta)\n", + "\n", + "# Now improve with momentum gradient descent\n", + "change = 0.0\n", + "delta_momentum = 0.3\n", + "for iter in range(Niterations):\n", + " # calculate gradient\n", + " gradients = training_gradient(theta)\n", + " # calculate update\n", + " new_change = eta*gradients+delta_momentum*change\n", + " # take a step\n", + " theta -= new_change\n", + " # save the change\n", + " change = new_change\n", + " print(iter,gradients[0],gradients[1])\n", + "print(\"theta from own gd wth momentum\")\n", + "print(theta)" + ] + }, + { + "cell_type": "markdown", + "id": "ac5271c6", + "metadata": { + "editable": true + }, + "source": [ + "## But noen of these can compete with Newton's method" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "0def25cd", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "# Using Newton's method\n", + "from random import random, seed\n", + "import numpy as np\n", + "import autograd.numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from autograd import grad\n", + "\n", + "def CostOLS(beta):\n", + " return (1.0/n)*np.sum((y-X @ beta)**2)\n", + "\n", + "n = 100\n", + "x = 2*np.random.rand(n,1)\n", + "y = 4+3*x+np.random.randn(n,1)\n", + "\n", + "X = np.c_[np.ones((n,1)), x]\n", + "XT_X = X.T @ X\n", + "beta_linreg = np.linalg.pinv(XT_X) @ (X.T @ y)\n", + "print(\"Own inversion\")\n", + "print(beta_linreg)\n", + "# Hessian matrix\n", + "H = (2.0/n)* XT_X\n", + "# Note that here the Hessian does not depend on the parameters beta\n", + "invH = np.linalg.pinv(H)\n", + "EigValues, EigVectors = np.linalg.eig(H)\n", + "print(f\"Eigenvalues of Hessian Matrix:{EigValues}\")\n", + "\n", + "beta = np.random.randn(2,1)\n", + "Niterations = 5\n", + "\n", + "# define the gradient\n", + "training_gradient = grad(CostOLS)\n", + "\n", + "for iter in range(Niterations):\n", + " gradients = training_gradient(beta)\n", + " beta -= invH @ gradients\n", + " print(iter,gradients[0],gradients[1])\n", + "print(\"beta from own Newton code\")\n", + "print(beta)" + ] + }, + { + "cell_type": "markdown", + "id": "4a8fec1d", + "metadata": { + "editable": true + }, + "source": [ + "## Including Stochastic Gradient Descent with Autograd\n", + "In this code we include the stochastic gradient descent approach discussed above. Note here that we specify which argument we are taking the derivative with respect to when using **autograd**." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "00658ea8", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "# Using Autograd to calculate gradients using SGD\n", + "# OLS example\n", + "from random import random, seed\n", + "import numpy as np\n", + "import autograd.numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from autograd import grad\n", + "\n", + "# Note change from previous example\n", + "def CostOLS(y,X,theta):\n", + " return np.sum((y-X @ theta)**2)\n", + "\n", + "n = 100\n", + "x = 2*np.random.rand(n,1)\n", + "y = 4+3*x+np.random.randn(n,1)\n", + "\n", + "X = np.c_[np.ones((n,1)), x]\n", + "XT_X = X.T @ X\n", + "theta_linreg = np.linalg.pinv(XT_X) @ (X.T @ y)\n", + "print(\"Own inversion\")\n", + "print(theta_linreg)\n", + "# Hessian matrix\n", + "H = (2.0/n)* XT_X\n", + "EigValues, EigVectors = np.linalg.eig(H)\n", + "print(f\"Eigenvalues of Hessian Matrix:{EigValues}\")\n", + "\n", + "theta = np.random.randn(2,1)\n", + "eta = 1.0/np.max(EigValues)\n", + "Niterations = 1000\n", + "\n", + "# Note that we request the derivative wrt third argument (theta, 2 here)\n", + "training_gradient = grad(CostOLS,2)\n", + "\n", + "for iter in range(Niterations):\n", + " gradients = (1.0/n)*training_gradient(y, X, theta)\n", + " theta -= eta*gradients\n", + "print(\"theta from own gd\")\n", + "print(theta)\n", + "\n", + "xnew = np.array([[0],[2]])\n", + "Xnew = np.c_[np.ones((2,1)), xnew]\n", + "ypredict = Xnew.dot(theta)\n", + "ypredict2 = Xnew.dot(theta_linreg)\n", + "\n", + "plt.plot(xnew, ypredict, \"r-\")\n", + "plt.plot(xnew, ypredict2, \"b-\")\n", + "plt.plot(x, y ,'ro')\n", + "plt.axis([0,2.0,0, 15.0])\n", + "plt.xlabel(r'$x$')\n", + "plt.ylabel(r'$y$')\n", + "plt.title(r'Random numbers ')\n", + "plt.show()\n", + "\n", + "n_epochs = 50\n", + "M = 5 #size of each minibatch\n", + "m = int(n/M) #number of minibatches\n", + "t0, t1 = 5, 50\n", + "def learning_schedule(t):\n", + " return t0/(t+t1)\n", + "\n", + "theta = np.random.randn(2,1)\n", + "\n", + "for epoch in range(n_epochs):\n", + "# Can you figure out a better way of setting up the contributions to each batch?\n", + " for i in range(m):\n", + " random_index = M*np.random.randint(m)\n", + " xi = X[random_index:random_index+M]\n", + " yi = y[random_index:random_index+M]\n", + " gradients = (1.0/M)*training_gradient(yi, xi, theta)\n", + " eta = learning_schedule(epoch*m+i)\n", + " theta = theta - eta*gradients\n", + "print(\"theta from own sdg\")\n", + "print(theta)" + ] + }, + { + "cell_type": "markdown", + "id": "584dbef3", + "metadata": { + "editable": true + }, + "source": [ + "## Same code but now with momentum gradient descent" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "2908775e", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "# Using Autograd to calculate gradients using SGD\n", + "# OLS example\n", + "from random import random, seed\n", + "import numpy as np\n", + "import autograd.numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from autograd import grad\n", + "\n", + "# Note change from previous example\n", + "def CostOLS(y,X,theta):\n", + " return np.sum((y-X @ theta)**2)\n", + "\n", + "n = 100\n", + "x = 2*np.random.rand(n,1)\n", + "y = 4+3*x+np.random.randn(n,1)\n", + "\n", + "X = np.c_[np.ones((n,1)), x]\n", + "XT_X = X.T @ X\n", + "theta_linreg = np.linalg.pinv(XT_X) @ (X.T @ y)\n", + "print(\"Own inversion\")\n", + "print(theta_linreg)\n", + "# Hessian matrix\n", + "H = (2.0/n)* XT_X\n", + "EigValues, EigVectors = np.linalg.eig(H)\n", + "print(f\"Eigenvalues of Hessian Matrix:{EigValues}\")\n", + "\n", + "theta = np.random.randn(2,1)\n", + "eta = 1.0/np.max(EigValues)\n", + "Niterations = 100\n", + "\n", + "# Note that we request the derivative wrt third argument (theta, 2 here)\n", + "training_gradient = grad(CostOLS,2)\n", + "\n", + "for iter in range(Niterations):\n", + " gradients = (1.0/n)*training_gradient(y, X, theta)\n", + " theta -= eta*gradients\n", + "print(\"theta from own gd\")\n", + "print(theta)\n", + "\n", + "\n", + "n_epochs = 50\n", + "M = 5 #size of each minibatch\n", + "m = int(n/M) #number of minibatches\n", + "t0, t1 = 5, 50\n", + "def learning_schedule(t):\n", + " return t0/(t+t1)\n", + "\n", + "theta = np.random.randn(2,1)\n", + "\n", + "change = 0.0\n", + "delta_momentum = 0.3\n", + "\n", + "for epoch in range(n_epochs):\n", + " for i in range(m):\n", + " random_index = M*np.random.randint(m)\n", + " xi = X[random_index:random_index+M]\n", + " yi = y[random_index:random_index+M]\n", + " gradients = (1.0/M)*training_gradient(yi, xi, theta)\n", + " eta = learning_schedule(epoch*m+i)\n", + " # calculate update\n", + " new_change = eta*gradients+delta_momentum*change\n", + " # take a step\n", + " theta -= new_change\n", + " # save the change\n", + " change = new_change\n", + "print(\"theta from own sdg with momentum\")\n", + "print(theta)" + ] + }, + { + "cell_type": "markdown", + "id": "d5b4691f", + "metadata": { + "editable": true + }, + "source": [ + "## AdaGrad algorithm, taken from [Goodfellow et al](https://www.deeplearningbook.org/contents/optimization.html)\n", + "\n", + "\n", + "\n", + "\n", + "

Figure 1:

\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "9e0f6972", + "metadata": { + "editable": true + }, + "source": [ + "## Similar (second order function now) problem but now with AdaGrad" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "5c39eaa6", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "# Using Autograd to calculate gradients using AdaGrad and Stochastic Gradient descent\n", + "# OLS example\n", + "from random import random, seed\n", + "import numpy as np\n", + "import autograd.numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from autograd import grad\n", + "\n", + "# Note change from previous example\n", + "def CostOLS(y,X,theta):\n", + " return np.sum((y-X @ theta)**2)\n", + "\n", + "n = 1000\n", + "x = np.random.rand(n,1)\n", + "y = 2.0+3*x +4*x*x\n", + "\n", + "X = np.c_[np.ones((n,1)), x, x*x]\n", + "XT_X = X.T @ X\n", + "theta_linreg = np.linalg.pinv(XT_X) @ (X.T @ y)\n", + "print(\"Own inversion\")\n", + "print(theta_linreg)\n", + "\n", + "\n", + "# Note that we request the derivative wrt third argument (theta, 2 here)\n", + "training_gradient = grad(CostOLS,2)\n", + "# Define parameters for Stochastic Gradient Descent\n", + "n_epochs = 50\n", + "M = 5 #size of each minibatch\n", + "m = int(n/M) #number of minibatches\n", + "# Guess for unknown parameters theta\n", + "theta = np.random.randn(3,1)\n", + "\n", + "# Value for learning rate\n", + "eta = 0.01\n", + "# Including AdaGrad parameter to avoid possible division by zero\n", + "delta = 1e-8\n", + "for epoch in range(n_epochs):\n", + " Giter = 0.0\n", + " for i in range(m):\n", + " random_index = M*np.random.randint(m)\n", + " xi = X[random_index:random_index+M]\n", + " yi = y[random_index:random_index+M]\n", + " gradients = (1.0/M)*training_gradient(yi, xi, theta)\n", + " Giter += gradients*gradients\n", + " update = gradients*eta/(delta+np.sqrt(Giter))\n", + " theta -= update\n", + "print(\"theta from own AdaGrad\")\n", + "print(theta)" + ] + }, + { + "cell_type": "markdown", + "id": "234e9738", + "metadata": { + "editable": true + }, + "source": [ + "Running this code we note an almost perfect agreement with the results from matrix inversion." + ] + }, + { + "cell_type": "markdown", + "id": "53f908ed", + "metadata": { + "editable": true + }, + "source": [ + "## RMSProp algorithm, taken from [Goodfellow et al](https://www.deeplearningbook.org/contents/optimization.html)\n", + "\n", + "\n", + "\n", + "\n", + "

Figure 1:

\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "ab2867c0", + "metadata": { + "editable": true + }, + "source": [ + "## RMSprop for adaptive learning rate with Stochastic Gradient Descent" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "cb5dcea3", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "# Using Autograd to calculate gradients using RMSprop and Stochastic Gradient descent\n", + "# OLS example\n", + "from random import random, seed\n", + "import numpy as np\n", + "import autograd.numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from autograd import grad\n", + "\n", + "# Note change from previous example\n", + "def CostOLS(y,X,theta):\n", + " return np.sum((y-X @ theta)**2)\n", + "\n", + "n = 1000\n", + "x = np.random.rand(n,1)\n", + "y = 2.0+3*x +4*x*x# +np.random.randn(n,1)\n", + "\n", + "X = np.c_[np.ones((n,1)), x, x*x]\n", + "XT_X = X.T @ X\n", + "theta_linreg = np.linalg.pinv(XT_X) @ (X.T @ y)\n", + "print(\"Own inversion\")\n", + "print(theta_linreg)\n", + "\n", + "\n", + "# Note that we request the derivative wrt third argument (theta, 2 here)\n", + "training_gradient = grad(CostOLS,2)\n", + "# Define parameters for Stochastic Gradient Descent\n", + "n_epochs = 50\n", + "M = 5 #size of each minibatch\n", + "m = int(n/M) #number of minibatches\n", + "# Guess for unknown parameters theta\n", + "theta = np.random.randn(3,1)\n", + "\n", + "# Value for learning rate\n", + "eta = 0.01\n", + "# Value for parameter rho\n", + "rho = 0.99\n", + "# Including AdaGrad parameter to avoid possible division by zero\n", + "delta = 1e-8\n", + "for epoch in range(n_epochs):\n", + " Giter = 0.0\n", + " for i in range(m):\n", + " random_index = M*np.random.randint(m)\n", + " xi = X[random_index:random_index+M]\n", + " yi = y[random_index:random_index+M]\n", + " gradients = (1.0/M)*training_gradient(yi, xi, theta)\n", + "\t# Accumulated gradient\n", + "\t# Scaling with rho the new and the previous results\n", + " Giter = (rho*Giter+(1-rho)*gradients*gradients)\n", + "\t# Taking the diagonal only and inverting\n", + " update = gradients*eta/(delta+np.sqrt(Giter))\n", + "\t# Hadamard product\n", + " theta -= update\n", + "print(\"theta from own RMSprop\")\n", + "print(theta)" + ] + }, + { + "cell_type": "markdown", + "id": "4c415477", + "metadata": { + "editable": true + }, + "source": [ + "## ADAM algorithm, taken from [Goodfellow et al](https://www.deeplearningbook.org/contents/optimization.html)\n", + "\n", + "\n", + "\n", + "\n", + "

Figure 1:

\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "5bf0aa76", + "metadata": { + "editable": true + }, + "source": [ + "## And finally [ADAM](https://arxiv.org/pdf/1412.6980.pdf)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "17bd80f0", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "# Using Autograd to calculate gradients using RMSprop and Stochastic Gradient descent\n", + "# OLS example\n", + "from random import random, seed\n", + "import numpy as np\n", + "import autograd.numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from autograd import grad\n", + "\n", + "# Note change from previous example\n", + "def CostOLS(y,X,theta):\n", + " return np.sum((y-X @ theta)**2)\n", + "\n", + "n = 1000\n", + "x = np.random.rand(n,1)\n", + "y = 2.0+3*x +4*x*x# +np.random.randn(n,1)\n", + "\n", + "X = np.c_[np.ones((n,1)), x, x*x]\n", + "XT_X = X.T @ X\n", + "theta_linreg = np.linalg.pinv(XT_X) @ (X.T @ y)\n", + "print(\"Own inversion\")\n", + "print(theta_linreg)\n", + "\n", + "\n", + "# Note that we request the derivative wrt third argument (theta, 2 here)\n", + "training_gradient = grad(CostOLS,2)\n", + "# Define parameters for Stochastic Gradient Descent\n", + "n_epochs = 50\n", + "M = 5 #size of each minibatch\n", + "m = int(n/M) #number of minibatches\n", + "# Guess for unknown parameters theta\n", + "theta = np.random.randn(3,1)\n", + "\n", + "# Value for learning rate\n", + "eta = 0.01\n", + "# Value for parameters beta1 and beta2, see https://arxiv.org/abs/1412.6980\n", + "beta1 = 0.9\n", + "beta2 = 0.999\n", + "# Including AdaGrad parameter to avoid possible division by zero\n", + "delta = 1e-7\n", + "iter = 0\n", + "for epoch in range(n_epochs):\n", + " first_moment = 0.0\n", + " second_moment = 0.0\n", + " iter += 1\n", + " for i in range(m):\n", + " random_index = M*np.random.randint(m)\n", + " xi = X[random_index:random_index+M]\n", + " yi = y[random_index:random_index+M]\n", + " gradients = (1.0/M)*training_gradient(yi, xi, theta)\n", + " # Computing moments first\n", + " first_moment = beta1*first_moment + (1-beta1)*gradients\n", + " second_moment = beta2*second_moment+(1-beta2)*gradients*gradients\n", + " first_term = first_moment/(1.0-beta1**iter)\n", + " second_term = second_moment/(1.0-beta2**iter)\n", + "\t# Scaling with rho the new and the previous results\n", + " update = eta*first_term/(np.sqrt(second_term)+delta)\n", + " theta -= update\n", + "print(\"theta from own ADAM\")\n", + "print(theta)" + ] + }, + { + "cell_type": "markdown", + "id": "f16e27bd", + "metadata": { + "editable": true + }, + "source": [ + "## Introducing [JAX](https://jax.readthedocs.io/en/latest/)\n", + "\n", + "Presently, instead of using **autograd**, we recommend using [JAX](https://jax.readthedocs.io/en/latest/)\n", + "\n", + "**JAX** is Autograd and [XLA (Accelerated Linear Algebra))](https://www.tensorflow.org/xla),\n", + "brought together for high-performance numerical computing and machine learning research.\n", + "It provides composable transformations of Python+NumPy programs: differentiate, vectorize, parallelize, Just-In-Time compile to GPU/TPU, and more." + ] + }, + { + "cell_type": "markdown", + "id": "279eb2a4", + "metadata": { + "editable": true + }, + "source": [ + "### Getting started with Jax, note the way we import numpy" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "a88c09b3", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "import jax\n", + "import jax.numpy as jnp\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "from jax import grad as jax_grad" + ] + }, + { + "cell_type": "markdown", + "id": "cd958e85", + "metadata": { + "editable": true + }, + "source": [ + "### A warm-up example" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "41d78257", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "def function(x):\n", + " return x**2\n", + "\n", + "def analytical_gradient(x):\n", + " return 2*x\n", + "\n", + "def gradient_descent(starting_point, learning_rate, num_iterations, solver=\"analytical\"):\n", + " x = starting_point\n", + " trajectory_x = [x]\n", + " trajectory_y = [function(x)]\n", + "\n", + " if solver == \"analytical\":\n", + " grad = analytical_gradient \n", + " elif solver == \"jax\":\n", + " grad = jax_grad(function)\n", + " x = jnp.float64(x)\n", + " learning_rate = jnp.float64(learning_rate)\n", + "\n", + " for _ in range(num_iterations):\n", + " \n", + " x = x - learning_rate * grad(x)\n", + " trajectory_x.append(x)\n", + " trajectory_y.append(function(x))\n", + "\n", + " return trajectory_x, trajectory_y\n", + "\n", + "x = np.linspace(-5, 5, 100)\n", + "plt.plot(x, function(x), label=\"f(x)\")\n", + "\n", + "descent_x, descent_y = gradient_descent(5, 0.1, 10, solver=\"analytical\")\n", + "jax_descend_x, jax_descend_y = gradient_descent(5, 0.1, 10, solver=\"jax\")\n", + "\n", + "plt.plot(descent_x, descent_y, label=\"Gradient descent\", marker=\"o\")\n", + "plt.plot(jax_descend_x, jax_descend_y, label=\"JAX\", marker=\"x\")" + ] + }, + { + "cell_type": "markdown", + "id": "4755b5a9", + "metadata": { + "editable": true + }, + "source": [ + "### A more advanced example" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "a74afe50", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "backend = np\n", + "\n", + "def function(x):\n", + " return x*backend.sin(x**2 + 1)\n", + "\n", + "def analytical_gradient(x):\n", + " return backend.sin(x**2 + 1) + 2*x**2*backend.cos(x**2 + 1)\n", + "\n", + "\n", + "x = np.linspace(-5, 5, 100)\n", + "plt.plot(x, function(x), label=\"f(x)\")\n", + "\n", + "descent_x, descent_y = gradient_descent(1, 0.01, 300, solver=\"analytical\")\n", + "\n", + "# Change the backend to JAX\n", + "backend = jnp\n", + "jax_descend_x, jax_descend_y = gradient_descent(1, 0.01, 300, solver=\"jax\")\n", + "\n", + "plt.scatter(descent_x, descent_y, label=\"Gradient descent\", marker=\"v\", s=10, color=\"red\") \n", + "plt.scatter(jax_descend_x, jax_descend_y, label=\"JAX\", marker=\"x\", s=5, color=\"black\")" + ] } ], "metadata": {}, diff --git a/doc/LectureNotes/_build/html/exercisesweek41.html b/doc/LectureNotes/_build/html/exercisesweek41.html index 9a2fb12c5..3f9567d98 100644 --- a/doc/LectureNotes/_build/html/exercisesweek41.html +++ b/doc/LectureNotes/_build/html/exercisesweek41.html @@ -406,11 +406,120 @@ const thebe_selector_output = ".output, .cell_output" @@ -431,11 +540,120 @@ const thebe_selector_output = ".output, .cell_output" @@ -451,8 +669,9 @@ doconce format html exercisesweek41.do.txt -->

Exercises week 41

October 9-13, 2023

Date: Deadline is Sunday October 15 at midnight

-
-

Overarching aims of the exercises this week

+
+
+

Overarching aims of the exercises this week

The aim of the exercises this week is to get started with implementing gradient methods of relevance for project 2. This exercise will also be continued next week with the addition of automatic differentation. @@ -464,7 +683,7 @@ codes. You can use the Franke function or the terrain data from project 1. However, we recommend using a simpler function like \(f(x)=a_0+a_1x+a_2x^2\) or higher-order one-dimensional polynomials. You can obviously test your final codes against for example the Franke -function.

+function. Automatic differentiation will be discussed next week.

You should include in your analysis of the GD and SGD codes the following elements

  1. A plain gradient descent with a fixed learning rate (you will need to tune it) using the analytical expression of the gradients

  2. @@ -473,7 +692,7 @@ function.

  3. Implement the Adagrad method in order to tune the learning rate. Do this with and without momentum for plain gradient descent and SGD.

  4. Add RMSprop and Adam to your library of methods for tuning the learning rate.

-

The lecture notes from “weeks 39 and 40 contain more information and code examples. Feel free to use these examples.

+

The lecture notes from weeks 39 and 40 contain more information and code examples. Feel free to use these examples.

In summary, you should perform an analysis of the results for OLS and Ridge regression as function of the chosen learning rates, the number of mini-batches and @@ -490,6 +709,982 @@ useful when plotting the results as function of the learning rate regression.

We recommend reading chapter 8 on optimization from the textbook of Goodfellow, Bengio and Courville. This chapter contains many useful insights and discussions on the optimization part of machine learning.

+
+

Code examples from week 39 and 40

+
+

Code with a Number of Minibatches which varies, analytical gradient

+

In the code here we vary the number of mini-batches.

+
+
+
%matplotlib inline
+
+# Importing various packages
+from math import exp, sqrt
+from random import random, seed
+import numpy as np
+import matplotlib.pyplot as plt
+
+n = 100
+x = 2*np.random.rand(n,1)
+y = 4+3*x+np.random.randn(n,1)
+
+X = np.c_[np.ones((n,1)), x]
+XT_X = X.T @ X
+theta_linreg = np.linalg.inv(X.T @ X) @ (X.T @ y)
+print("Own inversion")
+print(theta_linreg)
+# Hessian matrix
+H = (2.0/n)* XT_X
+EigValues, EigVectors = np.linalg.eig(H)
+print(f"Eigenvalues of Hessian Matrix:{EigValues}")
+
+theta = np.random.randn(2,1)
+eta = 1.0/np.max(EigValues)
+Niterations = 1000
+
+
+for iter in range(Niterations):
+    gradients = 2.0/n*X.T @ ((X @ theta)-y)
+    theta -= eta*gradients
+print("theta from own gd")
+print(theta)
+
+xnew = np.array([[0],[2]])
+Xnew = np.c_[np.ones((2,1)), xnew]
+ypredict = Xnew.dot(theta)
+ypredict2 = Xnew.dot(theta_linreg)
+
+n_epochs = 50
+M = 5   #size of each minibatch
+m = int(n/M) #number of minibatches
+t0, t1 = 5, 50
+
+def learning_schedule(t):
+    return t0/(t+t1)
+
+theta = np.random.randn(2,1)
+
+for epoch in range(n_epochs):
+# Can you figure out a better way of setting up the contributions to each batch?
+    for i in range(m):
+        random_index = M*np.random.randint(m)
+        xi = X[random_index:random_index+M]
+        yi = y[random_index:random_index+M]
+        gradients = (2.0/M)* xi.T @ ((xi @ theta)-yi)
+        eta = learning_schedule(epoch*m+i)
+        theta = theta - eta*gradients
+print("theta from own sdg")
+print(theta)
+
+plt.plot(xnew, ypredict, "r-")
+plt.plot(xnew, ypredict2, "b-")
+plt.plot(x, y ,'ro')
+plt.axis([0,2.0,0, 15.0])
+plt.xlabel(r'$x$')
+plt.ylabel(r'$y$')
+plt.title(r'Random numbers ')
+plt.show()
+
+
+
+
+
Own inversion
+[[3.97594511]
+ [2.99866581]]
+Eigenvalues of Hessian Matrix:[0.39890447 3.73456649]
+theta from own gd
+[[3.97594511]
+ [2.99866581]]
+theta from own sdg
+[[3.94814932]
+ [2.97879245]]
+
+
+_images/exercisesweek41_5_1.png +
+
+

In the above code, we have use replacement in setting up the +mini-batches. The discussion +here may be +useful.

+
+
+

Momentum based GD

+

The stochastic gradient descent (SGD) is almost always used with a +momentum or inertia term that serves as a memory of the direction we +are moving in parameter space. This is typically implemented as +follows

+
+\[ +\mathbf{v}_{t}=\gamma \mathbf{v}_{t-1}+\eta_{t}\nabla_\theta E(\boldsymbol{\theta}_t) \nonumber +\]
+ +
+
+\[ +\begin{equation} +\boldsymbol{\theta}_{t+1}= \boldsymbol{\theta}_t -\mathbf{v}_{t}, +\label{_auto1} \tag{1} +\end{equation} +\]
+

where we have introduced a momentum parameter \(\gamma\), with +\(0\le\gamma\le 1\), and for brevity we dropped the explicit notation to +indicate the gradient is to be taken over a different mini-batch at +each step. We call this algorithm gradient descent with momentum +(GDM). From these equations, it is clear that \(\mathbf{v}_t\) is a +running average of recently encountered gradients and +\((1-\gamma)^{-1}\) sets the characteristic time scale for the memory +used in the averaging procedure. Consistent with this, when +\(\gamma=0\), this just reduces down to ordinary SGD as discussed +earlier. An equivalent way of writing the updates is

+
+\[ +\Delta \boldsymbol{\theta}_{t+1} = \gamma \Delta \boldsymbol{\theta}_t -\ \eta_{t}\nabla_\theta E(\boldsymbol{\theta}_t), +\]
+

where we have defined \(\Delta \boldsymbol{\theta}_{t}= \boldsymbol{\theta}_t-\boldsymbol{\theta}_{t-1}\).

+
+
+

Algorithms and codes for Adagrad, RMSprop and Adam

+

The algorithms we have implemented are well described in the text by Goodfellow, Bengio and Courville, chapter 8.

+

The codes which implement these algorithms are discussed after our presentation of automatic differentiation.

+
+
+

Practical tips

+
    +
  • Randomize the data when making mini-batches. It is always important to randomly shuffle the data when forming mini-batches. Otherwise, the gradient descent method can fit spurious correlations resulting from the order in which data is presented.

  • +
  • Transform your inputs. Learning becomes difficult when our landscape has a mixture of steep and flat directions. One simple trick for minimizing these situations is to standardize the data by subtracting the mean and normalizing the variance of input variables. Whenever possible, also decorrelate the inputs. To understand why this is helpful, consider the case of linear regression. It is easy to show that for the squared error cost function, the Hessian of the cost function is just the correlation matrix between the inputs. Thus, by standardizing the inputs, we are ensuring that the landscape looks homogeneous in all directions in parameter space. Since most deep networks can be viewed as linear transformations followed by a non-linearity at each layer, we expect this intuition to hold beyond the linear case.

  • +
  • Monitor the out-of-sample performance. Always monitor the performance of your model on a validation set (a small portion of the training data that is held out of the training process to serve as a proxy for the test set. If the validation error starts increasing, then the model is beginning to overfit. Terminate the learning process. This early stopping significantly improves performance in many settings.

  • +
  • Adaptive optimization methods don’t always have good generalization. Recent studies have shown that adaptive methods such as ADAM, RMSPorp, and AdaGrad tend to have poor generalization compared to SGD or SGD with momentum, particularly in the high-dimensional limit (i.e. the number of parameters exceeds the number of data points). Although it is not clear at this stage why these methods perform so well in training deep neural networks, simpler procedures like properly-tuned SGD may work as well or better in these applications.

  • +
+

Geron’s text, see chapter 11, has several interesting discussions.

+
+
+

Using Automatic differentation with OLS

+

We conclude the part on optmization by showing how we can make codes +for linear regression and logistic regression using autograd. The +first example shows results with ordinary leats squares.

+
+
+
# Using Autograd to calculate gradients for OLS
+from random import random, seed
+import numpy as np
+import autograd.numpy as np
+import matplotlib.pyplot as plt
+from autograd import grad
+
+def CostOLS(beta):
+    return (1.0/n)*np.sum((y-X @ beta)**2)
+
+n = 100
+x = 2*np.random.rand(n,1)
+y = 4+3*x+np.random.randn(n,1)
+
+X = np.c_[np.ones((n,1)), x]
+XT_X = X.T @ X
+theta_linreg = np.linalg.pinv(XT_X) @ (X.T @ y)
+print("Own inversion")
+print(theta_linreg)
+# Hessian matrix
+H = (2.0/n)* XT_X
+EigValues, EigVectors = np.linalg.eig(H)
+print(f"Eigenvalues of Hessian Matrix:{EigValues}")
+
+theta = np.random.randn(2,1)
+eta = 1.0/np.max(EigValues)
+Niterations = 1000
+# define the gradient
+training_gradient = grad(CostOLS)
+
+for iter in range(Niterations):
+    gradients = training_gradient(theta)
+    theta -= eta*gradients
+print("theta from own gd")
+print(theta)
+
+xnew = np.array([[0],[2]])
+Xnew = np.c_[np.ones((2,1)), xnew]
+ypredict = Xnew.dot(theta)
+ypredict2 = Xnew.dot(theta_linreg)
+
+plt.plot(xnew, ypredict, "r-")
+plt.plot(xnew, ypredict2, "b-")
+plt.plot(x, y ,'ro')
+plt.axis([0,2.0,0, 15.0])
+plt.xlabel(r'$x$')
+plt.ylabel(r'$y$')
+plt.title(r'Random numbers ')
+plt.show()
+
+
+
+
+
Own inversion
+[[4.09527217]
+ [3.02622906]]
+Eigenvalues of Hessian Matrix:[0.34998197 4.32265589]
+
+
+
theta from own gd
+[[4.09527217]
+ [3.02622906]]
+
+
+_images/exercisesweek41_16_2.png +
+
+
+
+

Same code but now with momentum gradient descent

+
+
+
# Using Autograd to calculate gradients for OLS
+from random import random, seed
+import numpy as np
+import autograd.numpy as np
+import matplotlib.pyplot as plt
+from autograd import grad
+
+def CostOLS(beta):
+    return (1.0/n)*np.sum((y-X @ beta)**2)
+
+n = 100
+x = 2*np.random.rand(n,1)
+y = 4+3*x#+np.random.randn(n,1)
+
+X = np.c_[np.ones((n,1)), x]
+XT_X = X.T @ X
+theta_linreg = np.linalg.pinv(XT_X) @ (X.T @ y)
+print("Own inversion")
+print(theta_linreg)
+# Hessian matrix
+H = (2.0/n)* XT_X
+EigValues, EigVectors = np.linalg.eig(H)
+print(f"Eigenvalues of Hessian Matrix:{EigValues}")
+
+theta = np.random.randn(2,1)
+eta = 1.0/np.max(EigValues)
+Niterations = 30
+
+# define the gradient
+training_gradient = grad(CostOLS)
+
+for iter in range(Niterations):
+    gradients = training_gradient(theta)
+    theta -= eta*gradients
+    print(iter,gradients[0],gradients[1])
+print("theta from own gd")
+print(theta)
+
+# Now improve with momentum gradient descent
+change = 0.0
+delta_momentum = 0.3
+for iter in range(Niterations):
+    # calculate gradient
+    gradients = training_gradient(theta)
+    # calculate update
+    new_change = eta*gradients+delta_momentum*change
+    # take a step
+    theta -= new_change
+    # save the change
+    change = new_change
+    print(iter,gradients[0],gradients[1])
+print("theta from own gd wth momentum")
+print(theta)
+
+
+
+
+
Own inversion
+[[4.]
+ [3.]]
+Eigenvalues of Hessian Matrix:[0.28837459 4.42584543]
+0 [-15.52856208] [-17.65196615]
+1 [-0.3842967] [0.3228044]
+2 [-0.3592571] [0.30177145]
+3 [-0.335849] [0.28210895]
+4 [-0.3139661] [0.26372759]
+5 [-0.29350903] [0.2465439]
+6 [-0.27438488] [0.23047985]
+7 [-0.25650679] [0.21546249]
+8 [-0.23979359] [0.20142361]
+9 [-0.22416937] [0.18829946]
+10 [-0.20956318] [0.17603044]
+11 [-0.19590868] [0.16456084]
+12 [-0.18314387] [0.15383855]
+13 [-0.17121077] [0.1438149]
+14 [-0.1600552] [0.13444436]
+15 [-0.14962649] [0.12568438]
+16 [-0.13987729] [0.11749517]
+17 [-0.13076331] [0.10983954]
+18 [-0.12224317] [0.10268273]
+19 [-0.11427818] [0.09599224]
+20 [-0.10683216] [0.08973767]
+21 [-0.0998713] [0.08389064]
+22 [-0.09336399] [0.07842458]
+23 [-0.08728068] [0.07331468]
+24 [-0.08159374] [0.06853772]
+25 [-0.07627734] [0.06407201]
+26 [-0.07130734] [0.05989727]
+27 [-0.06666117] [0.05599455]
+28 [-0.06231773] [0.05234611]
+29 [-0.0582573] [0.0489354]
+theta from own gd
+[[3.81114345]
+ [3.15863713]]
+0 [-0.05446143] [0.04574692]
+1 [-0.05091289] [0.04276619]
+2 [-0.046531] [0.03908546]
+3 [-0.04218461] [0.03543455]
+4 [-0.03813208] [0.03203047]
+5 [-0.03443175] [0.02892224]
+6 [-0.03107818] [0.02610528]
+7 [-0.02804715] [0.02355925]
+8 [-0.02531037] [0.0212604]
+9 [-0.02284019] [0.01918548]
+10 [-0.02061094] [0.01731293]
+11 [-0.01859922] [0.01562311]
+12 [-0.01678384] [0.01409821]
+13 [-0.01514564] [0.01272215]
+14 [-0.01366733] [0.01148039]
+15 [-0.01233332] [0.01035984]
+16 [-0.01112952] [0.00934865]
+17 [-0.01004321] [0.00843617]
+18 [-0.00906293] [0.00761275]
+19 [-0.00817834] [0.0068697]
+20 [-0.00738008] [0.00619918]
+21 [-0.00665974] [0.0055941]
+22 [-0.00600971] [0.00504808]
+23 [-0.00542313] [0.00455536]
+24 [-0.0048938] [0.00411073]
+25 [-0.00441613] [0.0037095]
+26 [-0.00398509] [0.00334743]
+27 [-0.00359612] [0.0030207]
+28 [-0.00324512] [0.00272586]
+29 [-0.00292838] [0.0024598]
+theta from own gd wth momentum
+[[3.99083639]
+ [3.00769731]]
+
+
+
+
+
+
+

But noen of these can compete with Newton’s method

+
+
+
# Using Newton's method
+from random import random, seed
+import numpy as np
+import autograd.numpy as np
+import matplotlib.pyplot as plt
+from autograd import grad
+
+def CostOLS(beta):
+    return (1.0/n)*np.sum((y-X @ beta)**2)
+
+n = 100
+x = 2*np.random.rand(n,1)
+y = 4+3*x+np.random.randn(n,1)
+
+X = np.c_[np.ones((n,1)), x]
+XT_X = X.T @ X
+beta_linreg = np.linalg.pinv(XT_X) @ (X.T @ y)
+print("Own inversion")
+print(beta_linreg)
+# Hessian matrix
+H = (2.0/n)* XT_X
+# Note that here the Hessian does not depend on the parameters beta
+invH = np.linalg.pinv(H)
+EigValues, EigVectors = np.linalg.eig(H)
+print(f"Eigenvalues of Hessian Matrix:{EigValues}")
+
+beta = np.random.randn(2,1)
+Niterations = 5
+
+# define the gradient
+training_gradient = grad(CostOLS)
+
+for iter in range(Niterations):
+    gradients = training_gradient(beta)
+    beta -= invH @ gradients
+    print(iter,gradients[0],gradients[1])
+print("beta from own Newton code")
+print(beta)
+
+
+
+
+
Own inversion
+[[3.83190841]
+ [2.9998542 ]]
+Eigenvalues of Hessian Matrix:[0.27971414 4.455592  ]
+0 [-12.5786304] [-15.41021561]
+1 [-2.79550688e-15] [-2.24968001e-16]
+2 [-2.2941718e-16] [-4.20820528e-16]
+3 [4.95697233e-16] [5.72742343e-16]
+4 [4.95697233e-16] [5.72742343e-16]
+beta from own Newton code
+[[3.83190841]
+ [2.9998542 ]]
+
+
+
+
+
+
+

Including Stochastic Gradient Descent with Autograd

+

In this code we include the stochastic gradient descent approach discussed above. Note here that we specify which argument we are taking the derivative with respect to when using autograd.

+
+
+
# Using Autograd to calculate gradients using SGD
+# OLS example
+from random import random, seed
+import numpy as np
+import autograd.numpy as np
+import matplotlib.pyplot as plt
+from autograd import grad
+
+# Note change from previous example
+def CostOLS(y,X,theta):
+    return np.sum((y-X @ theta)**2)
+
+n = 100
+x = 2*np.random.rand(n,1)
+y = 4+3*x+np.random.randn(n,1)
+
+X = np.c_[np.ones((n,1)), x]
+XT_X = X.T @ X
+theta_linreg = np.linalg.pinv(XT_X) @ (X.T @ y)
+print("Own inversion")
+print(theta_linreg)
+# Hessian matrix
+H = (2.0/n)* XT_X
+EigValues, EigVectors = np.linalg.eig(H)
+print(f"Eigenvalues of Hessian Matrix:{EigValues}")
+
+theta = np.random.randn(2,1)
+eta = 1.0/np.max(EigValues)
+Niterations = 1000
+
+# Note that we request the derivative wrt third argument (theta, 2 here)
+training_gradient = grad(CostOLS,2)
+
+for iter in range(Niterations):
+    gradients = (1.0/n)*training_gradient(y, X, theta)
+    theta -= eta*gradients
+print("theta from own gd")
+print(theta)
+
+xnew = np.array([[0],[2]])
+Xnew = np.c_[np.ones((2,1)), xnew]
+ypredict = Xnew.dot(theta)
+ypredict2 = Xnew.dot(theta_linreg)
+
+plt.plot(xnew, ypredict, "r-")
+plt.plot(xnew, ypredict2, "b-")
+plt.plot(x, y ,'ro')
+plt.axis([0,2.0,0, 15.0])
+plt.xlabel(r'$x$')
+plt.ylabel(r'$y$')
+plt.title(r'Random numbers ')
+plt.show()
+
+n_epochs = 50
+M = 5   #size of each minibatch
+m = int(n/M) #number of minibatches
+t0, t1 = 5, 50
+def learning_schedule(t):
+    return t0/(t+t1)
+
+theta = np.random.randn(2,1)
+
+for epoch in range(n_epochs):
+# Can you figure out a better way of setting up the contributions to each batch?
+    for i in range(m):
+        random_index = M*np.random.randint(m)
+        xi = X[random_index:random_index+M]
+        yi = y[random_index:random_index+M]
+        gradients = (1.0/M)*training_gradient(yi, xi, theta)
+        eta = learning_schedule(epoch*m+i)
+        theta = theta - eta*gradients
+print("theta from own sdg")
+print(theta)
+
+
+
+
+
Own inversion
+[[3.93988393]
+ [3.06578047]]
+Eigenvalues of Hessian Matrix:[0.34100913 4.27547557]
+theta from own gd
+[[3.93988393]
+ [3.06578047]]
+
+
+_images/exercisesweek41_22_1.png +
theta from own sdg
+[[3.92648983]
+ [3.07020234]]
+
+
+
+
+
+
+

Same code but now with momentum gradient descent

+
+
+
# Using Autograd to calculate gradients using SGD
+# OLS example
+from random import random, seed
+import numpy as np
+import autograd.numpy as np
+import matplotlib.pyplot as plt
+from autograd import grad
+
+# Note change from previous example
+def CostOLS(y,X,theta):
+    return np.sum((y-X @ theta)**2)
+
+n = 100
+x = 2*np.random.rand(n,1)
+y = 4+3*x+np.random.randn(n,1)
+
+X = np.c_[np.ones((n,1)), x]
+XT_X = X.T @ X
+theta_linreg = np.linalg.pinv(XT_X) @ (X.T @ y)
+print("Own inversion")
+print(theta_linreg)
+# Hessian matrix
+H = (2.0/n)* XT_X
+EigValues, EigVectors = np.linalg.eig(H)
+print(f"Eigenvalues of Hessian Matrix:{EigValues}")
+
+theta = np.random.randn(2,1)
+eta = 1.0/np.max(EigValues)
+Niterations = 100
+
+# Note that we request the derivative wrt third argument (theta, 2 here)
+training_gradient = grad(CostOLS,2)
+
+for iter in range(Niterations):
+    gradients = (1.0/n)*training_gradient(y, X, theta)
+    theta -= eta*gradients
+print("theta from own gd")
+print(theta)
+
+
+n_epochs = 50
+M = 5   #size of each minibatch
+m = int(n/M) #number of minibatches
+t0, t1 = 5, 50
+def learning_schedule(t):
+    return t0/(t+t1)
+
+theta = np.random.randn(2,1)
+
+change = 0.0
+delta_momentum = 0.3
+
+for epoch in range(n_epochs):
+    for i in range(m):
+        random_index = M*np.random.randint(m)
+        xi = X[random_index:random_index+M]
+        yi = y[random_index:random_index+M]
+        gradients = (1.0/M)*training_gradient(yi, xi, theta)
+        eta = learning_schedule(epoch*m+i)
+        # calculate update
+        new_change = eta*gradients+delta_momentum*change
+        # take a step
+        theta -= new_change
+        # save the change
+        change = new_change
+print("theta from own sdg with momentum")
+print(theta)
+
+
+
+
+
Own inversion
+[[4.12998822]
+ [2.78886274]]
+Eigenvalues of Hessian Matrix:[0.3303366  4.33020191]
+theta from own gd
+[[4.12921833]
+ [2.78951443]]
+theta from own sdg with momentum
+[[4.10156593]
+ [2.7748567 ]]
+
+
+
+
+
+
+

AdaGrad algorithm, taken from Goodfellow et al

+ + +

Figure 1:

+
+
+

Similar (second order function now) problem but now with AdaGrad

+
+
+
# Using Autograd to calculate gradients using AdaGrad and Stochastic Gradient descent
+# OLS example
+from random import random, seed
+import numpy as np
+import autograd.numpy as np
+import matplotlib.pyplot as plt
+from autograd import grad
+
+# Note change from previous example
+def CostOLS(y,X,theta):
+    return np.sum((y-X @ theta)**2)
+
+n = 1000
+x = np.random.rand(n,1)
+y = 2.0+3*x +4*x*x
+
+X = np.c_[np.ones((n,1)), x, x*x]
+XT_X = X.T @ X
+theta_linreg = np.linalg.pinv(XT_X) @ (X.T @ y)
+print("Own inversion")
+print(theta_linreg)
+
+
+# Note that we request the derivative wrt third argument (theta, 2 here)
+training_gradient = grad(CostOLS,2)
+# Define parameters for Stochastic Gradient Descent
+n_epochs = 50
+M = 5   #size of each minibatch
+m = int(n/M) #number of minibatches
+# Guess for unknown parameters theta
+theta = np.random.randn(3,1)
+
+# Value for learning rate
+eta = 0.01
+# Including AdaGrad parameter to avoid possible division by zero
+delta  = 1e-8
+for epoch in range(n_epochs):
+    Giter = 0.0
+    for i in range(m):
+        random_index = M*np.random.randint(m)
+        xi = X[random_index:random_index+M]
+        yi = y[random_index:random_index+M]
+        gradients = (1.0/M)*training_gradient(yi, xi, theta)
+        Giter += gradients*gradients
+        update = gradients*eta/(delta+np.sqrt(Giter))
+        theta -= update
+print("theta from own AdaGrad")
+print(theta)
+
+
+
+
+
Own inversion
+[[2.]
+ [3.]
+ [4.]]
+
+
+
theta from own AdaGrad
+[[1.9978254 ]
+ [3.01066976]
+ [3.98914003]]
+
+
+
+
+

Running this code we note an almost perfect agreement with the results from matrix inversion.

+
+
+

RMSProp algorithm, taken from Goodfellow et al

+ + +

Figure 1:

+
+
+

RMSprop for adaptive learning rate with Stochastic Gradient Descent

+
+
+
# Using Autograd to calculate gradients using RMSprop  and Stochastic Gradient descent
+# OLS example
+from random import random, seed
+import numpy as np
+import autograd.numpy as np
+import matplotlib.pyplot as plt
+from autograd import grad
+
+# Note change from previous example
+def CostOLS(y,X,theta):
+    return np.sum((y-X @ theta)**2)
+
+n = 1000
+x = np.random.rand(n,1)
+y = 2.0+3*x +4*x*x# +np.random.randn(n,1)
+
+X = np.c_[np.ones((n,1)), x, x*x]
+XT_X = X.T @ X
+theta_linreg = np.linalg.pinv(XT_X) @ (X.T @ y)
+print("Own inversion")
+print(theta_linreg)
+
+
+# Note that we request the derivative wrt third argument (theta, 2 here)
+training_gradient = grad(CostOLS,2)
+# Define parameters for Stochastic Gradient Descent
+n_epochs = 50
+M = 5   #size of each minibatch
+m = int(n/M) #number of minibatches
+# Guess for unknown parameters theta
+theta = np.random.randn(3,1)
+
+# Value for learning rate
+eta = 0.01
+# Value for parameter rho
+rho = 0.99
+# Including AdaGrad parameter to avoid possible division by zero
+delta  = 1e-8
+for epoch in range(n_epochs):
+    Giter = 0.0
+    for i in range(m):
+        random_index = M*np.random.randint(m)
+        xi = X[random_index:random_index+M]
+        yi = y[random_index:random_index+M]
+        gradients = (1.0/M)*training_gradient(yi, xi, theta)
+	# Accumulated gradient
+	# Scaling with rho the new and the previous results
+        Giter = (rho*Giter+(1-rho)*gradients*gradients)
+	# Taking the diagonal only and inverting
+        update = gradients*eta/(delta+np.sqrt(Giter))
+	# Hadamard product
+        theta -= update
+print("theta from own RMSprop")
+print(theta)
+
+
+
+
+
Own inversion
+[[2.]
+ [3.]
+ [4.]]
+
+
+
theta from own RMSprop
+[[1.99984215]
+ [2.99767262]
+ [3.99944037]]
+
+
+
+
+
+
+

ADAM algorithm, taken from Goodfellow et al

+ + +

Figure 1:

+
+
+

And finally ADAM

+
+
+
# Using Autograd to calculate gradients using RMSprop  and Stochastic Gradient descent
+# OLS example
+from random import random, seed
+import numpy as np
+import autograd.numpy as np
+import matplotlib.pyplot as plt
+from autograd import grad
+
+# Note change from previous example
+def CostOLS(y,X,theta):
+    return np.sum((y-X @ theta)**2)
+
+n = 1000
+x = np.random.rand(n,1)
+y = 2.0+3*x +4*x*x# +np.random.randn(n,1)
+
+X = np.c_[np.ones((n,1)), x, x*x]
+XT_X = X.T @ X
+theta_linreg = np.linalg.pinv(XT_X) @ (X.T @ y)
+print("Own inversion")
+print(theta_linreg)
+
+
+# Note that we request the derivative wrt third argument (theta, 2 here)
+training_gradient = grad(CostOLS,2)
+# Define parameters for Stochastic Gradient Descent
+n_epochs = 50
+M = 5   #size of each minibatch
+m = int(n/M) #number of minibatches
+# Guess for unknown parameters theta
+theta = np.random.randn(3,1)
+
+# Value for learning rate
+eta = 0.01
+# Value for parameters beta1 and beta2, see https://arxiv.org/abs/1412.6980
+beta1 = 0.9
+beta2 = 0.999
+# Including AdaGrad parameter to avoid possible division by zero
+delta  = 1e-7
+iter = 0
+for epoch in range(n_epochs):
+    first_moment = 0.0
+    second_moment = 0.0
+    iter += 1
+    for i in range(m):
+        random_index = M*np.random.randint(m)
+        xi = X[random_index:random_index+M]
+        yi = y[random_index:random_index+M]
+        gradients = (1.0/M)*training_gradient(yi, xi, theta)
+        # Computing moments first
+        first_moment = beta1*first_moment + (1-beta1)*gradients
+        second_moment = beta2*second_moment+(1-beta2)*gradients*gradients
+        first_term = first_moment/(1.0-beta1**iter)
+        second_term = second_moment/(1.0-beta2**iter)
+	# Scaling with rho the new and the previous results
+        update = eta*first_term/(np.sqrt(second_term)+delta)
+        theta -= update
+print("theta from own ADAM")
+print(theta)
+
+
+
+
+
Own inversion
+[[2.]
+ [3.]
+ [4.]]
+
+
+
theta from own ADAM
+[[1.99988325]
+ [3.00072412]
+ [3.99932732]]
+
+
+
+
+
+
+

Introducing JAX

+

Presently, instead of using autograd, we recommend using JAX

+

JAX is Autograd and XLA (Accelerated Linear Algebra)), +brought together for high-performance numerical computing and machine learning research. +It provides composable transformations of Python+NumPy programs: differentiate, vectorize, parallelize, Just-In-Time compile to GPU/TPU, and more.

+
+

Getting started with Jax, note the way we import numpy

+
+
+
import jax
+import jax.numpy as jnp
+import numpy as np
+import matplotlib.pyplot as plt
+
+from jax import grad as jax_grad
+
+
+
+
+
+
+

A warm-up example

+
+
+
def function(x):
+    return x**2
+
+def analytical_gradient(x):
+    return 2*x
+
+def gradient_descent(starting_point, learning_rate, num_iterations, solver="analytical"):
+    x = starting_point
+    trajectory_x = [x]
+    trajectory_y = [function(x)]
+
+    if solver == "analytical":
+        grad = analytical_gradient    
+    elif solver == "jax":
+        grad = jax_grad(function)
+        x = jnp.float64(x)
+        learning_rate = jnp.float64(learning_rate)
+
+    for _ in range(num_iterations):
+        
+        x = x - learning_rate * grad(x)
+        trajectory_x.append(x)
+        trajectory_y.append(function(x))
+
+    return trajectory_x, trajectory_y
+
+x = np.linspace(-5, 5, 100)
+plt.plot(x, function(x), label="f(x)")
+
+descent_x, descent_y = gradient_descent(5, 0.1, 10, solver="analytical")
+jax_descend_x, jax_descend_y = gradient_descent(5, 0.1, 10, solver="jax")
+
+plt.plot(descent_x, descent_y, label="Gradient descent", marker="o")
+plt.plot(jax_descend_x, jax_descend_y, label="JAX", marker="x")
+
+
+
+
+
/Users/mhjensen/miniforge3/envs/myenv/lib/python3.9/site-packages/jax/_src/numpy/lax_numpy.py:173: UserWarning: Explicitly requested dtype float64 requested in asarray is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/google/jax#current-gotchas for more.
+  return asarray(x, dtype=self.dtype)
+
+
+
[<matplotlib.lines.Line2D at 0x11df37280>]
+
+
+_images/exercisesweek41_39_2.png +
+
+
+
+

A more advanced example

+
+
+
backend = np
+
+def function(x):
+    return x*backend.sin(x**2 + 1)
+
+def analytical_gradient(x):
+    return backend.sin(x**2 + 1) + 2*x**2*backend.cos(x**2 + 1)
+
+
+x = np.linspace(-5, 5, 100)
+plt.plot(x, function(x), label="f(x)")
+
+descent_x, descent_y = gradient_descent(1, 0.01, 300, solver="analytical")
+
+# Change the backend to JAX
+backend = jnp
+jax_descend_x, jax_descend_y = gradient_descent(1, 0.01, 300, solver="jax")
+
+plt.scatter(descent_x, descent_y, label="Gradient descent", marker="v", s=10, color="red") 
+plt.scatter(jax_descend_x, jax_descend_y, label="JAX", marker="x", s=5, color="black")
+
+
+
+
+
/Users/mhjensen/miniforge3/envs/myenv/lib/python3.9/site-packages/jax/_src/numpy/lax_numpy.py:173: UserWarning: Explicitly requested dtype float64 requested in asarray is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/google/jax#current-gotchas for more.
+  return asarray(x, dtype=self.dtype)
+
+
+
<matplotlib.collections.PathCollection at 0x11de12520>
+
+
+_images/exercisesweek41_41_2.png +
+
+
+