From 463dfa07620bd03be8fb09e9be96075af6bff1df Mon Sep 17 00:00:00 2001 From: Morten Hjorth-Jensen Date: Thu, 13 Oct 2022 08:11:08 +0900 Subject: [PATCH] Update week39.ipynb --- doc/pub/week39/ipynb/week39.ipynb | 225 +++++++++++++++++++++++++++++- 1 file changed, 221 insertions(+), 4 deletions(-) diff --git a/doc/pub/week39/ipynb/week39.ipynb b/doc/pub/week39/ipynb/week39.ipynb index 600f74139..890cd2f0a 100644 --- a/doc/pub/week39/ipynb/week39.ipynb +++ b/doc/pub/week39/ipynb/week39.ipynb @@ -3657,10 +3657,227 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 2, "id": "09b63595", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Own inversion\n", + "[[4.]\n", + " [3.]]\n", + "Eigenvalues of Hessian Matrix:[0.25827439 4.23187426]\n", + "0 [-14.70105464] [-16.45425295]\n", + "1 [-0.08725637] [0.07708186]\n", + "2 [-0.08193105] [0.0723775]\n", + "3 [-0.07693074] [0.06796024]\n", + "4 [-0.0722356] [0.06381258]\n", + "5 [-0.06782701] [0.05991805]\n", + "6 [-0.06368748] [0.05626121]\n", + "7 [-0.05980058] [0.05282755]\n", + "8 [-0.05615091] [0.04960344]\n", + "9 [-0.05272398] [0.04657611]\n", + "10 [-0.0495062] [0.04373353]\n", + "11 [-0.0464848] [0.04106444]\n", + "12 [-0.0436478] [0.03855825]\n", + "13 [-0.04098394] [0.03620501]\n", + "14 [-0.03848266] [0.03399539]\n", + "15 [-0.03613403] [0.03192063]\n", + "16 [-0.03392875] [0.02997249]\n", + "17 [-0.03185805] [0.02814325]\n", + "18 [-0.02991373] [0.02642565]\n", + "19 [-0.02808807] [0.02481287]\n", + "20 [-0.02637384] [0.02329852]\n", + "21 [-0.02476422] [0.0218766]\n", + "22 [-0.02325285] [0.02054145]\n", + "23 [-0.02183371] [0.01928779]\n", + "24 [-0.02050118] [0.01811064]\n", + "25 [-0.01924998] [0.01700534]\n", + "26 [-0.01807514] [0.01596749]\n", + "27 [-0.016972] [0.01499298]\n", + "28 [-0.01593619] [0.01407795]\n", + "29 [-0.01496359] [0.01321876]\n", + "30 [-0.01405035] [0.01241201]\n", + "31 [-0.01319285] [0.0116545]\n", + "32 [-0.01238768] [0.01094321]\n", + "33 [-0.01163165] [0.01027534]\n", + "34 [-0.01092176] [0.00964823]\n", + "35 [-0.0102552] [0.00905939]\n", + "36 [-0.00962931] [0.00850649]\n", + "37 [-0.00904163] [0.00798733]\n", + "38 [-0.00848981] [0.00749986]\n", + "39 [-0.00797167] [0.00704214]\n", + "40 [-0.00748516] [0.00661235]\n", + "41 [-0.00702833] [0.00620879]\n", + "42 [-0.00659939] [0.00582987]\n", + "43 [-0.00619662] [0.00547407]\n", + "44 [-0.00581844] [0.00513998]\n", + "45 [-0.00546333] [0.00482628]\n", + "46 [-0.0051299] [0.00453173]\n", + "47 [-0.00481682] [0.00425516]\n", + "48 [-0.00452285] [0.00399546]\n", + "49 [-0.00424681] [0.00375162]\n", + "50 [-0.00398763] [0.00352265]\n", + "51 [-0.00374426] [0.00330766]\n", + "52 [-0.00351575] [0.00310579]\n", + "53 [-0.00330118] [0.00291624]\n", + "54 [-0.0030997] [0.00273826]\n", + "55 [-0.00291053] [0.00257115]\n", + "56 [-0.0027329] [0.00241423]\n", + "57 [-0.0025661] [0.00226688]\n", + "58 [-0.00240949] [0.00212853]\n", + "59 [-0.00226244] [0.00199863]\n", + "60 [-0.00212436] [0.00187665]\n", + "61 [-0.00199471] [0.00176212]\n", + "62 [-0.00187297] [0.00165457]\n", + "63 [-0.00175866] [0.00155359]\n", + "64 [-0.00165133] [0.00145878]\n", + "65 [-0.00155055] [0.00136975]\n", + "66 [-0.00145592] [0.00128615]\n", + "67 [-0.00136706] [0.00120766]\n", + "68 [-0.00128363] [0.00113395]\n", + "69 [-0.00120529] [0.00106475]\n", + "70 [-0.00113173] [0.00099976]\n", + "71 [-0.00106266] [0.00093875]\n", + "72 [-0.0009978] [0.00088145]\n", + "73 [-0.00093691] [0.00082766]\n", + "74 [-0.00087973] [0.00077715]\n", + "75 [-0.00082604] [0.00072972]\n", + "76 [-0.00077562] [0.00068518]\n", + "77 [-0.00072829] [0.00064336]\n", + "78 [-0.00068384] [0.0006041]\n", + "79 [-0.0006421] [0.00056723]\n", + "80 [-0.00060291] [0.00053261]\n", + "81 [-0.00056612] [0.00050011]\n", + "82 [-0.00053157] [0.00046958]\n", + "83 [-0.00049913] [0.00044093]\n", + "84 [-0.00046866] [0.00041402]\n", + "85 [-0.00044006] [0.00038875]\n", + "86 [-0.0004132] [0.00036502]\n", + "87 [-0.00038799] [0.00034274]\n", + "88 [-0.00036431] [0.00032183]\n", + "89 [-0.00034207] [0.00030219]\n", + "90 [-0.0003212] [0.00028374]\n", + "91 [-0.00030159] [0.00026643]\n", + "92 [-0.00028319] [0.00025017]\n", + "93 [-0.0002659] [0.0002349]\n", + "94 [-0.00024968] [0.00022056]\n", + "95 [-0.00023444] [0.0002071]\n", + "96 [-0.00022013] [0.00019446]\n", + "97 [-0.00020669] [0.00018259]\n", + "98 [-0.00019408] [0.00017145]\n", + "99 [-0.00018224] [0.00016099]\n", + "theta from own gd\n", + "[[3.99933748]\n", + " [3.00058527]]\n", + "0 [-0.00017111] [0.00015116]\n", + "1 [-0.00016067] [0.00014194]\n", + "2 [-0.00014773] [0.00013051]\n", + "3 [-0.00013483] [0.00011911]\n", + "4 [-0.00012274] [0.00010842]\n", + "5 [-0.00011162] [9.86002251e-05]\n", + "6 [-0.00010147] [8.96355442e-05]\n", + "7 [-9.22300939e-05] [8.1475617e-05]\n", + "8 [-8.38301216e-05] [7.40551223e-05]\n", + "9 [-7.61939161e-05] [6.73093355e-05]\n", + "10 [-6.9252884e-05] [6.11776614e-05]\n", + "11 [-6.29440201e-05] [5.56044417e-05]\n", + "12 [-5.72098413e-05] [5.0538896e-05]\n", + "13 [-5.19980291e-05] [4.59348064e-05]\n", + "14 [-4.72610077e-05] [4.17501447e-05]\n", + "15 [-4.29555273e-05] [3.79467043e-05]\n", + "16 [-3.90422759e-05] [3.4489757e-05]\n", + "17 [-3.54855218e-05] [3.13477376e-05]\n", + "18 [-3.22527882e-05] [2.84919565e-05]\n", + "19 [-2.93145568e-05] [2.58963371e-05]\n", + "20 [-2.66439985e-05] [2.35371789e-05]\n", + "21 [-2.42167283e-05] [2.13929402e-05]\n", + "22 [-2.20105826e-05] [1.94440417e-05]\n", + "23 [-2.00054169e-05] [1.76726881e-05]\n", + "24 [-1.81829219e-05] [1.60627049e-05]\n", + "25 [-1.65264564e-05] [1.45993913e-05]\n", + "26 [-1.5020895e-05] [1.32693857e-05]\n", + "27 [-1.36524903e-05] [1.20605437e-05]\n", + "28 [-1.24087475e-05] [1.09618272e-05]\n", + "29 [-1.12783097e-05] [9.96320398e-06]\n", + "30 [-1.02508548e-05] [9.05555536e-06]\n", + "31 [-9.31700118e-06] [8.2305936e-06]\n", + "32 [-8.46822168e-06] [7.48078591e-06]\n", + "33 [-7.69676606e-06] [6.79928576e-06]\n", + "34 [-6.99559011e-06] [6.17987033e-06]\n", + "35 [-6.35829133e-06] [5.61688369e-06]\n", + "36 [-5.77905052e-06] [5.10518517e-06]\n", + "37 [-5.25257859e-06] [4.64010242e-06]\n", + "38 [-4.77406829e-06] [4.21738875e-06]\n", + "39 [-4.33915032e-06] [3.83318432e-06]\n", + "40 [-3.9438534e-06] [3.48398095e-06]\n", + "41 [-3.58456807e-06] [3.16659002e-06]\n", + "42 [-3.25801365e-06] [2.87811344e-06]\n", + "43 [-2.96120837e-06] [2.61591709e-06]\n", + "44 [-2.69144207e-06] [2.37760685e-06]\n", + "45 [-2.4462515e-06] [2.16100669e-06]\n", + "46 [-2.2233978e-06] [1.96413882e-06]\n", + "47 [-2.0208461e-06] [1.78520563e-06]\n", + "48 [-1.83674687e-06] [1.62257327e-06]\n", + "49 [-1.6694191e-06] [1.47475672e-06]\n", + "50 [-1.51733489e-06] [1.34040628e-06]\n", + "51 [-1.37910557e-06] [1.21829517e-06]\n", + "52 [-1.25346895e-06] [1.10730839e-06]\n", + "53 [-1.13927784e-06] [1.00643251e-06]\n", + "54 [-1.03548954e-06] [9.14746433e-07]\n", + "55 [-9.41156369e-07] [8.31412966e-07]\n", + "56 [-8.55416954e-07] [7.55671183e-07]\n", + "57 [-7.77488407e-07] [6.86829482e-07]\n", + "58 [-7.06659155e-07] [6.24259266e-07]\n", + "59 [-6.42282454e-07] [5.67389201e-07]\n", + "60 [-5.83770475e-07] [5.15700003e-07]\n", + "61 [-5.30588942e-07] [4.68719694e-07]\n", + "62 [-4.8225225e-07] [4.26019295e-07]\n", + "63 [-4.38319034e-07] [3.87208907e-07]\n", + "64 [-3.98388138e-07] [3.51934146e-07]\n", + "65 [-3.62094949e-07] [3.1987292e-07]\n", + "66 [-3.29108073e-07] [2.90732473e-07]\n", + "67 [-2.99126303e-07] [2.64246723e-07]\n", + "68 [-2.71875874e-07] [2.40173828e-07]\n", + "69 [-2.47107963e-07] [2.18293973e-07]\n", + "70 [-2.24596409e-07] [1.98407376e-07]\n", + "71 [-2.04135659e-07] [1.8033245e-07]\n", + "72 [-1.85538885e-07] [1.63904151e-07]\n", + "73 [-1.68636279e-07] [1.48972471e-07]\n", + "74 [-1.53273502e-07] [1.35401067e-07]\n", + "75 [-1.39310275e-07] [1.2306602e-07]\n", + "76 [-1.26619098e-07] [1.11854697e-07]\n", + "77 [-1.15084089e-07] [1.01664725e-07]\n", + "78 [-1.0459992e-07] [9.24030614e-08]\n", + "79 [-9.50708595e-08] [8.39851359e-08]\n", + "80 [-8.64098971e-08] [7.63340839e-08]\n", + "81 [-7.85379493e-08] [6.93800429e-08]\n", + "82 [-7.1383136e-08] [6.30595163e-08]\n", + "83 [-6.48801277e-08] [5.7314789e-08]\n", + "84 [-5.89695428e-08] [5.20934079e-08]\n", + "85 [-5.35974134e-08] [4.73476943e-08]\n", + "86 [-4.87146848e-08] [4.3034316e-08]\n", + "87 [-4.42767728e-08] [3.91138874e-08]\n", + "88 [-4.02431562e-08] [3.55506087e-08]\n", + "89 [-3.65770019e-08] [3.23119455e-08]\n", + "90 [-3.32448344e-08] [2.93683246e-08]\n", + "91 [-3.02162277e-08] [2.66928679e-08]\n", + "92 [-2.74635268e-08] [2.4261146e-08]\n", + "93 [-2.49615966e-08] [2.20509549e-08]\n", + "94 [-2.26875948e-08] [2.00421096e-08]\n", + "95 [-2.06207528e-08] [1.82162724e-08]\n", + "96 [-1.87422006e-08] [1.65567687e-08]\n", + "97 [-1.70347846e-08] [1.5048446e-08]\n", + "98 [-1.54829141e-08] [1.36775317e-08]\n", + "99 [-1.40724195e-08] [1.24315077e-08]\n", + "theta from own gd wth momentum\n", + "[[3.99999995]\n", + " [3.00000004]]\n" + ] + } + ], "source": [ "# Using Autograd to calculate gradients for OLS\n", "from random import random, seed\n", @@ -3688,7 +3905,7 @@ "\n", "theta = np.random.randn(2,1)\n", "eta = 1.0/np.max(EigValues)\n", - "Niterations = 30\n", + "Niterations = 100\n", "\n", "# define the gradient\n", "training_gradient = grad(CostOLS)\n", @@ -4282,7 +4499,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.10" + "version": "3.9.14" } }, "nbformat": 4,