From 55beb4d9b856f566ab49d8bb373a3967cc480b94 Mon Sep 17 00:00:00 2001
From: Morten Hjorth-Jensen
Date: Mon, 1 Sep 2025 14:00:15 +0200
Subject: [PATCH] small typos
---
.../_build/.doctrees/environment.pickle | Bin 265762 -> 265762 bytes
.../_build/.doctrees/exercisesweek37.doctree | Bin 36181 -> 36392 bytes
.../html/_sources/exercisesweek37.ipynb | 56 ++++++++--------
.../_build/html/exercisesweek37.html | 10 +--
.../jupyter_execute/exercisesweek37.ipynb | 56 ++++++++--------
doc/LectureNotes/exercisesweek37.ipynb | 56 ++++++++--------
doc/pub/week36/ipynb/week36.ipynb | 60 +++++++++++++++---
doc/src/week37/exercisesweek37.do.txt | 6 +-
8 files changed, 143 insertions(+), 101 deletions(-)
diff --git a/doc/LectureNotes/_build/.doctrees/environment.pickle b/doc/LectureNotes/_build/.doctrees/environment.pickle
index ad5f50be0512fdb73d8f568fd6ab9b496ca9e50b..9dca30190141b950ca445a322b7874c78b779f68 100644
GIT binary patch
delta 9092
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
Ugdgy73@=CUa#($8wIurfAL=}Ng8%>k
diff --git a/doc/LectureNotes/_build/.doctrees/exercisesweek37.doctree b/doc/LectureNotes/_build/.doctrees/exercisesweek37.doctree
index 287986c75c22e40369b5030088dab45bab19fd2e..7553c68abd63b8800db36d168506decb76688612 100644
GIT binary patch
delta 1814
zcmZXUZA_C_6vw%jrxbZ8w9rAzOL+~p2t$~FlNJjo4#s=BxB#scC_Ho&1T8C5X3?$ZX6$EY5vcvM`Clj9W58)FmccV%Qsw%q(vA-a=Q{mvhhg-*bQW
z+}C^O@#PPUM0`P8&Tk)(*|)Vg$r)Ph{swnCSsASc2rNX=eB;Za2RG8CR{lnJvX
zci~~h7N19d0mEZM3VgG>8mWn_hBQMGOev!w#}EN(H;=S1SE7ZRyLqA{@{-prrqm$@
z1cgzFD>)c(Y=;ShN*4KIs!6b=4%iMmdyZ_za9n5K0HhkW!bD*SwgyH)dRaCFC*sxv
z>t#}R)H~uG_G*PV`#>O<6lm1{zrYxXDo>^ihV}%~;c}9U$Z{|@ro&u$4W8kkEG7rO
zOyFd{SK$yrE9eOSA_t2JvCviVE56QwvB89I_z@5G@KpIQNkyCb#_f?SL8G92?=6%LJo#@fY_xYzOSnop7h9}K1Ks7A(|*!p^aGNN`Om(
z54{I&M?Q>o^F%w_ZNd&eFv-qTGWZo?#QnEIUHipGsC3dn&fRZv2OTxBl*nCOgH>vFgw@
z4ojt=XfA_NrxbJ2wZq(nk>8zly6Cp*2Hgm2rEprQq0Ox~3u!}NOD=h^T306CDP^C^
z+b*8=jJu3$>EthxyOn2#UfK|YFjT)$crv7;0)1TrCxWXty>%N4w8Rv!DAJ;;Ph1J^
zrQg8lQ5$wi*%eV8V{0R-Pk$^P;dhvw
z%=gs9(ojxKMi?=v)U43(H);}TsG{a;iusBdr)Nv=L5J`Dl`d!->A$dF_pRz^9
z6&X`xJdv?P#t|7qbP8%ZY99K>3oBSLQ=tUSin&NDV#O>`j}@Z{6th4*R?I5(Xfbwj
P5q}K1}q+yd`nE-{IBrNiqb
zv2e5S6LDO7fd)O>Y;00DZ*gh6y}>(aI9&2V5QmW?z?bgN=d;vJf>}LaK4CjP7~0i4
zp!Vkdk7vp~;dZ!Fg=kALEEFGw17(R2Um6Ez%hWP#4d%)+NgcW`8VMr;t0$rGdlMaTUQzoW7Cs4w{=XHq;FV}W#+xP0C
zph6c*IZo=+u8SdipuZ&(vWsP))5}@lif)hB&FN!crZybLTM~Q%Ue=fI(EC!a-*JAi
z&f;^<_KLBcK)k+)xh~X?F-&UE(oGq(He4h9tOboC&UXY@>(h#}jZMLHii1^KSxEAA
zHej@6k^{b=QX!o@a|lxu;4w7=$!Z4yS}eq!CP}O!!?;vhzPeJHsTa3hdn?F-so2?iP!j@!ggt
z6hPSrjPNwS``9~#J#Nfdw=3Y8eS682ls9fwGCsG*MID}^4p{3cl|nV-oKMIb)`MFD
z_pBXc$;UI<+lk4nV3_g1_L{M76y*1HLxVL7N>#EjldrSBu}F;Xzbd0Y2C>&rO@Cn3
z3o4;?NKU^+({umVhN`>+3|k3(EVYO~@7nXoVn}-T?S4D4^Dda93?6p
zF@zenJz?(E9hs5h@T<#&T7solWC6o?*VX}lu-}K{^?rXR`IB?gy%Ja=ahDzK2buhE1+iDv$pKx1}Aa^D`=wfg{faN@N%p81aL&nT?gewRi
zApC~#3&P(VgFg{&BiuyTKv+jOi!yTzY_1TismDAx(#LAB&%EU#{4tZFL2aj`>y$K|
zlAcr2a!NW*NyBLqVlnGHRJiiWrDom>WYSVIqub4hXi3d%q9rx6xZTVOTG)(*?ekOD
MCcPgFSI-Rn3wi)gWB>pF
diff --git a/doc/LectureNotes/_build/html/_sources/exercisesweek37.ipynb b/doc/LectureNotes/_build/html/_sources/exercisesweek37.ipynb
index a23fb43b2..933c27090 100644
--- a/doc/LectureNotes/_build/html/_sources/exercisesweek37.ipynb
+++ b/doc/LectureNotes/_build/html/_sources/exercisesweek37.ipynb
@@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "markdown",
- "id": "b0268cb1",
+ "id": "9b0bb122",
"metadata": {
"editable": true
},
@@ -14,7 +14,7 @@
},
{
"cell_type": "markdown",
- "id": "700a1d0b",
+ "id": "48cf6ad1",
"metadata": {
"editable": true
},
@@ -27,7 +27,7 @@
},
{
"cell_type": "markdown",
- "id": "dbe5809a",
+ "id": "3765446f",
"metadata": {
"editable": true
},
@@ -46,7 +46,7 @@
},
{
"cell_type": "markdown",
- "id": "ac99e9c0",
+ "id": "82ccb1c9",
"metadata": {
"editable": true
},
@@ -58,19 +58,19 @@
},
{
"cell_type": "markdown",
- "id": "6d71a32d",
+ "id": "2d9c0494",
"metadata": {
"editable": true
},
"source": [
"$$\n",
- "\\f(x)= 2-x+5x^2,\n",
+ "f(x)= 2-x+5x^2,\n",
"$$"
]
},
{
"cell_type": "markdown",
- "id": "c6496768",
+ "id": "df88ac02",
"metadata": {
"editable": true
},
@@ -83,7 +83,7 @@
},
{
"cell_type": "markdown",
- "id": "24678181",
+ "id": "ce2e4a69",
"metadata": {
"editable": true
},
@@ -99,7 +99,7 @@
},
{
"cell_type": "markdown",
- "id": "6b1bd90a",
+ "id": "294f41ac",
"metadata": {
"editable": true
},
@@ -120,7 +120,7 @@
{
"cell_type": "code",
"execution_count": 1,
- "id": "5e751a16",
+ "id": "9c98b0d9",
"metadata": {
"collapsed": false,
"editable": true
@@ -140,7 +140,7 @@
},
{
"cell_type": "markdown",
- "id": "50a68a52",
+ "id": "802cf96b",
"metadata": {
"editable": true
},
@@ -156,7 +156,7 @@
},
{
"cell_type": "markdown",
- "id": "db74a970",
+ "id": "90164acc",
"metadata": {
"editable": true
},
@@ -168,7 +168,7 @@
},
{
"cell_type": "markdown",
- "id": "f8feaa49",
+ "id": "55d1c701",
"metadata": {
"editable": true
},
@@ -179,7 +179,7 @@
{
"cell_type": "code",
"execution_count": 2,
- "id": "e6eca7a7",
+ "id": "22b80fe2",
"metadata": {
"collapsed": false,
"editable": true
@@ -200,21 +200,21 @@
},
{
"cell_type": "markdown",
- "id": "a2dff0cf",
+ "id": "a0a8a8ec",
"metadata": {
"editable": true
},
"source": [
"This computes the Ridge and OLS regression coefficients directly. The identity\n",
- "matrix $I$ has the same size as $X^T X$. It adds $\\lambda$ to the diagonal of $X^T X for Ridge regression. We\n",
+ "matrix $I$ has the same size as $X^T X$. It adds $\\lambda$ to the diagonal of $X^T X$ for Ridge regression. We\n",
"then invert this matrix and multiply by $X^T y$. The result\n",
"for $\\boldsymbol{\\theta}$ is a NumPy array of shape (n$\\_$features,) containing the\n",
- "fitted parameters $\\boldsymbol{\\theta}$.."
+ "fitted parameters $\\boldsymbol{\\theta}$."
]
},
{
"cell_type": "markdown",
- "id": "d7542c3e",
+ "id": "8e317939",
"metadata": {
"editable": true
},
@@ -226,7 +226,7 @@
},
{
"cell_type": "markdown",
- "id": "b922fd54",
+ "id": "7b52e9af",
"metadata": {
"editable": true
},
@@ -238,7 +238,7 @@
},
{
"cell_type": "markdown",
- "id": "92268a9a",
+ "id": "ba0b5a80",
"metadata": {
"editable": true
},
@@ -258,7 +258,7 @@
{
"cell_type": "code",
"execution_count": 3,
- "id": "81660fa3",
+ "id": "e29c2842",
"metadata": {
"collapsed": false,
"editable": true
@@ -301,7 +301,7 @@
},
{
"cell_type": "markdown",
- "id": "95149551",
+ "id": "9dc52b0e",
"metadata": {
"editable": true
},
@@ -313,7 +313,7 @@
},
{
"cell_type": "markdown",
- "id": "09b5400e",
+ "id": "4584ce15",
"metadata": {
"editable": true
},
@@ -325,7 +325,7 @@
},
{
"cell_type": "markdown",
- "id": "c635ca9e",
+ "id": "2f9f5861",
"metadata": {
"editable": true
},
@@ -351,7 +351,7 @@
{
"cell_type": "code",
"execution_count": 4,
- "id": "4ca4ce05",
+ "id": "9e336d9b",
"metadata": {
"collapsed": false,
"editable": true
@@ -380,7 +380,7 @@
},
{
"cell_type": "markdown",
- "id": "af39d8bc",
+ "id": "5afbeef2",
"metadata": {
"editable": true
},
@@ -394,7 +394,7 @@
},
{
"cell_type": "markdown",
- "id": "d35d3438",
+ "id": "28beeaf3",
"metadata": {
"editable": true
},
@@ -406,7 +406,7 @@
},
{
"cell_type": "markdown",
- "id": "b28bf122",
+ "id": "36ba38c1",
"metadata": {
"editable": true
},
diff --git a/doc/LectureNotes/_build/html/exercisesweek37.html b/doc/LectureNotes/_build/html/exercisesweek37.html
index 34799f577..b0a3a9843 100644
--- a/doc/LectureNotes/_build/html/exercisesweek37.html
+++ b/doc/LectureNotes/_build/html/exercisesweek37.html
@@ -427,7 +427,7 @@ doconce format html exercisesweek37.do.txt -->
We start with a very simple function
\[
-\f(x)= 2-x+5x^2,
+f(x)= 2-x+5x^2,
\]
defined for \(x\in [-2,2]\). You can add noise if you wish.
We are going to fit this function with a polynomial ansatz. The easiest thing is to set up a second-order polynomial and see if you can fit the above function.
@@ -496,10 +496,10 @@ print("Closed-form OLS coefficients:", theta_closed_form)
This computes the Ridge and OLS regression coefficients directly. The identity
-matrix \(I\) has the same size as \(X^T X\). It adds \(\lambda\) to the diagonal of \(X^T X for Ridge regression. We
-then invert this matrix and multiply by \)X^T y\(. The result
-for \)\boldsymbol{\theta}\( is a NumPy array of shape (n\)_\(features,) containing the
-fitted parameters \)\boldsymbol{\theta}$..
+matrix \(I\) has the same size as \(X^T X\). It adds \(\lambda\) to the diagonal of \(X^T X\) for Ridge regression. We
+then invert this matrix and multiply by \(X^T y\). The result
+for \(\boldsymbol{\theta}\) is a NumPy array of shape (n\(\_\)features,) containing the
+fitted parameters \(\boldsymbol{\theta}\).
3a)
Finalize, in the above code, the OLS and Ridge regression determination of the optimal parameters \(\boldsymbol{\theta}\).
diff --git a/doc/LectureNotes/_build/jupyter_execute/exercisesweek37.ipynb b/doc/LectureNotes/_build/jupyter_execute/exercisesweek37.ipynb
index 4857c84a5..60de5d8c6 100644
--- a/doc/LectureNotes/_build/jupyter_execute/exercisesweek37.ipynb
+++ b/doc/LectureNotes/_build/jupyter_execute/exercisesweek37.ipynb
@@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "markdown",
- "id": "b0268cb1",
+ "id": "9b0bb122",
"metadata": {
"editable": true
},
@@ -14,7 +14,7 @@
},
{
"cell_type": "markdown",
- "id": "700a1d0b",
+ "id": "48cf6ad1",
"metadata": {
"editable": true
},
@@ -27,7 +27,7 @@
},
{
"cell_type": "markdown",
- "id": "dbe5809a",
+ "id": "3765446f",
"metadata": {
"editable": true
},
@@ -46,7 +46,7 @@
},
{
"cell_type": "markdown",
- "id": "ac99e9c0",
+ "id": "82ccb1c9",
"metadata": {
"editable": true
},
@@ -58,19 +58,19 @@
},
{
"cell_type": "markdown",
- "id": "6d71a32d",
+ "id": "2d9c0494",
"metadata": {
"editable": true
},
"source": [
"$$\n",
- "\\f(x)= 2-x+5x^2,\n",
+ "f(x)= 2-x+5x^2,\n",
"$$"
]
},
{
"cell_type": "markdown",
- "id": "c6496768",
+ "id": "df88ac02",
"metadata": {
"editable": true
},
@@ -83,7 +83,7 @@
},
{
"cell_type": "markdown",
- "id": "24678181",
+ "id": "ce2e4a69",
"metadata": {
"editable": true
},
@@ -99,7 +99,7 @@
},
{
"cell_type": "markdown",
- "id": "6b1bd90a",
+ "id": "294f41ac",
"metadata": {
"editable": true
},
@@ -120,7 +120,7 @@
{
"cell_type": "code",
"execution_count": 1,
- "id": "5e751a16",
+ "id": "9c98b0d9",
"metadata": {
"collapsed": false,
"editable": true
@@ -140,7 +140,7 @@
},
{
"cell_type": "markdown",
- "id": "50a68a52",
+ "id": "802cf96b",
"metadata": {
"editable": true
},
@@ -156,7 +156,7 @@
},
{
"cell_type": "markdown",
- "id": "db74a970",
+ "id": "90164acc",
"metadata": {
"editable": true
},
@@ -168,7 +168,7 @@
},
{
"cell_type": "markdown",
- "id": "f8feaa49",
+ "id": "55d1c701",
"metadata": {
"editable": true
},
@@ -179,7 +179,7 @@
{
"cell_type": "code",
"execution_count": 2,
- "id": "e6eca7a7",
+ "id": "22b80fe2",
"metadata": {
"collapsed": false,
"editable": true
@@ -200,21 +200,21 @@
},
{
"cell_type": "markdown",
- "id": "a2dff0cf",
+ "id": "a0a8a8ec",
"metadata": {
"editable": true
},
"source": [
"This computes the Ridge and OLS regression coefficients directly. The identity\n",
- "matrix $I$ has the same size as $X^T X$. It adds $\\lambda$ to the diagonal of $X^T X for Ridge regression. We\n",
+ "matrix $I$ has the same size as $X^T X$. It adds $\\lambda$ to the diagonal of $X^T X$ for Ridge regression. We\n",
"then invert this matrix and multiply by $X^T y$. The result\n",
"for $\\boldsymbol{\\theta}$ is a NumPy array of shape (n$\\_$features,) containing the\n",
- "fitted parameters $\\boldsymbol{\\theta}$.."
+ "fitted parameters $\\boldsymbol{\\theta}$."
]
},
{
"cell_type": "markdown",
- "id": "d7542c3e",
+ "id": "8e317939",
"metadata": {
"editable": true
},
@@ -226,7 +226,7 @@
},
{
"cell_type": "markdown",
- "id": "b922fd54",
+ "id": "7b52e9af",
"metadata": {
"editable": true
},
@@ -238,7 +238,7 @@
},
{
"cell_type": "markdown",
- "id": "92268a9a",
+ "id": "ba0b5a80",
"metadata": {
"editable": true
},
@@ -258,7 +258,7 @@
{
"cell_type": "code",
"execution_count": 3,
- "id": "81660fa3",
+ "id": "e29c2842",
"metadata": {
"collapsed": false,
"editable": true
@@ -301,7 +301,7 @@
},
{
"cell_type": "markdown",
- "id": "95149551",
+ "id": "9dc52b0e",
"metadata": {
"editable": true
},
@@ -313,7 +313,7 @@
},
{
"cell_type": "markdown",
- "id": "09b5400e",
+ "id": "4584ce15",
"metadata": {
"editable": true
},
@@ -325,7 +325,7 @@
},
{
"cell_type": "markdown",
- "id": "c635ca9e",
+ "id": "2f9f5861",
"metadata": {
"editable": true
},
@@ -351,7 +351,7 @@
{
"cell_type": "code",
"execution_count": 4,
- "id": "4ca4ce05",
+ "id": "9e336d9b",
"metadata": {
"collapsed": false,
"editable": true
@@ -380,7 +380,7 @@
},
{
"cell_type": "markdown",
- "id": "af39d8bc",
+ "id": "5afbeef2",
"metadata": {
"editable": true
},
@@ -394,7 +394,7 @@
},
{
"cell_type": "markdown",
- "id": "d35d3438",
+ "id": "28beeaf3",
"metadata": {
"editable": true
},
@@ -406,7 +406,7 @@
},
{
"cell_type": "markdown",
- "id": "b28bf122",
+ "id": "36ba38c1",
"metadata": {
"editable": true
},
diff --git a/doc/LectureNotes/exercisesweek37.ipynb b/doc/LectureNotes/exercisesweek37.ipynb
index a23fb43b2..933c27090 100644
--- a/doc/LectureNotes/exercisesweek37.ipynb
+++ b/doc/LectureNotes/exercisesweek37.ipynb
@@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "markdown",
- "id": "b0268cb1",
+ "id": "9b0bb122",
"metadata": {
"editable": true
},
@@ -14,7 +14,7 @@
},
{
"cell_type": "markdown",
- "id": "700a1d0b",
+ "id": "48cf6ad1",
"metadata": {
"editable": true
},
@@ -27,7 +27,7 @@
},
{
"cell_type": "markdown",
- "id": "dbe5809a",
+ "id": "3765446f",
"metadata": {
"editable": true
},
@@ -46,7 +46,7 @@
},
{
"cell_type": "markdown",
- "id": "ac99e9c0",
+ "id": "82ccb1c9",
"metadata": {
"editable": true
},
@@ -58,19 +58,19 @@
},
{
"cell_type": "markdown",
- "id": "6d71a32d",
+ "id": "2d9c0494",
"metadata": {
"editable": true
},
"source": [
"$$\n",
- "\\f(x)= 2-x+5x^2,\n",
+ "f(x)= 2-x+5x^2,\n",
"$$"
]
},
{
"cell_type": "markdown",
- "id": "c6496768",
+ "id": "df88ac02",
"metadata": {
"editable": true
},
@@ -83,7 +83,7 @@
},
{
"cell_type": "markdown",
- "id": "24678181",
+ "id": "ce2e4a69",
"metadata": {
"editable": true
},
@@ -99,7 +99,7 @@
},
{
"cell_type": "markdown",
- "id": "6b1bd90a",
+ "id": "294f41ac",
"metadata": {
"editable": true
},
@@ -120,7 +120,7 @@
{
"cell_type": "code",
"execution_count": 1,
- "id": "5e751a16",
+ "id": "9c98b0d9",
"metadata": {
"collapsed": false,
"editable": true
@@ -140,7 +140,7 @@
},
{
"cell_type": "markdown",
- "id": "50a68a52",
+ "id": "802cf96b",
"metadata": {
"editable": true
},
@@ -156,7 +156,7 @@
},
{
"cell_type": "markdown",
- "id": "db74a970",
+ "id": "90164acc",
"metadata": {
"editable": true
},
@@ -168,7 +168,7 @@
},
{
"cell_type": "markdown",
- "id": "f8feaa49",
+ "id": "55d1c701",
"metadata": {
"editable": true
},
@@ -179,7 +179,7 @@
{
"cell_type": "code",
"execution_count": 2,
- "id": "e6eca7a7",
+ "id": "22b80fe2",
"metadata": {
"collapsed": false,
"editable": true
@@ -200,21 +200,21 @@
},
{
"cell_type": "markdown",
- "id": "a2dff0cf",
+ "id": "a0a8a8ec",
"metadata": {
"editable": true
},
"source": [
"This computes the Ridge and OLS regression coefficients directly. The identity\n",
- "matrix $I$ has the same size as $X^T X$. It adds $\\lambda$ to the diagonal of $X^T X for Ridge regression. We\n",
+ "matrix $I$ has the same size as $X^T X$. It adds $\\lambda$ to the diagonal of $X^T X$ for Ridge regression. We\n",
"then invert this matrix and multiply by $X^T y$. The result\n",
"for $\\boldsymbol{\\theta}$ is a NumPy array of shape (n$\\_$features,) containing the\n",
- "fitted parameters $\\boldsymbol{\\theta}$.."
+ "fitted parameters $\\boldsymbol{\\theta}$."
]
},
{
"cell_type": "markdown",
- "id": "d7542c3e",
+ "id": "8e317939",
"metadata": {
"editable": true
},
@@ -226,7 +226,7 @@
},
{
"cell_type": "markdown",
- "id": "b922fd54",
+ "id": "7b52e9af",
"metadata": {
"editable": true
},
@@ -238,7 +238,7 @@
},
{
"cell_type": "markdown",
- "id": "92268a9a",
+ "id": "ba0b5a80",
"metadata": {
"editable": true
},
@@ -258,7 +258,7 @@
{
"cell_type": "code",
"execution_count": 3,
- "id": "81660fa3",
+ "id": "e29c2842",
"metadata": {
"collapsed": false,
"editable": true
@@ -301,7 +301,7 @@
},
{
"cell_type": "markdown",
- "id": "95149551",
+ "id": "9dc52b0e",
"metadata": {
"editable": true
},
@@ -313,7 +313,7 @@
},
{
"cell_type": "markdown",
- "id": "09b5400e",
+ "id": "4584ce15",
"metadata": {
"editable": true
},
@@ -325,7 +325,7 @@
},
{
"cell_type": "markdown",
- "id": "c635ca9e",
+ "id": "2f9f5861",
"metadata": {
"editable": true
},
@@ -351,7 +351,7 @@
{
"cell_type": "code",
"execution_count": 4,
- "id": "4ca4ce05",
+ "id": "9e336d9b",
"metadata": {
"collapsed": false,
"editable": true
@@ -380,7 +380,7 @@
},
{
"cell_type": "markdown",
- "id": "af39d8bc",
+ "id": "5afbeef2",
"metadata": {
"editable": true
},
@@ -394,7 +394,7 @@
},
{
"cell_type": "markdown",
- "id": "d35d3438",
+ "id": "28beeaf3",
"metadata": {
"editable": true
},
@@ -406,7 +406,7 @@
},
{
"cell_type": "markdown",
- "id": "b28bf122",
+ "id": "36ba38c1",
"metadata": {
"editable": true
},
diff --git a/doc/pub/week36/ipynb/week36.ipynb b/doc/pub/week36/ipynb/week36.ipynb
index c39a730a5..9eecb9565 100644
--- a/doc/pub/week36/ipynb/week36.ipynb
+++ b/doc/pub/week36/ipynb/week36.ipynb
@@ -792,7 +792,10 @@
"id": "1968205f",
"metadata": {
"collapsed": false,
- "editable": true
+ "editable": true,
+ "jupyter": {
+ "outputs_hidden": false
+ }
},
"outputs": [],
"source": [
@@ -1112,7 +1115,10 @@
"id": "7dcfad0e",
"metadata": {
"collapsed": false,
- "editable": true
+ "editable": true,
+ "jupyter": {
+ "outputs_hidden": false
+ }
},
"outputs": [],
"source": [
@@ -2775,7 +2781,10 @@
"id": "6444430a",
"metadata": {
"collapsed": false,
- "editable": true
+ "editable": true,
+ "jupyter": {
+ "outputs_hidden": false
+ }
},
"outputs": [],
"source": [
@@ -3019,7 +3028,10 @@
"id": "3ad7c5f2",
"metadata": {
"collapsed": false,
- "editable": true
+ "editable": true,
+ "jupyter": {
+ "outputs_hidden": false
+ }
},
"outputs": [],
"source": [
@@ -3197,7 +3209,10 @@
"id": "200aa258",
"metadata": {
"collapsed": false,
- "editable": true
+ "editable": true,
+ "jupyter": {
+ "outputs_hidden": false
+ }
},
"outputs": [],
"source": [
@@ -4711,7 +4726,10 @@
"id": "7ca4918a",
"metadata": {
"collapsed": false,
- "editable": true
+ "editable": true,
+ "jupyter": {
+ "outputs_hidden": false
+ }
},
"outputs": [],
"source": [
@@ -4792,7 +4810,10 @@
"id": "3b6ba6a2",
"metadata": {
"collapsed": false,
- "editable": true
+ "editable": true,
+ "jupyter": {
+ "outputs_hidden": false
+ }
},
"outputs": [],
"source": [
@@ -4870,7 +4891,10 @@
"id": "3410ffb2",
"metadata": {
"collapsed": false,
- "editable": true
+ "editable": true,
+ "jupyter": {
+ "outputs_hidden": false
+ }
},
"outputs": [],
"source": [
@@ -4955,7 +4979,25 @@
]
}
],
- "metadata": {},
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.15"
+ }
+ },
"nbformat": 4,
"nbformat_minor": 5
}
diff --git a/doc/src/week37/exercisesweek37.do.txt b/doc/src/week37/exercisesweek37.do.txt
index 556724301..32dc647ea 100644
--- a/doc/src/week37/exercisesweek37.do.txt
+++ b/doc/src/week37/exercisesweek37.do.txt
@@ -17,7 +17,7 @@ o Scale the data properly
We start with a very simple function
!bt
\[
-\f(x)= 2-x+5x^2,
+f(x)= 2-x+5x^2,
\]
!et
@@ -88,10 +88,10 @@ print("Closed-form OLS coefficients:", theta_closed_form)
!ec
This computes the Ridge and OLS regression coefficients directly. The identity
-matrix $I$ has the same size as $X^T X$. It adds $\lambda$ to the diagonal of $X^T X for Ridge regression. We
+matrix $I$ has the same size as $X^T X$. It adds $\lambda$ to the diagonal of $X^T X$ for Ridge regression. We
then invert this matrix and multiply by $X^T y$. The result
for $\bm{\theta}$ is a NumPy array of shape (n$\_$features,) containing the
-fitted parameters $\bm{\theta}$..
+fitted parameters $\bm{\theta}$.
=== 3a) ===
Finalize, in the above code, the OLS and Ridge regression determination of the optimal parameters $\bm{\theta}$.