{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Recitation 1+2: linear regression and polynomial features" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "\n", "\n", "x = np.linspace(0,1,10)\n", "\n", "beta0 = 1\n", "beta1 = 1\n", "\n", "beta = np.asarray([beta0, beta1])\n", "\n", "t = beta0 + beta1*x\n", "tnoisy = beta0 + beta1*x + np.random.normal(0,.1, len(x))\n", "\n", "plt.scatter(x, tnoisy, c='r')\n", "plt.plot(x, t)\n", "\n", "plt.show()\n", "\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "\n", "\n", "maxIter = 1000\n", "\n", "\n", "N= len(x)\n", "\n", "\n", "# sum_{i=1}^N (t_i - (beta0 + beta1 x_1 ))^2 \n", "\n", "# X_tilde [x_1tilde, x2_tilde, ...]\n", "# xi_tilde = [1, x]\n", "\n", "X_tilde = np.hstack((np.ones((len(x),1)) , x.reshape(-1,1)))\n", "\n", "eta = .01\n", "currentIter = 0\n", "\n", "learned_beta = np.random.normal(0,1,(2,))\n", "\n", "while currentIter < maxIter:\n", " \n", " gradient_beta0 = 2/N * np.sum(tnoisy - np.dot(X_tilde,learned_beta))*(-1)\n", " gradient_beta1 = 2/N * np.sum(np.multiply(\\\n", " tnoisy - np.dot(X_tilde,learned_beta),-x))\n", " \n", " grad = np.asarray([gradient_beta0, gradient_beta1])\n", " \n", " learned_beta = learned_beta - eta*grad\n", " \n", " currentIter+=1\n", " \n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "x_prediction = np.linspace(0,1,100)\n", "\n", "xprediction_tilde = np.hstack((np.ones((len(x_prediction),1)), \\\n", " x_prediction.reshape(-1,1)))\n", "\n", "prediction = np.dot(xprediction_tilde, learned_beta)\n", "\n", "plt.scatter(x, tnoisy, c='r')\n", "plt.plot(x, t)\n", "plt.plot(x_prediction, prediction, c='g')\n", "plt.show()\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1. 1.]\n", "[[1.]\n", " [1.]]\n", "(2, 1)\n" ] } ], "source": [ "a = np.ones((2,))\n", "print(a)\n", "np.shape(a)\n", "b = a.reshape(-1,1)\n", "print(b)\n", "print(np.shape(b))" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from sklearn.linear_model import LinearRegression\n", "\n", "reg = LinearRegression()\n", "reg.fit(x.reshape(-1,1), tnoisy.reshape(-1,1))\n", "\n", "xprediction = np.linspace(0,1,100)\n", "\n", "# estimate prediction from our model on the new set of points \n", "prediction = reg.predict(xprediction.reshape(-1,1))\n", "\n", "plt.scatter(x, tnoisy, c='r')\n", "plt.plot(x, t)\n", "plt.plot(xprediction,prediction, c='g')\n", "plt.show()\n" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "x = np.linspace(-2,1,10)\n", "\n", "t = .1 + x + x**2\n", "\n", "tnoisy = .1 + x + x**2 + np.random.normal(0,.1,(len(x),))\n", "\n", "plt.scatter(x, tnoisy, c='r')\n", "plt.plot(x, t)\n", "plt.show()\n" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 1. -2. 4. ]\n", " [ 1. -1.66666667 2.77777778]\n", " [ 1. -1.33333333 1.77777778]\n", " [ 1. -1. 1. ]\n", " [ 1. -0.66666667 0.44444444]\n", " [ 1. -0.33333333 0.11111111]\n", " [ 1. 0. 0. ]\n", " [ 1. 0.33333333 0.11111111]\n", " [ 1. 0.66666667 0.44444444]\n", " [ 1. 1. 1. ]]\n" ] } ], "source": [ "#1, x, x**2 = (1,x1, x2)\n", "\n", "# h_beta = beta0 + beta1*x1 + beta2*x2 = beta0 beta1*x + beta2 * x**2\n", "\n", "from sklearn.preprocessing import PolynomialFeatures\n", "\n", "my_poly = PolynomialFeatures(2)\n", "\n", "Xtilde = my_poly.fit_transform(x.reshape(-1,1))\n", "\n", "print(Xtilde)\n", "\n", "# each row of the Xtilde matrix is one feature vector xtilde^{(i)}\n" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [], "source": [ "from sklearn.linear_model import LinearRegression\n", "\n", "reg = LinearRegression()\n", "reg.fit(Xtilde, tnoisy.reshape(-1,1))\n", "\n", "xprediction = np.linspace(-2,1,100)\n", "\n", "Xtildeprediction = my_poly.fit_transform(xprediction.reshape(-1,1))\n", "\n", "#print(Xtildeprediction)" ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "\n", "# estimate prediction from our model on the new set of points \n", "prediction = reg.predict(Xtildeprediction)\n", "\n", "plt.scatter(x, tnoisy, c='r')\n", "plt.plot(x, t)\n", "plt.plot(xprediction,prediction, c='g')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig = plt.figure()\n", "ax = fig.add_subplot(projection='3d')\n", "ax.scatter(Xtilde[:,1], Xtilde[:,2], tnoisy, c='r')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [], "source": [ "x1min = np.min(Xtilde[:,1])\n", "x1max = np.max(Xtilde[:,1])\n", "\n", "x2min = np.min(Xtilde[:,2])\n", "x2max = np.max(Xtilde[:,2])\n", "\n", "x1 = np.linspace(x1min, x1max, 50)\n", "x2 = np.linspace(x2min, x2max, 50)\n", "\n", "xx1, xx2 = np.meshgrid(x1,x2)\n", "\n", "xx1vec = xx1.flatten().reshape(-1,1)\n", "xx2vec = xx2.flatten().reshape(-1,1)\n" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "Xprediction = np.hstack((xx1vec, xx2vec))\n", "Xprediction = np.hstack((np.ones((np.shape(Xprediction)[0],1)), Xprediction))\n", "\n", " \n", " \n", "prediction_target = reg.predict(Xprediction)\n", "\n", "\n", "fig = plt.figure()\n", "ax = fig.add_subplot(projection='3d')\n", "ax.scatter(Xtilde[:,1], Xtilde[:,2], tnoisy, c='r')\n", "ax.plot_surface(xx1, xx2, np.reshape(prediction_target, np.shape(xx1)),\\\n", " alpha=.2)\n", "plt.show()" ] } ], "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 }