diff --git a/doc/HandWrittenNotes/2021/NotesOctober1.pdf b/doc/HandWrittenNotes/2021/NotesOctober1.pdf new file mode 100644 index 000000000..7fb912cb0 Binary files /dev/null and b/doc/HandWrittenNotes/2021/NotesOctober1.pdf differ diff --git a/doc/pub/week39/ipynb/week39.ipynb b/doc/pub/week39/ipynb/week39.ipynb index c80c456e1..29203de54 100644 --- a/doc/pub/week39/ipynb/week39.ipynb +++ b/doc/pub/week39/ipynb/week39.ipynb @@ -51,10 +51,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", @@ -125,10 +122,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -202,10 +196,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -1018,10 +1009,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -1056,10 +1044,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "pt.axis(\"equal\")\n", @@ -1077,10 +1062,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "x = guesses[-1]\n", @@ -1097,10 +1079,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "def f1d(alpha):\n", @@ -1122,10 +1101,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "pt.axis(\"equal\")\n", @@ -1503,10 +1479,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "x = 2*np.random.rand(m,1)\n", @@ -1672,12 +1645,33 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Eigenvalues of Hessian Matrix:[0.30809177 4.49022271]\n", + "[[4.01925524]\n", + " [2.87333423]]\n", + "[[3.49801184]\n", + " [3.23039745]]\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "\n", "# Importing various packages\n", @@ -1705,8 +1699,8 @@ "print(beta_linreg)\n", "beta = np.random.randn(2,1)\n", "\n", - "eta = 1.0/np.max(EigValues)\n", - "Niterations = 1000\n", + "eta = 0.0001#1.0/np.max(EigValues)\n", + "Niterations = 10000\n", "\n", "for iter in range(Niterations):\n", " gradient = (2.0/n)*X.T @ (X @ beta-y)\n", @@ -1737,10 +1731,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "# Importing various packages\n", @@ -1824,10 +1815,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "from random import random, seed\n", @@ -2015,10 +2003,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np \n", @@ -2080,10 +2065,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np \n", @@ -2121,12 +2103,39 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Own inversion\n", + "[[4.07353623]\n", + " [3.03783428]]\n", + "sgdreg from scikit\n", + "[4.00956452] [3.04438694]\n", + "theta from own gd\n", + "[[4.07353623]\n", + " [3.03783428]]\n", + "theta from own sdg\n", + "[[4.09151346]\n", + " [3.06393889]]\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "# Importing various packages\n", "from math import exp, sqrt\n", @@ -2681,10 +2690,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import autograd.numpy as np\n", @@ -2740,10 +2746,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import autograd.numpy as np\n", @@ -2779,10 +2782,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import autograd.numpy as np\n", @@ -2833,10 +2833,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import autograd.numpy as np\n", @@ -2876,10 +2873,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import autograd.numpy as np\n", @@ -2911,10 +2905,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import autograd.numpy as np\n", @@ -2974,10 +2965,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import autograd.numpy as np\n", @@ -3001,10 +2989,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import autograd.numpy as np\n", @@ -3051,10 +3036,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import autograd.numpy as np\n", @@ -3082,10 +3064,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import autograd.numpy as np\n", @@ -3113,10 +3092,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import autograd.numpy as np\n", @@ -3146,10 +3122,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "a += b\n", @@ -3159,7 +3132,25 @@ ] } ], - "metadata": {}, + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.8.5" + } + }, "nbformat": 4, "nbformat_minor": 4 }