{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# CMSC 726: Machine Learning Course at UMD\n", "# Instructor: Soheil Feizi\n", "\n", "# imports\n", "import numpy as np\n", "import scipy as sc\n", "import numpy.linalg as LA\n", "import matplotlib.pyplot as plt\n", "\n", "# this allows plots to appear directly in the notebook\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# generating data\n", "\n", "m = 1000\n", "x1 = np.random.randn(m,1)\n", "y = x1 * 2 + 3 + 0.5* np.random.randn(m,1) " ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0,0.5,'y')" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(x1,y,'o',markersize=2)\n", "plt.xlabel('x1')\n", "plt.ylabel('y')" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# defining the cost function\n", "def compute_cost(x1,y,theta):\n", " return np.sum(np.power(y-theta[1]*x1-theta[0],2))/2" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# input features\n", "x0 = np.ones([m,1])\n", "X = np.asmatrix(np.stack([x0,x1],axis=1))" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "('optimal theta = ', array([3.01053619]), array([1.99957494]))\n" ] } ], "source": [ "# computing optimal parameters using the closed form formula\n", "x0 = np.ones([m,1])\n", "X=np.asmatrix(np.stack([x0,x1],axis=1))\n", "theta_opt=LA.inv(np.transpose(X)*X)*np.transpose(X)*(np.asmatrix(y))\n", "theta_opt=np.asarray(theta_opt)\n", "print('optimal theta = ', theta_opt[0], theta_opt[1])" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "('minimum cost = ', 137.02283895942898)\n" ] } ], "source": [ "print(\"minimum cost = \", compute_cost(x1,y,theta_opt))" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0,0.5,'y')" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(x1,y,'o',markersize=2)\n", "plt.hold\n", "plt.plot([-3,3], np.array([-3,3])*theta_opt[1] + theta_opt[0],'r')\n", "\n", "plt.xlabel('x1')\n", "plt.ylabel('y')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Gradient Descent:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "def gradient_step(theta_current, x1, y, learning_rate):\n", " grad_theta1 = 0\n", " grad_theta0 = 0\n", "\n", " #Calculate Gradient\n", " for i in range(0, len(x1)):\n", " grad_theta1 += x1[i] * (y[i] - (theta_current[1] * x1[i] + theta_current[0]))\n", " grad_theta0 += (y[i] - (theta_current[1] * x1[i] + theta_current[0]))\n", " \n", " #Update theta\n", " theta_updated = theta_current + learning_rate * np.array([grad_theta0,grad_theta1])\n", " \n", " return theta_updated" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "# initializations\n", "\n", "theta_GD = np.random.randn(2,1)\n", "learning_rate = 1e-5\n", "num_iterations = 1000" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "# gradient descent\n", "cost_vec = []\n", "for i in range(num_iterations):\n", "\n", " cost_vec.append(compute_cost(x1, y, theta_GD))\n", " theta_GD = gradient_step(theta_GD, x1, y, learning_rate)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0,0.5,'cost')" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(cost_vec)\n", "plt.xlabel('iterations')\n", "plt.ylabel('cost')" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[3.01032781],\n", " [1.999323 ]])" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "theta_GD" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0,0.5,'y')" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(x1,y,'o',markersize=2)\n", "plt.hold\n", "plt.plot([-3,3], np.array([-3,3])*theta_GD[1] + theta_GD[0],'r')\n", "\n", "plt.xlabel('x1')\n", "plt.ylabel('y')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.15" } }, "nbformat": 4, "nbformat_minor": 2 }