Update week39.ipynb

This commit is contained in:
Morten Hjorth-Jensen
2022-10-13 08:11:08 +09:00
parent 3b626c8158
commit 463dfa0762
+221 -4
View File
@@ -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,