├── Assignment1 ├── assignment1notebook.ipynb └── data │ ├── x.dat │ └── y.dat ├── Assignment3 ├── assignment3notebookQ3.ipynb └── data │ └── q3 │ ├── theta.dat │ ├── x.dat │ └── y.dat └── README.md /Assignment1/assignment1notebook.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "## CS229 Assignment 1 - Coding Questions" 8 | ] 9 | }, 10 | { 11 | "cell_type": "markdown", 12 | "metadata": {}, 13 | "source": [ 14 | "We will be implementing the locally weighted logstic regression algorithm from question 2 of problem set 1 (https://see.stanford.edu/materials/aimlcs229/problemset1.pdf ) as part of Stanford's Engineering Everywhere CS229 Machine Learning course, taught by Andrew Ng in '08 ( https://see.stanford.edu/course/cs229 )." 15 | ] 16 | }, 17 | { 18 | "cell_type": "markdown", 19 | "metadata": {}, 20 | "source": [ 21 | "(Example usage of functions is scattered throughout but with hidden output. Remove the ';' at the end of the cells to see output.)" 22 | ] 23 | }, 24 | { 25 | "cell_type": "code", 26 | "execution_count": 1, 27 | "metadata": {}, 28 | "outputs": [], 29 | "source": [ 30 | "import os\n", 31 | "import numpy as np\n", 32 | "import matplotlib.pyplot as plt\n", 33 | "%matplotlib inline" 34 | ] 35 | }, 36 | { 37 | "cell_type": "markdown", 38 | "metadata": {}, 39 | "source": [ 40 | "We first initialise the $X$ and $Y$ training data matricies, and append the $x_0:=1$ column to our $X$ matrix, to account for the $\\theta_0$ constant term of our regression and allow for vector notation and operations." 41 | ] 42 | }, 43 | { 44 | "cell_type": "code", 45 | "execution_count": 2, 46 | "metadata": {}, 47 | "outputs": [], 48 | "source": [ 49 | "xData=np.asmatrix(np.loadtxt(\"data/x.dat\"))\n", 50 | "yData = np.loadtxt(\"data/y.dat\")\n", 51 | "m=len(xData)\n", 52 | "n=3\n", 53 | "lambdaConst=0.0001\n", 54 | "extraCol=np.ones((m,1))\n", 55 | "xData=np.append(extraCol, xData, axis=1)" 56 | ] 57 | }, 58 | { 59 | "cell_type": "markdown", 60 | "metadata": {}, 61 | "source": [ 62 | "We then setup a function to calculate the exponential weights $(\\omega^{(1)},\\dots,\\omega^{(n)})$. We choose to output this as one $\\omega \\in \\mathbb{R}^n$ vector." 63 | ] 64 | }, 65 | { 66 | "cell_type": "code", 67 | "execution_count": 3, 68 | "metadata": {}, 69 | "outputs": [], 70 | "source": [ 71 | "def singleWeight(x, xi, tau):\n", 72 | " return np.exp(-(np.linalg.norm(x-xi)**2)/(2*tau*tau))\n", 73 | "\n", 74 | "def weightVector(x, tau):\n", 75 | " return [singleWeight(x, xi, tau) for xi in xData]" 76 | ] 77 | }, 78 | { 79 | "cell_type": "code", 80 | "execution_count": 4, 81 | "metadata": {}, 82 | "outputs": [], 83 | "source": [ 84 | "weightVector(xData, 0.5);" 85 | ] 86 | }, 87 | { 88 | "cell_type": "markdown", 89 | "metadata": {}, 90 | "source": [ 91 | "Next we create our hypothesis function $h_\\theta(x)=g(\\theta^T x)$ for $g$ the logistic function. Note that our $x^{(i)}$ training data must be a column vector so we transpose the rows we remove from $X$ to pass into hypothesis function." 92 | ] 93 | }, 94 | { 95 | "cell_type": "code", 96 | "execution_count": 5, 97 | "metadata": {}, 98 | "outputs": [], 99 | "source": [ 100 | "def g(t):\n", 101 | " return (1/(1+np.exp(-t)))\n", 102 | "\n", 103 | "def hyp(theta, x):\n", 104 | " return np.asscalar(g(np.transpose(theta)*x))" 105 | ] 106 | }, 107 | { 108 | "cell_type": "code", 109 | "execution_count": 6, 110 | "metadata": {}, 111 | "outputs": [], 112 | "source": [ 113 | "hyp(np.ones((3,1)),np.transpose(xData[0]));" 114 | ] 115 | }, 116 | { 117 | "cell_type": "markdown", 118 | "metadata": {}, 119 | "source": [ 120 | "We now create the functions to get our $z \\in \\mathbb{R}^m$ values. This $z$ is defined in the assignment and used to calculate the gradient of the log likelihood function as $\\nabla_\\theta l(\\theta) = X^Tz-\\lambda\\theta$, for $\\lambda:=0.0001$." 121 | ] 122 | }, 123 | { 124 | "cell_type": "code", 125 | "execution_count": 7, 126 | "metadata": {}, 127 | "outputs": [], 128 | "source": [ 129 | "def singleZ(wi, yi, xi, theta):\n", 130 | " return wi*(yi-hyp(theta, xi))\n", 131 | "\n", 132 | "def zVector(w, Y, X, theta):\n", 133 | " return np.transpose(np.asmatrix([singleZ(w[i], Y[i], np.transpose(X[i]), theta) for i in list(range(m))]))" 134 | ] 135 | }, 136 | { 137 | "cell_type": "code", 138 | "execution_count": 8, 139 | "metadata": {}, 140 | "outputs": [], 141 | "source": [ 142 | "w = weightVector([1, -0.3, 0.7], 0.5)\n", 143 | "theta = np.ones((n,))\n", 144 | "zVector(w, yData, xData, theta).shape;" 145 | ] 146 | }, 147 | { 148 | "cell_type": "markdown", 149 | "metadata": {}, 150 | "source": [ 151 | "We now create the hessian matrix $H$ of second partial derivatives via the formula provided $H=X^TDX-\\lambda I$. With $D$ a matrix in $\\mathbb{R}^{mxm}$ as defined in the assignment." 152 | ] 153 | }, 154 | { 155 | "cell_type": "code", 156 | "execution_count": 9, 157 | "metadata": {}, 158 | "outputs": [], 159 | "source": [ 160 | "def singleD(wi, xi, theta):\n", 161 | " return np.asscalar(-wi*hyp(theta, xi)*(1-hyp(theta,xi)))\n", 162 | "\n", 163 | "def dMatrix(w, X, theta):\n", 164 | " array = [singleD(w[i], np.transpose(X[i]), theta) for i in list(range(m))]\n", 165 | " return np.diag(array)\n", 166 | "\n", 167 | "def hessMatrix(w, X, theta):\n", 168 | " return np.transpose(X)*dMatrix(w, X, theta)*X-lambdaConst*np.identity(n)" 169 | ] 170 | }, 171 | { 172 | "cell_type": "markdown", 173 | "metadata": {}, 174 | "source": [ 175 | "We also create the a function to calculate the gradient of our log likelihood function using the $z$ vector and formula from above.\n", 176 | " " 177 | ] 178 | }, 179 | { 180 | "cell_type": "code", 181 | "execution_count": 10, 182 | "metadata": {}, 183 | "outputs": [], 184 | "source": [ 185 | "def gradVector(w, Y, X, theta):\n", 186 | " return np.transpose(X)*zVector(w, Y, X, theta)-lambdaConst*theta" 187 | ] 188 | }, 189 | { 190 | "cell_type": "markdown", 191 | "metadata": {}, 192 | "source": [ 193 | "Next we create the Locally Weighted Linear Regression (lwlr) function to tie all of the above functions together and perform the gradient descent. This updates our $\\theta$ parameter in the direction of steepset descent each iteration." 194 | ] 195 | }, 196 | { 197 | "cell_type": "code", 198 | "execution_count": 11, 199 | "metadata": {}, 200 | "outputs": [], 201 | "source": [ 202 | "def lwlr(X, Y, x, tau):\n", 203 | " w=weightVector(x, tau)\n", 204 | " theta=np.zeros((n,1))\n", 205 | " for i in list(range(200)):\n", 206 | " hess = hessMatrix(w, X, theta)\n", 207 | " grad = gradVector(w, Y, X, theta)\n", 208 | " theta=theta-np.linalg.inv(hess)*grad\n", 209 | " \n", 210 | " return theta;" 211 | ] 212 | }, 213 | { 214 | "cell_type": "markdown", 215 | "metadata": {}, 216 | "source": [ 217 | "We also setup our prediction thresholding function, which translates the probabilities form our hypothesis function into the desired class $\\{0,1\\}$ dependant on if our hypothesis value (which we are imbuing with a probabilistic interpretation) is above $0.5$ or not." 218 | ] 219 | }, 220 | { 221 | "cell_type": "code", 222 | "execution_count": 12, 223 | "metadata": {}, 224 | "outputs": [], 225 | "source": [ 226 | "def predict(theta, x):\n", 227 | " hypValue = hyp(theta, x)\n", 228 | " return 1 if (hypValue>=0.5) else 0" 229 | ] 230 | }, 231 | { 232 | "cell_type": "markdown", 233 | "metadata": {}, 234 | "source": [ 235 | "Finally we train our model around a point 'xTrain', as marked by a blue 'x' in the first plot, and plot the training data provided vs the threshold our alogorithm produces. We set the parameter $\\tau$ here which controls the falloff of the weight function. Note larger values of $\\tau$ bring the algorithm closer to the standard logistic regression, whereas smaller values give more weight to close points." 236 | ] 237 | }, 238 | { 239 | "cell_type": "code", 240 | "execution_count": 13, 241 | "metadata": {}, 242 | "outputs": [], 243 | "source": [ 244 | "xTrain = np.transpose(np.asmatrix([1,-0.1, 0.5]))\n", 245 | "tau=10\n", 246 | "trainedTheta = lwlr(xData, yData, xTrain, tau)" 247 | ] 248 | }, 249 | { 250 | "cell_type": "code", 251 | "execution_count": 14, 252 | "metadata": {}, 253 | "outputs": [ 254 | { 255 | "data": { 256 | "image/png": "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\n", 257 | "text/plain": [ 258 | "
" 259 | ] 260 | }, 261 | "metadata": { 262 | "needs_background": "light" 263 | }, 264 | "output_type": "display_data" 265 | } 266 | ], 267 | "source": [ 268 | "resolution=20\n", 269 | "baseGridSpacing = np.linspace(-1,1,resolution)\n", 270 | "xSpace = np.asarray([])\n", 271 | "ySpace = np.asarray([])\n", 272 | "for i in baseGridSpacing:\n", 273 | " xSpace=np.append(xSpace,(np.linspace(-1,1,resolution)))\n", 274 | "for i in baseGridSpacing:\n", 275 | " ySpace=np.append(ySpace, np.full((resolution,1),i))\n", 276 | "\n", 277 | "labels = [predict(trainedTheta, np.transpose(np.asmatrix([1,j,i]))) for i in baseGridSpacing for j in baseGridSpacing] \n", 278 | "colour= ['red' if l == 0 else 'green' for l in labels]\n", 279 | "\n", 280 | "fig, (ax1,ax2) = plt.subplots(1,2, figsize=(10,4))\n", 281 | "ax1.scatter(xSpace, ySpace, c=colour)\n", 282 | "ax1.scatter(np.asscalar(xTrain[1]), np.asscalar(xTrain[2]), marker='x')\n", 283 | "ax1.set_title(\"Output Data\")\n", 284 | "\n", 285 | "labels = np.array(yData.astype(int))\n", 286 | "colour= ['red' if l == 0 else 'green' for l in labels]\n", 287 | "ax2.scatter(np.array(xData[:,1]),np.array(xData[:,2]),c=colour)\n", 288 | "ax2.set_title(\"Training Data\")\n", 289 | "\n", 290 | "plt.tight_layout()" 291 | ] 292 | }, 293 | { 294 | "cell_type": "markdown", 295 | "metadata": {}, 296 | "source": [ 297 | "See you in assignment 2." 298 | ] 299 | } 300 | ], 301 | "metadata": { 302 | "kernelspec": { 303 | "display_name": "Python 3", 304 | "language": "python", 305 | "name": "python3" 306 | }, 307 | "language_info": { 308 | "codemirror_mode": { 309 | "name": "ipython", 310 | "version": 3 311 | }, 312 | "file_extension": ".py", 313 | "mimetype": "text/x-python", 314 | "name": "python", 315 | "nbconvert_exporter": "python", 316 | "pygments_lexer": "ipython3", 317 | "version": "3.7.1" 318 | } 319 | }, 320 | "nbformat": 4, 321 | "nbformat_minor": 2 322 | } 323 | -------------------------------------------------------------------------------- /Assignment1/data/x.dat: -------------------------------------------------------------------------------- 1 | -3.4792627e-01 8.6257310e-01 2 | -1.4516129e-01 6.2865497e-01 3 | -3.4562212e-02 2.8947368e-01 4 | -1.4976959e-01 7.3099415e-02 5 | -3.5253456e-01 -1.6081871e-01 6 | -4.3087558e-01 -5.1754386e-01 7 | -1.9124424e-01 -8.0994152e-01 8 | 1.6359447e-01 -9.2105263e-01 9 | -4.3778802e-02 -6.6374269e-01 10 | -1.7281106e-01 -4.1228070e-01 11 | 8.9861751e-02 -1.6081871e-01 12 | 2.1889401e-01 1.2573099e-01 13 | 2.0046083e-01 5.2339181e-01 14 | 4.8387097e-02 7.8070175e-01 15 | 7.7649770e-01 7.8070175e-01 16 | 6.8894009e-01 9.6491228e-02 17 | 5.4608295e-01 -1.0818713e-01 18 | 7.1658986e-01 -1.0818713e-01 19 | 6.6129032e-01 -3.5380117e-01 20 | 3.3870968e-01 -5.0000000e-01 21 | 6.1981567e-01 -7.1637427e-01 22 | 8.4562212e-01 -7.2807018e-01 23 | 3.2027650e-01 -8.0409357e-01 24 | 1.2672811e-01 -3.4210526e-01 25 | 2.9262673e-01 -6.7251462e-02 26 | 4.7235023e-01 3.5964912e-01 27 | 8.6866359e-01 3.7719298e-01 28 | 5.4147465e-01 7.1637427e-01 29 | 3.8479263e-01 9.0350877e-01 30 | 3.0645161e-01 7.3391813e-01 31 | 5.3225806e-01 1.0818713e-01 32 | -5.0460829e-01 7.3391813e-01 33 | -3.4331797e-01 5.3508772e-01 34 | -6.9354839e-01 7.8947368e-02 35 | -3.5714286e-01 2.1929825e-01 36 | -4.9539171e-01 1.0233918e-01 37 | -5.9677419e-01 -1.5497076e-01 38 | -7.2119816e-01 -5.1169591e-01 39 | -4.2626728e-01 -8.3918129e-01 40 | -6.3364055e-01 -8.6842105e-01 41 | -8.4562212e-01 -7.6315789e-01 42 | -6.9815668e-01 -6.6374269e-01 43 | -8.9170507e-01 -2.7777778e-01 44 | -7.3502304e-01 5.8771930e-01 45 | -5.6451613e-01 4.8245614e-01 46 | -6.7050691e-01 3.1871345e-01 47 | -8.4562212e-01 2.7777778e-01 48 | -6.1059908e-01 8.3918129e-01 49 | -8.5023041e-01 7.8654971e-01 50 | 6.5207373e-01 4.1812865e-01 51 | 8.6405530e-01 -5.5555556e-02 52 | -2.1889401e-01 4.5321637e-01 53 | -1.7281106e-01 2.4853801e-01 54 | -6.6820276e-02 4.4152047e-01 55 | -1.9124424e-01 8.2748538e-01 56 | -2.5576037e-01 8.7719298e-03 57 | -1.9124424e-01 -1.4327485e-01 58 | -2.7880184e-01 -5.2923977e-01 59 | 2.0737327e-02 8.4795322e-02 60 | 7.1428571e-02 4.2982456e-01 61 | 3.9170507e-02 5.8771930e-01 62 | -1.0829493e-01 9.5614035e-01 63 | -2.9262673e-01 -3.0116959e-01 64 | -4.1244240e-01 -3.4210526e-01 65 | -3.0645161e-01 -6.8713450e-01 66 | -6.9124424e-03 -4.6491228e-01 67 | -8.0645161e-02 -2.3684211e-01 68 | 1.2672811e-01 -5.8187135e-01 69 | -6.6820276e-02 -9.2105263e-01 70 | -------------------------------------------------------------------------------- /Assignment1/data/y.dat: -------------------------------------------------------------------------------- 1 | 0.0000000e+00 2 | 0.0000000e+00 3 | 0.0000000e+00 4 | 0.0000000e+00 5 | 0.0000000e+00 6 | 0.0000000e+00 7 | 0.0000000e+00 8 | 1.0000000e+00 9 | 1.0000000e+00 10 | 1.0000000e+00 11 | 1.0000000e+00 12 | 1.0000000e+00 13 | 1.0000000e+00 14 | 1.0000000e+00 15 | 1.0000000e+00 16 | 0.0000000e+00 17 | 0.0000000e+00 18 | 0.0000000e+00 19 | 1.0000000e+00 20 | 1.0000000e+00 21 | 1.0000000e+00 22 | 1.0000000e+00 23 | 1.0000000e+00 24 | 1.0000000e+00 25 | 1.0000000e+00 26 | 1.0000000e+00 27 | 1.0000000e+00 28 | 1.0000000e+00 29 | 1.0000000e+00 30 | 0.0000000e+00 31 | 0.0000000e+00 32 | 0.0000000e+00 33 | 0.0000000e+00 34 | 1.0000000e+00 35 | 0.0000000e+00 36 | 0.0000000e+00 37 | 0.0000000e+00 38 | 0.0000000e+00 39 | 0.0000000e+00 40 | 0.0000000e+00 41 | 0.0000000e+00 42 | 0.0000000e+00 43 | 0.0000000e+00 44 | 0.0000000e+00 45 | 0.0000000e+00 46 | 0.0000000e+00 47 | 0.0000000e+00 48 | 0.0000000e+00 49 | 0.0000000e+00 50 | 1.0000000e+00 51 | 1.0000000e+00 52 | 1.0000000e+00 53 | 0.0000000e+00 54 | 0.0000000e+00 55 | 0.0000000e+00 56 | 0.0000000e+00 57 | 1.0000000e+00 58 | 0.0000000e+00 59 | 1.0000000e+00 60 | 1.0000000e+00 61 | 1.0000000e+00 62 | 1.0000000e+00 63 | 1.0000000e+00 64 | 0.0000000e+00 65 | 1.0000000e+00 66 | 0.0000000e+00 67 | 1.0000000e+00 68 | 1.0000000e+00 69 | 0.0000000e+00 70 | -------------------------------------------------------------------------------- /Assignment3/assignment3notebookQ3.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# CS229 Assignment 3 - First Coding Question" 8 | ] 9 | }, 10 | { 11 | "cell_type": "markdown", 12 | "metadata": {}, 13 | "source": [ 14 | "We will be implementing the $l_1$-regularised least squares algorithm from question 3 of problem set 3 (https://see.stanford.edu/materials/aimlcs229/problemset3.pdf ) as part of Stanford's Engineering Everywhere CS229 Machine Learning course, taught by Andrew Ng in '08 ( https://see.stanford.edu/course/cs229 )." 15 | ] 16 | }, 17 | { 18 | "cell_type": "markdown", 19 | "metadata": {}, 20 | "source": [ 21 | "In this question we will be minimising the cost function $$J(\\theta)=\\frac{1}{2}||X\\theta - \\vec{y}||_2^2 + \\lambda ||\\theta||_1,$$ where $X$ is our matrix of training examples, $\\vec{y}$ is the vector of the correct classifications and $\\theta$ is the parameter vector for our algorithm to learn. The $\\lambda$ parameter contorls the amount of penilisation we want to apply. \n", 22 | "\n", 23 | "(For those who haven't studied it yet, the $||\\cdot||_n$ is called a norm and is a way to measure the size of a vector in an abstract sense. Really what we care about here is the sum of the squared values of a vector, or the sum of the absolute values of a vector. Checkout for more details: https://machinelearningmastery.com/vector-norms-machine-learning/)" 24 | ] 25 | }, 26 | { 27 | "cell_type": "code", 28 | "execution_count": 323, 29 | "metadata": {}, 30 | "outputs": [], 31 | "source": [ 32 | "import os\n", 33 | "import numpy as np\n", 34 | "import matplotlib.pyplot as plt\n", 35 | "%matplotlib inline" 36 | ] 37 | }, 38 | { 39 | "cell_type": "markdown", 40 | "metadata": {}, 41 | "source": [ 42 | "We start by loading in our data. Note that $X$ is a $20\\times 100$ sized matrix, and $Y$ is a $20\\times 1$ vector, so that means we have a $100$ input features, with $20$ training pairs. Hence we have $\\theta\\in\\mathbb{R}^{100}$." 43 | ] 44 | }, 45 | { 46 | "cell_type": "code", 47 | "execution_count": 324, 48 | "metadata": {}, 49 | "outputs": [], 50 | "source": [ 51 | "xData=np.asmatrix(np.loadtxt(\"data/q3/x.dat\"))\n", 52 | "yData = np.transpose(np.asmatrix(np.loadtxt(\"data/q3/y.dat\")))\n", 53 | "m=xData.shape[0] # number of training examples\n", 54 | "n=xData.shape[1] # number of features\n", 55 | "converganceConst=0.00001" 56 | ] 57 | }, 58 | { 59 | "cell_type": "markdown", 60 | "metadata": {}, 61 | "source": [ 62 | "We also want to implement our cost function $J$. This is what we are aiming to minimise." 63 | ] 64 | }, 65 | { 66 | "cell_type": "code", 67 | "execution_count": 325, 68 | "metadata": {}, 69 | "outputs": [], 70 | "source": [ 71 | "def objective(X, y, theta, lambdaConst):\n", 72 | " return 0.5*np.linalg.norm(X*theta-y)**2+lambdaConst*np.sum(np.absolute(theta))" 73 | ] 74 | }, 75 | { 76 | "cell_type": "markdown", 77 | "metadata": {}, 78 | "source": [ 79 | "To minimise we perform coordinate descent on $J$. To perform the coordinate descent we need to be able to calculate its derivative and set it to $0$. Unfortunately this is difficult when we have the $||\\theta||_1=\\sum|\\theta_i|$ term there as this is not-differentiable in any of the $\\theta_i$. \n", 80 | "\n", 81 | "The assignment has us rewrite $J$ cleverly to allow us to perform this differentiation, by extracting out the $\\theta_i$ term and replacing the modulus with multiplication by sign($\\theta_i$). Once we have done this, we perform the differentiation, and we see that we get $\\theta_i$ updates to the following quantity\n", 82 | "\n" 83 | ] 84 | }, 85 | { 86 | "cell_type": "markdown", 87 | "metadata": {}, 88 | "source": [ 89 | "$$\\theta_i = \\frac{-X_i^T(X\\bar{\\theta}-\\vec{y})-\\lambda s_i}{X_i^TX_i},$$\n", 90 | "where $X_i$ is the $i$th column of $X$, $\\bar{\\theta}$ is $\\theta$ with the $i$th entry set to $0$ and $s_i$ is the sign of $\\theta_i$. We first write a function to update a single $\\theta_i$. This comes with the caveat that we have to take the max/min with $0$ and see which version then gives the smallest objective function to account for the introduction of the $s_i$ sign we did. (See the assignment solutions for more details on the maths here: https://see.stanford.edu/materials/aimlcs229/ps3_solution.pdf )" 91 | ] 92 | }, 93 | { 94 | "cell_type": "code", 95 | "execution_count": 326, 96 | "metadata": {}, 97 | "outputs": [], 98 | "source": [ 99 | "def updateSingleTheta(i, X, y, theta, lambdaConst):\n", 100 | " Xi=X[:,i]\n", 101 | " theta1, theta2, thetaBar=np.copy(theta), np.copy(theta), np.copy(theta)\n", 102 | " thetaBar[i]=0\n", 103 | " numerator1=-np.transpose(Xi)*(X*thetaBar-y)-lambdaConst\n", 104 | " numerator2=-np.transpose(Xi)*(X*thetaBar-y)+lambdaConst\n", 105 | " denominator=np.transpose(Xi)*Xi\n", 106 | " theta_i1=np.maximum(numerator1/denominator, 0)\n", 107 | " theta_i2=np.minimum(numerator2/denominator, 0)\n", 108 | " theta1[i]=theta_i1\n", 109 | " theta2[i]=theta_i2\n", 110 | " objective1=objective(X,y,theta1,lambdaConst)\n", 111 | " objective2=objective(X,y,theta2,lambdaConst)\n", 112 | " if (objective1 < objective2):\n", 113 | " return theta_i1\n", 114 | " else:\n", 115 | " return theta_i2" 116 | ] 117 | }, 118 | { 119 | "cell_type": "markdown", 120 | "metadata": {}, 121 | "source": [ 122 | "We now combine these individual update steps together to update the whole $\\theta$ vector." 123 | ] 124 | }, 125 | { 126 | "cell_type": "code", 127 | "execution_count": 327, 128 | "metadata": {}, 129 | "outputs": [], 130 | "source": [ 131 | "def updateTheta(X, y, theta, lambdaConst):\n", 132 | " diffs=[]\n", 133 | " for i in range(n):\n", 134 | " oldThetai=np.copy(theta[i])\n", 135 | " theta[i]=updateSingleTheta(i, X, y, theta, lambdaConst)\n", 136 | " diffs.append(abs(oldThetai-theta[i]))\n", 137 | " maxDiff=np.amax(diffs)\n", 138 | " return theta, maxDiff" 139 | ] 140 | }, 141 | { 142 | "cell_type": "markdown", 143 | "metadata": {}, 144 | "source": [ 145 | "We need to now write a function to repeat this updating until our $\\theta$ converges. From the assgnment we are told to stop once all of the coordinates in one pass change by less than $10^{-5}$. We do this as part of the l1ls(X, y, lambda) function we are asked to create." 146 | ] 147 | }, 148 | { 149 | "cell_type": "code", 150 | "execution_count": 328, 151 | "metadata": {}, 152 | "outputs": [], 153 | "source": [ 154 | "def l1ls(X, y, lambdaConst):\n", 155 | " iterate=True\n", 156 | " theta=np.ones((n,1))\n", 157 | " while(iterate):\n", 158 | " theta, maxDiff=updateTheta(X, y, theta, lambdaConst)\n", 159 | " if maxDiff < converganceConst:\n", 160 | " iterate=False\n", 161 | " return theta" 162 | ] 163 | }, 164 | { 165 | "cell_type": "markdown", 166 | "metadata": {}, 167 | "source": [ 168 | "Now we implement our hypothesis function, given a column vector $\\theta$ of parameters and a column vector $x$ of input, we output $h_\\theta(X)=\\theta^T X = \\theta_1x_1+\\cdots+\\theta_nx_n$ as our prediction. This is not used in the solution directly but it allows you to play with the predictions so I wanted to include it." 169 | ] 170 | }, 171 | { 172 | "cell_type": "code", 173 | "execution_count": 332, 174 | "metadata": {}, 175 | "outputs": [], 176 | "source": [ 177 | "def predict(theta, X):\n", 178 | " return np.asscalar(np.transpose(theta)*X)" 179 | ] 180 | }, 181 | { 182 | "cell_type": "markdown", 183 | "metadata": {}, 184 | "source": [ 185 | "Finally we do as the assignment says and can run our algorithm for different $\\lambda$ parameters. In particular the goal of this quesiton is to notice that when we set $\\lambda=1$ we see that our predicted $\\theta$ matches the sparsity pattern of the true $\\theta$. i.e. it tells us exactly which features in the true $\\theta$ were non-zero. In particular we could now use this as a feature identification algorithm. (You'll have to scroll a little here, sorry!)" 186 | ] 187 | }, 188 | { 189 | "cell_type": "code", 190 | "execution_count": 330, 191 | "metadata": {}, 192 | "outputs": [ 193 | { 194 | "name": "stdout", 195 | "output_type": "stream", 196 | "text": [ 197 | "[[ 0.49875625]\n", 198 | " [ 0.65610659]\n", 199 | " [-0.79057697]\n", 200 | " [-0.65564318]\n", 201 | " [-0.89191725]\n", 202 | " [ 0. ]\n", 203 | " [ 0. ]\n", 204 | " [ 0. ]\n", 205 | " [ 0. ]\n", 206 | " [ 0. ]\n", 207 | " [ 0. ]\n", 208 | " [ 0. ]\n", 209 | " [ 0. ]\n", 210 | " [ 0. ]\n", 211 | " [ 0. ]\n", 212 | " [ 0. ]\n", 213 | " [ 0. ]\n", 214 | " [ 0. ]\n", 215 | " [ 0. ]\n", 216 | " [ 0. ]\n", 217 | " [ 0. ]\n", 218 | " [ 0. ]\n", 219 | " [ 0. ]\n", 220 | " [ 0. ]\n", 221 | " [ 0. ]\n", 222 | " [ 0. ]\n", 223 | " [ 0. ]\n", 224 | " [ 0. ]\n", 225 | " [ 0. ]\n", 226 | " [ 0. ]\n", 227 | " [ 0. ]\n", 228 | " [ 0. ]\n", 229 | " [ 0. ]\n", 230 | " [ 0. ]\n", 231 | " [ 0. ]\n", 232 | " [ 0. ]\n", 233 | " [ 0. ]\n", 234 | " [ 0. ]\n", 235 | " [ 0. ]\n", 236 | " [ 0. ]\n", 237 | " [ 0. ]\n", 238 | " [ 0. ]\n", 239 | " [ 0. ]\n", 240 | " [ 0. ]\n", 241 | " [ 0. ]\n", 242 | " [ 0. ]\n", 243 | " [ 0. ]\n", 244 | " [ 0. ]\n", 245 | " [ 0. ]\n", 246 | " [ 0. ]\n", 247 | " [ 0. ]\n", 248 | " [ 0. ]\n", 249 | " [ 0. ]\n", 250 | " [ 0. ]\n", 251 | " [ 0. ]\n", 252 | " [ 0. ]\n", 253 | " [ 0. ]\n", 254 | " [ 0. ]\n", 255 | " [ 0. ]\n", 256 | " [ 0. ]\n", 257 | " [ 0. ]\n", 258 | " [ 0. ]\n", 259 | " [ 0. ]\n", 260 | " [ 0. ]\n", 261 | " [ 0. ]\n", 262 | " [ 0. ]\n", 263 | " [ 0. ]\n", 264 | " [ 0. ]\n", 265 | " [ 0. ]\n", 266 | " [ 0. ]\n", 267 | " [ 0. ]\n", 268 | " [ 0. ]\n", 269 | " [ 0. ]\n", 270 | " [ 0. ]\n", 271 | " [ 0. ]\n", 272 | " [ 0. ]\n", 273 | " [ 0. ]\n", 274 | " [ 0. ]\n", 275 | " [ 0. ]\n", 276 | " [ 0. ]\n", 277 | " [ 0. ]\n", 278 | " [ 0. ]\n", 279 | " [ 0. ]\n", 280 | " [ 0. ]\n", 281 | " [ 0. ]\n", 282 | " [ 0. ]\n", 283 | " [ 0. ]\n", 284 | " [ 0. ]\n", 285 | " [ 0. ]\n", 286 | " [ 0. ]\n", 287 | " [ 0. ]\n", 288 | " [ 0. ]\n", 289 | " [ 0. ]\n", 290 | " [ 0. ]\n", 291 | " [ 0. ]\n", 292 | " [ 0. ]\n", 293 | " [ 0. ]\n", 294 | " [ 0. ]\n", 295 | " [ 0. ]\n", 296 | " [ 0. ]]\n" 297 | ] 298 | } 299 | ], 300 | "source": [ 301 | "theta = l1ls(xData, yData, 1)\n", 302 | "print(theta)" 303 | ] 304 | }, 305 | { 306 | "cell_type": "code", 307 | "execution_count": 331, 308 | "metadata": {}, 309 | "outputs": [ 310 | { 311 | "name": "stdout", 312 | "output_type": "stream", 313 | "text": [ 314 | "[[ 0.68372018]\n", 315 | " [ 0.84110202]\n", 316 | " [-0.83028605]\n", 317 | " [-0.85031124]\n", 318 | " [-0.93904984]\n", 319 | " [ 0. ]\n", 320 | " [ 0. ]\n", 321 | " [ 0. ]\n", 322 | " [ 0. ]\n", 323 | " [ 0. ]\n", 324 | " [ 0. ]\n", 325 | " [ 0. ]\n", 326 | " [ 0. ]\n", 327 | " [ 0. ]\n", 328 | " [ 0. ]\n", 329 | " [ 0. ]\n", 330 | " [ 0. ]\n", 331 | " [ 0. ]\n", 332 | " [ 0. ]\n", 333 | " [ 0. ]\n", 334 | " [ 0. ]\n", 335 | " [ 0. ]\n", 336 | " [ 0. ]\n", 337 | " [ 0. ]\n", 338 | " [ 0. ]\n", 339 | " [ 0. ]\n", 340 | " [ 0. ]\n", 341 | " [ 0. ]\n", 342 | " [ 0. ]\n", 343 | " [ 0. ]\n", 344 | " [ 0. ]\n", 345 | " [ 0. ]\n", 346 | " [ 0. ]\n", 347 | " [ 0. ]\n", 348 | " [ 0. ]\n", 349 | " [ 0. ]\n", 350 | " [ 0. ]\n", 351 | " [ 0. ]\n", 352 | " [ 0. ]\n", 353 | " [ 0. ]\n", 354 | " [ 0. ]\n", 355 | " [ 0. ]\n", 356 | " [ 0. ]\n", 357 | " [ 0. ]\n", 358 | " [ 0. ]\n", 359 | " [ 0. ]\n", 360 | " [ 0. ]\n", 361 | " [ 0. ]\n", 362 | " [ 0. ]\n", 363 | " [ 0. ]\n", 364 | " [ 0. ]\n", 365 | " [ 0. ]\n", 366 | " [ 0. ]\n", 367 | " [ 0. ]\n", 368 | " [ 0. ]\n", 369 | " [ 0. ]\n", 370 | " [ 0. ]\n", 371 | " [ 0. ]\n", 372 | " [ 0. ]\n", 373 | " [ 0. ]\n", 374 | " [ 0. ]\n", 375 | " [ 0. ]\n", 376 | " [ 0. ]\n", 377 | " [ 0. ]\n", 378 | " [ 0. ]\n", 379 | " [ 0. ]\n", 380 | " [ 0. ]\n", 381 | " [ 0. ]\n", 382 | " [ 0. ]\n", 383 | " [ 0. ]\n", 384 | " [ 0. ]\n", 385 | " [ 0. ]\n", 386 | " [ 0. ]\n", 387 | " [ 0. ]\n", 388 | " [ 0. ]\n", 389 | " [ 0. ]\n", 390 | " [ 0. ]\n", 391 | " [ 0. ]\n", 392 | " [ 0. ]\n", 393 | " [ 0. ]\n", 394 | " [ 0. ]\n", 395 | " [ 0. ]\n", 396 | " [ 0. ]\n", 397 | " [ 0. ]\n", 398 | " [ 0. ]\n", 399 | " [ 0. ]\n", 400 | " [ 0. ]\n", 401 | " [ 0. ]\n", 402 | " [ 0. ]\n", 403 | " [ 0. ]\n", 404 | " [ 0. ]\n", 405 | " [ 0. ]\n", 406 | " [ 0. ]\n", 407 | " [ 0. ]\n", 408 | " [ 0. ]\n", 409 | " [ 0. ]\n", 410 | " [ 0. ]\n", 411 | " [ 0. ]\n", 412 | " [ 0. ]\n", 413 | " [ 0. ]]\n" 414 | ] 415 | } 416 | ], 417 | "source": [ 418 | "trueTheta = np.transpose(np.asmatrix(np.loadtxt(\"data/q3/theta.dat\")))\n", 419 | "print(trueTheta)" 420 | ] 421 | } 422 | ], 423 | "metadata": { 424 | "kernelspec": { 425 | "display_name": "Python 3", 426 | "language": "python", 427 | "name": "python3" 428 | }, 429 | "language_info": { 430 | "codemirror_mode": { 431 | "name": "ipython", 432 | "version": 3 433 | }, 434 | "file_extension": ".py", 435 | "mimetype": "text/x-python", 436 | "name": "python", 437 | "nbconvert_exporter": "python", 438 | "pygments_lexer": "ipython3", 439 | "version": "3.7.1" 440 | } 441 | }, 442 | "nbformat": 4, 443 | "nbformat_minor": 2 444 | } 445 | -------------------------------------------------------------------------------- /Assignment3/data/q3/theta.dat: -------------------------------------------------------------------------------- 1 | 6.8372018e-01 2 | 8.4110202e-01 3 | -8.3028605e-01 4 | -8.5031124e-01 5 | -9.3904984e-01 6 | 0.0000000e+00 7 | 0.0000000e+00 8 | 0.0000000e+00 9 | 0.0000000e+00 10 | 0.0000000e+00 11 | 0.0000000e+00 12 | 0.0000000e+00 13 | 0.0000000e+00 14 | 0.0000000e+00 15 | 0.0000000e+00 16 | 0.0000000e+00 17 | 0.0000000e+00 18 | 0.0000000e+00 19 | 0.0000000e+00 20 | 0.0000000e+00 21 | 0.0000000e+00 22 | 0.0000000e+00 23 | 0.0000000e+00 24 | 0.0000000e+00 25 | 0.0000000e+00 26 | 0.0000000e+00 27 | 0.0000000e+00 28 | 0.0000000e+00 29 | 0.0000000e+00 30 | 0.0000000e+00 31 | 0.0000000e+00 32 | 0.0000000e+00 33 | 0.0000000e+00 34 | 0.0000000e+00 35 | 0.0000000e+00 36 | 0.0000000e+00 37 | 0.0000000e+00 38 | 0.0000000e+00 39 | 0.0000000e+00 40 | 0.0000000e+00 41 | 0.0000000e+00 42 | 0.0000000e+00 43 | 0.0000000e+00 44 | 0.0000000e+00 45 | 0.0000000e+00 46 | 0.0000000e+00 47 | 0.0000000e+00 48 | 0.0000000e+00 49 | 0.0000000e+00 50 | 0.0000000e+00 51 | 0.0000000e+00 52 | 0.0000000e+00 53 | 0.0000000e+00 54 | 0.0000000e+00 55 | 0.0000000e+00 56 | 0.0000000e+00 57 | 0.0000000e+00 58 | 0.0000000e+00 59 | 0.0000000e+00 60 | 0.0000000e+00 61 | 0.0000000e+00 62 | 0.0000000e+00 63 | 0.0000000e+00 64 | 0.0000000e+00 65 | 0.0000000e+00 66 | 0.0000000e+00 67 | 0.0000000e+00 68 | 0.0000000e+00 69 | 0.0000000e+00 70 | 0.0000000e+00 71 | 0.0000000e+00 72 | 0.0000000e+00 73 | 0.0000000e+00 74 | 0.0000000e+00 75 | 0.0000000e+00 76 | 0.0000000e+00 77 | 0.0000000e+00 78 | 0.0000000e+00 79 | 0.0000000e+00 80 | 0.0000000e+00 81 | 0.0000000e+00 82 | 0.0000000e+00 83 | 0.0000000e+00 84 | 0.0000000e+00 85 | 0.0000000e+00 86 | 0.0000000e+00 87 | 0.0000000e+00 88 | 0.0000000e+00 89 | 0.0000000e+00 90 | 0.0000000e+00 91 | 0.0000000e+00 92 | 0.0000000e+00 93 | 0.0000000e+00 94 | 0.0000000e+00 95 | 0.0000000e+00 96 | 0.0000000e+00 97 | 0.0000000e+00 98 | 0.0000000e+00 99 | 0.0000000e+00 100 | 0.0000000e+00 101 | -------------------------------------------------------------------------------- /Assignment3/data/q3/x.dat: -------------------------------------------------------------------------------- 1 | 9.9595965e-01 -8.7681338e-01 6.0841147e-01 -1.2708391e-01 7.4845003e-01 -7.1147363e-01 3.3470362e-01 -9.1492928e-01 -3.1618996e-02 6.3733437e-01 -9.3122790e-01 -6.2169558e-01 -4.3197489e-01 -6.1165359e-02 -9.1055480e-01 -6.9637796e-01 1.8520495e-01 7.8279593e-01 -3.8569518e-01 7.7307907e-02 3.8603603e-01 4.5261246e-01 -3.6404456e-01 6.3188213e-01 -8.2715787e-01 6.9742904e-01 -7.5472660e-01 -3.4419718e-01 5.9848010e-01 8.2882312e-01 8.8310835e-01 -8.7619934e-01 6.7209557e-01 3.4137780e-01 -2.5497667e-01 8.2535467e-01 -1.2210351e-01 6.3471657e-01 1.1047278e-01 -9.9744486e-01 5.2572436e-01 5.8832263e-01 -3.7295763e-01 5.5154360e-01 -5.5163341e-01 1.7704317e-01 5.4762310e-01 -5.4655288e-01 9.1923479e-01 -6.5509951e-01 -8.2574668e-01 -7.3104398e-01 -5.3694206e-01 9.6856244e-01 -8.0104950e-01 4.2780634e-02 -3.2532975e-01 4.9737367e-01 4.5143335e-01 -7.7264977e-01 -3.4910490e-01 -4.8613406e-01 -9.3268002e-01 -8.1575021e-01 3.0528970e-01 -4.5177081e-01 1.9545937e-01 2.9649287e-03 -1.4292925e-02 -2.5192571e-01 4.6371288e-01 7.3421222e-01 2.1670380e-01 -5.9121770e-01 -8.8323349e-01 -7.5416257e-01 8.5374553e-01 -2.8286130e-01 5.5284752e-01 5.5761602e-02 -4.7889012e-01 1.3204766e-01 -6.3059697e-01 -6.4290852e-01 -6.0771670e-01 7.2839193e-01 -2.1534869e-01 5.2589678e-01 9.5360113e-01 -1.8075875e-01 8.8345522e-01 7.7339732e-01 -6.2931161e-01 -6.7331076e-01 -4.3081300e-01 -2.9511419e-02 4.5695994e-01 -3.1588421e-01 9.4233969e-01 6.1192229e-01 2 | -1.3541138e-01 2.1994162e-01 8.9663773e-01 7.0510136e-01 6.4586958e-01 8.7717675e-01 8.8623780e-01 5.9265842e-01 -4.3125238e-01 -9.5446055e-01 7.9534864e-01 -9.2135912e-01 -1.4016390e-01 4.1099052e-01 7.9506656e-01 -4.9450793e-01 -7.5436043e-01 6.4509639e-01 1.0392618e-01 6.5843528e-01 7.1930166e-01 -6.1321223e-01 -2.5136241e-01 8.5772958e-01 -7.2181567e-01 3.1416132e-01 9.8004940e-01 6.4911507e-01 6.0609119e-02 -3.7446343e-01 1.3381824e-01 -5.7928709e-01 -6.7111063e-02 6.5549941e-01 7.2014729e-01 -7.4151348e-01 1.8778310e-01 9.9743616e-02 -6.2272535e-01 -6.4391395e-01 8.6555699e-01 -2.5570884e-01 -6.8160665e-01 1.0476231e-01 2.8295354e-01 3.8074886e-01 8.0841204e-01 1.6191007e-01 -4.9695164e-01 3.4994124e-01 6.6115845e-01 -8.1581305e-01 9.4382325e-01 -6.8095547e-01 7.3981416e-01 -3.7411509e-01 4.0199128e-01 -8.1487190e-01 -5.4282772e-01 -2.7238928e-01 5.1012475e-01 -2.2021727e-01 9.5612344e-01 8.9956641e-01 -5.9270457e-02 -6.4258137e-01 7.4443764e-01 5.8524264e-01 9.0235377e-01 1.6967478e-02 -9.1317035e-01 -2.5145267e-01 9.2810000e-01 1.1397956e-01 1.4941465e-01 4.6414370e-01 -3.4555366e-01 1.0360670e-01 6.7763293e-01 -5.3827742e-01 4.6509575e-02 3.5927973e-01 -2.8913266e-01 8.4832754e-01 9.7762297e-01 5.7706259e-01 5.7197136e-01 -5.9684559e-01 -4.7716469e-01 -4.4148667e-01 -5.9471661e-01 -4.3596250e-01 -1.9918313e-01 -6.4786201e-01 9.1597985e-01 -1.0413882e-01 -4.9570429e-01 2.5194385e-01 -6.6990467e-01 -6.9826110e-01 3 | -6.7608585e-01 6.1044151e-02 -6.1082759e-01 -9.7507609e-01 -7.2458499e-01 5.9568611e-01 1.8958031e-01 4.1415546e-01 -8.5991176e-01 3.0338365e-01 -5.9047412e-01 -7.3677908e-01 -8.5274704e-01 -6.5181943e-01 -8.4504836e-01 8.5812942e-01 2.9797034e-02 9.3907675e-01 -9.0213710e-02 -3.4420875e-02 -4.5903674e-01 8.9978803e-01 -4.4690115e-01 -4.9167830e-02 -7.3791307e-01 -8.3835491e-02 -2.7292707e-01 4.4116606e-01 -7.1502192e-01 -7.8988319e-01 4.6557031e-01 7.9986116e-01 7.3593732e-01 1.9699761e-01 6.3272843e-01 -4.7038886e-01 -9.6390728e-01 7.5544927e-01 8.9510304e-01 -6.9223290e-01 -2.5564218e-01 8.2629759e-01 6.6167385e-01 -4.7163819e-01 -7.3054700e-01 -2.9218132e-01 -3.7994455e-01 3.4299604e-01 -7.3079969e-01 9.5449963e-01 -4.6683236e-01 -3.2503580e-01 3.8942707e-01 -1.8696136e-01 -6.5695678e-01 9.3940409e-01 6.9091131e-01 -3.2857373e-01 -2.5202969e-02 -6.0113873e-01 5.6439459e-01 7.1785275e-01 8.7292145e-01 9.6952331e-01 4.9277176e-02 1.3741125e-01 1.9976687e-01 -7.1352701e-01 -9.4921145e-01 3.8194338e-01 -8.1528601e-01 -8.7303199e-01 7.7880814e-01 2.1934848e-02 -6.4853818e-01 5.7300354e-02 7.3867113e-01 5.3847183e-01 6.6303550e-01 4.2002875e-01 9.6823456e-01 9.3669576e-01 -8.1663510e-01 7.3293081e-01 -1.2845804e-01 -7.4916878e-01 -2.6104403e-01 -8.4290714e-02 -2.6576210e-01 -6.0231801e-02 -1.5095157e-01 -2.4507145e-01 1.8281472e-01 -1.5493219e-01 4.6660107e-01 -9.8556031e-01 3.9572333e-01 6.3806180e-01 1.5429115e-01 -1.2548771e-01 4 | 1.3080788e-01 6.2280386e-01 6.0731272e-01 8.5499017e-01 1.2828182e-02 -3.9373288e-01 9.9921328e-01 5.6539434e-01 -7.7677358e-01 -9.1659770e-01 -1.2847561e-01 2.6571456e-01 8.5307681e-01 -5.8963893e-01 -9.8441730e-01 -3.8107008e-01 4.7835512e-02 -7.0381253e-01 -2.8477180e-01 7.3462428e-01 -3.9420866e-01 -8.7554544e-03 6.0185577e-01 9.5118293e-01 2.4775640e-01 1.6742810e-01 9.9995397e-01 -7.6106629e-01 -5.6781701e-01 -9.9009831e-01 9.6863278e-01 -2.8530607e-01 5.6243013e-01 -1.7083337e-01 9.6218875e-01 -7.1405991e-02 6.5020373e-01 -2.4276427e-01 7.1842147e-01 -5.8948952e-01 7.1904224e-02 7.3858045e-01 -8.3306127e-01 -2.4136450e-01 -9.9092974e-01 5.3549173e-01 -7.4313926e-01 -3.6258153e-01 2.2990177e-01 2.8333557e-01 9.5227861e-01 -4.8301853e-01 9.4532778e-01 -5.9642557e-02 9.3030265e-01 4.9096068e-01 -7.9971600e-01 4.7277876e-01 -9.0100541e-01 2.1737034e-01 1.6430482e-01 7.5456237e-01 -3.2875032e-01 5.0979525e-01 6.2954764e-01 -5.6423028e-01 5.2613962e-01 5.5871753e-01 -9.1761452e-02 4.0786515e-02 -9.1900924e-02 -6.1991054e-01 -5.3410998e-01 2.1914488e-01 6.4853971e-01 7.8741098e-01 5.3068063e-01 -9.6059916e-01 2.2091849e-01 7.8710052e-01 9.0935246e-01 -6.6989735e-01 -2.6504424e-01 3.0935303e-01 2.6623587e-01 -8.9872702e-01 8.8506812e-01 2.2574750e-01 -7.8154510e-01 8.6471679e-01 7.2393432e-01 -6.0044449e-01 5.0557575e-01 -1.7976410e-01 -3.8528650e-01 9.1843092e-01 -4.8518687e-01 7.2606240e-01 -2.8479108e-01 -7.3252923e-01 5 | 9.4045470e-01 -9.9192611e-01 5.5457715e-01 -2.1597936e-01 -7.6912292e-01 1.2382227e-01 7.1823621e-01 9.5209151e-01 -8.0930543e-01 -1.4029406e-03 -5.2435284e-01 -4.0630020e-02 -2.3424329e-01 6.5609510e-01 4.7041651e-01 6.5407971e-01 9.2997954e-01 4.7735662e-01 4.0780626e-01 5.3900275e-01 -6.5706080e-01 7.6813079e-01 3.9533735e-01 -6.5029956e-01 9.4782385e-01 7.0365647e-01 5.5395687e-01 1.2425918e-01 -5.8679702e-01 5.4110197e-01 -5.9372647e-01 -6.2040914e-01 7.9975274e-01 -4.4239372e-01 -7.5851338e-02 -9.7035544e-01 -7.2069865e-02 6.2957572e-01 -5.2415976e-02 7.6067194e-01 8.2064862e-01 8.1963381e-01 -4.4051271e-01 8.1761086e-01 6.1115038e-01 4.4021540e-01 -5.2570959e-01 -4.3847687e-01 -4.6670539e-01 3.2978360e-01 -6.9296355e-01 4.6784253e-01 9.5314240e-01 -1.0648663e-01 -2.0610357e-02 8.9378352e-01 8.9364337e-01 7.4426239e-01 4.7573579e-01 4.5523791e-01 2.5463275e-02 -2.6121194e-01 4.5803184e-01 5.9787620e-01 -8.1646527e-01 -8.5531901e-01 6.3053954e-01 -7.9426124e-01 1.2548611e-01 -5.6807732e-01 -7.6579961e-02 -4.6948261e-02 -8.7335736e-01 1.6467836e-01 3.2435982e-01 2.5772182e-01 1.6599543e-01 -4.8650182e-01 2.7970312e-01 -9.6486638e-01 -1.6223786e-01 7.7224922e-01 -6.9685600e-01 -1.6199165e-01 9.4517868e-02 -1.7546355e-01 -5.1593186e-01 -1.6011769e-01 2.0719209e-01 2.4414072e-02 -7.5892015e-01 7.5729220e-01 5.5881690e-01 -3.8894694e-01 -5.8202636e-01 -8.0034554e-01 -6.3877135e-01 5.9252934e-01 4.7002819e-01 -2.6034386e-02 6 | 2.1464044e-01 -7.8389199e-01 -2.6932543e-01 1.3255183e-01 4.1959299e-01 -1.4697343e-01 7.8968197e-02 5.4358953e-01 5.2707704e-01 1.3774290e-01 -5.0360622e-01 -9.7290135e-01 -9.4714972e-01 2.1742284e-01 6.6253507e-01 7.8510773e-01 -9.0936758e-01 5.4946451e-01 1.3433469e-01 -9.0565821e-01 2.1567313e-01 -4.9101322e-01 4.8342780e-01 1.2274769e-02 -1.4283104e-01 3.7381550e-01 -9.6947841e-01 -9.7817397e-01 -3.5528340e-01 6.8847856e-01 4.9575700e-01 8.7184492e-01 -9.3260448e-01 -6.4023043e-01 -6.8307834e-01 -7.7388893e-01 5.4768073e-01 5.2043756e-01 -4.0959328e-01 -3.8093457e-02 3.6367611e-03 -9.4631501e-01 -5.8726737e-01 2.4512428e-01 2.7981095e-01 -3.0762752e-01 6.8636250e-01 -8.1773072e-01 5.9481518e-01 -8.6048046e-01 -9.8497638e-01 -2.4782930e-01 -2.1991053e-01 2.1279232e-01 8.5259634e-01 2.2879168e-01 2.5151401e-01 -7.0130832e-01 3.9653091e-01 -4.3428715e-01 5.6951035e-01 -3.7355105e-01 9.9865091e-01 6.2048130e-01 7.6171606e-01 -6.8120590e-01 -5.8992946e-01 -3.6427619e-01 5.5411723e-01 -9.3033542e-01 9.9221561e-02 -2.2051373e-01 -7.0995118e-01 -5.5850342e-01 2.8659916e-02 7.8827541e-01 -9.8920814e-01 -5.4017534e-01 9.1347768e-01 9.8321645e-01 2.3565030e-01 -5.3915538e-01 -1.1991037e-01 -8.7803078e-01 -4.7030402e-01 9.3537051e-01 8.8245313e-01 4.5101805e-01 -3.0190528e-01 -2.5379850e-01 5.6548637e-01 -8.4671877e-01 2.9105914e-02 7.6152678e-01 6.2733030e-01 3.4031913e-01 1.7671682e-02 -4.2439130e-01 6.5344157e-01 7.6260240e-01 7 | -2.4804175e-01 9.2298944e-01 -3.6614585e-01 -8.1944549e-01 -7.1605386e-01 -7.4451954e-01 1.4334890e-01 -2.2924515e-01 -5.2137706e-01 -7.9815216e-01 -4.3988788e-01 4.6965905e-01 8.2942585e-03 -6.3710450e-01 -7.0092573e-01 -4.8436904e-01 4.1557278e-01 -9.0630920e-02 6.4720601e-01 6.1633694e-01 -7.6251481e-01 -6.2465865e-01 6.3479037e-01 -4.4276512e-01 -7.2306089e-01 -4.8778794e-01 1.6270156e-01 -5.6503636e-01 -8.0854809e-01 6.1396059e-01 7.3107710e-01 8.8069074e-01 9.5491341e-01 6.6118706e-02 -2.5668777e-01 1.7040418e-01 -5.2059010e-01 -4.5209722e-01 7.8721548e-01 -6.8850579e-01 -1.3738888e-01 4.9288577e-03 -1.8809258e-01 9.5520174e-01 6.4234518e-01 -6.2096444e-01 -4.1638057e-01 -6.2570615e-01 -8.6724616e-01 -3.5204208e-02 9.8566895e-01 5.2419534e-01 -5.9748664e-01 -5.3373481e-01 9.5927058e-01 -2.3456965e-02 -2.8212295e-02 -9.3610078e-01 1.2541082e-01 7.0329313e-01 1.5524930e-01 3.4668802e-01 -3.9359418e-01 9.4611193e-01 5.1481246e-02 9.3921049e-01 -7.4518975e-01 5.1018768e-01 -8.0242556e-01 3.7788589e-01 -5.5308212e-01 6.5023733e-01 -9.3734469e-01 -6.1110095e-01 9.9455592e-01 -8.0772627e-01 -1.5432325e-02 9.4010373e-01 -4.0679241e-01 -4.1499491e-02 -4.6215321e-01 8.2236893e-01 3.2201335e-01 4.2256656e-01 -1.2444662e-01 -6.2830537e-01 5.4146083e-02 8.9510353e-02 3.5626772e-01 -9.3499261e-01 6.0010013e-02 1.0787783e-02 1.6433554e-01 9.0669424e-02 9.2529303e-01 -2.3825747e-01 -3.5319418e-01 -4.3439444e-01 -2.0257336e-01 8.8415917e-02 8 | -9.5336791e-01 -4.5326848e-02 -4.9919048e-01 -3.8893471e-01 2.1812839e-01 3.7741757e-02 -1.2345698e-01 7.4718586e-01 -5.8853303e-01 -8.4577492e-01 -2.4680832e-01 -5.1327666e-01 5.3866332e-01 6.8547561e-01 5.5823909e-02 -2.4178107e-01 4.8305902e-01 -1.6206199e-01 1.1299746e-01 1.1900684e-01 8.5620755e-01 5.4381796e-01 -9.4993887e-01 -3.6842987e-01 -5.8522733e-01 -6.4273128e-02 8.7227641e-01 7.0451856e-01 4.0739302e-02 1.8143220e-01 4.3034837e-01 3.2777023e-01 6.0391522e-01 -5.2221996e-01 -8.2498405e-01 -2.1971768e-01 6.6797986e-01 -2.7120918e-01 -9.6376323e-01 5.5332886e-01 2.5386002e-01 3.0117925e-01 2.3847980e-02 1.6917255e-02 -1.9918476e-01 -4.0442321e-01 3.9160515e-01 -4.5183463e-01 -7.8501501e-01 -6.3124317e-01 -1.6320931e-01 -1.2044016e-01 -6.2590723e-02 -4.9049156e-01 8.5650831e-02 7.5592705e-01 -9.7396771e-01 -5.6129085e-01 -7.1539494e-01 -6.3588286e-01 1.2803078e-01 9.3299470e-01 -1.4128548e-02 -8.6104640e-01 8.6176609e-01 4.5675499e-01 -3.6338878e-01 4.2269484e-01 -3.0283573e-01 -8.5086850e-01 -2.7902231e-01 9.0449709e-01 -5.0654003e-01 -2.4473376e-01 -6.7660885e-01 -2.9984294e-01 1.4759812e-01 -2.0526533e-01 -3.9756751e-01 2.8773039e-01 -8.9136022e-02 1.8692015e-01 -7.6401175e-02 6.8525703e-01 -5.3943330e-01 5.6339335e-01 2.6418172e-01 7.4475976e-01 -3.7698655e-01 2.6728363e-01 -4.3333918e-01 7.1258644e-01 2.3580761e-01 -6.7899808e-01 9.1826213e-01 8.4113804e-01 3.0615582e-01 3.3911154e-01 1.5500180e-01 3.0704578e-01 9 | -6.6070058e-01 -4.5006546e-01 8.6495903e-01 2.5545250e-01 6.2089537e-01 -3.8171390e-01 3.7214762e-01 1.8002752e-01 3.7478088e-01 -7.6332549e-01 -7.5252957e-01 8.2218298e-01 -9.3246560e-01 5.9982460e-01 -7.4485413e-02 -1.6063789e-01 1.0420558e-01 -8.4634907e-01 4.3041826e-01 1.2642195e-02 6.5990361e-01 -9.6229541e-01 4.2375153e-01 -7.4456511e-02 1.0455292e-01 5.0351734e-01 1.5429019e-01 4.5414903e-01 3.3498544e-01 -9.1095832e-01 -2.5554964e-01 1.5631518e-02 -4.8951993e-01 8.4449482e-01 5.0707881e-01 -7.2111496e-01 7.6985081e-01 5.7806034e-01 2.4928994e-01 -3.5369248e-01 -2.0689316e-01 -9.5956408e-01 -9.6880406e-01 -4.8326380e-01 -6.6795802e-01 -9.7512483e-01 -7.7776047e-01 2.5931101e-01 -5.2829784e-02 -2.2819300e-01 4.9060212e-01 -3.9458941e-01 -9.0630430e-01 -9.0718753e-01 2.9197561e-02 9.6160863e-01 -6.4617823e-01 -5.4267194e-01 8.5965577e-01 -1.3930355e-01 3.2054647e-01 -1.7938705e-01 7.0885294e-01 4.6527163e-01 2.3726989e-01 -2.2391762e-01 -3.0149323e-01 7.2330895e-02 4.4215260e-03 -5.0093218e-01 -5.2715871e-01 -8.1769455e-01 -2.6704184e-02 -6.5241941e-01 2.5419548e-01 -3.2977282e-02 -6.4539453e-02 2.7199974e-01 -8.3094620e-01 3.0355577e-01 7.9130524e-01 8.5187825e-01 7.3301392e-01 9.6940446e-01 3.6167004e-01 -3.9068483e-01 3.7326434e-01 -4.4186191e-01 -9.5028436e-01 -1.1556935e-01 7.6335332e-01 -2.7331269e-01 8.1303838e-01 -4.2344145e-01 3.1792980e-01 1.4538654e-01 -3.9425429e-01 2.0385825e-01 -5.9851786e-01 -3.4423482e-01 10 | -7.1392814e-01 -7.4062581e-01 9.0261325e-01 8.0022017e-01 -8.7598295e-02 -4.9211254e-01 -9.5306493e-01 9.8144592e-01 -3.2556879e-01 9.0057207e-01 -4.1737909e-01 -3.9699624e-01 1.7476943e-01 3.5553376e-01 2.4234426e-01 9.9776083e-03 5.7031980e-01 -8.2159990e-01 -4.0806861e-01 1.9770487e-01 5.8483519e-01 2.0913702e-01 2.6756849e-01 3.2547904e-01 -5.4646432e-01 -1.1796392e-01 -8.6116797e-01 2.7115941e-01 -9.1914065e-01 6.7910147e-01 9.7908497e-02 -3.5004071e-01 1.6729017e-01 4.6986424e-01 -7.4913000e-01 -1.9274544e-01 -5.4785151e-01 9.7369087e-01 -6.3176052e-01 -8.7236473e-01 -3.8229707e-01 7.1341347e-01 7.6064843e-01 5.5060489e-01 -7.1540584e-01 -3.9315801e-02 8.6312356e-01 -1.2287906e-01 8.6817048e-01 -3.8205953e-01 4.2446158e-01 5.4429770e-02 -6.1963329e-01 -7.5511600e-01 -4.7775935e-01 7.9711929e-01 5.0133523e-01 -1.8890873e-01 5.1012278e-01 -7.7400642e-02 -2.7679603e-01 -5.9860951e-02 -2.6132498e-01 -2.4213009e-01 -3.2464264e-01 3.1182475e-01 2.5221762e-01 3.0126849e-01 -1.7379521e-01 -5.8868244e-01 1.3135675e-02 1.1164853e-02 -3.5841178e-02 8.4558031e-01 -3.7610475e-01 -4.8475392e-01 -5.3966363e-02 -7.6107510e-01 -9.5443828e-01 7.9963358e-01 -4.1481294e-01 -7.1860660e-01 -7.5160014e-01 6.2649921e-01 3.3010664e-01 6.0840350e-01 -7.5125798e-01 3.1626909e-02 9.1163472e-01 9.8030179e-01 -2.2255259e-01 -9.8229163e-01 -3.2733009e-01 6.4008438e-01 -3.0039009e-01 8.2643071e-01 -7.9921950e-01 -4.5037090e-02 -2.9504261e-02 8.5934081e-01 11 | 9.1104271e-01 -1.0377938e-01 8.0350211e-01 -2.8655360e-01 4.9018011e-01 7.2766834e-01 -2.8371255e-01 4.2942642e-01 7.1444384e-01 8.4768989e-01 -1.5721634e-01 -3.8540019e-02 7.0564490e-01 2.8488816e-01 9.0993656e-01 -8.2662545e-01 8.4033365e-01 7.7982525e-01 3.8112441e-01 6.5631830e-01 8.3967889e-01 5.5961666e-01 -5.9602508e-01 2.5016562e-02 -3.0070620e-02 8.0203826e-01 -4.1210679e-01 -7.4593403e-01 -6.3453071e-01 -1.1865573e-01 -9.5232005e-01 8.5987255e-01 4.9484764e-01 3.3169985e-01 -4.7951928e-01 4.3863384e-01 6.2278042e-01 -3.2926201e-02 9.4405250e-01 1.0926972e-01 -6.2813772e-02 6.9269087e-01 6.0852209e-01 -4.7560925e-01 2.2414660e-01 -9.7752008e-01 -9.6126046e-01 -4.1175953e-01 7.1856323e-01 9.1357093e-01 9.0455773e-01 -3.9051054e-01 2.5062857e-01 8.6198205e-01 -7.6725076e-01 -2.6610503e-01 -1.8974007e-01 6.3652848e-01 1.2314118e-02 6.9339816e-01 -3.7069281e-01 8.7593374e-01 -3.4286589e-02 -7.6307853e-01 3.8424686e-01 -1.9389270e-01 7.7069490e-01 3.6372463e-01 3.9066686e-01 1.2527990e-01 6.4342587e-02 7.3944325e-01 2.4346175e-01 -1.6843794e-01 2.6696741e-01 -6.5355126e-01 -2.0853210e-01 -6.0333608e-01 5.6925584e-01 2.4084424e-01 -2.3396254e-01 -6.1904591e-01 -3.2466295e-01 -7.2851911e-01 -4.4693811e-01 6.5268662e-01 5.2119384e-01 8.1034799e-01 -4.3317142e-02 -8.2374091e-01 -4.6688515e-02 -6.8617966e-01 -9.8405701e-01 -9.6996930e-01 4.9297864e-01 9.2185194e-01 7.0870265e-01 -3.7233918e-01 3.2411328e-01 2.5997714e-01 12 | 6.2043322e-01 -4.9497802e-01 5.8461727e-01 3.2855707e-01 -1.1204040e-01 -1.8195602e-01 -9.4304631e-01 -1.9138912e-01 3.5621426e-01 3.5720396e-01 1.5350362e-02 2.5931258e-01 -6.7439691e-01 -9.2014669e-01 -6.5662346e-03 6.6739832e-01 -5.3894573e-01 4.5349577e-01 -2.6878467e-01 2.8031463e-01 4.7970699e-01 -1.4122349e-02 2.9187696e-01 1.0978499e-01 -6.3053681e-01 9.4162332e-02 6.8839377e-01 1.3779697e-01 5.3035030e-01 -7.3050174e-02 -2.9474741e-01 -7.9244308e-01 9.3476590e-01 7.0102374e-01 4.0396635e-01 8.3052619e-01 -5.4743044e-01 4.2507176e-02 9.2990783e-01 -1.0662808e-01 -6.4492280e-01 5.4866616e-01 1.0289150e-01 5.3159061e-01 1.6669416e-01 5.8046437e-01 2.9541729e-01 8.5826880e-01 6.3378911e-01 6.1605014e-01 4.1150343e-01 4.4471001e-01 2.6658586e-01 7.6268472e-01 -5.2873821e-01 -2.3483962e-01 -2.9639090e-01 4.5936200e-01 7.0360211e-01 -5.6245122e-01 2.1784642e-01 3.6164010e-01 2.9820013e-01 -6.0086461e-01 4.7594904e-01 9.4621482e-02 -9.5518204e-02 -7.0349697e-01 -7.3112681e-01 -5.8881493e-01 1.5786918e-02 -1.2262828e-01 8.0878478e-01 1.1593059e-01 -9.4755651e-01 -3.9810697e-01 -8.5626123e-01 -9.8569421e-01 7.6133703e-01 -2.8560384e-02 -5.3262107e-01 -7.2342054e-01 -5.1070401e-01 5.5065952e-01 -9.9790134e-02 -3.5548977e-02 -1.6338879e-01 2.1320996e-01 -9.7766739e-01 8.6963237e-01 -4.8931773e-01 -7.3397695e-01 7.7198957e-01 -3.8971465e-01 7.0243438e-01 1.4194686e-01 7.1331960e-01 8.8381735e-01 9.2590796e-01 -3.9338605e-01 13 | 1.8475179e-01 -8.2159343e-01 6.7207003e-01 -9.2391334e-01 6.3231235e-01 -3.3613914e-01 -2.9468317e-01 -6.5131022e-01 7.0183191e-01 -6.9008776e-01 -1.2167281e-01 -9.0414254e-01 -1.9129293e-02 -8.6412633e-02 -8.4976492e-01 -2.1803852e-01 -2.8766280e-01 3.5382408e-01 9.9401724e-01 -1.4722833e-01 1.0289716e-02 2.5616753e-01 1.2254307e-01 8.8896463e-01 -3.8962356e-01 2.1525090e-01 -2.6592672e-01 -5.6350538e-02 7.4409748e-01 -3.2723369e-01 5.6869110e-01 -7.3838543e-01 -8.0866814e-01 4.3007803e-01 -5.4256405e-01 9.8241343e-02 -6.8934400e-01 -5.6780234e-01 9.5467454e-01 6.2980919e-01 -4.0675908e-01 7.3484421e-01 -2.4433106e-01 3.3841622e-01 8.0325572e-01 3.2329118e-02 -1.6120568e-01 -5.4721999e-01 4.7721437e-01 3.8500778e-01 6.1422859e-01 -6.6277543e-01 9.2263789e-01 -1.2511874e-01 -1.3529656e-01 -5.7111690e-02 6.8830686e-01 -9.9035407e-01 3.7206687e-01 -2.4091627e-01 1.6382196e-01 4.0908317e-01 7.1398509e-02 -7.5804156e-01 -6.8331415e-01 -3.0867621e-01 4.9037465e-01 9.9858509e-01 5.3279743e-01 9.2695352e-02 2.2116479e-01 -5.0517543e-01 -8.2803719e-02 -9.6224443e-01 1.8015388e-01 -5.2026755e-01 -5.5282374e-01 -1.6297213e-01 1.9930939e-01 2.4921231e-01 8.7108785e-01 -4.5019056e-01 5.9523676e-01 9.1958090e-01 -6.6442533e-01 -1.9615282e-01 5.0574994e-01 3.6331675e-02 5.9422873e-02 -9.7290773e-01 -2.4668384e-01 -2.5473998e-01 -7.5226500e-01 1.4387600e-01 2.1063476e-01 4.5516352e-01 7.1715771e-01 2.5015362e-01 1.5456172e-01 -6.6448216e-02 14 | 1.5646879e-01 4.3511252e-01 2.9702924e-01 1.0873241e-01 9.8164136e-01 8.0159353e-01 -1.0630578e-02 -9.4971924e-01 -9.1584575e-01 2.8357534e-01 -6.0650469e-03 7.5591722e-01 8.3591305e-01 -7.2331748e-01 3.7245009e-01 -5.5968521e-01 4.6375165e-01 2.8539755e-01 -5.4488000e-01 1.5381975e-01 8.6919002e-01 -7.5298814e-01 -5.5325796e-01 1.4940458e-01 5.7857043e-01 4.9252466e-01 -7.3111842e-01 -6.8499418e-01 -7.3028691e-02 -4.2312343e-01 7.0178297e-01 -3.6857866e-01 1.5570941e-01 6.1430415e-01 2.3429732e-01 5.9140932e-01 3.4839945e-02 4.1534113e-01 3.7081427e-01 9.9488361e-01 4.6758628e-01 -9.4546888e-01 -1.6882958e-01 -3.7152711e-01 -3.0228678e-01 2.7858875e-02 5.4283257e-02 -7.9501641e-01 -4.5429589e-01 4.0162338e-01 -8.4305776e-01 -1.2677017e-01 4.3736979e-01 -9.7579165e-01 -4.7358976e-01 2.4431161e-01 -2.1595511e-01 2.5637497e-01 -8.0563761e-01 2.4016856e-01 -1.0592279e-01 7.2021114e-01 3.0377808e-01 -3.3405187e-01 7.4950150e-01 8.2174101e-01 -4.7004923e-01 -2.3919479e-01 1.7639286e-01 -4.6651939e-02 -5.0627343e-01 -5.6711128e-01 -8.3342239e-01 8.0920016e-01 -2.6685217e-02 6.6519814e-01 -5.7843252e-01 9.1700196e-01 -6.2060443e-01 7.4659311e-01 8.6945032e-03 -1.7047962e-02 6.7220083e-01 2.2212471e-01 -9.3066433e-01 -6.5779841e-01 2.0211268e-01 5.5713838e-01 9.8116466e-01 8.7030971e-01 -6.0465602e-01 3.1281637e-01 1.8796315e-01 -1.8182698e-01 5.1624327e-01 4.5500529e-01 2.8347058e-01 -5.4238760e-01 1.5984005e-01 9.8172031e-01 15 | -5.9743558e-01 5.3775587e-01 6.0616177e-01 2.3318400e-01 8.8207968e-01 -6.8354810e-01 -8.9910147e-01 -4.8051067e-01 -2.3010060e-01 -4.1124402e-01 -8.4873672e-01 3.3103618e-01 5.7725666e-01 9.0639976e-01 7.2881611e-01 -8.6305264e-01 6.1397880e-02 8.5542552e-01 -9.9406196e-01 3.6055117e-01 -3.7003660e-01 -7.4038728e-01 3.4495452e-02 -3.5933359e-02 3.7985451e-01 -5.2853351e-01 -7.8144002e-01 9.7195718e-01 -3.0927107e-01 -4.9966055e-01 -8.7196954e-01 -6.5232344e-01 3.6094193e-01 -9.8984101e-01 5.8656182e-01 -2.9385323e-01 7.8113881e-01 -9.9501863e-01 -2.6342523e-01 -7.6861471e-01 7.9147963e-01 -5.5906682e-01 4.7931476e-01 1.0352386e-01 5.5392070e-01 3.3336897e-01 -9.5037755e-01 7.7997451e-01 6.9558130e-01 1.5743195e-01 -7.0076140e-01 4.6628241e-01 1.8776595e-01 8.6582132e-01 6.9341605e-01 1.5861033e-01 -6.6028005e-01 -1.5470652e-01 -2.8769374e-01 4.5224901e-01 9.2821181e-01 9.3589679e-01 2.9595826e-01 -3.8721046e-01 7.5016207e-02 9.4644619e-01 -2.4985667e-01 9.3904051e-01 -5.6101910e-01 -8.7465711e-01 -9.8913600e-01 3.2527941e-01 -5.4676302e-01 9.2312430e-01 4.8873146e-01 -4.5061586e-01 -7.3719189e-01 5.4877850e-01 6.6339680e-01 -1.0981480e-01 3.5943531e-01 -3.4369905e-01 -1.0893696e-01 -3.8294650e-01 3.8605875e-01 4.4879870e-02 -2.1623529e-01 -4.6700346e-01 -1.1009700e-01 -7.6775466e-01 8.4223748e-02 -6.1666811e-01 9.7847857e-01 8.5035538e-02 2.1303599e-01 -2.3229294e-01 -7.4881830e-01 -4.1004276e-01 1.9480453e-01 -1.8439370e-01 16 | -5.6953741e-01 -4.4983657e-01 -8.2850727e-01 3.8305829e-01 -5.1288797e-01 7.6754290e-01 -3.4477790e-01 -6.5233182e-01 -1.7579952e-01 -6.3185243e-01 -5.3268925e-01 9.7507996e-01 3.9272824e-02 -7.6571161e-01 -1.5857976e-01 3.9343754e-01 -5.2739834e-01 -3.2201669e-01 -1.8918706e-02 3.5487849e-01 -3.8856074e-01 8.1134493e-02 8.2111916e-02 1.2005593e-01 -2.1607139e-01 5.6168004e-01 4.9004850e-01 -7.8518363e-01 -2.3139484e-01 -5.6401074e-01 9.6717470e-01 -9.5797935e-01 -8.1263257e-01 3.4277902e-01 6.8533667e-01 6.4701889e-01 9.8478841e-01 3.6298878e-01 -3.4681130e-01 1.2581459e-01 -4.5584923e-01 -1.2962363e-01 -8.6706404e-01 -2.2630844e-01 9.0388503e-01 -1.1995724e-01 -5.2083614e-01 -6.5171827e-01 -5.4765942e-01 1.8021546e-02 -1.6733931e-01 1.7242151e-01 3.2002998e-01 -7.4020719e-03 8.8147133e-01 2.0241048e-01 -2.7375345e-01 8.7524498e-01 5.3444199e-01 3.3389168e-01 -5.4584884e-01 6.9751060e-01 -6.8356382e-01 1.4958544e-01 -6.0864030e-02 4.0011609e-01 9.5665756e-01 -3.6984590e-01 -4.3348865e-01 6.4685137e-01 -7.5481770e-01 7.8136734e-01 -7.1103798e-01 -2.8707023e-02 3.9875083e-01 1.4729691e-01 -1.1747458e-01 3.9564304e-01 7.9316849e-02 6.5733962e-01 -5.8362796e-01 -1.8824165e-01 4.6661994e-01 -3.8476053e-01 -5.6943987e-01 5.5491316e-01 -5.0023572e-01 -9.6414655e-01 3.0898543e-01 3.8988760e-01 -1.6287493e-01 9.7227608e-01 -2.9888466e-01 8.4396417e-01 -9.6309512e-01 -8.9796733e-01 2.7757326e-01 -1.8298714e-01 -4.1807669e-01 6.7600447e-02 17 | 1.6430192e-01 8.1120714e-01 1.8627945e-01 5.3722843e-01 -3.9408046e-02 -4.9275130e-03 -3.5500228e-01 6.5531544e-01 6.1483399e-01 -7.5543565e-01 -1.3959113e-01 -8.3191426e-01 -9.1755300e-01 -6.3897089e-01 -9.5480910e-01 -9.3850080e-01 -5.5433265e-01 2.4225044e-01 -3.7699818e-01 -5.3360659e-01 5.9472592e-01 2.2403065e-01 4.3357921e-01 -9.0557004e-02 7.1310893e-01 6.8814188e-01 -2.0941407e-01 2.2840925e-01 1.9387943e-01 6.6526685e-01 -1.7242517e-01 2.0596860e-01 -4.0555803e-01 -2.1284561e-01 7.8364270e-01 3.7532114e-02 -7.9396374e-01 -4.7176563e-01 4.6350997e-01 -2.3122860e-01 6.8735487e-01 -4.8073263e-02 1.9894809e-01 5.4489479e-01 6.4804036e-01 8.1203767e-01 2.5790179e-01 9.5924416e-01 6.1980481e-02 -4.9431345e-01 7.6347723e-01 -7.2723349e-01 3.8423093e-01 -6.8324988e-01 -6.4330763e-01 -1.8146344e-01 4.6797853e-01 2.1526599e-02 4.8682442e-01 -6.6913542e-01 -2.3389692e-01 -9.9047305e-01 -5.6278677e-01 -2.7086003e-01 5.6004701e-01 9.8481421e-01 3.7887163e-02 -1.8550544e-01 8.4725104e-01 7.8664218e-01 -8.4420250e-01 7.9421935e-01 -5.9135718e-01 -5.1648310e-02 7.8065200e-01 -8.7963141e-01 -3.0909306e-01 3.5622573e-02 8.1466201e-01 6.9529560e-01 3.1258391e-01 -1.3356715e-01 -9.7645126e-01 -1.1601483e-01 7.7839544e-01 -1.8493456e-01 -2.0104559e-01 -5.3609542e-01 7.2323724e-02 -9.2024839e-01 4.3144293e-01 -7.0860133e-01 1.3744086e-01 7.4998593e-01 -2.0738768e-02 1.2120534e-01 -5.8606264e-02 8.2168303e-01 -1.9373800e-02 3.6384699e-01 18 | -4.9521265e-01 -2.4323867e-01 6.9994945e-01 -4.2823107e-01 9.4485684e-01 7.2397796e-01 -8.5679296e-01 -5.8250741e-01 -9.4524231e-01 3.9539170e-02 1.7277675e-01 7.6684971e-01 8.4634671e-01 -8.5009959e-01 5.3097947e-01 7.8619239e-01 9.4030431e-01 -7.5991482e-01 -8.7867372e-01 -7.8243914e-01 -7.0081111e-01 8.6772281e-01 -7.8381935e-01 5.4273632e-01 4.8873655e-01 -2.4351137e-01 -7.5117288e-01 1.6716224e-01 -7.6924010e-01 7.4811172e-01 -4.1926411e-01 8.6781556e-01 -4.1589748e-01 -5.3400479e-01 -6.2180975e-01 8.0234847e-01 9.0521441e-01 -5.8127893e-01 6.3835043e-01 1.4006008e-01 -2.5394228e-01 3.9325120e-01 -6.0777677e-01 6.7886718e-01 3.8295105e-02 3.8998826e-01 9.6695827e-01 -9.3727784e-01 -3.0632091e-01 -7.4697155e-01 -4.2743531e-02 -4.4655746e-01 -9.6620350e-01 6.2925214e-02 6.2396868e-01 9.7487674e-01 -7.6108697e-01 7.8025782e-01 4.6364836e-01 2.1364906e-01 -7.8483038e-01 2.2376105e-01 -9.3857733e-01 -7.0513580e-01 2.7154686e-01 -4.4790341e-01 9.7395827e-01 5.7260080e-01 -2.8702697e-02 -6.3892878e-01 -9.0185586e-01 2.7590154e-01 -2.0579369e-01 -7.4766235e-02 7.7513069e-02 5.3210006e-01 1.6874804e-01 6.2529828e-01 6.8045078e-01 -6.0941461e-01 -7.9660937e-01 3.0589486e-01 -9.4217007e-01 8.5383658e-02 -6.1256275e-01 -4.6829645e-01 -1.7606979e-01 -9.2909047e-01 2.1392726e-01 6.7292477e-01 -1.6096085e-01 1.6432704e-01 -2.6596561e-01 9.7771572e-01 2.7830535e-01 -8.3784572e-01 3.7284717e-01 -2.8034405e-01 -3.9824941e-01 -8.7643793e-01 19 | -6.2765596e-01 -5.0168660e-01 8.2232991e-01 -5.2423626e-02 6.2010315e-01 7.3333554e-01 -2.6034450e-01 -2.7656315e-01 1.4365083e-01 -1.2099289e-01 8.8802494e-02 7.7219244e-01 2.9208963e-01 -9.9747536e-01 -8.2268112e-01 9.2025966e-01 -5.9485146e-01 -5.2774077e-01 -9.3499648e-01 -1.4936280e-01 -6.3631323e-01 7.7714524e-01 -2.3657613e-01 1.0282097e-01 8.4546508e-01 -5.0513393e-01 4.6283491e-01 -8.4331834e-02 7.8362354e-01 -9.6525325e-01 -3.4317555e-01 -3.2479595e-01 7.5894716e-01 8.9539101e-01 -9.0008882e-02 -9.8522851e-01 -4.5599401e-01 -2.8182813e-02 3.2200959e-01 2.7585117e-01 2.4024131e-01 7.4466227e-01 -3.7438055e-01 1.5414839e-01 -9.5870403e-01 3.0454310e-01 -3.3213860e-01 -6.1755256e-01 4.6557597e-01 2.0589661e-01 -8.2438987e-01 -1.6442640e-01 -1.8769353e-01 8.0488402e-01 -6.1074191e-01 -1.3739463e-01 -7.6517136e-01 7.4579948e-01 3.6186519e-01 -9.6950184e-01 7.9180957e-01 -7.6382163e-01 1.7143764e-01 -3.4210510e-01 -3.9301678e-01 4.9906696e-01 7.3246600e-01 1.2055468e-01 3.4123695e-01 4.0870252e-01 -8.4115290e-01 5.9207627e-01 7.6482387e-02 5.4687260e-01 3.1569210e-01 -7.8164632e-01 1.6069698e-01 3.3479683e-01 -1.5561901e-01 -2.8994036e-01 -7.7471823e-01 -1.8487149e-01 6.9159700e-01 -3.6723416e-01 -2.3186628e-01 4.3885902e-01 -7.6152998e-01 -3.2323766e-01 -5.2898572e-01 -9.0959227e-01 -9.0680699e-01 -7.1346182e-01 5.4862475e-01 -6.0746874e-01 -6.5326343e-01 4.9212291e-01 6.0330507e-01 5.5403756e-01 3.3926332e-01 -9.3914136e-01 20 | -1.0336774e-01 4.8818842e-01 -9.9765822e-02 2.9364431e-01 -1.2505314e-01 2.5116675e-01 -6.9819721e-01 -3.4361156e-01 9.3179274e-01 -1.1268479e-02 -6.3441740e-01 4.0245284e-01 -2.6285598e-01 -6.8918183e-01 -1.3897843e-01 -7.1738374e-01 -2.2182891e-01 -5.4645802e-01 -3.8204280e-01 -5.1836628e-01 -4.9957516e-01 -8.4077500e-01 -5.1680393e-01 -4.3646729e-02 -3.3127471e-01 4.8796340e-01 -3.3379821e-01 1.2996662e-01 5.1850330e-01 -3.7500637e-01 -4.4416447e-01 -5.1451724e-01 8.9680246e-01 -8.8464886e-01 -6.6041612e-01 -5.2050590e-01 -2.3922385e-01 -6.2505741e-01 3.8402163e-01 1.9320053e-01 7.7576379e-01 -1.6313499e-02 -8.8125629e-01 -4.9068894e-01 9.4218099e-01 3.7197328e-01 7.4275085e-01 -7.3870055e-01 9.9285185e-01 -2.1795442e-01 5.8050368e-01 -3.1441180e-01 -6.4129300e-02 -4.3406213e-01 1.1987149e-02 -7.9223728e-01 3.8549848e-02 1.7864208e-01 -5.3199585e-01 1.2266312e-01 -2.3099288e-01 6.6934572e-02 3.7945195e-01 -4.9242303e-01 5.5381361e-02 -4.4688904e-01 8.9598173e-01 -4.6092495e-01 8.7191616e-01 -7.1400881e-01 1.2784548e-01 4.7671448e-01 9.4579246e-01 6.4800451e-01 -7.2471627e-01 2.7321864e-02 3.5327150e-01 -7.4734741e-01 2.7322521e-01 -6.9701232e-01 -2.9977035e-01 2.0505526e-01 -7.1775330e-01 8.3079161e-01 -3.6614076e-01 7.2278180e-01 9.2383333e-01 -1.0796303e-01 -7.9200792e-02 -8.6805179e-01 -1.4065819e-01 -5.1411312e-01 -4.0267561e-01 -8.9370021e-01 4.4849337e-01 7.9955309e-04 9.2654108e-02 2.3633632e-02 -5.3658611e-01 5.6084375e-01 21 | -------------------------------------------------------------------------------- /Assignment3/data/q3/y.dat: -------------------------------------------------------------------------------- 1 | -1.1065293e+00 2 | -1.8558910e+00 3 | 1.6416981e+00 4 | -5.8737811e-01 5 | 2.6435116e-01 6 | -8.0190103e-01 7 | 2.2672779e+00 8 | -1.4993417e-01 9 | -2.2999530e+00 10 | -2.4264284e+00 11 | -4.0157226e-01 12 | -6.1890159e-01 13 | -9.1012241e-01 14 | -8.6550548e-01 15 | -1.5035964e+00 16 | 6.5412470e-02 17 | 2.8896452e-01 18 | -1.6607423e+00 19 | -2.0805477e+00 20 | 2.8698334e-01 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # stanfordMachineLearning 2 | A set of solutions in Python to Andrew Ng's Stanford Machine Learning course taught in '08. 3 | --------------------------------------------------------------------------------