{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "***\n", "\n", "\n", "**15-448: Machine Learning in a Nutshell**, *CMU-Qatar* Spring'20\n", "\n", "**Gianni A. Di Caro**, www.giannidicaro.com\n", "\n", "Disclaimer: This notebook was prepared for teaching purposes. It can include material from different web sources. I'll happy to explicitly acknowledge a source if required. \n", "\n", "***" ] }, { "cell_type": "markdown", "metadata": { "toc": true }, "source": [ "
\n",
"- More than one predictor variable/feature: **multiple** regression problem"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"\n",
"X = np.array([[0.5, 1], [2, 0.7]])\n",
"df = pd.DataFrame(X, columns=['x1', 'y'])\n"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
" \n",
"- Find the values of $c_0$ and $c_1$ that set both the derivatives to 0 \n",
"\n",
"... The final solution can be expressed in matrix form as:\n",
"\n",
"$${\\bf c} = ({\\bf X}^T {\\bf X})^{-1}{\\bf y}$$\n",
"\n",
"where ${\\bf X}$ is the matrix with all feature data. \n",
"\n",
"In our simple univariate case is a vector, an $m\\times 1$ matrix. If we have $n$ features, ${\\bf X}$ becomes an $m\\times n$ matrix."
]
},
{
"attachments": {
"image.png": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlAAAAGiCAYAAAAoUPjKAAAgAElEQVR4AeydCfwV0///s5Qlki1LZMteIUSUnZSyFhHZd0n2bFlaVIq+dpLlW0oo2aXITskeRVEkhEJf6u/L9/wfz/P9nfudbvdz78y9c2fu3HnN4zGfO5/Z53XOnPOc93mf96llNEkBKSAFpIAUkAJSQAoEUqBWoL21sxSQAlJACkgBKSAFpIARQCkTSAEpIAWkgBSQAlIgoAICqICCaXcpIAWkgBSQAlJACgiglAekgBSQAlJACkgBKRBQAQFUQMG0uxSQAlJACkgBKSAFBFDKA1JACkgBKSAFpIAUCKiAACqgYNpdCkgBKSAFpIAUkAICKOUBKSAFpIAUkAJSQAoEVEAAFVAw7S4FpIAUkAJSQApIAQGU8oAUkAJSQApIASkgBQIqIIAKKJh2lwJSQApIASkgBaSAAEp5QApIASkgBaSAFJACARUQQAUUTLtLASkgBaSAFJACUkAApTwgBaSAFJACUkAKSIGACgigAgqm3aWAFJACUkAKSAEpIIBSHpACUkAKSAEpIAViUeA///mPWbRokZk5c6aZPn26mT17tlmyZEks9xL0ogKooIppfykgBaSAFJACUqBkBf766y/zxRdfmIEDB5r99tvP7LLLLubEE080s2bNKvncUZxAABWFyrqGFJACUkAKSAEpYBXA6vT777+bF1980Rx33HGmfv36ZrnlljO1atUyLVq0MJ988kkilBJAJSKZdJNSQAokSQEqiH//+99m8eLFOWeaKP7880/DFzj7apICaVGA/D537lxz0003mR122MGstNJKZrXVVjO1a9cWQKUlE2Q/5//7f//PtuP+9ttvtsBUoZitkP6XAulR4NdffzX333+/OfPMM83JJ5+81Hzqqaeaiy66yNx2223mhRdesE0YCxYsSIzfR3pSUU8atgLUizTPdenSxay55poWnpo3b26GDBliNt98c7P88svLAhW26JV8Pr4ycXq79dZbzZFHHmnatm1r23N/+eWXSr5t3ZsUkAJlVIAygbKAr2uaJqgYvPMKK6xg3FynTh2z4447mn/84x8WprBO6QOsjImjU8emwN9//22ef/55s8EGG5i1117bnHLKKRaoZsyYYbbbbjsBVGwpE/GFKeBcG+4xxxxj6tWrlykoTzjhBPPjjz9G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cCw+UHxE7LLLLvKBijLPO4Bae+21zSeffJIZMDjKe/BeSwDlVSM9ywKo9KR1rifFAvXdd9+Zzz77zEybNm2p+cUXXzRdunQxDCL88ccfL7WNfWfOnGkrLDdQea7za108CgigotNdABWd1pkrOYBaZ511zJdffplZH9eCACou5eO9rgAqXv0r+eqzZ8823bp1M88++6z566+/KvlWdW9ZCgig/isIHwh//vmn+fe//22NFPwP8Dvo9/6yTD5nX/bzOwmg/CoV4n4CqBDF1KmKVkAAVbR0VX+gACq5SZx2gHLgNGfOHPPKK6+Y119/3cyfP9+CEZAELFH2sZ1Bstl/yZIlZsaMGdYf8Oeff/ad+AIo31KFt6MAKjwtdabiFRBAFa9dtR8pgEpuCqcJoDbeeONlfKAAom+//dY8+OCDpk+fPuass84yjz76qIUm4AmrFB0nevbsad555x37/9y5c821115rDjroIDNx4kRrifKTA7IB6scff/RzWOB9agU+oooPEEBVceIm6NEEUAlKrIhvVQAVseAhXi7tAIU1iabn++67z1qgzjzzTHPppZea77//PmN9uvvuu03r1q3N888/b9ALnz5ACyDjODpY+JkAqF133TXjRC6A8qNaifv4AShI2Zki+eV/ply/bl2xtyUfqGKVS/ZxAqhkp185714AVU51y3vutAMUEHPLLbeYd99913aAOOmkkwzz119/bevUn376yfTq1cvQ05R9qF9//fVXc++999oedffcc89SAMV2bx3sTT0BlFeNiJZzAZSDIH5pp6VyI9YKpkfacBctWmQT0d0i++HwRtsuMy+NO9bt4/dXAOVXqeraTwBVXekZ5tMIoMJUM9pzpQWgHnjgAWsxyg5j8MEHH1gr0g8//GCb6tq3b2+tS/PmzbN1JL5P55xzjunQoYP5/PPPbeJQl7799tvmmGOOsXUuViygCUCiOZDOXtSzbr2rrwVQ0eZte7V8AMUOOLaNGzfOXHHFFea0004z++67r3nsscdsYpJwjoa/+OILc+6555rrr7/eUOCxzSVskMcSQAVRq3r2FUBVT1qG/SQCqLAVje58aQeoCRMmmOeee84sXLjQjB492uyxxx6md+/eZsGCBdY4gWHi6KOPtnWrs0pRpwJTV199tXnppZesQYL9aQpk3RlnnGEuu+wye16czF3PVAFUdPk6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R7F+//33I7mmRw4txqSAACom4Sv4sgKoCk4cn7eWBoCiXlyyZIn57rvvzKxZs8yPP/5o/y92PDqO83Ms2jJOJGPvcf0o6meSXQDlyfxegGL5jz/+sFtJDGYqto8++si8+uqr5uuvvzaMoO62kcgLFy60M8suAd327P85sXebW/bcjhFAedVIz7IAKplpzTvMu0+5kOsji+01bSv0xAKoQgpV/vZqByjy9vTp002/fv3M0Ucfbdq1a2eOPfZYM2jQILue7X4n3pVffvnFTJkyxUydOtUwKDDrck3U0yNHjjTHH3+8vS7vyoIFC2rcP9c5il0ngPIolwugXKKR+SdPnmz69u1rzj33XDN48GBLuxzOPj///LMh4R544AHz22+/ZRKPbblmCloHWm47/3snAZRXjfQsC6CSl9Z//vmn/ep+5ZVXzIMPPmheeOEF8+WXX5rFixfb95/tfJE/8cQT5rnnnjNz5swxrPM7DRs2zPTo0cOWM36P0X6VpUA1AxR11xtvvGE6dOhg6tevb5ZbbjlTq1Yt+0srStu2bc2bb75pPyD8pMr8+fPNKaecYrbZZhuz9dZbm/79++fM+1x3xIgRZquttjIrrLCCvV6DBg3MI488Yi1Rfq5Vyj4CKI96uQDKbcY0OHr0aFsw3nXXXZas33nnHfulSUGIZapTp07mggsusGZLjgOM3K+DJLfOnTcbotx6fgVQXjXSsyyASlZa88FE2dGyZUuz0UYbmUaNGpl1113XbL755qZ3797mm2++sdupDNi+wQYb2AJ/zJgxvgt5Kh++sskbmpKpQDUD1Oeff24OOuggs/LKK1uXkzXXXNPUq1fPLL/88hakgJv99tvPWqKy68Ds1KQ+vfTSS+3xQBgz7xLvQPaxX331ldlpp50y13H777bbboZt2ftnX6vU/wVQHgVrAigS9OOPPzaPPvqo/arE0nTwwQdbmGIbL8bEiRNtBrruuuus6ZHTYsanPfb333+3MyZMB0xuO1+omCCZ2ZftbhJAOSXS9SuASk56k1Z8UDVv3tx+QD300EO22eH66683a6+9tq0Eunbtar+ijzvuOAM0XXPNNRakdthhBzNz5kxfhTwVQa5mweQopTutVoCiqe20004zq666qgGcjjzySPPYY4+ZO+64w74DDmr4Je+zf77p9ddft5Yn73EsP/zww7audcfyTtBc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Vl65MCC1TwiUIQIiUEnAhejs37/fUKeKDMDz5s0zX331VazKnMiYRx99tFjhYdTtOJdDtrQIASEgBKIQIL8TJVqItsMtYOrUqaZfv3522ydPbEOqSHkA4VJG8ihEtV8IlD4CIlBJMKXcCpF2devWtT5OOIF36dLFfPvtt6FaJAjX5s2brVkP9boTdmif+vfvb32opH1KArq+FgIFjACa7FdffdVQLxMZ0rdvX7N9+3azdu1a07x58yJabSdfSM571113KbFmAT83uvXMIyACFYM5anRKtaAid4KKNbPCqEziaJeCWYSZIVJlXTWrYsDWV0JACFgEtm7dai6//HIbZdewYUPz8ccfW83Sv//+a2bNmmUqV65cRB452USKFaL2cDPQIgSEQNkjIAIVgzGmuyFDhtgoOyekWJPGYNmyZcXU5cwcSWXgEy5yRdWpU8d8+OGHsSVfYi5DXwkBIVAgCECSXPUC6t499NBDNq+cu/2NGzeanj17FpNJTj4RpAIBC/ppuv5aCwEhUHoIiEDFYEn2ccxupClAQKFJIkUBFdE3bdqUMOFhkvv7779tOPEFF1yQyNmC2a5p06aWbMnvKQZofSUEhICdkFFzs3r16tZxHKK0YcOGImQIHyf8KM8555yEnHHkiTUmPzmU62ESAplBQAQqBmfKsdx///3WGRzyhP/TiBEjzPr1620JBTROECN8nmbPnm3NdAgwQo4hWiTURKWucgsxIOsrISAE7GQMv8o2bdpYEoTP5dKlS0ODVUiciRwK1th0RKpx48bmk08+kcZbz5UQKGMERKCSAMwMECJ04okn2jDijh07mnvuucc89dRTNtLu9ttvN23btjVkJIc8oa1C+N177722IKgS3CUBWF8LASFgDh48aH0n8a9E1lDuiUi8qIATIoGbNGlSrM4mJAoZdMsttyhgRc+VEChjBESgkgCMLwHmumHDhtkK6BUrVrRO5Dhy4guFpokwY/ZjvnvggQfM999/b016UcIvySn1tRAQAgWEAE7fixcvNvXq1bOEiKS8JOqNS0nAd5jqkEFO8+SvKSX17LPPGnyqtAgBIVA2CIhApYArRIgiwRTuRPNEPTwykA8aNMg6eaJq//HHH82RI0dihV4Kp1ITISAECggBZAtabsq14DOJ4zgBKqlorilajkacfj55YhuXg3bt2tnJnBzKC+iB0q1mFAERqIzCrZMJASEgBP5D4K+//jJTpkyxxIlcTkTgYc5LZYEYkeDXaa6CJAofqWnTppnDhw+ncji1EQJCIE0ERKDSBEzNhYAQEAKlgQAEaPny5dZnEv9Jcj998803RaLukp0HcjRhwgQb4BIkUPyPQ/mqVauUGyoZkPpeCJQAARGoEoCmLkJACAiBkiKA2Y4PaVIws2GCo9bd/PnzrRtAOseFhPk184Ikiohgiprv3bs30iE9nfOprRAQAv8hIAL1HxbaEgJCQAiUOgL4T5LKBIdu/CQx0ZEQk8AUzGz4KxHpS2QdJj3akR4lme+SOy5aKBzKiQTmWEESRYDLokWLrCmP63Af+kPktAgBIVAyBESgSoabegkBISAEkiJAhB0FyG+88UZzzTXXWJNa1apVLXHCbOfIDlooIurq169v62iOHDnS/PLLL7Ekavr06TbRL0WG0WRVqVIllEBxDqLyevXqZQsS057PggUL0tZ4Jb1hNRACBYSACFQBDbZuVQgIgcwigJbnhhtusJnFMafxobxT8OO+c2tSolA7M66uHYTs2GOPtcd0/aKOz/n8NmyjASMppxYhIARKhoAIVMlwUy8hIASEQFIEIEBoijDRde7c2XTr1s1qgvr06WO1UpArUqJQtoXvaENqguHDh5uff/45VgM1ceJE25b2Xbp0Md27d7fH4Xh9+/ZNHJ9z9e7d2/To0cN07drVXkv79u3NnDlzbL66pDehBkJACIQiIAIVCot2CgEhIASOHgF8jHbv3m22bNlifv31V7Njxw6bIRynbjKNU7B8z549ZufOnfY72tB227Zt1g8q7gpwQodkYeqjgLA7Nsfbt29f4vici2ugPcelPf3YH5esM+7c+k4ICAFjRKD0FAgBISAEhIAQEAJCIE0ERKDSBEzNhYAQEAJCQAgIASEgAqVnQAgIASEgBISAEBACaSIgApUmYGouBISAEBACQkAICAERKD0DQkAICAEhIASEgBBIEwERqDQBU3MhIASEgBAQAkJACIhA6RkQAkJACAgBISAEhECaCIhApQmYmgsBISAEhIAQEAJCQARKz4AQEAJCQAgIASEgBNJEQAQqTcDUXAgIASEgBISAEBACIlB6BoSAEBACQkAICAEhkCYCIlBpAqbmQkAICAEhIASEgBAQgdIzIASEgBAQAkJACAiBNBEQgUoTMDUXAkJACAgBISAEhIAIlJ4BISAEhIAQEAJCQAikiYAIVJqAqbkQEAJCQAgIASEgBESg9AwIASEgBISAEBACQiBNBESg0gRMzYWAEBACQkAICAEhIAKlZ0AICAEhIASEgBAQAmkiIAKVJmBqLgSEgBAQAkJACAiB/wMzPbuz4EHoHgAAAABJRU5ErkJggg=="
}
},
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
" \n",
"
\n",
"\n",
" \n",
" \n",
" \n",
" \n",
" x1 \n",
" y \n",
" \n",
" \n",
" 0 \n",
" 0.5 \n",
" 1.00 \n",
" \n",
" \n",
" 1 \n",
" 2.0 \n",
" 0.70 \n",
" \n",
" \n",
" \n",
"2 \n",
" 1.5 \n",
" 0.95 \n",
" \n",
" \n",
"
\n",
"\n",
" \n",
" \n",
" \n",
" \n",
" x1 \n",
" y \n",
" \n",
" \n",
" 0 \n",
" 0.5 \n",
" 1.00 \n",
" \n",
" \n",
" 1 \n",
" 2.0 \n",
" 0.70 \n",
" \n",
" \n",
" \n",
"2 \n",
" 1.5 \n",
" 0.95 \n",
"
\n",
"\n",
"$${\\bf c} = \\arg\\min_{{\\bf c}} L({\\bf c})$$\n",
"\n",
"where the *variables* are indeed the coefficients! The values of the features, the vector ${\\bf x} = (0.5, 2, 1.5)$ plays the role of numeric parameter."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"How do we get the final values:\n",
"- Take the (partial) derivatives of $L({\\bf c})$ wrt $c_0$ and $c_1$\n",
"
\n",
"
\n",
"
\n",
"