diff --git a/PW-4/pw4-linear-regression-stud.ipynb b/PW-4/pw4-linear-regression-stud.ipynb index 5c2fe89..967f836 100644 --- a/PW-4/pw4-linear-regression-stud.ipynb +++ b/PW-4/pw4-linear-regression-stud.ipynb @@ -18,7 +18,7 @@ }, { "cell_type": "code", - "execution_count": 141, + "execution_count": 312, "id": "d6eb2aab", "metadata": {}, "outputs": [], @@ -48,7 +48,7 @@ }, { "cell_type": "code", - "execution_count": 142, + "execution_count": 313, "id": "5f3f924f", "metadata": {}, "outputs": [], @@ -66,7 +66,7 @@ }, { "cell_type": "code", - "execution_count": 143, + "execution_count": 314, "id": "5108e239", "metadata": {}, "outputs": [], @@ -84,7 +84,7 @@ }, { "cell_type": "code", - "execution_count": 144, + "execution_count": 315, "id": "34222aff", "metadata": {}, "outputs": [ @@ -158,7 +158,7 @@ "4 33 1.5 830" ] }, - "execution_count": 144, + "execution_count": 315, "metadata": {}, "output_type": "execute_result" } @@ -185,7 +185,7 @@ }, { "cell_type": "code", - "execution_count": 145, + "execution_count": 316, "id": "ad07d4cd", "metadata": {}, "outputs": [ @@ -219,7 +219,7 @@ }, { "cell_type": "code", - "execution_count": 146, + "execution_count": 317, "id": "ac0c9f07", "metadata": {}, "outputs": [ @@ -253,7 +253,7 @@ }, { "cell_type": "code", - "execution_count": 147, + "execution_count": 318, "id": "6d015af9", "metadata": {}, "outputs": [ @@ -312,7 +312,7 @@ }, { "cell_type": "code", - "execution_count": 148, + "execution_count": 319, "id": "19ffbbd9", "metadata": {}, "outputs": [ @@ -375,7 +375,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 320, "id": "db65a2fa", "metadata": {}, "outputs": [ @@ -453,30 +453,42 @@ "Theta = [240.07710713 26.33242457]\n", "Cost = 138034.95779787414\n" ] + }, + { + "data": { + "image/png": "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KI888ogaN26s8ePHKycnp9Tz+/fv1yuvvCJJuuGGGySp1JkmL730kiRpxIgRks7tmj//G/F5ffr0kSTPbvnzZ4Lk5uZWqM4bbrhBmzdvVnp6uqetsLBQc+bMUfv27dW9e3dPe5MmTRQXF6f33ntPqampCgwMVHx8vNf6brnlFqWnp2vVqlWltpWbm6vi4uIK1VUR568F8uPXGhcXJ5fLpWeffbbM4yiOHz/+k+s+v0fih/NtjPH8nVWkjrLWef311+vDDz/0umpsTk6OFi5cqEGDBnm+4quoirwngNqqVu0ZuZCsrCzNnTtXWVlZatWqlSTp4Ycf1sqVKzV37lw9++yzOnDggDIzM7V48WItWLBAJSUleuihh3TzzTdr3bp1ll8BaqtOnTpp4cKFGjNmjC6//HKvK7Bu2rRJixcv9txnpXfv3kpMTNScOXOUm5urIUOGaPPmzZo/f77i4+M1bNgwSdL8+fP12muv6cYbb1SnTp1UUFCg119/XS6XyxNoGjZsqO7du2vRokXq0qWLmjVrph49eqhHjx5l1jl58mS9++67Gj58uO6//341a9ZM8+fP18GDB/X++++X+vpizJgxuuOOO/Taa68pLi7OcwDleX/84x/197//Xb/85S81btw4RUVFqbCwUDt27NCSJUt06NAhr691LkafPn3k7++v559/Xnl5eXI6nbr22mvVsmVLzZw5U2PHjtWVV16pW2+9VS1atFBWVpY++ugjDRw4UH/9618vuO5u3bqpU6dOevjhh3XkyBG5XC69//77nmM1figqKkqSdP/99ysuLk7+/v669dZby1zv008/rTVr1mjQoEH6/e9/r4CAAM2ePVtFRUV64YUXfJ6DirwngFrL4pk8F0WSWbp0qefx8uXLjSTTuHFjryUgIMDccsstxhhjJkyYYCSZPXv2eMZt3brVSDJffPFFTb8E1DF79+41EyZMMO3btzeBgYEmJCTEDBw40Lz66qteFzQ7e/aseeKJJ0yHDh1MgwYNTGRkZKmLnm3bts3cdtttpm3btsbpdJqWLVuaX/7yl2bLli1e29y0aZOJiooygYGBPl30rEmTJiYoKMj069fP66JnP5Sfn28aNmxoJJl33nmnzD4FBQUmOTnZdO7c2QQGBprmzZubmJgYM3XqVHPmzBljjPdFzyrqx6f2GmPM66+/bjp27Gj8/f1L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zZpVV5l1QmXn+sknn1TLli1111131USZtV5l5vnvf/+7oqOjlZSUpLCwMPXo0UPPPvusSkpKaqrsWqcy8xwTE6OtW7d6vso5cOCAVqxYoRtuuKFGaq4vbHwW+nzX3trixIkTKikp8dxN+LywsDB98cUXZY7Jzs4us392dna11VnbVWaef+xPf/qTWrVqVerND2+VmesNGzbozTffVEZGRg1UWDdUZp4PHDigdevW6fbbb9eKFSu0b98+/f73v9fZs2c1ZcqUmii71qnMPP/mN7/RiRMnNGjQIBljVFxcrHvvvVePPvpoTZRcb5T3WZifn69vv/1WDRs2rPJt1tk9I6gdnnvuOaWmpmrp0qUKCgqyXU6dUlBQoLFjx+r1119X8+bNbZdTp7ndbrVs2VJz5sxRVFSUxowZo8cee0yzZs2yXVqdkpaWpmeffVavvfaatm3bpg8++EAfffSRnnrqKdul4SLV2T0jzZs3l7+/v3Jycrzac3JyFB4eXuaY8PBwn/qjcvN83tSpU/Xcc8/pX//6l3r16lWdZdYJvs71/v37dejQIY0cOdLT5na7JUkBAQHas2ePOnXqVL1F10KVeU9HRESoQYMG8vf397Rdfvnlys7O1pkzZxQYGFitNddGlZnn//qv/9LYsWM1fvx4SVLPnj1VWFiou+++W4899pj8/Pj9uiqU91nocrmqZa+IVIf3jAQGBioqKkpr1671tLndbq1du1bR0dFljomOjvbqL0lr1qwptz8qN8+S9MILL+ipp57SypUrddVVV9VEqbWer3PdrVs37dixQxkZGZ7lV7/6lYYNG6aMjAxFRkbWZPm1RmXe0wMHDtS+ffs8YU+S9u7dq4iICIJIOSozz6dPny4VOM4HQMM9X6uMlc/Cajs09hKQmppqnE6nmTdvntm9e7e5++67TZMmTUx2drYxxpixY8eayZMne/pv3LjRBAQEmKlTp5rPP//cTJkyhVN7K8DXeX7uuedMYGCgWbJkiTl69KhnKSgosPUSag1f5/rHOJumYnyd56ysLBMSEmImTpxo9uzZY5YvX25atmxpnn76aVsvoVbwdZ6nTJliQkJCzLvvvmsOHDhgVq9ebTp16mRuueUWWy+hVigoKDDbt28327dvN5LMSy+9ZLZv324yMzONMcZMnjzZjB071tP//Km9f/zjH83nn39uZsyYwam9F+vVV181bdu2NYGBgaZfv37m008/9Tw3ZMgQk5iY6NX/vffeM126dDGBgYHmiiuuMB999FENV1w7+TLP7dq1M5JKLVOmTKn5wmshX9/TP0QYqThf53nTpk2mf//+xul0mo4dO5pnnnnGFBcX13DVtY8v83z27Fnz+OOPm06dOpmgoCATGRlpfv/735uTJ0/WfOG1yMcff1zmv7nn5zYxMdEMGTKk1Jg+ffqYwMBA07FjRzN37txqrdFhDPu2AACAPXX2mBEAAFA7EEYAAIBVhBEAAGAVYQQAAFhFGAEAAFYRRgAAgFWEEQAAYBVhBACAemr9+vUaOXKkWrVqJYfDoWXLlvm8DmOMpk6dqi5dusjpdKp169Z65plnfFpHnb1RHgAAuLDCwkL17t1bv/3tb3XTTTdVah0PPPCAVq9eralTp6pnz5765ptv9M033/i0Dq7ACgAA5HA4tHTpUsXHx3vaioqK9Nhjj+ndd99Vbm6uevTooeeff15Dhw6VJH3++efq1auXdu7cqa5du1Z623xNAwAAyjRx4kSlp6crNTVV//73vzV69Gj94he/0JdffilJ+sc//qGOHTtq+fLl6tChg9q3b6/x48f7vGeEMAIAAErJysrS3LlztXjxYg0ePFidOnXSww8/rEGDBmnu3LmSpAMHDigzM1OLFy/WggULNG/ePG3dulU333yzT9vimBEAAFDKjh07VFJSoi5duni1FxUV6bLLLpMkud1uFRUVacGCBZ5+b775pqKiorRnz54Kf3VDGAEAAKWcOnVK/v7+2rp1q/z9/b2eCw4OliRFREQoICDAK7Bcfvnlks7tWSGMAACASuvbt69KSkp07NgxDR48uMw+AwcOVHFxsfbv369OnTpJkvbu3StJateuXYW3xdk0AADUU6dOndK+ffsknQsfL730koYNG6ZmzZqpbdu2uuOOO7Rx40ZNmzZNffv21fHjx7V27Vr16tVLI0aMkNvt1tVXX63g4GBNnz5dbrdbSUlJcrlcWr16dYXrIIwAAFBPpaWladiwYaXaExMTNW/ePJ09e1ZPP/20FixYoCNHjqh58+YaMGCAnnjiCfXs2VOS9PXXX+u+++7T6tWr1bhxYw0fPlzTpk1Ts2bNKlwHYQQAAFjFqb0AAMAqwggAALCKMAIAAKwijAAAAKsIIwAAwCrCCAAAsIowAgAArCKMAAAAqwgjAADAKsIIAACwijACAACs+v8h63+BToASGwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ "# Your code here\n", "\n", - "theta = np.zeros((2))\n", + "def gradient_descent(X, y, max_iter, alpha):\n", + " theta = np.zeros((2))\n", + " costs = []\n", "\n", + " for i in range(0, max_iter): # we could also use a delta on the cost function with a while to stop when the cost is not improving but we wanted to see the curve after x iterations\n", + " y_pred = X @ theta\n", + " theta[0] = theta[0] - alpha * (1/len(y)) * np.sum(y_pred - y)\n", + " theta[1] = theta[1] - alpha * (1/len(y)) * np.sum((y_pred - y) * X[:,1]) \n", "\n", - "alpha = 0.0001 # i got the best results with those parameters\n", + " c = cost_J(y_pred, y) # to plot the costs over iters\n", + " costs.append(c)\n", "\n", - "max_iter = 1000000\n", - "costs = []\n", - "\n", - "for i in range(0, max_iter): # we could also use a delta on the cost function with a while to stop when the cost is not improving but we wanted to see the curve after x iterations\n", " y_pred = X @ theta\n", - " theta[0] = theta[0] - alpha * (1/len(y)) * np.sum(y_pred - y)\n", - " theta[1] = theta[1] - alpha * (1/len(y)) * np.sum((y_pred - y) * X[:,1]) \n", + " print(f\"Theta = {theta}\")\n", + " print(f\"Cost = {cost_J(y_pred, y)}\")\n", "\n", - " c = cost_J(y_pred, y) # to plot the costs over iters\n", - " costs.append(c)\n", + " plt.plot(range(0, len(costs)), costs)\n", + " plt.title(\"Cost over iterations\")\n", + " plt.show()\n", "\n", - "y_pred = X @ theta\n", - "print(f\"Theta = {theta}\")\n", - "print(f\"Cost = {cost_J(y_pred, y)}\")\n" + "gradient_descent(X, y, max_iter = 1000000, alpha = 0.0001) # i got the best results with those parameters" ] }, { @@ -489,13 +501,13 @@ }, { "cell_type": "code", - "execution_count": 167, + "execution_count": 330, "id": "5a34ad43", "metadata": {}, "outputs": [ { "data": { - "image/png": "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oc2bN3/pmJKSEt10001yOp0aMmSICgsLO7dIK4QVFRVZUVFR1tq1a62DBw9a8+fPt6677jqrurq62f579uyxIiMjrSeffNJ67733rIcfftjq3r27tX///i6uPLjYnedvf/vb1sqVK63y8nLr0KFD1ne/+13L7XZbH330URdXHnzszvUlx44ds/r06WNNmjTJmjlzZtcUG8TsznNDQ4N18803W9/85jetN9980zp27JhVUlJiVVRUdHHlwcXuPP/617+2nE6n9etf/9o6duyYtWPHDisxMdF64IEHurjy4LJt2zZr8eLF1quvvmpJsjZt2tRq/6NHj1rXXHONtWjRIuu9996zfv7zn1uRkZHW9u3bO63GkA4jY8eOtfLy8gKPGxsbraSkJKugoKDZ/nfccYc1ffr0Jm3jxo2z/v3f/71T6wx2duf5X124cMGKiYmxfvnLX3ZWiSGjPXN94cIFa8KECdbzzz9v5ebmEkbawO48r1q1yho0aJB17ty5rioxJNid57y8POtrX/tak7ZFixZZEydO7NQ6Q0lbwsgPf/hD68Ybb2zSNnv2bCsrK6vT6grZr2nOnTunsrIyZWZmBtoiIiKUmZmp0tLSZseUlpY26S9JWVlZLfZH++b5X/3973/X+fPnFRsb21llhoT2zvWjjz6quLg4zZ07tyvKDHrtmeff/e53ysjIUF5enuLj4zVq1Cj95Cc/UWNjY1eVHXTaM88TJkxQWVlZ4Kuco0ePatu2bfrmN7/ZJTWHCxOfhbYXygsWp0+fVmNjY2ABv0vi4+P117/+tdkxXq+32f5er7fT6gx27Znnf/Xf//3fSkpKuuyPH021Z67ffPNNvfDCC6qoqOiCCkNDe+b56NGjev311/Wd73xH27Zt05EjR/T9739f58+f15IlS7qi7KDTnnn+9re/rdOnT+uWW26RZVm6cOGC7r33Xj300ENdUXLYaOmz0Ofz6bPPPlOPHj06fJ8he2QEwWHp0qUqKirSpk2bFB0dbbqckFJbW6s5c+boF7/4hXr37m26nJDm9/sVFxenNWvWKD09XbNnz9bixYu1evVq06WFlJKSEv3kJz/Rs88+q3feeUevvvqqXnvtNT322GOmS8MVCtkjI71791ZkZKSqq6ubtFdXVyshIaHZMQkJCbb6o33zfMmyZcu0dOlS/fGPf1RKSkpnlhkS7M71hx9+qL/97W+aMWNGoM3v90uSunXrpsOHD2vw4MGdW3QQas/fdGJiorp3767IyMhA24gRI+T1enXu3DlFRUV1as3BqD3z/D//8z+aM2eO5s2bJ0lKTk5WfX297rnnHi1evFgREfz/dUdo6bPQ5XJ1ylERKYSPjERFRSk9PV3FxcWBNr/fr+LiYmVkZDQ7JiMjo0l/Sdq1a1eL/dG+eZakJ598Uo899pi2b9+um2++uStKDXp253r48OHav3+/KioqAtu3vvUtTZ06VRUVFfJ4PF1ZftBoz9/0xIkTdeTIkUDYk6T3339fiYmJBJEWtGee//73v18WOC4FQItl1jqMkc/CTjs19ipQVFRkOZ1Oq7Cw0Hrvvfese+65x7ruuussr9drWZZlzZkzx3rwwQcD/ffs2WN169bNWrZsmXXo0CFryZIlXNrbBnbneenSpVZUVJT1yiuvWCdOnAhstbW1pt5C0LA71/+Kq2naxu48V1VVWTExMdaCBQusw4cPW1u3brXi4uKsxx9/3NRbCAp253nJkiVWTEyM9dJLL1lHjx61du7caQ0ePNi64447TL2FoFBbW2uVl5db5eXlliTr6aeftsrLy63KykrLsizrwQcftObMmRPof+nS3v/6r/+yDh06ZK1cuZJLe6/Uz3/+c6tfv35WVFSUNXbsWOutt94KPDd58mQrNze3Sf/f/OY31tChQ62oqCjrxhtvtF577bUurjg42Znn/v37W5Iu25YsWdL1hQchu3/T/4ww0nZ253nv3r3WuHHjLKfTaQ0aNMh64oknrAsXLnRx1cHHzjyfP3/e+tGPfmQNHjzYio6Otjwej/X973/f+vTTT7u+8CDypz/9qdn/5l6a29zcXGvy5MmXjUlNTbWioqKsQYMGWevWrevUGh2WxbEtAABgTsieMwIAAIIDYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAADC1O7duzVjxgwlJSXJ4XBo8+bNtl/DsiwtW7ZMQ4cOldPpVJ8+ffTEE0/Yeo2QXbUXAAC0rr6+XqNHj9b3vvc93Xbbbe16jYULF2rnzp1atmyZkpOTdebMGZ05c8bWa3A7eAAAIIfDoU2bNik7OzvQ1tDQoMWLF+ull17S2bNnNWrUKP30pz/VlClTJEmHDh1SSkqKDhw4oGHDhrV733xNAwAAmrVgwQKVlpaqqKhI7777rmbNmqVvfOMb+uCDDyRJv//97zVo0CBt3bpVAwcO1IABAzRv3jzbR0YIIwAA4DJVVVVat26dNm7cqEmTJmnw4MH6wQ9+oFtuuUXr1q2TJB09elSVlZXauHGj1q9fr8LCQpWVlen222+3tS/OGQEAAJfZv3+/GhsbNXTo0CbtDQ0Nuv766yVJfr9fDQ0NWr9+faDfCy+8oPT0dB0+fLjNX90QRgAAwGXq6uoUGRmpsrIyRUZGNnmuZ8+ekqTExER169atSWAZMWKEpItHVggjAACg3dLS0tTY2KiTJ09q0qRJzfaZOHGiLly4oA8//FCDBw+WJL3//vuSpP79+7d5X1xNAwBAmKqrq9ORI0ckXQwfTz/9tKZOnarY2Fj169dPd911l/bs2aPly5crLS1Np06dUnFxsVJSUjR9+nT5/X6NGTNGPXv21IoVK+T3+5WXlyeXy6WdO3e2uQ7CCAAAYaqkpERTp069rD03N1eFhYU6f/68Hn/8ca1fv14ff/yxevfurfHjx+vHP/6xkpOTJUmffPKJ7rvvPu3cuVPXXnutpk2bpuXLlys2NrbNdRBGAACAUVzaCwAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwKj/D83cC8kh/J9qAAAAAElFTkSuQmCC", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAHFCAYAAAAg3/mzAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAANFNJREFUeJzt3Xlc1WXe//H3AeSgwkFNBVTcR81co1RQUxuKMceRmsyaEmzSagbbnKaRmntsp0XL7sZcWlxqDNPSZsxxGY28VbrNhXtcSnMDM0H9JYtYKJzr94fjqRNgHAQugdfz0feB5zrX9f1+zuXJ8+Z7vovDGGMEAABgiZ/tAgAAQP1GGAEAAFYRRgAAgFWEEQAAYBVhBAAAWEUYAQAAVhFGAACAVYQRAABgFWEEAABYRRgBcMlp3769xo0bZ7sMnzgcDj3++OO2ywBqJcIIUEX279+ve+65Rx07dlRQUJBcLpcGDhyoV155Rd9++22Vb+/06dN6/PHHlZaWVuXrvtTs3r1bjz/+uA4dOmS1jhUrVhA4gGoQYLsAoC746KOPNHr0aDmdTiUkJKhHjx46c+aMNmzYoD/+8Y/atWuX5syZU6XbPH36tJ544glJ0tChQ6t03bbt2bNHfn7f/660e/duPfHEExo6dKjat29vra4VK1ZoxowZZQaSb7/9VgEB/JMKVAb/5wAX6eDBg7r11lvVrl07rVu3ThEREZ7nkpKStG/fPn300UcWK7z0FBcXy+12KzAwsMznnU5njdRRWFioxo0bV8m6goKCqmQ9QL1kAFyUe++910gyGzdurFD/s2fPmieffNJ07NjRBAYGmnbt2pnk5GTz3XffefX77LPPzPXXX28uu+wyExQUZNq3b2/uvPNOY4wxBw8eNJJKLVOmTLngtvfv329uvvlm07RpU9OwYUPTv39/s3z5cs/z2dnZxt/f3zz++OOlxn7xxRdGknn11Vc9bSdPnjQPPPCAadOmjQkMDDSdOnUyzz33nCkpKfH0OV/riy++aF5++WXTsWNH4+fnZ7Zv315une3atTOJiYnGGGPmzp1b5mv9+OOPPf1XrFhhBg0aZBo1amSCg4PNDTfcYHbu3Om1zsTERNO4cWOzb98+M3z4cBMcHGxGjRpljDFm/fr15uabbzaRkZEmMDDQtGnTxjz44IPm9OnTXuPLquO8suZ/27Zt5he/+IUJCQkxjRs3Ntdee61JT0/36nP+9W3YsME89NBDpnnz5qZRo0YmPj7eHDt2zKvvhd4TQG3GnhHgIv3jH/9Qx44dFRMTU6H+48eP1/z583XzzTfrD3/4g/73f/9XKSkp+vzzz7V06VJJ0rFjx3T99derRYsWmjx5spo0aaJDhw7pgw8+kCS1aNFCM2fO1O9+9zvdeOONuummmyRJvXr1Kne7OTk5iomJ0enTp3X//ffrsssu0/z58/WrX/1KS5Ys0Y033qiwsDANGTJE7733nqZMmeI1ftGiRfL399fo0aMlnfuaaMiQITpy5IjuuecetW3bVps2bVJycrKOHj2q6dOne42fO3euvvvuO919991yOp1q1qxZhebrmmuu0f3336///u//1qOPPqrLL79ckjw/3377bSUmJiouLk7PP/+8Tp8+rZkzZ2rQoEHavn2719c6xcXFiouL06BBgzR16lQ1atRIkrR48WKdPn1av/vd73TZZZdp8+bNevXVV/XVV19p8eLFkqR77rlHX3/9tdasWaO33377J+vetWuXBg8eLJfLpUceeUQNGjTQ7NmzNXToUH3yySfq37+/V//77rtPTZs21ZQpU3To0CFNnz5dEydO1KJFiyT99HsCqNVspyGgNsvLyzOSPL9h/5SMjAwjyYwfP96r/eGHHzaSzLp164wxxixdutRIMp999lm56zp+/HiF9oac9+CDDxpJ5n/+5388bQUFBaZDhw6mffv2nr0Zs2fPNpLMjh07vMZ3797dXHvttZ7HTz31lGncuLHZu3evV7/Jkycbf39/k5WVZYz5fs+Iy+Uq9Zt+eX64Z8QYYxYvXlxqb8j5+ps0aWImTJjg1Z6dnW1CQ0O92s/v2Zg8eXKp7f1wD8h5KSkpxuFwmMzMTE9bUlKSKe+fzR//XcTHx5vAwECzf/9+T9vXX39tQkJCzDXXXONpO79nJDY21rjdbk/7Qw89ZPz9/U1ubq4xpmLvCaC24mwa4CLk5+dLkkJCQirUf8WKFZKkSZMmebX/4Q9/kCTPsSVNmjSRJC1fvlxnz56tilK1YsUK9evXT4MGDfK0BQcH6+6779ahQ4e0e/duSdJNN92kgIAAz2/kkrRz507t3r1bY8aM8bQtXrxYgwcPVtOmTXXixAnPEhsbq5KSEq1fv95r+7/+9a/VokWLKnkt561Zs0a5ubm67bbbvGrw9/dX//799fHHH5ca87vf/a5UW8OGDT1/Liws1IkTJxQTEyNjjLZv3+5zXSUlJVq9erXi4+PVsWNHT3tERIR+85vfaMOGDZ73znl33323HA6H5/HgwYNVUlKizMxMSdXzngAuFbUqjKxfv14jR45Uq1at5HA4tGzZMp/XYYzR1KlT1aVLFzmdTrVu3VrPPPNM1ReLesHlckmSCgoKKtQ/MzNTfn5+6ty5s1d7eHi4mjRp4vngGTJkiH7961/riSeeUPPmzTVq1CjNnTtXRUVFla41MzNTXbt2LdV+/uuO89tu3ry5fv7zn+u9997z9Fm0aJECAgI8XwdJ0pdffqmVK1eqRYsWXktsbKykc18r/FCHDh0qXXt5vvzyS0nStddeW6qO1atXl6ohICBAbdq0KbWerKwsjRs3Ts2aNVNwcLBatGihIUOGSJLy8vJ8ruv48eM6ffp0ufPtdrt1+PBhr/a2bdt6PW7atKkk6eTJk5Kq5z0BXCpq1TEjhYWF6t27t3772996/aPoiwceeECrV6/W1KlT1bNnT33zzTf65ptvqrhS1Bcul0utWrXSzp07fRr3w9+Ay3t+yZIl+vTTT/WPf/xDq1at0m9/+1tNmzZNn376qYKDgy+m7J9066236s4771RGRob69Omj9957Tz//+c/VvHlzTx+3263rrrtOjzzySJnr6NKli9fjH+59qCput1vSueNGwsPDSz3/41NtnU6n1ynD0rm9GNddd52++eYb/elPf1K3bt3UuHFjHTlyROPGjfNso7r5+/uX2W6MkWT/PQFUp1oVRoYPH67hw4eX+3xRUZEee+wxvfvuu8rNzVWPHj30/PPPe67B8Pnnn2vmzJnauXOn5zeW6vhtDfXLL3/5S82ZM0fp6emKjo6+YN927drJ7Xbryy+/9OyRkM4dXJqbm6t27dp59R8wYIAGDBigZ555RgsXLtTtt9+u1NRUjR8//icDTVnb3rNnT6n2L774wvP8efHx8brnnns8X9Xs3btXycnJXuM6deqkU6dOefaEVKfyXmunTp0kSS1btqx0HTt27NDevXs1f/58JSQkeNrXrFlT4Tp+rEWLFmrUqFG58+3n56fIyMhK1Xuh9wRQW9Wqr2l+ysSJE5Wenq7U1FT9+9//1ujRo/WLX/zCsyv3/FkPy5cvV4cOHdS+fXuNHz+ePSO4KI888ogaN26s8ePHKycnp9Tz+/fv1yuvvCJJuuGGGySp1JkmL730kiRpxIgRks7tmj//G/F5ffr0kSTPbvnzZ4Lk5uZWqM4bbrhBmzdvVnp6uqetsLBQc+bMUfv27dW9e3dPe5MmTRQXF6f33ntPqampCgwMVHx8vNf6brnlFqWnp2vVqlWltpWbm6vi4uIK1VUR568F8uPXGhcXJ5fLpWeffbbM4yiOHz/+k+s+v0fih/NtjPH8nVWkjrLWef311+vDDz/0umpsTk6OFi5cqEGDBnm+4quoirwngNqqVu0ZuZCsrCzNnTtXWVlZatWqlSTp4Ycf1sqVKzV37lw9++yzOnDggDIzM7V48WItWLBAJSUleuihh3TzzTdr3bp1ll8BaqtOnTpp4cKFGjNmjC6//HKvK7Bu2rRJixcv9txnpXfv3kpMTNScOXOUm5urIUOGaPPmzZo/f77i4+M1bNgwSdL8+fP12muv6cYbb1SnTp1UUFCg119/XS6XyxNoGjZsqO7du2vRokXq0qWLmjVrph49eqhHjx5l1jl58mS9++67Gj58uO6//341a9ZM8+fP18GDB/X++++X+vpizJgxuuOOO/Taa68pLi7OcwDleX/84x/197//Xb/85S81btw4RUVFqbCwUDt27NCSJUt06NAhr691LkafPn3k7++v559/Xnl5eXI6nbr22mvVsmVLzZw5U2PHjtWVV16pW2+9VS1atFBWVpY++ugjDRw4UH/9618vuO5u3bqpU6dOevjhh3XkyBG5XC69//77nmM1figqKkqSdP/99ysuLk7+/v669dZby1zv008/rTVr1mjQoEH6/e9/r4CAAM2ePVtFRUV64YUXfJ6DirwngFrL4pk8F0WSWbp0qefx8uXLjSTTuHFjryUgIMDccsstxhhjJkyYYCSZPXv2eMZt3brVSDJffPFFTb8E1DF79+41EyZMMO3btzeBgYEmJCTEDBw40Lz66qteFzQ7e/aseeKJJ0yHDh1MgwYNTGRkZKmLnm3bts3cdtttpm3btsbpdJqWLVuaX/7yl2bLli1e29y0aZOJiooygYGBPl30rEmTJiYoKMj069fP66JnP5Sfn28aNmxoJJl33nmnzD4FBQUmOTnZdO7c2QQGBprmzZubmJgYM3XqVHPmzBljjPdFzyrqx6f2GmPM66+/bjp27Gj8/f1L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zZpVV5l1QmXn+sknn1TLli1111131USZtV5l5vnvf/+7oqOjlZSUpLCwMPXo0UPPPvusSkpKaqrsWqcy8xwTE6OtW7d6vso5cOCAVqxYoRtuuKFGaq4vbHwW+nzX3trixIkTKikp8dxN+LywsDB98cUXZY7Jzs4us392dna11VnbVWaef+xPf/qTWrVqVerND2+VmesNGzbozTffVEZGRg1UWDdUZp4PHDigdevW6fbbb9eKFSu0b98+/f73v9fZs2c1ZcqUmii71qnMPP/mN7/RiRMnNGjQIBljVFxcrHvvvVePPvpoTZRcb5T3WZifn69vv/1WDRs2rPJt1tk9I6gdnnvuOaWmpmrp0qUKCgqyXU6dUlBQoLFjx+r1119X8+bNbZdTp7ndbrVs2VJz5sxRVFSUxowZo8cee0yzZs2yXVqdkpaWpmeffVavvfaatm3bpg8++EAfffSRnnrqKdul4SLV2T0jzZs3l7+/v3Jycrzac3JyFB4eXuaY8PBwn/qjcvN83tSpU/Xcc8/pX//6l3r16lWdZdYJvs71/v37dejQIY0cOdLT5na7JUkBAQHas2ePOnXqVL1F10KVeU9HRESoQYMG8vf397Rdfvnlys7O1pkzZxQYGFitNddGlZnn//qv/9LYsWM1fvx4SVLPnj1VWFiou+++W4899pj8/Pj9uiqU91nocrmqZa+IVIf3jAQGBioqKkpr1671tLndbq1du1bR0dFljomOjvbqL0lr1qwptz8qN8+S9MILL+ipp57SypUrddVVV9VEqbWer3PdrVs37dixQxkZGZ7lV7/6lYYNG6aMjAxFRkbWZPm1RmXe0wMHDtS+ffs8YU+S9u7dq4iICIJIOSozz6dPny4VOM4HQMM9X6uMlc/Cajs09hKQmppqnE6nmTdvntm9e7e5++67TZMmTUx2drYxxpixY8eayZMne/pv3LjRBAQEmKlTp5rPP//cTJkyhVN7K8DXeX7uuedMYGCgWbJkiTl69KhnKSgosPUSag1f5/rHOJumYnyd56ysLBMSEmImTpxo9uzZY5YvX25atmxpnn76aVsvoVbwdZ6nTJliQkJCzLvvvmsOHDhgVq9ebTp16mRuueUWWy+hVigoKDDbt28327dvN5LMSy+9ZLZv324yMzONMcZMnjzZjB071tP//Km9f/zjH83nn39uZsyYwam9F+vVV181bdu2NYGBgaZfv37m008/9Tw3ZMgQk5iY6NX/vffeM126dDGBgYHmiiuuMB999FENV1w7+TLP7dq1M5JKLVOmTKn5wmshX9/TP0QYqThf53nTpk2mf//+xul0mo4dO5pnnnnGFBcX13DVtY8v83z27Fnz+OOPm06dOpmgoCATGRlpfv/735uTJ0/WfOG1yMcff1zmv7nn5zYxMdEMGTKk1Jg+ffqYwMBA07FjRzN37txqrdFhDPu2AACAPXX2mBEAAFA7EEYAAIBVhBEAAGAVYQQAAFhFGAEAAFYRRgAAgFWEEQAAYBVhBACAemr9+vUaOXKkWrVqJYfDoWXLlvm8DmOMpk6dqi5dusjpdKp169Z65plnfFpHnb1RHgAAuLDCwkL17t1bv/3tb3XTTTdVah0PPPCAVq9eralTp6pnz5765ptv9M033/i0Dq7ACgAA5HA4tHTpUsXHx3vaioqK9Nhjj+ndd99Vbm6uevTooeeff15Dhw6VJH3++efq1auXdu7cqa5du1Z623xNAwAAyjRx4kSlp6crNTVV//73vzV69Gj94he/0JdffilJ+sc//qGOHTtq+fLl6tChg9q3b6/x48f7vGeEMAIAAErJysrS3LlztXjxYg0ePFidOnXSww8/rEGDBmnu3LmSpAMHDigzM1OLFy/WggULNG/ePG3dulU333yzT9vimBEAAFDKjh07VFJSoi5duni1FxUV6bLLLpMkud1uFRUVacGCBZ5+b775pqKiorRnz54Kf3VDGAEAAKWcOnVK/v7+2rp1q/z9/b2eCw4OliRFREQoICDAK7Bcfvnlks7tWSGMAACASuvbt69KSkp07NgxDR48uMw+AwcOVHFxsfbv369OnTpJkvbu3StJateuXYW3xdk0AADUU6dOndK+ffsknQsfL730koYNG6ZmzZqpbdu2uuOOO7Rx40ZNmzZNffv21fHjx7V27Vr16tVLI0aMkNvt1tVXX63g4GBNnz5dbrdbSUlJcrlcWr16dYXrIIwAAFBPpaWladiwYaXaExMTNW/ePJ09e1ZPP/20FixYoCNHjqh58+YaMGCAnnjiCfXs2VOS9PXXX+u+++7T6tWr1bhxYw0fPlzTpk1Ts2bNKlwHYQQAAFjFqb0AAMAqwggAALCKMAIAAKwijAAAAKsIIwAAwCrCCAAAsIowAgAArCKMAAAAqwgjAADAKsIIAACwijACAACs+v8h63+BToASGwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] @@ -507,6 +519,7 @@ "source": [ "# Your code here\n", "plt.plot(range(0, len(costs)), costs)\n", + "plt.title(\"Cost over iterations\")\n", "plt.show()" ] }, @@ -544,7 +557,7 @@ }, { "cell_type": "code", - "execution_count": 152, + "execution_count": 323, "id": "e80c04b3", "metadata": {}, "outputs": [ @@ -580,7 +593,7 @@ }, { "cell_type": "code", - "execution_count": 153, + "execution_count": 324, "id": "5e594f32", "metadata": {}, "outputs": [ @@ -588,7 +601,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "The best cost value is 138034.95779787409, the exercice 2 cost value is 138034.95779787414\n" + "The best cost value is inf, the exercice 2 cost value is 138034.95779787414\n" ] } ], @@ -632,7 +645,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 325, "id": "3f693388", "metadata": {}, "outputs": [ @@ -640,48 +653,13 @@ "name": "stdout", "output_type": "stream", "text": [ - "144176.78676766725\n", - "[ 0.32486065 28.59143527]\n" + "Theta = [ 0.32873692 29.18572953]\n", + "Cost = 145335.46042386265\n" ] - } - ], - "source": [ - "# Your code here\n", - "import random\n", - "theta = np.zeros((2))\n", - "\n", - "\n", - "alpha = 0.000001 # i got the best results with those parameters\n", - "\n", - "max_iter = 1000\n", - "costs = []\n", - "\n", - "best_cost = np.inf\n", - "\n", - "for i in range(0, max_iter): # we could also use a delta on the cost function with a while to stop when the cost is not improving but we wanted to see the curve after x iterations\n", - " rand = int(random.random() * X.shape[0])\n", - " y_pred_stoch = X[rand] @ theta\n", - " theta[0] = theta[0] - alpha * (y_pred_stoch - y[rand])\n", - " theta[1] = theta[1] - alpha * (y_pred_stoch - y[rand]) * X[rand,1]\n", - "\n", - " y_pred = X @ theta\n", - " costs.append(cost_J(y_pred, y))\n", - "\n", - "\n", - "y_pred = X @ theta\n", - "print(cost_J(y_pred, y))\n", - "print(theta)" - ] - }, - { - "cell_type": "code", - "execution_count": 178, - "id": "edbc5a14", - "metadata": {}, - "outputs": [ + }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGsCAYAAAAPJKchAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAO41JREFUeJzt3X18VOWd///3mUkySUhmkgC5gwCRe+RWRAh43yilfC1sW78uSwve7lcLXSzdttJa/bWuG3ctVbu1oHUVrUUsreDKekejQJFwKyg3CiJIAiQBJMnkjkkyc35/TDIQSSATJnMyyev5eMyDzJnrnPmcKwnzznWuc45hmqYpAAAAi9isLgAAAHRvhBEAAGApwggAALAUYQQAAFiKMAIAACxFGAEAAJYijAAAAEsRRgAAgKUIIwAAwFKEEQAAYKmICiMbNmzQLbfcoszMTBmGodWrVwe9DdM09etf/1pDhgyRw+FQnz599Oijj4a+WAAA0CZRVhcQjOrqao0ZM0Z33nmnvvWtb7VrGwsWLNC7776rX//61xo1apROnz6t06dPh7hSAADQVkak3ijPMAytWrVKM2fODCzzeDz6+c9/rldeeUXl5eUaOXKk/uM//kPXX3+9JOmTTz7R6NGjtWfPHg0dOtSawgEAQDMRdZjmYubPn6+CggKtWLFCH3/8sW699VZ9/etf12effSZJeuONN3TZZZdpzZo1ys7O1oABA3T33XczMgIAgIW6TBgpLCzUCy+8oJUrV+qaa67RwIED9a//+q+6+uqr9cILL0iSDh06pCNHjmjlypV66aWXtGzZMu3YsUPf+c53LK4eAIDuK6LmjFzI7t275fV6NWTIkGbLPR6PevbsKUny+XzyeDx66aWXAu3++7//W+PHj9f+/fs5dAMAgAW6TBipqqqS3W7Xjh07ZLfbm72WkJAgScrIyFBUVFSzwDJ8+HBJ/pEVwggAAOHXZcLIuHHj5PV6deLECV1zzTUttpkyZYoaGhr0+eefa+DAgZKkAwcOSJL69+8ftloBAMBZEXU2TVVVlQ4ePCjJHz5+85vf6IYbblBKSor69eun7373u/rggw+0ePFijRs3TidPnlR+fr5Gjx6t6dOny+fzacKECUpISNCTTz4pn8+nefPmyel06t1337V47wAA6J4iKoysW7dON9xww3nL586dq2XLlqm+vl7/9m//ppdeeknHjh1Tr169NGnSJP3yl7/UqFGjJEnHjx/XD37wA7377rvq0aOHpk2bpsWLFyslJSXcuwMAABRhYQQAAHQ9XebUXgAAEJkIIwAAwFIRcTaNz+fT8ePHlZiYKMMwrC4HAAC0gWmaqqysVGZmpmy21sc/IiKMHD9+XFlZWVaXAQAA2qGoqEh9+/Zt9fWICCOJiYmS/DvjdDotrgYAALSF2+1WVlZW4HO8NRERRpoOzTidTsIIAAAR5mJTLJjACgAALEUYAQAAliKMAAAASxFGAACApQgjAADAUoQRAABgKcIIAACwFGEEAABYijACAAAsRRgBAACWIowAAABLEUYAAIClunUYeX7jYT24ercOnqi0uhQAALqtoMLIkiVLNHr06MDdc3NycvTWW2+12n7ZsmUyDKPZIzY29pKLDpU3Pj6ulzcX6vOT1VaXAgBAtxUVTOO+ffvqscce0+DBg2Wapl588UXNmDFDO3fu1OWXX97iOk6nU/v37w88v9hthMMpKS5aklRRU29xJQAAdF9BhZFbbrml2fNHH31US5Ys0ebNm1sNI4ZhKD09vf0VdqCk+BhJUnltncWVAADQfbV7zojX69WKFStUXV2tnJycVttVVVWpf//+ysrK0owZM7R3796Lbtvj8cjtdjd7dARX48hIOSMjAABYJugwsnv3biUkJMjhcOjee+/VqlWrNGLEiBbbDh06VM8//7xef/11vfzyy/L5fJo8ebKOHj16wffIy8uTy+UKPLKysoIts02S4hvDSC1hBAAAqximaZrBrFBXV6fCwkJVVFToL3/5i5577jmtX7++1UByrvr6eg0fPlyzZs3SI4880mo7j8cjj8cTeO52u5WVlaWKigo5nc5gyr2gZR8c1v/3xj5NH5Whp2dfEbLtAgAA/+e3y+W66Od3UHNGJCkmJkaDBg2SJI0fP17btm3TU089pWeeeeai60ZHR2vcuHE6ePDgBds5HA45HI5gSwta05yRT0rc8vlM2WydZ3ItAADdxSVfZ8Tn8zUbxbgQr9er3bt3KyMj41LfNiSuyk6RJB06Wa1PS7jWCAAAVghqZGTRokWaNm2a+vXrp8rKSi1fvlzr1q3TO++8I0maM2eO+vTpo7y8PEnSr371K02aNEmDBg1SeXm5Hn/8cR05ckR333136PekHTKT4jSgZ7y++LJG1XUNVpcDAEC3FFQYOXHihObMmaPi4mK5XC6NHj1a77zzjm666SZJUmFhoWy2s4MtZWVluueee1RSUqLk5GSNHz9emzZtatP8knCJifLXW+/1WVwJAADdU9ATWK3Q1gkw7fGNp/6ufcVuvXjnVbpuSO+QbhsAgO6srZ/f3freNJIU3TQy0sDICAAAVuj2YSTG7j+DpsFHGAEAwArdPoxENc5xqfN2+qNVAAB0Sd0+jHCYBgAAa3X7MMJhGgAArNXtwwiHaQAAsFa3DyMcpgEAwFqEEQ7TAABgKcKIrekKrBymAQDACoSRKP/ISB2HaQAAsARhxO7vAg7TAABgDcKIncM0AABYiTBi5zANAABWIoxwmAYAAEsRRpoO0zRwmAYAACsQRhoP09R7GRkBAMAKhBF70+XgCSMAAFih24cRR5RdkuRhAisAAJbo9mEkPsYfRmrrvBZXAgBA99Ttw0hsdGMYqSeMAABghW4fRppGRmoYGQEAwBLdPozENYaRM4yMAABgCcJIdNPISIPFlQAA0D0RRjhMAwCApbp9GInnMA0AAJbq9mGk6TBNvdfkKqwAAFiAMNI4MiJxei8AAFbo9mEkxm6T3ea/P82OL8osrgYAgO6n24cRwzA0eWBPSdLfPim1uBoAALqfbh9GJOlrw1IlSWU1dRZXAgBA90MYkZTcI0aSVFZdb3ElAAB0P4QRScnxjWGEkREAAMKOMCIppQdhBAAAqxBGJCXFR0vyH6YxTdPiagAA6F4II5KSGg/T1Hl9OlPPhc8AAAgnwoikHjF2NV5qRJVnmMQKAEA4EUbkv9ZIgiNKklTp4e69AACEE2GkUWKsf95I5RnCCAAA4UQYaZQY2zgywmEaAADCKqgwsmTJEo0ePVpOp1NOp1M5OTl66623LrjOypUrNWzYMMXGxmrUqFF68803L6ngjtJ0mKaKkREAAMIqqDDSt29fPfbYY9qxY4e2b9+uG2+8UTNmzNDevXtbbL9p0ybNmjVLd911l3bu3KmZM2dq5syZ2rNnT0iKD6WzIyOEEQAAwskwL/HCGikpKXr88cd11113nffabbfdpurqaq1ZsyawbNKkSRo7dqyWLl3a5vdwu91yuVyqqKiQ0+m8lHJb9YNXduqNj47rwenDdfc1l3XIewAA0J209fO73XNGvF6vVqxYoerqauXk5LTYpqCgQLm5uc2WTZ06VQUFBRfctsfjkdvtbvboaOlOhySp6HRNh78XAAA4K+gwsnv3biUkJMjhcOjee+/VqlWrNGLEiBbblpSUKC0trdmytLQ0lZSUXPA98vLy5HK5Ao+srKxgywza5ZkuSdLe4x0ffAAAwFlBh5GhQ4dq165d2rJli+677z7NnTtX+/btC2lRixYtUkVFReBRVFQU0u235PJM//DRvmK3vD4uCQ8AQLhEBbtCTEyMBg0aJEkaP368tm3bpqeeekrPPPPMeW3T09NVWlrabFlpaanS09Mv+B4Oh0MOhyPY0i7JZb0TFBttU02dV4dPVWtQakJY3x8AgO7qkq8z4vP55PF4WnwtJydH+fn5zZatXbu21TkmVrLbDA3PODs6AgAAwiOokZFFixZp2rRp6tevnyorK7V8+XKtW7dO77zzjiRpzpw56tOnj/Ly8iRJCxYs0HXXXafFixdr+vTpWrFihbZv365nn3029HsSAgN7J2hnYbmOnKq2uhQAALqNoMLIiRMnNGfOHBUXF8vlcmn06NF65513dNNNN0mSCgsLZbOdHWyZPHmyli9frgcffFA/+9nPNHjwYK1evVojR44M7V6ESP+UeElSIWfUAAAQNpd8nZFwCMd1RiTp9V3HtGDFLk0YkKyV907usPcBAKA76PDrjHRFTWfU7DhSph1HyiyuBgCA7oEwco5BqYn6+uXp8pnSI2tCe7oyAABoGWHkK34543IZhrSrqFwlFWesLgcAgC6PMPIVac5Y9U2OkyQdK2ciKwAAHY0w0oLk+BhJUnlNvcWVAADQ9RFGWuCKi5ZEGAEAIBwIIy1IahoZqSWMAADQ0QgjLUhqHBmpqKmzuBIAALo+wkgLkuIbD9MwMgIAQIcjjLSAOSMAAIQPYaQFzBkBACB8CCMtYM4IAADhQxhpAXNGAAAIH8JICwJhhDkjAAB0OMJIC1xx/jkjFbX18vpMi6sBAKBrI4y0wBUXLbvNkCTlf1JqcTUAAHRthJEWxETZNH1UhiRp7T7CCAAAHYkw0oqvj0yXJB0orbS4EgAAujbCSCuGpCVKkg6UVsnHvBEAADoMYaQVA3rGK8ZuU229V8fKa60uBwCALosw0ooou00DUxMkMYkVAICORBi5gFF9nJKklwqOWFwJAABdF2HkAmZd1U+S9GU1l4UHAKCjEEYuIMMVJ0mq9jTINJnECgBARyCMXEAPh12S1OAz5WnwWVwNAABdE2HkAuJjogJfV3saLKwEAICuizByAXabobho/+hItcdrcTUAAHRNhJGL6OHwj45UMTICAECHIIxcRELjvJHqOsIIAAAdgTByEU0jI5Vn6i2uBACArokwchEpPWIkSW98VGxxJQAAdE2EkYuYPbG/JOn9/Se4YR4AAB2AMHIRXxueqrhou8pr6vX5ySqrywEAoMshjFxEtN2mQY03zCsqq7G4GgAAuh7CSBv0TnRIkk5WeiyuBACArocw0ga9EvyTWAkjAACEHmGkDRgZAQCg4xBG2qB3gj+MlLoJIwAAhFpQYSQvL08TJkxQYmKiUlNTNXPmTO3fv/+C6yxbtkyGYTR7xMbGXlLR4davZ7wk6Ysvqy2uBACArieoMLJ+/XrNmzdPmzdv1tq1a1VfX6+bb75Z1dUX/pB2Op0qLi4OPI4cOXJJRYfbwN7+s2kOn6rmWiMAAIRYVDCN33777WbPly1bptTUVO3YsUPXXnttq+sZhqH09PT2VdgJ9E2OV4zdJk+DT4WnazSgVw+rSwIAoMu4pDkjFRUVkqSUlJQLtquqqlL//v2VlZWlGTNmaO/evRds7/F45Ha7mz2sZLcZGtnHKUna9sVpS2sBAKCraXcY8fl8uv/++zVlyhSNHDmy1XZDhw7V888/r9dff10vv/yyfD6fJk+erKNHj7a6Tl5enlwuV+CRlZXV3jJDZkK2P3DtLCq3thAAALoYwzTNdk2CuO+++/TWW29p48aN6tu3b5vXq6+v1/DhwzVr1iw98sgjLbbxeDzyeM6eueJ2u5WVlaWKigo5nc72lHvJXt1WqJ/+dbeuG9JbL955lSU1AAAQSdxut1wu10U/v4OaM9Jk/vz5WrNmjTZs2BBUEJGk6OhojRs3TgcPHmy1jcPhkMPhaE9pHSYzKU6SVFxRa3ElAAB0LUEdpjFNU/Pnz9eqVav03nvvKTs7O+g39Hq92r17tzIyMoJe10pNYeRYWa3aOZgEAABaENTIyLx587R8+XK9/vrrSkxMVElJiSTJ5XIpLs7/YT1nzhz16dNHeXl5kqRf/epXmjRpkgYNGqTy8nI9/vjjOnLkiO6+++4Q70rHynT596+6ziv3mQa54qItrggAgK4hqDCyZMkSSdL111/fbPkLL7yg22+/XZJUWFgom+3sgEtZWZnuuecelZSUKDk5WePHj9emTZs0YsSIS6s8zOJi7EqOj1ZZTb2KK2oJIwAAhEi7J7CGU1snwHS06b/9u/Yed+v526/UjcPSLKsDAIBI0NbPb+5NE4TAvJHyMxZXAgBA10EYCUKmy39PnePlnFEDAECoEEaCEDi9lzACAEDIEEaC0BRGjnOYBgCAkCGMBOHsnBFGRgAACBXCSBCyG+/We6y8VicqGR0BACAUCCNBSOkRo9F9XZKkTQe/tLgaAAC6BsJIkPom+w/VuM/UW1wJAABdA2EkSNF2f5fVNfgsrgQAgK6BMBKkpjBS7+30F64FACAiEEaCdDaMMDICAEAoEEaC5IgijAAAEEqEkSBF2w1JUh1hBACAkCCMBClwmKaBOSMAAIQCYSRIzBkBACC0CCNBimHOCAAAIUUYCRJzRgAACC3CSJC4zggAAKFFGAnS2QmsjIwAABAKhJEgxTCBFQCAkCKMBCk6ijkjAACEEmEkSNwoDwCA0CKMBInrjAAAEFqEkSDFcDYNAAAhRRgJEiMjAACEFmEkSE1XYD1T77W4EgAAugbCSJAyXLGSpOPlZ+T1cagGAIBLRRgJUmZSnGKibKrz+nS0rMbqcgAAiHiEkSDZbYaye/aQJB06VW1xNQAARD7CSDtkpcRJko6X11pcCQAAkY8w0g4ZLsIIAAChQhhph4wk/yTW4vIzFlcCAEDkI4y0Q58k/8gIc0YAALh0hJF2mDAgRZL08dFyna6us7gaAAAiG2GkHTKT4pTdq4d8pvRJsdvqcgAAiGiEkXYa0DNeknTkS641AgDApSCMtFP/xmuNFJ4mjAAAcCkII+2U3csfRjYcOCkfl4UHAKDdCCPt9H9GZyjBEaV9xW698fFxq8sBACBiBRVG8vLyNGHCBCUmJio1NVUzZ87U/v37L7reypUrNWzYMMXGxmrUqFF68803211wZ9EzwaF7r7tMkvSbtQdkmoyOAADQHkGFkfXr12vevHnavHmz1q5dq/r6et18882qrm79ehubNm3SrFmzdNddd2nnzp2aOXOmZs6cqT179lxy8VabM3mAJP8k1po6r7XFAAAQoQzzEv6kP3nypFJTU7V+/Xpde+21Lba57bbbVF1drTVr1gSWTZo0SWPHjtXSpUvb9D5ut1sul0sVFRVyOp3tLTfkTNPUkAffUr3X1AcP3Bi4GBoAAGj75/clzRmpqKiQJKWkpLTapqCgQLm5uc2WTZ06VQUFBa2u4/F45Ha7mz06I8Mw5IqLkSRV1NRbXA0AAJGp3WHE5/Pp/vvv15QpUzRy5MhW25WUlCgtLa3ZsrS0NJWUlLS6Tl5enlwuV+CRlZXV3jI7nCsuSpJUUUsYAQCgPdodRubNm6c9e/ZoxYoVoaxHkrRo0SJVVFQEHkVFRSF/j1BJim8cGanlsvAAALRHVHtWmj9/vtasWaMNGzaob9++F2ybnp6u0tLSZstKS0uVnp7e6joOh0MOh6M9pYWdKy5aEiMjAAC0V1AjI6Zpav78+Vq1apXee+89ZWdnX3SdnJwc5efnN1u2du1a5eTkBFdpJ5XUGEZOVxNGAABoj6BGRubNm6fly5fr9ddfV2JiYmDeh8vlUlyc/0ySOXPmqE+fPsrLy5MkLViwQNddd50WL16s6dOna8WKFdq+fbueffbZEO+KNfok+/e7qIzLwgMA0B5BjYwsWbJEFRUVuv7665WRkRF4vPrqq4E2hYWFKi4uDjyfPHmyli9frmeffVZjxozRX/7yF61evfqCk14jSdM9ao582fq1VgAAQOuCGhlpyyVJ1q1bd96yW2+9VbfeemswbxUxmu7e+8UpRkYAAGgP7k1ziTIaL3R2ovIMN8wDAKAdCCOXqHeC/6yfeq+pcs6oAQAgaISRSxQTZVNyvP+MmhOVZyyuBgCAyEMYCYHUxFhJ0gm3x+JKAACIPISREEh3+cPIgdJKiysBACDyEEZC4MZhqZKklduPMokVAIAgEUZCYObYPkqMjdL+0kqt2NZ576MDAEBnRBgJAVd8tO67fqAk6Zdv7NXJSuaOAADQVoSRELnnmsvkjI2Sp8GnT0vcVpcDAEDEIIyESLTdpvH9kyVJR8tqLa4GAIDIQRgJoawU/6Xhi05zaXgAANqKMBJCfRvv4MvICAAAbUcYCaG+yY0jI2WMjAAA0FaEkRDKagwjjIwAANB2hJEQajpMc7LSoypPg8XVAAAQGQgjIZQUH61+jZNY39lTYnE1AABEBsJICBmGoe+M7ytJeir/M4urAQAgMhBGQuzWK/1hpPB0jbzcpwYAgIsijIRYcnxM4OuaOuaNAABwMYSREHNE2WS3GZKkao/X4moAAOj8CCMhZhiG4mPskqRqRkYAALgowkgHSHBESZKqOb0XAICLIox0gMDICIdpAAC4KMJIB2BkBACAtiOMdID4mMYwwpwRAAAuijDSAXo0jozU1HGYBgCAiyGMdIAejqY5I4yMAABwMYSRDtAjMGeEkREAAC6GMNIBAhNYmTMCAMBFEUY6wNlTewkjAABcDGGkA3BqLwAAbUcY6QBnT+1lzggAABdDGOkAnE0DAEDbEUY6QA9GRgAAaDPCSAfowZwRAADajDDSAZLioyVJpe4z8vpMi6sBAKBzI4x0gMGpCUp0RKnyTIP2Hq+wuhwAADo1wkgHiLLbNLZfkiRp33G3tcUAANDJBR1GNmzYoFtuuUWZmZkyDEOrV6++YPt169bJMIzzHiUlJe2tOSJk9+ohSTpyusbiSgAA6NyCDiPV1dUaM2aMnn766aDW279/v4qLiwOP1NTUYN86ovTv6Q8jh05WWVwJAACdW1SwK0ybNk3Tpk0L+o1SU1OVlJQU9HqRamhaoiRp7b5SvbW7WNNGZVhcEQAAnVPY5oyMHTtWGRkZuummm/TBBx9csK3H45Hb7W72iDSTB/bUmL4u+UxpxbYiq8sBAKDT6vAwkpGRoaVLl+qvf/2r/vrXvyorK0vXX3+9Pvzww1bXycvLk8vlCjyysrI6usyQs9kM3Z87RJJ0qspjcTUAAHReQR+mCdbQoUM1dOjQwPPJkyfr888/1xNPPKE//vGPLa6zaNEiLVy4MPDc7XZHZCDpneiQJJ2sJIwAANCaDg8jLbnqqqu0cePGVl93OBxyOBxhrKhj9Erw78OX1XXy+UzZbIbFFQEA0PlYcp2RXbt2KSOj60/o7JkQI0ny+kyV1dRZXA0AAJ1T0CMjVVVVOnjwYOD54cOHtWvXLqWkpKhfv35atGiRjh07ppdeekmS9OSTTyo7O1uXX365zpw5o+eee07vvfee3n333dDtRScVbbcpOT5aZTX1OlVVp54JkT/aAwBAqAUdRrZv364bbrgh8LxpbsfcuXO1bNkyFRcXq7CwMPB6XV2dfvSjH+nYsWOKj4/X6NGj9be//a3ZNrqyXgkOldXU62SlR0PTE60uBwCATscwTbPT38nN7XbL5XKpoqJCTqfT6nKC8k9/2KxNn3+pJ28bq5nj+lhdDgAAYdPWz2/uTdPBmiaxcnovAAAtI4x0sKbTez8/WW1xJQAAdE6EkQ42vn+yJOmVrYX634+LLa4GAIDOhzDSwaaNTNftkwdIkh5cvVteX6efogMAQFgRRjqYYRj62TeGK9ERpbKaeu05VmF1SQAAdCqEkTCIibJp8qCekqRVO49ZXA0AAJ0LYSRMvjPef2+dDQdOWlwJAACdC2EkTPqlxEuSymvrLa4EAIDOhTASJs44/8Vu3bX1ioDrzAEAEDaEkTBxxkZLkhp8pmrrvRZXAwBA50EYCZP4GLvsNkOS5K5tsLgaAAA6D8JImBiGIVecf3TEfYZ5IwAANCGMhJEz1j9vpIJJrAAABBBGwiilR4wk6fMTVRZXAgBA50EYCaPcEWmSpJcKjlhcCQAAnQdhJIy+c0Vf2W2G9hW79fT7B60uBwCAToEwEkapzlhdN6S3JGnr4dMWVwMAQOdAGAmzpjv4llScsbYQAAA6CcJImGW4YiVJJW7CCAAAEmEk7NIbw0hFbb1OEEgAACCMhFtibLQG9u4hSbrt2c06XV1ncUUAAFiLMGKBp/5xnHolOHT4VLWWb+E0XwBA90YYscDIPi7Nv2GgJGnjwVMWVwMAgLUIIxaZMqiXJGnzodOc5gsA6NYIIxYZnJaomxqvyLrhwEmLqwEAwDqEEQvdMDRVkrSzqMziSgAAsA5hxEJjs5IkSR8VVcjrM60tBgAAixBGLDQkLUFx0XZVeRq0q6jc6nIAALAEYcRCUXabbhzmP1TzyJp9Mk1GRwAA3Q9hxGIP3zJCcdF27Soq17YvmDsCAOh+CCMWS3XGavroDEnSA3/9WEe+rLa4IgAAwosw0gn887WXSZIOnarWHwu4IisAoHshjHQCQ9IS9S9fGyxJ+uxElcXVAAAQXoSRTuKawf4rsn5a4paP03wBAN0IYaSTGJaeqLhou0rdHv3tk1KrywEAIGwII51EYmx04PLwB09yqAYA0H0QRjqR1ESHJKm8pt7iSgAACB/CSCeS3CNGklRWXWdxJQAAhA9hpBNJio+WJJUxMgIA6EaCDiMbNmzQLbfcoszMTBmGodWrV190nXXr1umKK66Qw+HQoEGDtGzZsnaU2vUlx/tHRsprGBkBAHQfQYeR6upqjRkzRk8//XSb2h8+fFjTp0/XDTfcoF27dun+++/X3XffrXfeeSfoYru6pjDyJYdpAADdSFSwK0ybNk3Tpk1rc/ulS5cqOztbixcvliQNHz5cGzdu1BNPPKGpU6cG+/Zd2sDUHpKkw6eqdbLSo96NE1oBAOjKOnzOSEFBgXJzc5stmzp1qgoKClpdx+PxyO12N3t0B6mJsbo80ylJ2nDgpMXVAAAQHh0eRkpKSpSWltZsWVpamtxut2pra1tcJy8vTy6XK/DIysrq6DI7jRuGpkqS1hFGAADdRKc8m2bRokWqqKgIPIqKiqwuKWxyBvaUJO0+Wm5tIQAAhEnQc0aClZ6ertLS5pc3Ly0tldPpVFxcXIvrOBwOORzdc77E4NQESVLh6RqdqfcqNtpucUUAAHSsDh8ZycnJUX5+frNla9euVU5OTke/dUTqnehQYmyUfKb05N8+k2ly0zwAQNcWdBipqqrSrl27tGvXLkn+U3d37dqlwsJCSf5DLHPmzAm0v/fee3Xo0CH95Cc/0aeffqrf//73+vOf/6wf/vCHodmDLsYwDH37ir6SpKXrP9djb31qcUUAAHSsoMPI9u3bNW7cOI0bN06StHDhQo0bN04PPfSQJKm4uDgQTCQpOztb//u//6u1a9dqzJgxWrx4sZ577jlO672Ah/7PiEAgeWbDIW0+9KXFFQEA0HEMMwKOA7jdbrlcLlVUVMjpdFpdTlj4fKa+8du/69OSSiXHR+uDB25UfEyHT/EBACBk2vr53SnPpoFksxl66c6rFBttU1lNvSb82990vLzlU6EBAIhkhJFOLNUZq9/NukKSVF3nVf4npRdZAwCAyEMY6eRyR6Tp/tzBkqQV24rU4PVZXBEAAKFFGIkA00dlKNpuaO9xt97cU2J1OQAAhBRhJAIMTkvU/7t2oCTp7T3FFlcDAEBoEUYixJUDkiVJn5VWWVwJAAChRRiJEIPTEiVJn5+sUrWnweJqAAAIHcJIhMh0xSrTFSufKT2x9oDV5QAAEDKEkQhhGIZ+NWOkJOm5jYf1/qcnLK4IAIDQIIxEkK8NT9WMsZmSpKffP2hxNQAAhAZhJIIYhqGff2O4ou2Gth8p055jFVaXBADAJSOMRJhUZ6ymjcyQJP33xsMWVwMAwKUjjESg707qL0latfOYPi1xW1wNAACXhjASga7KTtGIDP/dDw+e4LojAIDIRhiJUNm9e0iSTrg9FlcCAMClIYxEqNREhyTpRCVhBAAQ2QgjESo1MVaS9OGRMosrAQDg0hBGItSoPi5J0tYvTmvDgZMWVwMAQPsRRiLUlEE99Y8TsiRJL3zAKb4AgMhFGIlQhmHorquzJUnv7z+pbV+ctrgiAADahzASwQalJuiawb0kSX/eVmRxNQAAtA9hJIIZhqHbJw+QJO04UibTNK0tCACAdiCMRLjx/ZMVE2XToVPV2vDZKavLAQAgaISRCJcUH6PvNV4e/scrP1JJxRmLKwIAIDiEkS5g3g2D1CcpTicqPZr65AZVeRqsLgkAgDYjjHQBKT1i9Mz3xkuSKmrrtbOQC6EBACIHYaSLGNnHpYnZKZKko2W1FlcDAEDbEUa6kKHpiZKko2U1FlcCAEDbEUa6kL7JcZKkv+07wWm+AICIQRjpQqaNzJBhSPtLK3XwRJXV5QAA0CaEkS4kKyVel2c6JUlffMmhGgBAZCCMdDH9e/aQJO0vcVtcCQAAbUMY6WKGpvknsb7wwReqa/BZXA0AABdHGOli5uYMUGJslL6srtNLBV9YXQ4AABdFGOliXPHR+s74vpKk/3x7v5as+1yeBq/FVQEA0DrCSBf0068P05RBPVXn9ek/3v5U1z++TjuOnLa6LAAAWkQY6YJio+16/vYJenD6cDljo1RccUbfXlKge/+4Q2XVdVaXBwBAM4SRLsoRZdfd11ymDx64Uf8wro8k6e29JfrLjqMWVwYAQHPtCiNPP/20BgwYoNjYWE2cOFFbt25tte2yZctkGEazR2xsbLsLRnASY6P1xG1jNe+GgZLExdAAAJ1O0GHk1Vdf1cKFC/Xwww/rww8/1JgxYzR16lSdOHGi1XWcTqeKi4sDjyNHjlxS0QjekMZTftcfOMml4gEAnUrQYeQ3v/mN7rnnHt1xxx0aMWKEli5dqvj4eD3//POtrmMYhtLT0wOPtLS0SyoawRuc6g8jJe4z+qc/bFHRaa7QCgDoHIIKI3V1ddqxY4dyc3PPbsBmU25urgoKClpdr6qqSv3791dWVpZmzJihvXv3XvB9PB6P3G53swcuzfCMRP3rzUMkSQWHvtRNT6zX+5+2PpoFAEC4BBVGTp06Ja/Xe97IRlpamkpKSlpcZ+jQoXr++ef1+uuv6+WXX5bP59PkyZN19GjrEynz8vLkcrkCj6ysrGDKRAsMw9D8Gwdr+T0TNSQtQWfqfbpj2Tb932cKtPnQl1aXBwDoxjr8bJqcnBzNmTNHY8eO1XXXXafXXntNvXv31jPPPNPqOosWLVJFRUXgUVRU1NFldhuTB/bSmh9co1lXZckwpK2HT+v2F7ZqzcfHrS4NANBNBRVGevXqJbvdrtLS0mbLS0tLlZ6e3qZtREdHa9y4cTp48GCrbRwOh5xOZ7MHQicmyqa8b43Whh/foCmDeupMvU/zl+/UpH/P14ubvlCDl3vaAADCJ6gwEhMTo/Hjxys/Pz+wzOfzKT8/Xzk5OW3ahtfr1e7du5WRkRFcpQi5rJR4/X72eM26KkvRdkMl7jN6+H/26vt/+tDq0gAA3UjQh2kWLlyoP/zhD3rxxRf1ySef6L777lN1dbXuuOMOSdKcOXO0aNGiQPtf/epXevfdd3Xo0CF9+OGH+u53v6sjR47o7rvvDt1eoN1ccdHK+9Zo7XzoZv3rzUNkGNK7+0qV99YnVpcGAOgmooJd4bbbbtPJkyf10EMPqaSkRGPHjtXbb78dmNRaWFgom+1sxikrK9M999yjkpISJScna/z48dq0aZNGjBgRur3AJUtwRGn+jYNVdLpWr24v0jPrD+lUZZ3uujpbIzI5TAYA6DiGGQFXwHK73XK5XKqoqGD+SAczTVOz/rBZmw+dvbHepMtS9NtZ45SayJVzAQBt19bPb+5Ng2YMw9Af75qoZXdM0DdG+Sclbz50Wve8uF1Hy7hQGgAg9AgjOE+03abrh6bq97PH67XvT1ZstE0fHa3QP7+0w+rSAABdEGEEF3RFv2St/H+TJUn7it16Yu0BiysCAHQ1hBFc1Ki+Lt00wj9B+a09xRZXAwDoaggjaJO8b42SJB0ordLf9pVepDUAAG1HGEGb9Epw6JrBvSRJd7+0Xf+V/5kOnaxSBJyMBQDo5Di1F21W7WnQ3Oe3avuRssCyDFesxvdP1sTLemrWhCxF2cm3AAC/tn5+E0YQlGpPg5Zt+kJ//+ykPjxSrrpz7mOTc1lP/dc/jVOvBIeFFQIAOgvCCDpcbZ1X2744rW1fnNaSdZ+rwWcq3RmrlffmKCsl3uryAAAW46Jn6HBxMXZdO6S3fnTzUL32/cnKdMWqxH1Gc5/fqpOVHqvLAwBECMIIQmJ03yT98e6JirHbdOhUtRb+eReTWwEAbUIYQcgM7J2gX//fMZKkv392Sg//z17V1nktrgoA0NkRRhBS3xyTqR/mDpEkvVRwRFf+21rtL6m0uCoAQGdGGEHIzb9xkO6ckq2k+GhV13n1YsEXVpcEAOjECCMIObvN0EO3jNCS2eMlScu3FGr5lkKLqwIAdFaEEXSYSZelqG9ynCTptQ+PWlwNAKCzIoygwxiGoWe/d6UkafuRMh0rr+UMGwDAeaKsLgBd26DUBEXZDDX4TE157D0lOKI0rl+SfjfrCrnio60uDwDQCTAygg4VE2XTA9OGaXBjKKnyNOjvn53S4rX7VVFTr7oG38U3AgDo0rgcPMKmrsGn371/UL/N/yywLCbKphdun6Apg3pZWBkAoCNwOXh0OjFRNv0wd7B+dNMQxcfYJfkDyuzntuijonLmkwBAN8XICCzh85k6crpGN/x6XWBZVkqc7pySrf494zW6b5JS4mNksxnWFQkAuCTctRcR4eOj5Xrgr7u1r9h93mvO2CiNyUpS7vA03Xx5ms7U+xQXbVe6K9aCSgEAwSKMIKIUna7R79d9ruPltTp8qlpFZTVq7Sfzh7lDdPvkAerhsCvKzpFGAOisCCOIaHUNPu05XqHfvXdQe49XqNTtOa9NUny0Zo7to4G9eyguJkpX9k/WgF49LKgWANASwgi6lMoz9Yq22/TE2gP605ZCVXkaWmyX961RSnfFKueynoqNtoe5SgDAuQgj6LJM01R1nVfLPjisQ6eqVePx6u29Jc3axEbbNHlgL43MdGpgaoKccdFKjo9Rcny0knvEKCEmismxANDBCCPoVj44eEpL13+uM/VefVRUoTrvxS+m1icpTr0SHapr8MlT71Wd16d0Z6xsRishpYXFjiibYqPt6hFjV/Q581fO/aU69zfM1Fd+3cwWvzzvNOfWt/eVzZ3zYrPXvtLQ0+CT+4z/onN2m6GoxmDm9Zmq8/pU1+CTaUo+01S916cGn6leCQ71cNhlMwwZhiFDks2Q6rw+uWsbZMqUafrrM79Si80wZLNJhgzZDP+tAr76b6IjSrExdtkbl9lsRuPXhv9rW+N2Wvv+BMHrM+U1Tfl8prw+U77GfW1aLtN/Kroj6pzvqdnUleZ5y77axa1+z82z/wTeS/4fLaNxv5r6zWzW3jz7/i0s853zvZL8/RQTZVOM3aZeCTHn1ejfRfMr2zu37rOvfXW/m76/5/VJs+2csw/nrdPy/gXzfjq3P87Z7rntvD5TRuPPlt1Q4OfI39dq/Dn2/0w2tZOkBq9P9V6f6rym6hv8Xzf9DsRF2xUbbW+2XbvNpiibIbvdULTNkCn/YWZb4++Vven3xfD/vjT9/thtkr3pey7/989n+vfD5/Pvf9P31Wxa3vi8wev/XvtX9/++RNttirIbirLZGn+nzt03fzv/sqbn57wu//7cdXW2slLiFUpt/fzmcvDoEqYM6hW4cJppmlp/4KQ+Plqhfcfdqqitl/tMvcpr6nW6uk619V5J0rHyWh0rr222naNltedtG370DdC1fXNsZsjDSFsRRtDlGIah64em6vqhqS2+fqbeK/eZen1xqkbu2nrFNI5u+ExTZdV1gXbnjzp85bn8f53U1HlV4/Gqwde8wbl/wButLPe/ZrT62lf3q23ba2Wdc16IstnkiotWTJRNXp+pBp//L2p741/U0Xb/X3uGYSjK7h+NOFnpkafBGxgxaforLspuyBUXHRgtaXrPpr/Amv6y9TV+0ewvwHP+dZ+pl6feK6/pvw6Nzzx39KJpPfO870N7nB11afy66bmtcaRGCowQGS18U5p/b1vu49a+R03tz32vplGJs3+xNq1nNF92Tt82PW3667ZphMswJK/P/9d5tadB5bV1gTYX287Zr5vX3dLP0Ve3ee7y8/bZMM7f5jnbba22lrbZUs1qYZtRNsM/uuDT2Z+jplEGSTrn58//8+nfRozdULTd/zsQHWULPLfbDNXWeeVp8J233QafqYbG0RPJP2LqM6V6r09enxn4+TcDP9tn1z13ZMJ2zs9k0/6dHU05+6+/PiOwL97GEb6mEZxzf0/Mc/a5aUTs3D44d3m607rLJhBG0O3ENg61piZyvRIA6Ay4SAMAALAUYQQAAFiKMAIAACxFGAEAAJYijAAAAEsRRgAAgKUIIwAAwFKEEQAAYKl2hZGnn35aAwYMUGxsrCZOnKitW7desP3KlSs1bNgwxcbGatSoUXrzzTfbVSwAAOh6gg4jr776qhYuXKiHH35YH374ocaMGaOpU6fqxIkTLbbftGmTZs2apbvuuks7d+7UzJkzNXPmTO3Zs+eSiwcAAJEv6Lv2Tpw4URMmTNDvfvc7SZLP51NWVpZ+8IMf6IEHHjiv/W233abq6mqtWbMmsGzSpEkaO3asli5d2qb35K69AABEnrZ+fgc1MlJXV6cdO3YoNzf37AZsNuXm5qqgoKDFdQoKCpq1l6SpU6e22l6SPB6P3G53swcAAOiaggojp06dktfrVVpaWrPlaWlpKikpaXGdkpKSoNpLUl5enlwuV+CRlZUVTJkAACCCdMq79i5atEgLFy4MPK+oqFC/fv0YIQEAIII0fW5fbEZIUGGkV69estvtKi0tbba8tLRU6enpLa6Tnp4eVHtJcjgccjgcgedNO8MICQAAkaeyslIul6vV14MKIzExMRo/frzy8/M1c+ZMSf4JrPn5+Zo/f36L6+Tk5Cg/P1/3339/YNnatWuVk5PT5vfNzMxUUVGREhMTZRhGMCVfkNvtVlZWloqKipgY28Ho6/Cgn8ODfg4P+jl8OqqvTdNUZWWlMjMzL9gu6MM0Cxcu1Ny5c3XllVfqqquu0pNPPqnq6mrdcccdkqQ5c+aoT58+ysvLkyQtWLBA1113nRYvXqzp06drxYoV2r59u5599tk2v6fNZlPfvn2DLbXNnE4nP+hhQl+HB/0cHvRzeNDP4dMRfX2hEZEmQYeR2267TSdPntRDDz2kkpISjR07Vm+//XZgkmphYaFstrPzYidPnqzly5frwQcf1M9+9jMNHjxYq1ev1siRI4N9awAA0AUFfZ2RroTrl4QPfR0e9HN40M/hQT+Hj9V93a3vTeNwOPTwww83myyLjkFfhwf9HB70c3jQz+FjdV9365ERAABgvW49MgIAAKxHGAEAAJYijAAAAEsRRgAAgKW6dRh5+umnNWDAAMXGxmrixInaunWr1SVFjLy8PE2YMEGJiYlKTU3VzJkztX///mZtzpw5o3nz5qlnz55KSEjQt7/97fNuDVBYWKjp06crPj5eqamp+vGPf6yGhoZw7kpEeeyxx2QYRrMrGtPPoXPs2DF997vfVc+ePRUXF6dRo0Zp+/btgddN09RDDz2kjIwMxcXFKTc3V5999lmzbZw+fVqzZ8+W0+lUUlKS7rrrLlVVVYV7Vzotr9erX/ziF8rOzlZcXJwGDhyoRx55pNm9S+jn9tmwYYNuueUWZWZmyjAMrV69utnroerXjz/+WNdcc41iY2OVlZWl//zP/7z04s1uasWKFWZMTIz5/PPPm3v37jXvueceMykpySwtLbW6tIgwdepU84UXXjD37Nlj7tq1y/zGN75h9uvXz6yqqgq0uffee82srCwzPz/f3L59uzlp0iRz8uTJgdcbGhrMkSNHmrm5uebOnTvNN9980+zVq5e5aNEiK3ap09u6das5YMAAc/To0eaCBQsCy+nn0Dh9+rTZv39/8/bbbze3bNliHjp0yHznnXfMgwcPBto89thjpsvlMlevXm1+9NFH5je/+U0zOzvbrK2tDbT5+te/bo4ZM8bcvHmz+fe//90cNGiQOWvWLCt2qVN69NFHzZ49e5pr1qwxDx8+bK5cudJMSEgwn3rqqUAb+rl93nzzTfPnP/+5+dprr5mSzFWrVjV7PRT9WlFRYaalpZmzZ8829+zZY77yyitmXFyc+cwzz1xS7d02jFx11VXmvHnzAs+9Xq+ZmZlp5uXlWVhV5Dpx4oQpyVy/fr1pmqZZXl5uRkdHmytXrgy0+eSTT0xJZkFBgWma/l8cm81mlpSUBNosWbLEdDqdpsfjCe8OdHKVlZXm4MGDzbVr15rXXXddIIzQz6Hz05/+1Lz66qtbfd3n85np6enm448/HlhWXl5uOhwO85VXXjFN0zT37dtnSjK3bdsWaPPWW2+ZhmGYx44d67jiI8j06dPNO++8s9myb33rW+bs2bNN06SfQ+WrYSRU/fr73//eTE5ObvZ/x09/+lNz6NChl1RvtzxMU1dXpx07dig3NzewzGazKTc3VwUFBRZWFrkqKiokSSkpKZKkHTt2qL6+vlkfDxs2TP369Qv0cUFBgUaNGhW4lYAkTZ06VW63W3v37g1j9Z3fvHnzNH369Gb9KdHPofQ///M/uvLKK3XrrbcqNTVV48aN0x/+8IfA64cPH1ZJSUmzvna5XJo4cWKzvk5KStKVV14ZaJObmyubzaYtW7aEb2c6scmTJys/P18HDhyQJH300UfauHGjpk2bJol+7iih6teCggJde+21iomJCbSZOnWq9u/fr7KysnbXF/S9abqCU6dOyev1NvvPWZLS0tL06aefWlRV5PL5fLr//vs1ZcqUwD2HSkpKFBMTo6SkpGZt09LSVFJSEmjT0veg6TX4rVixQh9++KG2bdt23mv0c+gcOnRIS5Ys0cKFC/Wzn/1M27Zt07/8y78oJiZGc+fODfRVS315bl+npqY2ez0qKkopKSn0daMHHnhAbrdbw4YNk91ul9fr1aOPPqrZs2dLEv3cQULVryUlJcrOzj5vG02vJScnt6u+bhlGEFrz5s3Tnj17tHHjRqtL6XKKioq0YMECrV27VrGxsVaX06X5fD5deeWV+vd//3dJ0rhx47Rnzx4tXbpUc+fOtbi6ruPPf/6z/vSnP2n58uW6/PLLtWvXLt1///3KzMykn7uxbnmYplevXrLb7eedcVBaWqr09HSLqopM8+fP15o1a/T++++rb9++geXp6emqq6tTeXl5s/bn9nF6enqL34Om1+A/DHPixAldccUVioqKUlRUlNavX6/f/va3ioqKUlpaGv0cIhkZGRoxYkSzZcOHD1dhYaGks311of830tPTdeLEiWavNzQ06PTp0/R1ox//+Md64IEH9I//+I8aNWqUvve97+mHP/yh8vLyJNHPHSVU/dpR/590yzASExOj8ePHKz8/P7DM5/MpPz9fOTk5FlYWOUzT1Pz587Vq1Sq999575w3bjR8/XtHR0c36eP/+/SosLAz0cU5Ojnbv3t3sh3/t2rVyOp3nfSh0V1/72te0e/du7dq1K/C48sorNXv27MDX9HNoTJky5bzT0w8cOKD+/ftLkrKzs5Went6sr91ut7Zs2dKsr8vLy7Vjx45Am/fee08+n08TJ04Mw150fjU1NbLZmn/02O12+Xw+SfRzRwlVv+bk5GjDhg2qr68PtFm7dq2GDh3a7kM0krr3qb0Oh8NctmyZuW/fPvOf//mfzaSkpGZnHKB19913n+lyucx169aZxcXFgUdNTU2gzb333mv269fPfO+998zt27ebOTk5Zk5OTuD1plNOb775ZnPXrl3m22+/bfbu3ZtTTi/i3LNpTJN+DpWtW7eaUVFR5qOPPmp+9tln5p/+9CczPj7efPnllwNtHnvsMTMpKcl8/fXXzY8//ticMWNGi6dGjhs3ztyyZYu5ceNGc/Dgwd3+lNNzzZ071+zTp0/g1N7XXnvN7NWrl/mTn/wk0IZ+bp/Kykpz586d5s6dO01J5m9+8xtz586d5pEjR0zTDE2/lpeXm2lpaeb3vvc9c8+ePeaKFSvM+Ph4Tu29FP/1X/9l9uvXz4yJiTGvuuoqc/PmzVaXFDEktfh44YUXAm1qa2vN73//+2ZycrIZHx9v/sM//INZXFzcbDtffPGFOW3aNDMuLs7s1auX+aMf/cisr68P895Elq+GEfo5dN544w1z5MiRpsPhMIcNG2Y+++yzzV73+XzmL37xCzMtLc10OBzm1772NXP//v3N2nz55ZfmrFmzzISEBNPpdJp33HGHWVlZGc7d6NTcbre5YMECs1+/fmZsbKx52WWXmT//+c+bnSpKP7fP+++/3+L/y3PnzjVNM3T9+tFHH5lXX3216XA4zD59+piPPfbYJddumOY5l70DAAAIs245ZwQAAHQehBEAAGApwggAALAUYQQAAFiKMAIAACxFGAEAAJYijAAAAEsRRgAAgKUIIwAAwFKEEQAAYCnCCAAAsBRhBAAAWOr/Bwmb0h92yL5LAAAAAElFTkSuQmCC", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGzCAYAAAD9pBdvAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAASKhJREFUeJzt3Xl8E3X+P/DX5O6V9L6gpeWQQ05RoIDiUanIutRdXeSrCx7gsaAgrq51d8Vj3eoqHusqh/4EXBdBVFARgS7nIkXOKody03L0AtqkTds0yXx+f6QJBFpoaJrp8Xo+HvOATj4zeWcIzSufz2dmJCGEABEREZFCVEoXQERERO0bwwgREREpimGEiIiIFMUwQkRERIpiGCEiIiJFMYwQERGRohhGiIiISFEMI0RERKQohhEiIiJSFMMIEbU4KSkpuP/++5UuwyeSJOGFF15QugyiVolhhMhPDh8+jEceeQSdO3eGwWCA0WjEsGHD8M4776C6utrvz1dVVYUXXngB69ev9/u+W5p9+/bhhRdewLFjxxStY8WKFQwcRM1Ao3QBRG3Bt99+i7vvvht6vR7jx49H7969UVtbi02bNuHpp5/G3r17MXfuXL8+Z1VVFV588UUAwI033ujXfStt//79UKnOfVfat28fXnzxRdx4441ISUlRrK4VK1bgvffeqzeQVFdXQ6Phr1SiK8H/OURNdPToUdxzzz3o1KkT1q5di4SEBM9jkydPxqFDh/Dtt98qWGHL43A4IMsydDpdvY/r9fqA1GG1WhESEuKXfRkMBr/sh6hdEkTUJI8++qgAIL7//vtGtbfb7eKll14SnTt3FjqdTnTq1ElkZWWJmpoar3bbtm0TI0eOFFFRUcJgMIiUlBTxwAMPCCGEOHr0qABw0TJjxoxLPvfhw4fFXXfdJSIiIkRQUJAYPHiwWL58uefxoqIioVarxQsvvHDRtr/88osAIN59913PurKyMjF16lTRsWNHodPpRJcuXcSrr74qnE6np4271tdff1289dZbonPnzkKlUoldu3Y1WGenTp3EhAkThBBCzJs3r97Xum7dOk/7FStWiOHDh4vg4GARGhoqbr/9drFnzx6vfU6YMEGEhISIQ4cOiVGjRonQ0FAxZswYIYQQGzduFHfddZdISkoSOp1OdOzYUUybNk1UVVV5bV9fHW71Hf+dO3eK2267TYSFhYmQkBBx8803i9zcXK827te3adMm8eSTT4ro6GgRHBwsMjMzRUlJiVfbS70niFoz9owQNdE333yDzp07Y+jQoY1qP3HiRCxYsAB33XUXnnrqKfzwww/Izs7Gzz//jKVLlwIASkpKMHLkSMTExODZZ59FeHg4jh07hi+//BIAEBMTg1mzZuGxxx7DnXfeid/85jcAgL59+zb4vMXFxRg6dCiqqqrwxBNPICoqCgsWLMCvf/1rfP7557jzzjsRFxeHESNG4LPPPsOMGTO8tl+8eDHUajXuvvtuAK5hohEjRuDkyZN45JFHkJycjM2bNyMrKwuFhYV4++23vbafN28eampq8PDDD0Ov1yMyMrJRx+uGG27AE088gX/+85947rnn0LNnTwDw/Pnvf/8bEyZMQEZGBl577TVUVVVh1qxZGD58OHbt2uU1rONwOJCRkYHhw4fjjTfeQHBwMABgyZIlqKqqwmOPPYaoqChs3boV7777Lk6cOIElS5YAAB555BGcOnUKOTk5+Pe//33Zuvfu3Yvrr78eRqMRzzzzDLRaLebMmYMbb7wRGzZswODBg73aP/7444iIiMCMGTNw7NgxvP3225gyZQoWL14M4PLvCaJWTek0RNSamc1mAcDzDfty8vLyBAAxceJEr/V//OMfBQCxdu1aIYQQS5cuFQDEtm3bGtxXaWlpo3pD3KZNmyYAiP/973+edRUVFSI1NVWkpKR4ejPmzJkjAIjdu3d7bd+rVy9x8803e35++eWXRUhIiDhw4IBXu2effVao1WpRUFAghDjXM2I0Gi/6pt+Q83tGhBBiyZIlF/WGuOsPDw8XkyZN8lpfVFQkTCaT13p3z8azzz570fOd3wPilp2dLSRJEvn5+Z51kydPFg392rzw3yIzM1PodDpx+PBhz7pTp06JsLAwccMNN3jWuXtG0tPThSzLnvVPPvmkUKvVory8XAjRuPcEUWvFs2mImsBisQAAwsLCGtV+xYoVAIDp06d7rX/qqacAwDO3JDw8HACwfPly2O12f5SKFStWYNCgQRg+fLhnXWhoKB5++GEcO3YM+/btAwD85je/gUaj8XwjB4A9e/Zg3759GDt2rGfdkiVLcP311yMiIgKnT5/2LOnp6XA6ndi4caPX8//2t79FTEyMX16LW05ODsrLyzFu3DivGtRqNQYPHox169ZdtM1j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Yffu3V5v/pycHBiNxos+FNqrW265Bbt370ZeXp5nufbaa3Hvvfd6/s7j7B/Dhg276PT0AwcOoFOnTgCA1NRUxMfHex1ri8WCH374wetYl5eXY8eOHZ42a9euhSzLGDx4cABeRctXVVUFlcr7o0etVkOWZQA8zs3FX8c1LS0NGzduhN1u97TJyclB9+7dr3iIBkD7PrVXr9eL+fPni3379omHH35YhIeHe51xQA177LHHhMlkEuvXrxeFhYWepaqqytPm0UcfFcnJyWLt2rVi+/btIi0tTaSlpXked59yOnLkSJGXlydWrlwpYmJieMrpZZx/No0QPM7+snXrVqHRaMQrr7wiDh48KP7zn/+I4OBg8cknn3javPrqqyI8PFx89dVX4qeffhJjxoyp99TIAQMGiB9++EFs2rRJdOvWrd2fcnq+CRMmiA4dOnhO7f3yyy9FdHS0eOaZZzxteJyvTEVFhdi1a5fYtWuXACDefPNNsWvXLpGfny+E8M9xLS8vF3FxceL3v/+92LNnj1i0aJEIDg7mqb1N8e6774rk5GSh0+nEoEGDxJYtW5QuqdUAUO8yb948T5vq6mrxhz/8QURERIjg4GBx5513isLCQq/9HDt2TIwaNUoEBQWJ6Oho8dRTTwm73R7gV9O6XBhGeJz955tvvhG9e/cWer1e9OjRQ8ydO9frcVmWxV//+lcRFxcn9Hq9uOWWW8T+/fu92pw5c0aMGzdOhIaGCqPRKB544AFRUVERyJfRolksFjF16lSRnJwsDAaD6Ny5s/jzn//sdaooj/OVWbduXb2/lydMmCCE8N9x/fHHH8Xw4cOFXq8XHTp0EK+++mqTa5eEOO+yd0REREQB1i7njBAREVHLwTBCREREimIYISIiIkUxjBAREZGiGEaIiIhIUQwjREREpCiGESIiIlIUwwgREREpimGEiIiIFMUwQkRERIpiGCEiIiJF/X9eaqluII0d2gAAAABJRU5ErkJggg==", "text/plain": [ "
" ] @@ -691,8 +669,34 @@ } ], "source": [ - "plt.plot(range(0, len(costs)), costs)\n", - "plt.show()" + "# Your code here\n", + "import random\n", + "def stochastic_gradient_descent(X, y, max_iter, alpha):\n", + " \n", + " theta = np.zeros((2))\n", + "\n", + " costs = []\n", + "\n", + "\n", + " for i in range(0, max_iter): # we could also use a delta on the cost function with a while to stop when the cost is not improving but we wanted to see the curve after x iterations\n", + " rand = int(random.random() * X.shape[0])\n", + " y_pred_stoch = X[rand] @ theta\n", + " theta[0] = theta[0] - alpha * (y_pred_stoch - y[rand])\n", + " theta[1] = theta[1] - alpha * (y_pred_stoch - y[rand]) * X[rand,1]\n", + "\n", + " y_pred = X @ theta\n", + " costs.append(cost_J(y_pred, y))\n", + "\n", + "\n", + " y_pred = X @ theta\n", + " print(f\"Theta = {theta}\")\n", + " print(f\"Cost = {cost_J(y_pred, y)}\")\n", + "\n", + " plt.plot(range(0, len(costs)), costs)\n", + " plt.title(\"Cost over iterations\")\n", + " plt.show()\n", + "\n", + "stochastic_gradient_descent(X, y, max_iter = 1000, alpha = 0.000001)" ] }, { @@ -705,13 +709,13 @@ }, { "cell_type": "code", - "execution_count": 179, + "execution_count": 326, "id": "f73c6af3", "metadata": {}, "outputs": [ { "data": { - "image/png": "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", + "image/png": "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119/RatWreDt7Y1HHnkE3333HWQyGQoKCiod2549e3D79m289957UKlUOHDggOj67Nmz0alTJyxduhRhYWHw9vYGABQUFOD5559Hw4YN4e/vj759++L48eO6150/fx5Dhw5FUFAQateujW7dumH79u2m/NiIyIYYOBGRQxo5ciTWrVuH8ueQ/+9//0NISAgefPBBo6+bM2cOnn76aZw4cQKDBw/GyJEjkZ+fDwDIyMjAk08+iWHDhuH48eN48cUX8c4770gaz7JlyxATEwMPDw/ExMRg2bJlen3OnTuHn376CRs2bEBqaioA4KmnnkJubi62bt2KlJQUdOnSBf369dON6caNGxg8eDB27NiBY8eOYeDAgRgyZAgyMzOl/qiIyJYEIiIbGTt2rDB06FCj1wEIP//8syAIgpCbmyvUqlVL2Lt3r+66UqkU4uPjdd83a9ZMWLhwoej17777ru77GzduCACErVu3CoIgCPHx8UJERIToPd955x0BgHDt2jWj4yosLBR8fHyE1NRUQRAE4dixY0Lt2rWF69ev6/rMmjVL8PDwEHJzc3Vtv//+u+Dv7y8UFRWJ7teiRQvh66+/Nvp+9913n/DFF18YvU5E9sMZJyJySA0bNsSAAQOwevVqAJrZouTkZIwcObLS13Xo0EH3335+fvD390dubi4A4MyZM+jWrZuof/fu3ascy9q1a9GiRQt07NgRANCpUyc0a9YM//vf/0T9mjVrhoYNG+q+P378OG7cuIH69eujdu3auq+MjAycP38egGbG6Y033kC7du0QEBCA2rVr488//+SME5GDqmXvARARGTNy5Ei88sor+OKLL7BmzRq0b98e7du3r/Q1Hh4eou9lMhnUanW1xrFs2TKcOnUKtWrd+ytTrVZj+fLlmDBhgq7Nz89P9LobN24gODgYu3fv1rtnQEAAAOCNN95AUlIS/u///g8tW7aEj48PnnzySSaXEzkoBk5E5LCGDh2KF154AYmJiVizZg3GjBlTrfu1adMGW7ZsEbUdOXKk0tecPHkSf/zxB3bv3o169erp2vPz8/Hwww/j9OnTaNu2rcHXdunSBdnZ2ahVqxZCQ0MN9tm/fz/GjRuHxx9/HIAm2Lpw4YL0hyIim2LgREQ2VVhYqEuc1qpfvz6aNGmi19fPzw/Dhg3DjBkz8OeffyImJqZa7/3iiy/i008/RXx8PCZMmIDU1FSsXLkSgGZmypBly5ahe/fu6NOnj961bt26YdmyZUbrOkVGRkKpVGLYsGGYP38+WrdujStXrmDz5s14/PHHcf/996NVq1bYsGEDhgwZAplMhhkzZlR7hoyIrIc5TkRkU7t370bnzp1FX3PmzDHaf+TIkTh+/DgefPBBNG3atFrvHRYWhh9//BEbNmxAhw4dsHjxYt2uOkP1o+7cuYNVq1Zh+PDhBu83fPhwfP/99ygpKTF4XSaTYcuWLejTpw/Gjx+P1q1bY8SIEfjnn38QFBQEAPj0009Rt25dPPDAAxgyZAiioqLQpUuXaj0nEVmPTBDK7fUlIqphPvzwQyxZsgQXL16091CIyAlwqY6IapRFixahW7duqF+/Pvbv348FCxZgypQp9h4WETkJBk5EVKOcPXsWH3zwAfLz89G0aVO8/vrrmD59ur2HRUROgkt1RERERBIxOZyIiIhIIgZORERERBIxcCIiIiKSiIETERERkUQMnIiIiIgkYuBEREREJBEDJyIiIiKJGDgRERERSfT/U/rB2yrKbYwAAAAASUVORK5CYII=", "text/plain": [ "
" ] @@ -774,7 +778,7 @@ }, { "cell_type": "code", - "execution_count": 180, + "execution_count": 327, "id": "dbcb6f22", "metadata": {}, "outputs": [ @@ -782,16 +786,16 @@ "name": "stdout", "output_type": "stream", "text": [ - "144176.78676766725\n", - "[ 0.32486065 28.59143527]\n" + "Theta = [240.07710713 26.33242457]\n", + "Cost = 138034.95779787414\n" ] } ], "source": [ "# Your code here\n", "y_pred = X @ theta\n", - "print(cost_J(y_pred, y))\n", - "print(theta)" + "print(f\"Theta = {theta}\")\n", + "print(f\"Cost = {cost_J(y_pred, y)}\")" ] }, { @@ -823,7 +827,7 @@ "id": "eecbe019", "metadata": {}, "source": [ - "_Your answer here_" + "The closed form solution is great to have to best value possible, but it is very compute hungry. The inverse of a really big matrix is not something simple to do. So, the gradient descent is better when compute time is limited." ] }, { @@ -839,7 +843,7 @@ "id": "4873219d", "metadata": {}, "source": [ - "_Your answer here_" + "Since for each iterations we update theta based on a random point, the outliers could significantly slow the congergence. If there is a lot of them, each update of the thetha values will not decrease the total cost value. This means that, if we are in a while loop searching to improve the cost value, it might either cause more loops to achieve the desired goal or cause the while loop to exit because the cost value is not getting smaller, but bigger." ] }, { @@ -855,7 +859,7 @@ "id": "d1536554", "metadata": {}, "source": [ - "_Your answer here_" + "A too small alpha value would make the descent too slow and remove the speed advantage of this method. An alpha too big would cause the theta values to jump from an extreme to another. This would be highly susceptible to outliers. To mitigate this, we could apply the same logic, but pick a small number of samples (mini-batch) rather than a single one for each operations. This would reduce the impact of outliers while keeping the algorithm faster than the full one." ] }, { @@ -871,7 +875,7 @@ "id": "d4f242c5", "metadata": {}, "source": [ - "_Your answer here_" + "If we have a dependency to the square and to the cube of the feature f1, we would augment the matrix to reflect this : h(f) = theta0 + theta1xf1 + theta2xf1² + theta3xf1³. Yes, we need to take precautions because f1³ could mean huge numbers and cause overflows. The solutions would be to scale down each value to keep the relations between them but reduce their overall values" ] }, { @@ -897,6 +901,112 @@ "metadata": {}, "outputs": [], "source": [] + }, + { + "cell_type": "markdown", + "id": "8ce59c65", + "metadata": {}, + "source": [ + "# Exercice 6 Optional – Mini-batch gradient descent for linear regression" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8604ed56", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Stochastic : \n", + "Theta = [ 0.31013607 29.29520581]\n", + "Cost = 145871.70198566347\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "batch of 1 : \n", + "Theta = [ 0.33356128 29.13574287]\n", + "Cost = 145123.94167962432\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGzCAYAAAD9pBdvAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAARYNJREFUeJzt3Xl8VNX9//H3zCSZrJOFkIQlYVUQWQWBIIoLmqK1xlar1Apa94IbrrTfurS10brXWpT2J1otoqhoi7hQFikSRDZlkU2BICQBhOz7zPn9kWRgIIFMksnN8no+HCF3zp37uWdC8p5zz73XZowxAgAAsIjd6gIAAEDHRhgBAACWIowAAABLEUYAAIClCCMAAMBShBEAAGApwggAALAUYQQAAFiKMAIAACxFGAHQ6vTs2VPXXXed1WX4xWaz6ZFHHrG6DKBNIowAzeTbb7/VLbfcot69eys0NFQul0tnnXWWnn/+eZWWljb79kpKSvTII49o6dKlzf7arc3mzZv1yCOPaNeuXZbWsWDBAgIHEABBVhcAtAcffvihrrzySjmdTk2aNEkDBw5URUWFli9frvvuu0+bNm3SzJkzm3WbJSUlevTRRyVJ5557brO+ttW2bt0qu/3IZ6XNmzfr0Ucf1bnnnquePXtaVteCBQv04osv1hlISktLFRTEj1SgMfiXAzTRzp07dfXVV6tHjx5avHixunTp4n1uypQp2rFjhz788EMLK2x9qqqq5PF4FBISUufzTqezReooLi5WREREs7xWaGhos7wO0CEZAE1y6623Gknm888/b1D7yspK8/vf/9707t3bhISEmB49epjp06ebsrIyn3Zffvmlueiii0ynTp1MaGio6dmzp7n++uuNMcbs3LnTSDru8fDDD59w299++6254oorTGxsrAkLCzOjRo0y8+fP9z6fk5NjHA6HeeSRR45bd8uWLUaSeeGFF7zLDh8+bO68807TvXt3ExISYvr06WMef/xx43a7vW1qa33yySfNs88+a3r37m3sdrtZt25dvXX26NHDTJ482RhjzKxZs+rc1yVLlnjbL1iwwIwdO9aEh4ebyMhIc/HFF5uNGzf6vObkyZNNRESE2bFjh5kwYYKJjIw0l112mTHGmGXLlpkrrrjCJCcnm5CQENO9e3dz1113mZKSEp/166qjVl39v3btWvOjH/3IREVFmYiICHP++eebzMxMnza1+7d8+XJz9913m/j4eBMeHm7S09PN/v37fdqe6HsCaMsYGQGa6D//+Y969+6tMWPGNKj9jTfeqNdee01XXHGF7rnnHn3xxRfKyMjQN998o3nz5kmS9u/fr4suukidO3fWgw8+qJiYGO3atUvvvfeeJKlz586aMWOGbrvtNl1++eX66U9/KkkaPHhwvdvNzc3VmDFjVFJSojvuuEOdOnXSa6+9pp/85Cd65513dPnllysxMVHjxo3T22+/rYcffthn/bfeeksOh0NXXnmlpOrDROPGjdPevXt1yy23KCUlRStWrND06dOVnZ2t5557zmf9WbNmqaysTDfffLOcTqfi4uIa1F/nnHOO7rjjDv3lL3/Rb37zG5122mmS5P3z9ddf1+TJk5WWlqYnnnhCJSUlmjFjhsaOHat169b5HNapqqpSWlqaxo4dq6eeekrh4eGSpLlz56qkpES33XabOnXqpFWrVumFF17Q999/r7lz50qSbrnlFu3bt08LFy7U66+/ftK6N23apLPPPlsul0v333+/goOD9fLLL+vcc8/VZ599plGjRvm0v/322xUbG6uHH35Yu3bt0nPPPaepU6fqrbfeknTy7wmgTbM6DQFtWX5+vpHk/YR9MuvXrzeSzI033uiz/N577zWSzOLFi40xxsybN89IMl9++WW9r3XgwIEGjYbUuuuuu4wk87///c+7rLCw0PTq1cv07NnTO5rx8ssvG0lmw4YNPusPGDDAnH/++d6v//CHP5iIiAizbds2n3YPPvigcTgcJisryxhzZGTE5XId90m/PkePjBhjzNy5c48bDamtPyYmxtx0000+y3Nyckx0dLTP8tqRjQcffPC47R09AlIrIyPD2Gw2s3v3bu+yKVOmmPp+bB77XqSnp5uQkBDz7bffepft27fPREVFmXPOOce7rHZkZPz48cbj8XiX33333cbhcJi8vDxjTMO+J4C2irNpgCYoKCiQJEVFRTWo/YIFCyRJ06ZN81l+zz33SJJ3bklMTIwkaf78+aqsrGyOUrVgwQKNHDlSY8eO9S6LjIzUzTffrF27dmnz5s2SpJ/+9KcKCgryfiKXpI0bN2rz5s266qqrvMvmzp2rs88+W7GxsTp48KD3MX78eLndbi1btsxn+z/72c/UuXPnZtmXWgsXLlReXp4mTpzoU4PD4dCoUaO0ZMmS49a57bbbjlsWFhbm/XtxcbEOHjyoMWPGyBijdevW+V2X2+3Wp59+qvT0dPXu3du7vEuXLvrFL36h5cuXe793at18882y2Wzer88++2y53W7t3r1bUmC+J4DWok2FkWXLlunSSy9V165dZbPZ9P777/v9GsYYPfXUUzr11FPldDrVrVs3PfbYY81fLDoEl8slSSosLGxQ+927d8tut6tv374+y5OSkhQTE+P9xTNu3Dj97Gc/06OPPqr4+HhddtllmjVrlsrLyxtd6+7du9WvX7/jltce7qjddnx8vC644AK9/fbb3jZvvfWWgoKCvIeDJGn79u36+OOP1blzZ5/H+PHjJVUfVjhar169Gl17fbZv3y5JOv/884+r49NPPz2uhqCgIHXv3v2418nKytJ1112nuLg4RUZGqnPnzho3bpwkKT8/3++6Dhw4oJKSknr72+PxaM+ePT7LU1JSfL6OjY2VJB0+fFhSYL4ngNaiTc0ZKS4u1pAhQ/SrX/3K54eiP+688059+umneuqppzRo0CAdOnRIhw4dauZK0VG4XC517dpVGzdu9Gu9oz8B1/f8O++8o5UrV+o///mPPvnkE/3qV7/S008/rZUrVyoyMrIpZZ/U1Vdfreuvv17r16/X0KFD9fbbb+uCCy5QfHy8t43H49GFF16o+++/v87XOPXUU32+Pnr0obl4PB5J1fNGkpKSjnv+2FNtnU6nzynDUvUoxoUXXqhDhw7pgQceUP/+/RUREaG9e/fquuuu824j0BwOR53LjTGSrP+eAAKpTYWRCRMmaMKECfU+X15ert/+9rd68803lZeXp4EDB+qJJ57wXoPhm2++0YwZM7Rx40bvJ5ZAfFpDx/LjH/9YM2fOVGZmplJTU0/YtkePHvJ4PNq+fbt3REKqnlyal5enHj16+LQfPXq0Ro8erccee0yzZ8/WNddcozlz5ujGG288aaCpa9tbt249bvmWLVu8z9dKT0/XLbfc4j1Us23bNk2fPt1nvT59+qioqMg7EhJI9e1rnz59JEkJCQmNrmPDhg3atm2bXnvtNU2aNMm7fOHChQ2u41idO3dWeHh4vf1tt9uVnJzcqHpP9D0BtFVt6jDNyUydOlWZmZmaM2eOvv76a1155ZX60Y9+5B3KrT3rYf78+erVq5d69uypG2+8kZERNMn999+viIgI3XjjjcrNzT3u+W+//VbPP/+8JOniiy+WpOPONHnmmWckSZdccomk6qH52k/EtYYOHSpJ3mH52jNB8vLyGlTnxRdfrFWrVikzM9O7rLi4WDNnzlTPnj01YMAA7/KYmBilpaXp7bff1pw5cxQSEqL09HSf1/v5z3+uzMxMffLJJ8dtKy8vT1VVVQ2qqyFqrwVy7L6mpaXJ5XLpT3/6U53zKA4cOHDS164dkTi6v40x3vesIXXU9ZoXXXSRPvjgA5+rxubm5mr27NkaO3as9xBfQzXkewJoq9rUyMiJZGVladasWcrKylLXrl0lSffee68+/vhjzZo1S3/605/03Xffaffu3Zo7d67++c9/yu126+6779YVV1yhxYsXW7wHaKv69Omj2bNn66qrrtJpp53mcwXWFStWaO7cud77rAwZMkSTJ0/WzJkzlZeXp3HjxmnVqlV67bXXlJ6ervPOO0+S9Nprr+lvf/ubLr/8cvXp00eFhYX6+9//LpfL5Q00YWFhGjBggN566y2deuqpiouL08CBAzVw4MA663zwwQf15ptvasKECbrjjjsUFxen1157TTt37tS777573OGLq666Sr/85S/1t7/9TWlpad4JlLXuu+8+/fvf/9aPf/xjXXfddRo+fLiKi4u1YcMGvfPOO9q1a5fPYZ2mGDp0qBwOh5544gnl5+fL6XTq/PPPV0JCgmbMmKFrr71WZ5xxhq6++mp17txZWVlZ+vDDD3XWWWfpr3/96wlfu3///urTp4/uvfde7d27Vy6XS++++653rsbRhg8fLkm64447lJaWJofDoauvvrrO1/3jH/+ohQsXauzYsfr1r3+toKAgvfzyyyovL9ef//xnv/ugId8TQJtl4Zk8TSLJzJs3z/v1/PnzjSQTERHh8wgKCjI///nPjTHG3HTTTUaS2bp1q3e9NWvWGElmy5YtLb0LaGe2bdtmbrrpJtOzZ08TEhJioqKizFlnnWVeeOEFnwuaVVZWmkcffdT06tXLBAcHm+Tk5OMuerZ27VozceJEk5KSYpxOp0lISDA//vGPzerVq322uWLFCjN8+HATEhLi10XPYmJiTGhoqBk5cqTPRc+OVlBQYMLCwowk88Ybb9TZprCw0EyfPt307dvXhISEmPj4eDNmzBjz1FNPmYqKCmOM70XPGurYU3uNMebvf/+76d27t3E4HMed5rtkyRKTlpZmoqOjTWhoqOnTp4+57rrrfPqr9qJnddm8ebMZP368iYyMNPHx8eamm24yX331lZFkZs2a5W1XVVVlbr/9dtO5c2djs9kadNGztLQ0ExkZacLDw815551nVqxY4dOm9tTeY0/ZXbJkic9+NvR7AmiLbMYcM+7XRthsNs2bN887dPzWW2/pmmuu0aZNm46bCBYZGamkpCQ9/PDDxw3nlpaWKjw8XJ9++qkuvPDCltwFAACgdnSYZtiwYXK73dq/f7/OPvvsOtucddZZqqqq0rfffuud+LZt2zZJOm7iIAAAaBltamSkqKhIO3bskFQdPp555hmdd955iouLU0pKin75y1/q888/19NPP61hw4bpwIEDWrRokQYPHqxLLrlEHo9HZ555piIjI/Xcc8/J4/FoypQpcrlc+vTTTy3eOwAAOqY2FUaWLl3qneB3tMmTJ+vVV19VZWWl/vjHP+qf//yn9u7dq/j4eI0ePVqPPvqoBg0aJEnat2+fbr/9dn366aeKiIjQhAkT9PTTTzf4PhkAAKB5takwAgAA2p92dZ0RAADQ9hBGAACApdrE2TQej0f79u1TVFSU35fABgAA1jDGqLCwUF27dj3uwopHaxNhZN++fY2+jwMAALDWnj176rxjdq02EUaioqIkVe+Mv/dzAAAA1igoKFBycrL393h92kQYqT0043K5CCMAALQxJ5tiwQRWAABgKcIIAACwFGEEAABYijACAAAsRRgBAACWIowAAABLEUYAAIClCCMAAMBShBEAAGApwggAALAUYQQAAFiKMAIAACzVYcOIMUZvrsrSlH+t1f7CMqvLAQCgw+qwYcRms+n1zN36cEO2Mr/9wepyAADosDpsGJGksafES5KWbz9ocSUAAHRcHTqMnHtqZ0nSxxtzlF9aaXE1AAB0TB06jIzu3Ul9OkeosLxKT3+61epyAADokDp0GLHbbXrgR/0lSf/dnCtjjMUVAQDQ8XToMCJVzxtx2G3al1+m3IJyq8sBAKDD6fBhJDwkSLHhwZKkQ8UVFlcDAEDH0+HDiCS5wqrDCJNYAQBoeYQRSdGEEQAALEMY0ZEwUkAYAQCgxRFGxMgIAABWIoxIiiGMAABgGcKIGBkBAMBKhBFxNg0AAFYijIiREQAArEQYEWEEAAArEUbEqb0AAFiJMCIpOpyREQAArEIYke9hGu7cCwBAyyKMSOoU4ZTdJlV5jA4UcudeAABaEmFEUkiQXclx4ZKkbw8UW1wNAAAdC2GkRp/OkZKkBRuyLa4EAICOhTBSY2zfeEnSh4QRAABaFGGkxo8Hd5Ek5ZVUMIkVAIAWRBipERVafUaNx0jFFW6LqwEAoOMgjNQIDbYr2GGTxMXPAABoSYSRGjabzTs6UlhWZXE1AAB0HISRo0SFBkmSCssYGQEAoKX4FUZmzJihwYMHy+VyyeVyKTU1VR999NEJ15k7d6769++v0NBQDRo0SAsWLGhSwYFUG0YKCCMAALQYv8JI9+7d9fjjj2vNmjVavXq1zj//fF122WXatGlTne1XrFihiRMn6oYbbtC6deuUnp6u9PR0bdy4sVmKb26umsM032QXWlwJAAAdh8008TzWuLg4Pfnkk7rhhhuOe+6qq65ScXGx5s+f7102evRoDR06VC+99FKDt1FQUKDo6Gjl5+fL5XI1pdwTeu6/2/Tcf7drULdo/ef2sQHbDgAAHUFDf383es6I2+3WnDlzVFxcrNTU1DrbZGZmavz48T7L0tLSlJmZecLXLi8vV0FBgc+jJYzu3UmSVFzOBFYAAFqK32Fkw4YNioyMlNPp1K233qp58+ZpwIABdbbNyclRYmKiz7LExETl5OSccBsZGRmKjo72PpKTk/0ts1FCgqq7o9LjaZHtAQCARoSRfv36af369friiy902223afLkydq8eXOzFjV9+nTl5+d7H3v27GnW169PsL0mjFRxBVYAAFpKkL8rhISEqG/fvpKk4cOH68svv9Tzzz+vl19++bi2SUlJys3N9VmWm5urpKSkE27D6XTK6XT6W1qTBQdVX/SsipERAABaTJOvM+LxeFReXl7nc6mpqVq0aJHPsoULF9Y7x8RqQTUjIxVVhBEAAFqKXyMj06dP14QJE5SSkqLCwkLNnj1bS5cu1SeffCJJmjRpkrp166aMjAxJ0p133qlx48bp6aef1iWXXKI5c+Zo9erVmjlzZvPvSTMIcVSHkSoPh2kAAGgpfoWR/fv3a9KkScrOzlZ0dLQGDx6sTz75RBdeeKEkKSsrS3b7kcGWMWPGaPbs2fq///s//eY3v9Epp5yi999/XwMHDmzevWgmQTX3pql0MzICAEBLafJ1RlpCS11n5EBhuc587L+SpJ0ZF8tmswVsWwAAtHcBv85Ie1R7116JQzUAALQUwshRgh1HuqPKTRgBAKAlEEaOcnQYqWDeCAAALYIwchSfwzSEEQAAWgRh5Cg2m01B9tozajhMAwBASyCMHIPTewEAaFmEkWPUzhshjAAA0DIII8c4EkY4TAMAQEsgjBwjmMM0AAC0KMLIMThMAwBAyyKMHCOYm+UBANCiCCPH8B6mqWJkBACAlkAYOUZYsEOSVFheZXElAAB0DISRY3SPDZck7TlUYnElAAB0DISRY6R0qg4jWYQRAABaBGHkGD1rwsjK736Qh0msAAAEHGHkGBeclqiIEIe25RZpbdZhq8sBAKDdI4wcIz7SqXNO7SxJ+nzHDxZXAwBA+0cYqcO4mjAy47Md2ppTaHE1AAC0b4SROlwxvLtSe3dSWaVH89bttbocAADaNcJIHYIcdqX26SRJyi+tsLgaAADaN8JIPaJCgyRJBWVc/AwAgEAijNQjKjRYklRIGAEAIKAII/WoHRkpLKu0uBIAANo3wkg9XDUjIwWlhBEAAAKJMFKPIyMjHKYBACCQCCP1cDFnBACAFkEYqUftyEhppVuVbo/F1QAA0H4RRuoRWRNGJEZHAAAIJMJIPYIddoWHOCRxRg0AAIFEGDkBJrECABB4hJETqL3wWQEjIwAABAxh5AS8l4QvZWQEAIBAIYycwJFLwjMyAgBAoBBGTiA2vDqM5OSXWVwJAADtF2HkBEb0jJMkLdt+wOJKAABovwgjJzC0e4wkafcPJdYWAgBAO0YYOQFncHX3VHmMxZUAANB+EUZOINhR3T2VVVwOHgCAQCGMnECwwyZJquDeNAAABAxh5ARCakdGCCMAAAQMYeQEag/TeIzkZt4IAAAB4VcYycjI0JlnnqmoqCglJCQoPT1dW7duPeE6r776qmw2m88jNDS0SUW3lOCgI93D6AgAAIHhVxj57LPPNGXKFK1cuVILFy5UZWWlLrroIhUXF59wPZfLpezsbO9j9+7dTSq6pdTOGZGYNwIAQKAE+dP4448/9vn61VdfVUJCgtasWaNzzjmn3vVsNpuSkpIaV6GFgu1HjYxwRg0AAAHRpDkj+fn5kqS4uLgTtisqKlKPHj2UnJysyy67TJs2bTph+/LychUUFPg8rGC32xRkrx4dqXQzZwQAgEBodBjxeDy66667dNZZZ2ngwIH1tuvXr59eeeUVffDBB3rjjTfk8Xg0ZswYff/99/Wuk5GRoejoaO8jOTm5sWU2WTBn1AAAEFA2Y0yjPvLfdttt+uijj7R8+XJ17969wetVVlbqtNNO08SJE/WHP/yhzjbl5eUqLy/3fl1QUKDk5GTl5+fL5XI1ptxGG/zIJyooq9Kie8apT+fIFt02AABtWUFBgaKjo0/6+9uvOSO1pk6dqvnz52vZsmV+BRFJCg4O1rBhw7Rjx4562zidTjmdzsaU1uxCghgZAQAgkPw6TGOM0dSpUzVv3jwtXrxYvXr18nuDbrdbGzZsUJcuXfxe1wpHLgnPnBEAAALBr5GRKVOmaPbs2frggw8UFRWlnJwcSVJ0dLTCwsIkSZMmTVK3bt2UkZEhSfr973+v0aNHq2/fvsrLy9OTTz6p3bt368Ybb2zmXQmM2jDCqb0AAASGX2FkxowZkqRzzz3XZ/msWbN03XXXSZKysrJkP+qU2MOHD+umm25STk6OYmNjNXz4cK1YsUIDBgxoWuUtpPZaIxymAQAgMPwKIw2Z67p06VKfr5999lk9++yzfhXVmnA2DQAAgcW9aU6CCawAAAQWYeQkvHNGmMAKAEBAEEZOIoQJrAAABBRh5CScwbUjI4QRAAACgTByEs6aOSPlVW6LKwEAoH0ijJyEM8ghSSqvZGQEAIBAIIycxJGREcIIAACBQBg5ido5IxymAQAgMAgjJ+E9TMPICAAAAUEYOQnvYRrmjAAAEBCEkZM4MjLCYRoAAAKBMHISR+aMMDICAEAgEEZOgrNpAAAILMLISRy5zgiHaQAACATCyEkwMgIAQGARRk6C64wAABBYhJGTqD1MU8apvQAABARh5CQinNVhpKSiyuJKAABonwgjJxHlDJYkFZYRRgAACATCyElEhgZJIowAABAohJGTiKoJI0XlVfJ4jMXVAADQ/hBGTiLSGeT9exHzRgAAaHaEkZNwBtkV7LBJkoo4VAMAQLMjjJyEzWZTVCiTWAEACBTCSAPUzhvZX1hmcSUAALQ/hJEGGN4jVpL0xsrdFlcCAED7QxhpgOvG9JTNJn2yKVfbcgutLgcAgHaFMNIAg7vHaEyfTpKkL3YesrgaAADaF8JIAw1PqT5Us2lvvsWVAADQvhBGGqhrTJgkKbeASawAADQnwkgDJbickqT9heUWVwIAQPtCGGmghKhQSYQRAACaG2GkgRKiqkdGfigqV0WVx+JqAABoPwgjDRQf6VRClFMeI320MdvqcgAAaDcIIw1kt9t04YBESdKO/UUWVwMAQPtBGPFDRM0dfMs5TAMAQLMhjPjBGVTdXeWVbosrAQCg/SCM+MEbRhgZAQCg2RBG/OAMckgijAAA0JwII35wBteOjHCYBgCA5kIY8cOROSOMjAAA0FwII36oPUxTxsgIAADNhjDiB0ZGAABofn6FkYyMDJ155pmKiopSQkKC0tPTtXXr1pOuN3fuXPXv31+hoaEaNGiQFixY0OiCrRQazARWAACam19h5LPPPtOUKVO0cuVKLVy4UJWVlbroootUXFxc7zorVqzQxIkTdcMNN2jdunVKT09Xenq6Nm7c2OTiW9qRU3s5TAMAQHOxGWNMY1c+cOCAEhIS9Nlnn+mcc86ps81VV12l4uJizZ8/37ts9OjRGjp0qF566aU61ykvL1d5+ZG74xYUFCg5OVn5+flyuVyNLbfJ1uw+pJ/NyFSPTuH67L7zLKsDAIC2oKCgQNHR0Sf9/d2kOSP5+fmSpLi4uHrbZGZmavz48T7L0tLSlJmZWe86GRkZio6O9j6Sk5ObUmaz8V5nhDkjAAA0m0aHEY/Ho7vuuktnnXWWBg4cWG+7nJwcJSYm+ixLTExUTk5OvetMnz5d+fn53seePXsaW2az4jANAADNL6ixK06ZMkUbN27U8uXLm7MeSZLT6ZTT6Wz2122qyNDq7iosq5LbY+Sw2yyuCACAtq9RIyNTp07V/PnztWTJEnXv3v2EbZOSkpSbm+uzLDc3V0lJSY3ZtKUSokIV7LCpymOUU1BmdTkAALQLfoURY4ymTp2qefPmafHixerVq9dJ10lNTdWiRYt8li1cuFCpqan+VdoKOOw2dY0JkyTtOVRicTUAALQPfoWRKVOm6I033tDs2bMVFRWlnJwc5eTkqLS01Ntm0qRJmj59uvfrO++8Ux9//LGefvppbdmyRY888ohWr16tqVOnNt9etKCUuHBJ0tzV31tcCQAA7YNfYWTGjBnKz8/Xueeeqy5dungfb731lrdNVlaWsrOzvV+PGTNGs2fP1syZMzVkyBC98847ev/990846bU1Sx/aTZK0cHOOmnBWNAAAqNGk64y0lIaep9wSyqvcOv2hT1TlMfrkrnPULynK0noAAGitWuQ6Ix2RM8ihUxKrA8gfP9xscTUAALR9hJFGmJzaQ5K08rsf5Pa0+oElAABaNcJII1wxvLsiQhyqdBs9v2i71eUAANCmEUYaIchh141n95Ykzf4iSxXcxRcAgEYjjDTSreP6KCLEoYNF5Xp95W6rywEAoM0ijDRSWIhDl59RfZrvtpxCi6sBAKDtIow0Qb+k6tOU8korLK4EAIC2izDSBDFhwZKkvJJKiysBAKDtIow0QUx4dRjJLyWMAADQWISRJohmZAQAgCYjjDRBTFiIJEZGAABoCsJIE3SKrA4jpZVuFZQRSAAAaAzCSBNEOIMUH+mUJO06WGxxNQAAtE2EkSbqHR8hSdpJGAEAoFEII03Uu3N1GNmWy4XPAABoDMJIE53etfrCZxv3FlhcCQAAbRNhpIkGd4+RJH2565AOFXMlVgAA/EUYaaJB3aLVu3OESircWrbtgNXlAADQ5hBGmshut+nUhChJUiGn9wIA4DfCSDMIdzokSSUVbosrAQCg7SGMNIPwEMIIAACNRRhpBuEhQZKkkooqiysBAKDtIYw0g7BgRkYAAGgswkgziKiZM1JKGAEAwG+EkWYQ5j1MQxgBAMBfhJFmEF57mKaSMAIAgL8II82g9jBNSTkTWAEA8BdhpBm4QoMlSV/vzVd+KRc+AwDAH4SRZjC8Z6w6RYSoosqjNbsPWV0OAABtCmGkGTiDHBpQc/few8WMjAAA4A/CSDOJiwiRJB0u4c69AAD4gzDSTGLDCSMAADQGYaSZxIRXT2I9xGEaAAD8QhhpJt6RkWJGRgAA8AdhpJl0jw2TJG3JKbC4EgAA2hbCSDMZ2StOQXabdv1Qon15pVaXAwBAm0EYaSZRocGKj3RKkn4o4lANAAANRRhpRuEhNZeFr+Cy8AAANBRhpBmF1twwr5Qb5gEA0GCEkWZUOzJSWkEYAQCgoQgjzSjMe5iGMAIAQEMRRppRGIdpAADwm99hZNmyZbr00kvVtWtX2Ww2vf/++ydsv3TpUtlstuMeOTk5ja251eIwDQAA/vM7jBQXF2vIkCF68cUX/Vpv69atys7O9j4SEhL83XSrFxYSJImREQAA/BHk7woTJkzQhAkT/N5QQkKCYmJi/F6vLQlnzggAAH5rsTkjQ4cOVZcuXXThhRfq888/P2Hb8vJyFRQU+Dzagto5I8XlXGcEAICGCngY6dKli1566SW9++67evfdd5WcnKxzzz1Xa9eurXedjIwMRUdHex/JycmBLrNZuMKqB5rmf71PVW6PxdUAANA22IwxptEr22yaN2+e0tPT/Vpv3LhxSklJ0euvv17n8+Xl5SovL/d+XVBQoOTkZOXn58vlcjW23IDbX1CmkX9aJElacMfZGtC19dYKAECgFRQUKDo6+qS/vy05tXfkyJHasWNHvc87nU65XC6fR1uQ4ApVau9OkqRF3+RaXA0AAG2DJWFk/fr16tKlixWbDrhRveMkSS8u3aE9h0osrgYAgNbP77NpioqKfEY1du7cqfXr1ysuLk4pKSmaPn269u7dq3/+85+SpOeee069evXS6aefrrKyMv3jH//Q4sWL9emnnzbfXrQit47ro0825eqb7AIt3JyrX43tZXVJAAC0an6HkdWrV+u8887zfj1t2jRJ0uTJk/Xqq68qOztbWVlZ3ucrKip0zz33aO/evQoPD9fgwYP13//+1+c12pPQYIfO7Bmrb7ILdKi4wupyAABo9Zo0gbWlNHQCTGvx7MJten7Rdl0zKkWPXT7I6nIAALBEq57A2t7FhgdLkg6XMDICAMDJEEYCIDYiRJJ0uLjS4koAAGj9CCMBEBteE0YYGQEA4KQIIwGQ4HJKkvYeLpXb0+qn5AAAYCnCSACckhClKGeQCsur9E1227ivDgAAViGMBIDDbvNeCv7bA0UWVwMAQOtGGAmQ6LDqM2qKuIMvAAAnRBgJkMjQ6uvJFZURRgAAOBHCSIBEOWvCCCMjAACcEGEkQGpHRgoZGQEA4IQIIwES6ayeM0IYAQDgxAgjARJVO2eknKuwAgBwIoSRADkSRhgZAQDgRAgjAeKqObX3YCGXhAcA4EQIIwHSJz5SkrTzh2IuCQ8AwAkQRgKkW2yYnEF2VVR5tGzbAavLAQCg1SKMBIjDbtPo3p0kSf9Y/p3F1QAA0HoRRgLo7gtPlSSty8pTRZXH4moAAGidCCMBNLhbtOIiQlRS4dbU2WtVzJk1AAAchzASQHa7Tb+9+DRJ0qebc/XEx1ssrggAgNaHMBJgPxveXX+fNEKS9NaXe1RW6ba4IgAAWhfCSAsYf1qCklyhKq/y6Iudh6wuBwCAVoUw0gJsNpuGpcRIknYdLLa2GAAAWhnCSAuJjQiRJB0u4YqsAAAcjTDSQmJqLg+fV8KN8wAAOBphpIXEhFeHkfxSwggAAEcjjLSQmLDqwzR5HKYBAMAHYaSF1I6MHOYwDQAAPggjLaRzlFOStJu7+AIA4IMw0kIGdotWdFiwDpdUam3WYavLAQCg1SCMtJBgh12pNXfxXbubMAIAQC3CSAsakhwjSfrq+zxL6wAAoDUhjLSgIcnRkqSv9uRbXAkAAK0HYaQFDeoWLZtN2ptXqh37i6wuBwCAVoEw0oKiQoM1okesJOmZhVstrgYAgNaBMNLCHr70dEnSws25OlTMBdAAACCMtLCB3aI1qFu0Kt1G/16/1+pyAACwHGHEAhMGJUmSVnOKLwAAhBErDOjikiRtySm0uBIAAKxHGLFAbRj57kCRfigqt7gaAACsRRixQIIrVIO6RctjqieyAgDQkRFGLDKwW/UF0HILGBkBAHRsfoeRZcuW6dJLL1XXrl1ls9n0/vvvn3SdpUuX6owzzpDT6VTfvn316quvNqLU9iXS6ZAkFVdUWVwJAADW8juMFBcXa8iQIXrxxRcb1H7nzp265JJLdN5552n9+vW66667dOONN+qTTz7xu9j2JMIZJEkqKieMAAA6tiB/V5gwYYImTJjQ4PYvvfSSevXqpaefflqSdNppp2n58uV69tlnlZaW5u/m243ImjBSTBgBAHRwAZ8zkpmZqfHjx/ssS0tLU2ZmZr3rlJeXq6CgwOfR3tSGkaIywggAoGMLeBjJyclRYmKiz7LExEQVFBSotLS0znUyMjIUHR3tfSQnJwe6zBbHYRoAAKq1yrNppk+frvz8fO9jz549VpfU7LyHaZjACgDo4PyeM+KvpKQk5eb6XksjNzdXLpdLYWFhda7jdDrldDoDXZqlIkOru/6HIm6WBwDo2AI+MpKamqpFixb5LFu4cKFSU1MDvelWLT6yOmxl55fpr4u3W1wNAADW8TuMFBUVaf369Vq/fr2k6lN3169fr6ysLEnVh1gmTZrkbX/rrbfqu+++0/33368tW7bob3/7m95++23dfffdzbMHbVSv+Ajdck5vSdJTn27Tl7sOWVwRAADW8DuMrF69WsOGDdOwYcMkSdOmTdOwYcP00EMPSZKys7O9wUSSevXqpQ8//FALFy7UkCFD9PTTT+sf//hHhz6tt9b0i0/Tz0d0lyS9sHiHxdUAAGANmzHGWF3EyRQUFCg6Olr5+flyuVxWl9Osdv9QrHFPLpXNJq148Hx1ia57Hg0AAG1NQ39/t8qzaTqSHp0iNCwlRsZIn209YHU5AAC0OMJIK3DuqQmSpDlf7lF5ldviagAAaFmEkVbg6pHJcgbZtX5Pnq6YkanSCgIJAKDjIIy0AomuUP31F2coNNiuDXvz9e7a760uCQCAFkMYaSUuHJCom8/pI0las/uwxdUAANByCCOtyLCUGEnS/7YfUFklh2oAAB0DYaQVSe3dSXERITpYVKH73vna6nIAAGgRhJFWJDTYoT9cNlCSNP/rfdpzqMTiigAACDzCSCtzyeAuOqPmuiOrd3OJeABA+0cYaYWGJMdIkr7ak29tIQAAtADCSCvUPylKkrTzYLHFlQAAEHiEkVYoqeb+NLkFZRZXAgBA4BFGWqFEl1OStL+w3OJKAAAIPMJIK5QYFSpJOlRcwb1qAADtHmGkFYoJD1ZIUPVb8/3hUourAQAgsAgjrZDNZtOQ7tGSpFU7Ob0XANC+EUZaqbF9O0uSXli0XSt2HLS4GgAAAocw0kpdN6anOkc5tS+/TLe/uc7qcgAACBjCSCsVHR6seb8eI0n6obhC+aWVFlcEAEBgEEZase6x4YqPDJEk7lMDAGi3CCOtXLfYcElSFmEEANBOEUZauUHdXJKklz/7VsXlVRZXAwBA8yOMtHLXjeklZ5BdX32frwfe/drqcgAAaHaEkVaub0KkZt80SnabNP/rbM1ZlaXCMiazAgDaD8JIGzC8R5x+dkZ3SdKD723QpS8sV0kFh2wAAO0DYaSNeOjSAbr+rJ6SpF0/lOiJj7ZYWxAAAM2EMNJGRIUG6+FLT9cr142QJL3xRZZy8sssrgoAgKYjjLQx5/dP1Jk9Y+X2GH20MdvqcgAAaDLCSBs0/rRESdL/tnPPGgBA20cYaYNG9IyTJH2TXWBxJQAANB1hpA3q0zlCkpSdX8ZZNQCANo8w0gbFhIcoNjxYkrR612GLqwEAoGkII21Uap9OkqQbXvtSCzYwkRUA0HYRRtqoR38yUPGRTlW6DWEEANCmEUbaqM5RTv3+stMlVc8dAQCgrSKMtGFdokMlSfvySi2uBACAxiOMtGHdYsIkSbkFZdpfyOgIAKBtIoy0YfGRTvVNiJTHSGMfX6Lfvb9RxeWc6gsAaFsII22Y3W7T/5s8Qilx4apwe/T6yt369b/WyhhjdWkAADQYYaSN69EpQkvuPVf/b/IIBTts+mzbAb3y+S6rywIAoMEII+2Aw27TBacl6oEf9ZckPfXJVm3J4VLxAIC2gTDSjtwwtpdG9IhVaaVbr2futrocAAAahDDSjthsNv38zGRJUtahEourAQCgYRoVRl588UX17NlToaGhGjVqlFatWlVv21dffVU2m83nERoa2uiCcWLJseGSpB37iyyuBACAhvE7jLz11luaNm2aHn74Ya1du1ZDhgxRWlqa9u/fX+86LpdL2dnZ3sfu3RxCCJSUTtVhJDu/TEu21P+eAADQWvgdRp555hnddNNNuv766zVgwAC99NJLCg8P1yuvvFLvOjabTUlJSd5HYmLiCbdRXl6ugoICnwcapmt0qJLjqi+G9u+v9llcDQAAJ+dXGKmoqNCaNWs0fvz4Iy9gt2v8+PHKzMysd72ioiL16NFDycnJuuyyy7Rp06YTbicjI0PR0dHeR3Jysj9ldmg2m02P/3SwJOn99Xv19uo9XHcEANCq+RVGDh48KLfbfdzIRmJionJycupcp1+/fnrllVf0wQcf6I033pDH49GYMWP0/fff17ud6dOnKz8/3/vYs2ePP2V2eCN7xen0ri4ZI93/zte65C/L9eKSHcot4JLxAIDWJ+Bn06SmpmrSpEkaOnSoxo0bp/fee0+dO3fWyy+/XO86TqdTLpfL54GGC3bYNffWVE09r6/CQxzanF2gJz/ZqrFPLNaqnYesLg8AAB9+hZH4+Hg5HA7l5ub6LM/NzVVSUlKDXiM4OFjDhg3Tjh07/Nk0/BQeEqR70/rp8wfO1x8uO119Okeo0m30v+0HrC4NAAAffoWRkJAQDR8+XIsWLfIu83g8WrRokVJTUxv0Gm63Wxs2bFCXLl38qxSNEhsRomtTe+qqmuuP7PqB648AAFqXIH9XmDZtmiZPnqwRI0Zo5MiReu6551RcXKzrr79ekjRp0iR169ZNGRkZkqTf//73Gj16tPr27au8vDw9+eST2r17t2688cbm3ROcUI9OEZKk3T8UW1wJAAC+/A4jV111lQ4cOKCHHnpIOTk5Gjp0qD7++GPvpNasrCzZ7UcGXA4fPqybbrpJOTk5io2N1fDhw7VixQoNGDCg+fYCJ9U3IVKStCWnUCUVVQoP8futBwAgIGymDZz3WVBQoOjoaOXn5zOZtZGMMTrnySXac6hUPxnSVRk/HaQIJ4EEABA4Df39zb1pOgibzaZ7Luwnh92mf3+1T+f8eYleWLSd030BAJZjZKSD+eK7H3TfO197b6TnsNt0Xr8E/WJUssadmiCH3WZxhQCA9qKhv78JIx1Qlduj+V9n619f7NaXuw57l/dPitLbt6bKFRpsYXUAgPaCMIIG2bG/SHNWZemfK3erosqjvgmRmnpeX106pCujJACAJiGMwC9rdh/Wja99qcMllZKkc07trFnXnUkgAQA0GmEEfjtcXKFXV+zSXxZvlzFS99gwXdA/Qb8Y1UP9kqKsLg8A0MYQRtBor6/crT9/tEWF5VWSJJtNGndqZ91zYT8N6h5tcXUAgLaCMIImKamo0sLNuVqwIVufbKq+F9HpXV368I6zLa4MANBWcJ0RNEl4SJAuG9pNL187Qh/dWR1ANu0r0Iyl36q0wm1xdQCA9oQwgpM6rYtL/WvmjDzx8Rb9ZfF2iysCALQnhBE0yMxrRyg5LkySNGPptyqrZHQEANA8CCNokJRO4Xr7llTv1xc8/Zk+3pijNjDlCADQyhFG0GBdosN0X1o/xUeGaG9eqW59Y42u+ccXevyjLfomu8Dq8gAAbRRn08BveSUVunfuV/rvN/u9yxx2m/4xaYTO659gYWUAgNaEU3sRcF9/n6c1uw/rlc93as+hUknSiB6xmjgyRSN6xqpbTJiCHAy+AUBHRRhBiykqr9K1/+8LrcvK81ke7LDpjJRYjegZq6HJsTqvX2fCCQB0IIQRtKjyKrc27s3X5zt+0IIN2fruYLEqqjw+bcJDHBqaHKP0od108eAuinQGWVQtAKAlEEZgKY/HaP33eVq27YCy88r08aYc5ZdWep8PCbJrwsAk/frcvtz3BgDaKcIIWhWPx2j7/iLNW7dX89Z9r9yCcklSTHiwPn/gfEUwSgIA7Q5hBK2WMUYb9ubr6pkrVVLhlis0SFGhwYqPcuqGsb30kyFdrS4RANAMuDcNWi2bzabB3WP0ux8PUJDdpoKyKu3NK9VXe/J0x5vr9Oh/NmnFtwe5oBoAdBCMjMBSZZVu7TxYrLySSj27cJtW7Trkfe7BCf11yzm9ZbPZLKwQANBYHKZBm5OTX6ZZn+/Ujv1FWrSl+oJq4SEOTbvwVF05PFmusCCCCQC0IYQRtFnGGGV8tEUzl33nszwuIkRj+nRSt9gwpZ2epG4xYeoc6ZTdTkABgNaIMII2r7i8Si8s3qG3V+/RoeKKOtuEBTuUEheuockxOiUxUs5gh8aflqAu0WEtXC0A4FiEEbQrJRVVWvndD1qXlafvDhTr0805qnTX/a3rsNuUGOXU6N6dlNIpXOEhDoUFO9S/i0und3WptMKtqNBg2W3iirAAEECEEbRrZZVueYzRvrwyrdl9SF/uOqzSCrfWZh1Wdn5Zg14jxGHXsJQYpcSFK8IZJFdokFxhwYqPdMoZZNeo3p0UFxES4D0BgPaLMIIOqcrt0TfZhVqbdVh7DpWotNKt0kq39hwq0bqsPFV5/Pt2jw4LVkKUU49dPkgje8VJkgrKKrXnUIkKy6pkk3RaV5ciQoLkYO4KAPggjADHKK9yq6LKo7BghwrKqrR292F9k10gu92m4vIqFZZVKa+0Uj8UlWtbbpEOFpX7rB9kt8lus6nC7TnutSNCHJo4MkXn9ktQ784Rstmk2txTVulWbn6ZbDZbzaGh6tepfdhsqn6o+u9dY8IUHRbcEl0CoA7GGBWWVyk82MGh3CYijABNYIzRvvwy7TlUool/X6lj/5XERYQoJixYZZVu7WvgYSF/RDqDFOywKchhV7C9+s+8kgqVHX3zwWNqCgtx6IyUGIXXXFq/dpzm6NOhjyzz/dpIqnR75PYYVWethv1YcNhtinQG17yGUc1/8hgjt8fIY4yq3Oa4Vzt6DOlILbbjlh33d/l8IXvNk0f/GDPH/KV267VNjn4vYyNC5Azy/WVz7I/EY2svLncrO79U4SFBcgbZ5bDbqoPqUX/WbseY6j4w5kg4lST7UQHUbq/ZM1t1v9QGVGOqa/eYI6913DKZI89JNcuNz3MeU92+0u2R3WZTiMPu8/q1tVbXV7vukdesDc0Ou1RR5VF5lUddY8IUEeJQfU50Cr7HGFW6jSrdHlW5Pd6/Vx7zd7eRwoLtssnm3Wcdvc9HvV+mtr8llVZU6XBJ5XHbrXJ7qkczbTrqw4Bvvbaa/5VXeVRR5VFosF3RYcGyySZncPV7bbfZat7X6vZdYkLVPSa8+n2W73tY+wGk9r2uy/H/Omr3q+7+q+9fpqnp1yq3R5Ue06iLRt57UT/17hzp93onQhgBmklJzQ83h80mjzEKstvUOcrp/QF2qLhCf5y/WTsOFKmgtFJ7DpdW/wBS9W8Xm6pHOxx2mzweI3fNL+raXxTeP1X9w/7oGwoCQEt579djdEZKbLO+ZkN/f3N3MuAkwkOCFB5S/z+VuIgQPXPV0GbZljFG+wvLVVrh9n5SrPJU/+kKDar3hoJG0qa9+crOL6tzlMA7KnDUdo4VEnTkk19DZ79Uuj0qKnd7P9Uffbjp6BED+1GflI/e9LGjFkfXeOwT5pjF3k+nvoMl1X8ePRp0zChQ7UJjjH4oqpD7qCGLYz/QH7tO7bJuMWFyG6OKKo+qPEYej6n+s2YkSKoe/agdJfF+Upa8n+I9pnbf6x7pUO2n6pr+tNuO7NfRr1f7Sb92v+3e5TWf/Gv+DHbYZYxRxVFnodmO7Jb3ffd+ij+qXnfN/tWOIn1/uLTej+4n+3RrU3UtQQ67gh02BTvsNV9Xj9oE1Syz22wqrXR7+7K2H47UXLvPR/bXpurDoAlRoce9lw67Ta7QYBnVjNp56hg1q2kbZLcpPtKp7w+XqMLtkccjVbjdqnRXvz+1721llUeb9hWowu3xGf2o/pBR/b7WjkzJmOO+wer6d1bXoFJd/yLr+l6t7dMgu61Rc9i6x1p3SQTCCNCK2Gw2JbpCG7VutxiurQI0p1MSo07aZkzf+BaopP1jZg4AALAUYQQAAFiKMAIAACxFGAEAAJYijAAAAEsRRgAAgKUIIwAAwFKEEQAAYCnCCAAAsFSjwsiLL76onj17KjQ0VKNGjdKqVatO2H7u3Lnq37+/QkNDNWjQIC1YsKBRxQIAgPbH7zDy1ltvadq0aXr44Ye1du1aDRkyRGlpadq/f3+d7VesWKGJEyfqhhtu0Lp165Senq709HRt3LixycUDAIC2z++79o4aNUpnnnmm/vrXv0qSPB6PkpOTdfvtt+vBBx88rv1VV12l4uJizZ8/37ts9OjRGjp0qF566aUGbZO79gIA0PY09Pe3XyMjFRUVWrNmjcaPH3/kBex2jR8/XpmZmXWuk5mZ6dNektLS0uptL0nl5eUqKCjweQAAgPbJr7v2Hjx4UG63W4mJiT7LExMTtWXLljrXycnJqbN9Tk5OvdvJyMjQo48+etxyQgkAAG1H7e/tkx2E8SuMtJTp06dr2rRp3q/37t2rAQMGKDk52cKqAABAYxQWFio6Orre5/0KI/Hx8XI4HMrNzfVZnpubq6SkpDrXSUpK8qu9JDmdTjmdTu/XkZGR2rNnj6KiomSz2fwp+YQKCgqUnJysPXv2MBclwOjrlkE/twz6uWXQzy0nUH1tjFFhYaG6du16wnZ+hZGQkBANHz5cixYtUnp6uqTqCayLFi3S1KlT61wnNTVVixYt0l133eVdtnDhQqWmpjZ4u3a7Xd27d/enVL+4XC6+0VsIfd0y6OeWQT+3DPq55QSir080IlLL78M006ZN0+TJkzVixAiNHDlSzz33nIqLi3X99ddLkiZNmqRu3bopIyNDknTnnXdq3Lhxevrpp3XJJZdozpw5Wr16tWbOnOnvpgEAQDvkdxi56qqrdODAAT300EPKycnR0KFD9fHHH3snqWZlZcluP3KSzpgxYzR79mz93//9n37zm9/olFNO0fvvv6+BAwc2314AAIA2q1ETWKdOnVrvYZmlS5cet+zKK6/UlVde2ZhNBZTT6dTDDz/sMz8FgUFftwz6uWXQzy2Dfm45Vve13xc9AwAAaE7cKA8AAFiKMAIAACxFGAEAAJYijAAAAEsRRgAAgKU6dBh58cUX1bNnT4WGhmrUqFFatWqV1SW1GRkZGTrzzDMVFRWlhIQEpaena+vWrT5tysrKNGXKFHXq1EmRkZH62c9+dtytAbKysnTJJZcoPDxcCQkJuu+++1RVVdWSu9KmPP7447LZbD5XNKafm8/evXv1y1/+Up06dVJYWJgGDRqk1atXe583xuihhx5Sly5dFBYWpvHjx2v79u0+r3Ho0CFdc801crlciomJ0Q033KCioqKW3pVWy+1263e/+5169eqlsLAw9enTR3/4wx98bqRGPzfOsmXLdOmll6pr166y2Wx6//33fZ5vrn79+uuvdfbZZys0NFTJycn685//3PTiTQc1Z84cExISYl555RWzadMmc9NNN5mYmBiTm5trdWltQlpampk1a5bZuHGjWb9+vbn44otNSkqKKSoq8ra59dZbTXJyslm0aJFZvXq1GT16tBkzZoz3+aqqKjNw4EAzfvx4s27dOrNgwQITHx9vpk+fbsUutXqrVq0yPXv2NIMHDzZ33nmndzn93DwOHTpkevToYa677jrzxRdfmO+++8588sknZseOHd42jz/+uImOjjbvv/+++eqrr8xPfvIT06tXL1NaWupt86Mf/cgMGTLErFy50vzvf/8zffv2NRMnTrRil1qlxx57zHTq1MnMnz/f7Ny508ydO9dERkaa559/3tuGfm6cBQsWmN/+9rfmvffeM5LMvHnzfJ5vjn7Nz883iYmJ5pprrjEbN240b775pgkL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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Theta = [ 0.32898838 28.78840806]\n", + "Cost = 144232.79516214516\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGzCAYAAAD9pBdvAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAARkxJREFUeJzt3Xl4U1X+P/B3liZdk+4bXVlkka0WhAKKS6EiKnVGB/nisIzgMqAgjo7VUVxG64ziMo6iOD+B0UEQFVBEoQMCg5S9RRYpe1ugaYG2Sdc0Tc7vj7SR2IWmTXKb9v16nvtAbs7N/dxrbd6ce+65MiGEABEREZFE5FIXQERERN0bwwgRERFJimGEiIiIJMUwQkRERJJiGCEiIiJJMYwQERGRpBhGiIiISFIMI0RERCQphhEiIiKSFMMIEXU6CQkJmDFjhtRlOEQmk+GFF16Qugwij8QwQuQkp06dwkMPPYSePXvC29sbGo0Go0ePxjvvvIOamhqn76+6uhovvPACtm7d6vTP7myOHj2KF154AWfPnpW0jg0bNjBwELmAUuoCiLqCb7/9Fvfeey/UajWmTZuGgQMHoq6uDjt27MCTTz6JI0eOYMmSJU7dZ3V1NV588UUAwE033eTUz5ZaXl4e5PJf/q109OhRvPjii7jpppuQkJAgWV0bNmzAe++912wgqampgVLJX6lE7cH/c4g66MyZM7jvvvsQHx+PLVu2ICoqyvbenDlzcPLkSXz77bcSVtj51NfXw2KxQKVSNfu+Wq12Sx1VVVXw8/Nzymd5e3s75XOIuiVBRB3y8MMPCwDixx9/bFN7k8kkXnrpJdGzZ0+hUqlEfHy8yMjIELW1tXbt9u7dK8aPHy9CQkKEt7e3SEhIEDNnzhRCCHHmzBkBoMmycOHCVvd96tQpcc8994igoCDh4+MjRowYIdavX297X6fTCYVCIV544YUm2x47dkwAEO+++65tXVlZmZg3b56IiYkRKpVK9OrVS7z22mvCbDbb2jTW+vrrr4u33npL9OzZU8jlcpGTk9NinfHx8WL69OlCCCGWLl3a7LH+8MMPtvYbNmwQY8aMEb6+vsLf31/cfvvt4vDhw3afOX36dOHn5ydOnjwpJkyYIPz9/cWkSZOEEEJs375d3HPPPSI2NlaoVCoRExMj5s+fL6qrq+22b66ORs2d/wMHDojbbrtNBAQECD8/P3HLLbeI7OxsuzaNx7djxw7x+OOPi9DQUOHr6yvS09NFSUmJXdvWfiaIPBl7Rog66JtvvkHPnj0xatSoNrWfNWsWli9fjnvuuQdPPPEEdu/ejczMTPz8889Ys2YNAKCkpATjx49HWFgYnn76aQQGBuLs2bP46quvAABhYWFYvHgxHnnkEdx99934zW9+AwAYPHhwi/stLi7GqFGjUF1djcceewwhISFYvnw57rrrLnzxxRe4++67ERERgbFjx+Lzzz/HwoUL7bZftWoVFAoF7r33XgDWy0Rjx47F+fPn8dBDDyEuLg47d+5ERkYGioqK8Pbbb9ttv3TpUtTW1uLBBx+EWq1GcHBwm87XjTfeiMceewz/+Mc/8Mwzz6B///4AYPvzk08+wfTp05GWloa//e1vqK6uxuLFizFmzBjk5OTYXdapr69HWloaxowZgzfeeAO+vr4AgNWrV6O6uhqPPPIIQkJCsGfPHrz77rs4d+4cVq9eDQB46KGHcOHCBWRlZeGTTz65at1HjhzBDTfcAI1Gg6eeegpeXl748MMPcdNNN2Hbtm0YMWKEXftHH30UQUFBWLhwIc6ePYu3334bc+fOxapVqwBc/WeCyKNJnYaIPJlerxcAbP/Cvprc3FwBQMyaNctu/Z/+9CcBQGzZskUIIcSaNWsEALF3794WP+vixYtt6g1pNH/+fAFA/O9//7Otq6ioEImJiSIhIcHWm/Hhhx8KAOLQoUN22w8YMEDccsstttcvv/yy8PPzE8ePH7dr9/TTTwuFQiEKCgqEEL/0jGg0mib/0m/JlT0jQgixevXqJr0hjfUHBgaK2bNn263X6XRCq9XarW/s2Xj66aeb7O/KHpBGmZmZQiaTifz8fNu6OXPmiJZ+bf76v0V6erpQqVTi1KlTtnUXLlwQAQEB4sYbb7Sta+wZSU1NFRaLxbb+8ccfFwqFQpSXlwsh2vYzQeSpeDcNUQcYDAYAQEBAQJvab9iwAQCwYMECu/VPPPEEANjGlgQGBgIA1q9fD5PJ5IxSsWHDBlx//fUYM2aMbZ2/vz8efPBBnD17FkePHgUA/OY3v4FSqbT9ixwADh8+jKNHj2Ly5Mm2datXr8YNN9yAoKAgXLp0ybakpqbCbDZj+/btdvv/7W9/i7CwMKccS6OsrCyUl5djypQpdjUoFAqMGDECP/zwQ5NtHnnkkSbrfHx8bH+vqqrCpUuXMGrUKAghkJOT43BdZrMZmzZtQnp6Onr27GlbHxUVhf/7v//Djh07bD87jR588EHIZDLb6xtuuAFmsxn5+fkAXPMzQdRZeFQY2b59O+68805ER0dDJpNh7dq1Dn+GEAJvvPEGrrnmGqjVavTo0QOvvPKK84ulbkGj0QAAKioq2tQ+Pz8fcrkcvXv3tlsfGRmJwMBA2xfP2LFj8dvf/hYvvvgiQkNDMWnSJCxduhRGo7Hdtebn56Nv375N1jde7mjcd2hoKG699VZ8/vnntjarVq2CUqm0XQ4CgBMnTuD7779HWFiY3ZKamgrAelnhSomJie2uvSUnTpwAANxyyy1N6ti0aVOTGpRKJWJiYpp8TkFBAWbMmIHg4GD4+/sjLCwMY8eOBQDo9XqH67p48SKqq6tbPN8WiwWFhYV26+Pi4uxeBwUFAQDKysoAuOZngqiz8KgxI1VVVRgyZAj+8Ic/2P1SdMS8efOwadMmvPHGGxg0aBBKS0tRWlrq5Eqpu9BoNIiOjsbhw4cd2u7KfwG39P4XX3yBXbt24ZtvvsHGjRvxhz/8AYsWLcKuXbvg7+/fkbKv6r777sPMmTORm5uLoUOH4vPPP8ett96K0NBQWxuLxYJx48bhqaeeavYzrrnmGrvXV/Y+OIvFYgFgHTcSGRnZ5P1f32qrVqvtbhkGrL0Y48aNQ2lpKf785z+jX79+8PPzw/nz5zFjxgzbPlxNoVA0u14IAUD6nwkiV/KoMDJhwgRMmDChxfeNRiOeffZZfPbZZygvL8fAgQPxt7/9zTYHw88//4zFixfj8OHDtn+xuOJfa9S93HHHHViyZAmys7ORkpLSatv4+HhYLBacOHHC1iMBWAeXlpeXIz4+3q79yJEjMXLkSLzyyitYsWIFpk6dipUrV2LWrFlXDTTN7TsvL6/J+mPHjtneb5Seno6HHnrIdqnm+PHjyMjIsNuuV69eqKystPWEuFJLx9qrVy8AQHh4eLvrOHToEI4fP47ly5dj2rRptvVZWVltruPXwsLC4Ovr2+L5lsvliI2NbVe9rf1MEHkqj7pMczVz585FdnY2Vq5ciZ9++gn33nsvbrvtNltXbuNdD+vXr0diYiISEhIwa9Ys9oxQhzz11FPw8/PDrFmzUFxc3OT9U6dO4Z133gEA3H777QDQ5E6TN998EwAwceJEANau+cZ/ETcaOnQoANi65RvvBCkvL29Tnbfffjv27NmD7Oxs27qqqiosWbIECQkJGDBggG19YGAg0tLS8Pnnn2PlypVQqVRIT0+3+7zf/e53yM7OxsaNG5vsq7y8HPX19W2qqy0a5wL59bGmpaVBo9Hg1VdfbXYcxcWLF6/62Y09EleebyGE7b9ZW+po7jPHjx+PdevW2c0aW1xcjBUrVmDMmDG2S3xt1ZafCSJP5VE9I60pKCjA0qVLUVBQgOjoaADAn/70J3z//fdYunQpXn31VZw+fRr5+flYvXo1/v3vf8NsNuPxxx/HPffcgy1btkh8BOSpevXqhRUrVmDy5Mno37+/3QysO3fuxOrVq23PWRkyZAimT5+OJUuWoLy8HGPHjsWePXuwfPlypKen4+abbwYALF++HO+//z7uvvtu9OrVCxUVFfjoo4+g0WhsgcbHxwcDBgzAqlWrcM011yA4OBgDBw7EwIEDm63z6aefxmeffYYJEybgscceQ3BwMJYvX44zZ87gyy+/bHL5YvLkybj//vvx/vvvIy0tzTaAstGTTz6Jr7/+GnfccQdmzJiB5ORkVFVV4dChQ/jiiy9w9uxZu8s6HTF06FAoFAr87W9/g16vh1qtxi233ILw8HAsXrwYv//973HdddfhvvvuQ1hYGAoKCvDtt99i9OjR+Oc//9nqZ/fr1w+9evXCn/70J5w/fx4ajQZffvmlbazGlZKTkwEAjz32GNLS0qBQKHDfffc1+7l//etfkZWVhTFjxuCPf/wjlEolPvzwQxiNRvz97393+By05WeCyGNJeCdPhwAQa9assb1ev369ACD8/PzsFqVSKX73u98JIYSYPXu2ACDy8vJs2+3fv18AEMeOHXP3IVAXc/z4cTF79myRkJAgVCqVCAgIEKNHjxbvvvuu3YRmJpNJvPjiiyIxMVF4eXmJ2NjYJpOeHThwQEyZMkXExcUJtVotwsPDxR133CH27dtnt8+dO3eK5ORkoVKpHJr0LDAwUHh7e4vrr7/ebtKzKxkMBuHj4yMAiE8//bTZNhUVFSIjI0P07t1bqFQqERoaKkaNGiXeeOMNUVdXJ4Swn/SsrX59a68QQnz00UeiZ8+eQqFQNLnN94cffhBpaWlCq9UKb29v0atXLzFjxgy789U46Vlzjh49KlJTU4W/v78IDQ0Vs2fPFgcPHhQAxNKlS23t6uvrxaOPPirCwsKETCZr06RnaWlpwt/fX/j6+oqbb75Z7Ny5065N4629v75l94cffrA7zrb+TBB5IpkQv+r38xAymQxr1qyxdR2vWrUKU6dOxZEjR5oMBPP390dkZCQWLlzYpDu3pqYGvr6+2LRpE8aNG+fOQyAiIiJ0ocs0SUlJMJvNKCkpwQ033NBsm9GjR6O+vh6nTp2yDXw7fvw4ADQZOEhERETu4VE9I5WVlTh58iQAa/h48803cfPNNyM4OBhxcXG4//778eOPP2LRokVISkrCxYsXsXnzZgwePBgTJ06ExWLB8OHD4e/vj7fffhsWiwVz5syBRqPBpk2bJD46IiKi7smjwsjWrVttA/yuNH36dCxbtgwmkwl//etf8e9//xvnz59HaGgoRo4ciRdffBGDBg0CAFy4cAGPPvooNm3aBD8/P0yYMAGLFi1q83MyiIiIyLk8KowQERFR19Ol5hkhIiIiz8MwQkRERJLyiLtpLBYLLly4gICAAIenwCYiIiJpCCFQUVGB6OjoJhMrXskjwsiFCxfa/RwHIiIiklZhYWGzT8xu5BFhJCAgAID1YBx9ngMRERFJw2AwIDY21vY93hKPCCONl2Y0Gg3DCBERkYe52hALDmAlIiIiSTGMEBERkaQYRoiIiEhSDCNEREQkKYYRIiIikhTDCBEREUmKYYSIiIgkxTBCREREkmIYISIiIkkxjBAREZGkGEaIiIhIUgwjREREJCmHwsjixYsxePBg2wPrUlJS8N1337XYftmyZZDJZHaLt7d3h4t2lqU/nsGzaw7hZEmF1KUQERF1Ww49tTcmJgavvfYa+vTpAyEEli9fjkmTJiEnJwfXXntts9toNBrk5eXZXl/tyX3u9PXBC8gpKMcNfcLQO7z1xxsTERGRazgURu68806716+88goWL16MXbt2tRhGZDIZIiMj21+hC4X4qQAApVV1EldCRETUfbV7zIjZbMbKlStRVVWFlJSUFttVVlYiPj4esbGxmDRpEo4cOXLVzzYajTAYDHaLK4T4qQEAlyuNLvl8IiIiujqHw8ihQ4fg7+8PtVqNhx9+GGvWrMGAAQOabdu3b198/PHHWLduHT799FNYLBaMGjUK586da3UfmZmZ0Gq1tiU2NtbRMtskxN/aM3KZPSNERESSkQkhhCMb1NXVoaCgAHq9Hl988QX+9a9/Ydu2bS0GkiuZTCb0798fU6ZMwcsvv9xiO6PRCKPxl94Kg8GA2NhY6PV6aDQaR8pt1f/bcQYvrz+KO4dE490pSU77XCIiIrJ+f2u12qt+fzs0ZgQAVCoVevfuDQBITk7G3r178c477+DDDz+86rZeXl5ISkrCyZMnW22nVquhVqsdLc1hoY09I7xMQ0REJJkOzzNisVjsejFaYzabcejQIURFRXV0t04R7NcYRniZhoiISCoO9YxkZGRgwoQJiIuLQ0VFBVasWIGtW7di48aNAIBp06ahR48eyMzMBAC89NJLGDlyJHr37o3y8nK8/vrryM/Px6xZs5x/JO1gG8BaxZ4RIiIiqTgURkpKSjBt2jQUFRVBq9Vi8ODB2LhxI8aNGwcAKCgogFz+S2dLWVkZZs+eDZ1Oh6CgICQnJ2Pnzp1tGl/iDo2XaUqr6mCxCMjlnWcOFCIiou7C4QGsUmjrABhHmcwW9HnWOoPsgefG2S7bEBERUce19fu7Wz+bxkshR6CvFwAOYiUiIpJKtw4jABCpsT4rJ/9ytcSVEBERdU/dPoz0j7J2G/1c5JpZXomIiKh13T6M9I20PiDvREmlxJUQERF1T90+jIT6W2/vNdSaJK6EiIioe+r2YcRfbb27uaK2XuJKiIiIuqduH0YCvK1hpJJhhIiISBLdPow09oxUGhlGiIiIpMAw4t14mYZjRoiIiKTQ7cNIwBU9Ix4wGS0REVGX0+3DSGPPiEUA1XVmiashIiLqfrp9GPHxUkDR8IC8suo6iashIiLqfrp9GJHJZOgd5g8AOHROL3E1RERE3U+3DyMAMDwxCACQW1gubSFERETdEMMIgCitDwCgtIqXaYiIiNyNYQSAxscLAKeEJyIikgLDCACNN6eEJyIikgrDCH6ZEp5hhIiIyP0YRgBovK2XaTgLKxERkfsxjAAI8G4cM8KeESIiIndjGMGVl2lMnBKeiIjIzRhGAAT7qQAAJrOAoYa9I0RERO7EMALA20uBUH81AKCwrFriaoiIiLoXhpEGMUHWic/OMYwQERG5FcNIg9hgXwBAQSnDCBERkTsxjDToFeYHADhRXClxJURERN0Lw0iDvhEBAIDjxRUSV0JERNS9MIw0uCayMYxUwmLh7b1ERETuwjDSID7YFyqlHDUmM86V1UhdDhERUbfBMNJAqZCjd5g/ACCPl2qIiIjchmHkCgmh1jtqLpSzZ4SIiMhdGEauENYw8dnFCqPElRAREXUfDCNXCGUYISIicjuGkSuEBVjDSElFrcSVEBERdR8MI1f4JYywZ4SIiMhdGEauENcwJXz+5WoIwblGiIiI3IFh5ArxIX5QyGWoNNZDZ+ClGiIiIndgGLmCSim39Y6cuVglcTVERETdA8PIr4Q3jBu5VFUncSVERETdg0NhZPHixRg8eDA0Gg00Gg1SUlLw3XfftbrN6tWr0a9fP3h7e2PQoEHYsGFDhwp2tSBfFQCgvJphhIiIyB0cCiMxMTF47bXXsH//fuzbtw+33HILJk2ahCNHjjTbfufOnZgyZQoeeOAB5OTkID09Henp6Th8+LBTineFID9rGCllzwgREZFbyEQHbxsJDg7G66+/jgceeKDJe5MnT0ZVVRXWr19vWzdy5EgMHToUH3zwQZv3YTAYoNVqodfrodFoOlLuVf39+2N4f+spzBiVgBfuutal+yIiIurK2vr93e4xI2azGStXrkRVVRVSUlKabZOdnY3U1FS7dWlpacjOzm71s41GIwwGg93iLsENPSNlvExDRETkFg6HkUOHDsHf3x9qtRoPP/ww1qxZgwEDBjTbVqfTISIiwm5dREQEdDpdq/vIzMyEVqu1LbGxsY6W2W6NY0Z4mYaIiMg9HA4jffv2RW5uLnbv3o1HHnkE06dPx9GjR51aVEZGBvR6vW0pLCx06ue3JkLjDQDQ6TnPCBERkTsoHd1ApVKhd+/eAIDk5GTs3bsX77zzDj788MMmbSMjI1FcXGy3rri4GJGRka3uQ61WQ61WO1qaU0RqGUaIiIjcqcPzjFgsFhiNzT/LJSUlBZs3b7Zbl5WV1eIYk84gqiGMVBjrUVFrkrgaIiKirs+hnpGMjAxMmDABcXFxqKiowIoVK7B161Zs3LgRADBt2jT06NEDmZmZAIB58+Zh7NixWLRoESZOnIiVK1di3759WLJkifOPxEn81EpovJUw1NZDp69FgLeX1CURERF1aQ6FkZKSEkybNg1FRUXQarUYPHgwNm7ciHHjxgEACgoKIJf/0tkyatQorFixAn/5y1/wzDPPoE+fPli7di0GDhzo3KNwslB/NQy19RzESkRE5AYdnmfEHdw5zwgA/HbxTuzPL8MH91+H2wZGuXx/REREXZHL5xnpyoJ8rZdmSqs4ZoSIiMjVGEaa0TjXCCc+IyIicj2GkWbYZmHlmBEiIiKXYxhpRmDjLKzsGSEiInI5hpFmBPtZx4yUV3PMCBERkasxjDSDz6chIiJyH4aRZgTxyb1ERERuwzDSDNvdNOwZISIicjmGkWY0zjNiqK2HyWyRuBoiIqKujWGkGVofL8hk1r9zECsREZFrMYw0Q6mQQ+vTeEcNL9UQERG5EsNIC3hHDRERkXswjLSgcdwI76ghIiJyLYaRFtimhOeYESIiIpdiGGlBIC/TEBERuQXDSAtC/K1h5GKFUeJKiIiIujaGkRbEB/sBAPIvV0lcCRERUdfGMNKChBBfAED+5WqJKyEiIuraGEZaEB9q7RkpLKtGPWdhJSIichmGkRZEabyhUsphMgtcKK+VuhwiIqIui2GkBXK5DPHB1ks1ZzluhIiIyGUYRloR3zhupJTjRoiIiFyFYaQVYQFqAEAZ5xohIiJyGYaRVmhsD8vjLKxERESuwjDSikAf68Rn+hqGESIiIldhGGmFtqFnRF/DyzRERESuwjDSikDfxjDCnhEiIiJXYRhphZZjRoiIiFyOYaQVQQ1P7r3Mu2mIiIhchmGkFVFabwBAaVUdak1miashIiLqmhhGWhHo6wUfLwUAoEjPKeGJiIhcgWGkFTKZDFGB1t6RovIaiashIiLqmhhGrqLxUo3OwJ4RIiIiV2AYuYoQP+uU8KUcxEpEROQSDCNXEezHO2qIiIhciWHkKkIawkhpJcMIERGRKzCMXEWwP3tGiIiIXIlh5Coax4xcqjRKXAkREVHXxDByFT0CfQAA58p4ay8REZErOBRGMjMzMXz4cAQEBCA8PBzp6enIy8trdZtly5ZBJpPZLd7e3h0q2p3iQnwBWHtGqoz1EldDRETU9TgURrZt24Y5c+Zg165dyMrKgslkwvjx41FVVdXqdhqNBkVFRbYlPz+/Q0W7k9bHy/b03oLSaomrISIi6nqUjjT+/vvv7V4vW7YM4eHh2L9/P2688cYWt5PJZIiMjGxfhZ1AfLAvyqv1yL9cjf5RGqnLISIi6lI6NGZEr9cDAIKDg1ttV1lZifj4eMTGxmLSpEk4cuRIq+2NRiMMBoPdIqW4ED8AQEFp6z1ARERE5Lh2hxGLxYL58+dj9OjRGDhwYIvt+vbti48//hjr1q3Dp59+CovFglGjRuHcuXMtbpOZmQmtVmtbYmNj21umU8QHW8eN5F/mZRoiIiJnkwkhRHs2fOSRR/Ddd99hx44diImJafN2JpMJ/fv3x5QpU/Dyyy8328ZoNMJo/OVWWoPBgNjYWOj1emg07r9M8vm+Qjz1xU+4oU8oPnlghNv3T0RE5IkMBgO0Wu1Vv78dGjPSaO7cuVi/fj22b9/uUBABAC8vLyQlJeHkyZMttlGr1VCr1e0pzSXYM0JEROQ6Dl2mEUJg7ty5WLNmDbZs2YLExESHd2g2m3Ho0CFERUU5vK1U4hvGjJwvr4HJbJG4GiIioq7FoTAyZ84cfPrpp1ixYgUCAgKg0+mg0+lQU/PLhGDTpk1DRkaG7fVLL72ETZs24fTp0zhw4ADuv/9+5OfnY9asWc47ChcLD1BDrZTDbBEoKq+VuhwiIqIuxaHLNIsXLwYA3HTTTXbrly5dihkzZgAACgoKIJf/knHKysowe/Zs6HQ6BAUFITk5GTt37sSAAQM6VrkbyeUyRAf64MylKlzQ19gmQiMiIqKOcyiMtGWs69atW+1ev/XWW3jrrbccKqozitR448ylKuj07BkhIiJyJj6bpo2iAq1T2F/Q8xk1REREzsQw0kZR2oYwUs4wQkRE5EwMI22U0HBHzemLnIWViIjImRhG2qh3uD8A4GRJpcSVEBERdS0MI23UGEZKKozQ15gkroaIiKjrYBhpowBvL0RqrONG2DtCRETkPAwjDugT0XippkLiSoiIiLoOhhEHNA5iLSjlM2qIiIichWHEASH+KgBAaRXHjBARETkLw4gDQvysYaSsqk7iSoiIiLoOhhEHBDWEkdJqhhEiIiJnYRhxQLAve0aIiIicjWHEAbaeEYYRIiIip2EYcUBYgBqA9TJNXb1F4mqIiIi6BoYRB4T4qaBSyiEEUGyolbocIiKiLoFhxAEymcz29N4iPcMIERGRMzCMOKhxSvgifY3ElRAREXUNDCMOSgy1zsJ6vJhTwhMRETkDw4iDru2hBQAcPm+QuBIiIqKugWHEQYNsYUQPIYTE1RAREXk+hhEH9YsMgEIuw+WqOg5iJSIicgKGEQd5eynQJ9wfAPBzES/VEBERdRTDSDs0DmItKK2WuBIiIiLPxzDSDjFBPgCAc2W8vZeIiKijGEbaISbIFwBQyJ4RIiKiDmMYaYfYYPaMEBEROQvDSDvYekbK2DNCRETUUQwj7dA4ZqSith76GpPE1RAREXk2hpF28FUpEeKnAsBxI0RERB3FMNJOUYHWB+YVGzjxGRERUUcwjLRT49N7dQwjREREHcIw0k4RDWGkmFPCExERdQjDSDs19ozw+TREREQdwzDSThFaXqYhIiJyBoaRdmrsGeEAViIioo5hGGmnqMaeEV6mISIi6hCGkXZqvExjqK1HTZ1Z4mqIiIg8F8NIOwWolQhQKwFwWngiIqKOcCiMZGZmYvjw4QgICEB4eDjS09ORl5d31e1Wr16Nfv36wdvbG4MGDcKGDRvaXXBnIZPJ0DPcHwBwsqRS4mqIiIg8l0NhZNu2bZgzZw527dqFrKwsmEwmjB8/HlVVVS1us3PnTkyZMgUPPPAAcnJykJ6ejvT0dBw+fLjDxUutd5g1jJxiGCEiImo3mRBCtHfjixcvIjw8HNu2bcONN97YbJvJkyejqqoK69evt60bOXIkhg4dig8++KBN+zEYDNBqtdDr9dBoNO0t1+ne33oSf/8+D5OGRuOd+5KkLoeIiKhTaev3d4fGjOj1egBAcHBwi22ys7ORmppqty4tLQ3Z2dktbmM0GmEwGOyWzsjWM3KRPSNERETt1e4wYrFYMH/+fIwePRoDBw5ssZ1Op0NERITduoiICOh0uha3yczMhFartS2xsbHtLdOleoU3XqapgsXS7g4mIiKibq3dYWTOnDk4fPgwVq5c6cx6AAAZGRnQ6/W2pbCw0On7cIb4YF94KWSoMZlxQV8jdTlEREQeSdmejebOnYv169dj+/btiImJabVtZGQkiouL7dYVFxcjMjKyxW3UajXUanV7SnMrpUKOhBA/nCipxKmLVYgJ8pW6JCIiIo/jUM+IEAJz587FmjVrsGXLFiQmJl51m5SUFGzevNluXVZWFlJSUhyrtJPqxTtqiIiIOsShnpE5c+ZgxYoVWLduHQICAmzjPrRaLXx8fAAA06ZNQ48ePZCZmQkAmDdvHsaOHYtFixZh4sSJWLlyJfbt24clS5Y4+VCkERNkPW4+MI+IiKh9HOoZWbx4MfR6PW666SZERUXZllWrVtnaFBQUoKioyPZ61KhRWLFiBZYsWYIhQ4bgiy++wNq1a1sd9OpJwjXWy0klDCNERETt4lDPSFumJNm6dWuTdffeey/uvfdeR3blMSJsT+81SlwJERGRZ+KzaTooPKAhjFSwZ4SIiKg9GEY6qHHMyLnSGhjr+fReIiIiRzGMdFBMkA+C/VSoM1tw9ELnnCmWiIioM2MY6SCZTIaBPbQAgDxdhcTVEBEReR6GESfoEWgdN8Lbe4mIiBzHMOIEvKOGiIio/RhGnOCXMMKeESIiIkcxjDhBpNYaRs6X8WF5REREjmIYcYK+EQEAgJMXK1Fr4u29REREjmAYcYIorTdC/VUwWwSO8PZeIiIihzCMOIFMJsPgmEAAwKFz5ZLWQkRE5GkYRpxkUMNcIz+d00tcCRERkWdhGHGSIbHWMHKQPSNEREQOYRhxkkE9AgEApy9VoaLWJG0xREREHoRhxEnCAtQID1BDCOBkSaXU5RAREXkMhhEnig/xBQAUcr4RIiKiNmMYcaLY4IYwUlotcSVERESeg2HEieIawkj+5SqJKyEiIvIcDCNO1DPMHwDHjBARETmCYcSJGqeFP1FcCSGExNUQERF5BoYRJ0oM9YNSLkOFsR5Fej7Bl4iIqC0YRpxIpZQjIdQPAHC8uELiaoiIiDwDw4iTXXmphoiIiK6OYcTJeoVbB7GevsQ7aoiIiNqCYcTJEkJ4ey8REZEjGEacLN4WRjjxGRERUVswjDhZfIh1AOsFfQ1qTWaJqyEiIur8GEacLMRPBX+1EkIA58rYO0JERHQ1DCNOJpPJeKmGiIjIAQwjLpDQcKnm9EUOYiUiIroahhEX6BNhvb03jxOfERERXRXDiAv0i7ROfJanYxghIiK6GoYRF+gbqQFgnRLebOED84iIiFrDMOICccG+8PaSw1hv4eRnREREV8Ew4gIKuQzXNDyj5hgv1RAREbWKYcRF+jKMEBERtQnDiIv0tQ1iNUhcCRERUefGMOIi/RoGsfKOGiIiotYxjLhIY89Ifmk1quvqJa6GiIio83I4jGzfvh133nknoqOjIZPJsHbt2lbbb926FTKZrMmi0+naW7NHCAtQI8RPBSGAE8WVUpdDRETUaTkcRqqqqjBkyBC89957Dm2Xl5eHoqIi2xIeHu7orj1O73DrTKynLzGMEBERtUTp6AYTJkzAhAkTHN5ReHg4AgMDHd7Ok/UK98fuM6U4VcK5RoiIiFritjEjQ4cORVRUFMaNG4cff/yx1bZGoxEGg8Fu8US9wqw9I8f5jBoiIqIWuTyMREVF4YMPPsCXX36JL7/8ErGxsbjppptw4MCBFrfJzMyEVqu1LbGxsa4u0yWGxmoBAPvyy2DhtPBERETNkgkh2v0tKZPJsGbNGqSnpzu03dixYxEXF4dPPvmk2feNRiOMRqPttcFgQGxsLPR6PTQaTXvLdbu6eguGvLgJNSYzNs6/0XaHDRERUXdgMBig1Wqv+v0tya29119/PU6ePNni+2q1GhqNxm7xRCqlHMnxQQCA3WcuS1wNERFR5yRJGMnNzUVUVJQUu3a7kT2DAQC7TjOMEBERNcfhu2kqKyvtejXOnDmD3NxcBAcHIy4uDhkZGTh//jz+/e9/AwDefvttJCYm4tprr0VtbS3+9a9/YcuWLdi0aZPzjqITG9kzBACw63QphBCQyWQSV0RERNS5OBxG9u3bh5tvvtn2esGCBQCA6dOnY9myZSgqKkJBQYHt/bq6OjzxxBM4f/48fH19MXjwYPz3v/+1+4yubHBMILy95CitqsOJkkrb03yJiIjIqkMDWN2lrQNgOqv7/7UbO05ewgt3DsCM0YlSl0NEROQWnXoAa3dz4zWhAIANh7v2FPhERETtwTDiBrcPsg7W3Xe2FBW1JomrISIi6lwYRtwgJsgXccG+sAhgf36Z1OUQERF1KgwjbjI0NhAAcEzHqeGJiIiuxDDiJomhfgCAs5f40DwiIqIrMYy4SUKoLwDg7GWGESIioisxjLhJ7zDr/CI/F1XwoXlERERXYBhxk35RAfDxUkBfY8KJkkqpyyEiIuo0GEbcxEshx3XxgQCAPWdLpS2GiIioE2EYcaPhCdaH5u09wzBCRETUiGHEja5vDCNnrQ/NIyIiIoYRtxoaFwilXIYifS0KS2ukLoeIiKhTYBhxI1+VEsnxQQCA748USVwNERFR58Aw4mYTBkYCALYfvyRxJURERJ0Dw4ibXZ8YAgDILSyHmfONEBERMYy4W9/IAGi8lag01mMvb/ElIiJiGHE3hVyGtGutl2q+PnhB4mqIiIikxzAigbuGRgMAvjtUBJPZInE1RERE0mIYkUBKzxCE+qtRVm3CjhMcyEpERN0bw4gElAo5xl8bAQDYcZJhhIiIujeGEYkMa5hvJLewXNpCiIiIJMYwIpGhsYEAgMPn9Rw3QkRE3RrDiEQSQ/2g9fGCsd6CY0UVUpdDREQkGYYRichkMgxp6B3JKSyTthgiIiIJMYxIKKkhjOQWlEtaBxERkZQYRiQ0NC4QAAexEhFR98YwIqGhMYEAgNOXqqCvNklbDBERkUQYRiQU5KdCz1A/AMCmozqJqyEiIpIGw4jE7hkWAwD48sA5iSshIiKSBsOIxFL7W2di/emcHvWcb4SIiLohhhGJ9Q7zR4Baieo6M44XV0pdDhERkdsxjEhMLpdhcKwWAOcbISKi7olhpBNIirU+p2b36VKJKyEiInI/hpFO4OZ+YQCAzT8Xo9ZklrgaIiIi92IY6QSSYoMQrfVGVZ0Z245flLocIiIit2IY6QTkchluHxQFAFj/U5HE1RAREbkXw0gnMXGwNYxs+bmYt/gSEVG3wjDSSQyOCYSfSoGqOjNOXuQtvkRE1H0wjHQSCrkMA3tYb/Hde5a3+BIRUffhcBjZvn077rzzTkRHR0Mmk2Ht2rVX3Wbr1q247rrroFar0bt3byxbtqwdpXZ9N/cLBwCs3lcocSVERETu43AYqaqqwpAhQ/Dee++1qf2ZM2cwceJE3HzzzcjNzcX8+fMxa9YsbNy40eFiu7p7k2PgpZDhp3N6/HSuXOpyiIiI3ELp6AYTJkzAhAkT2tz+gw8+QGJiIhYtWgQA6N+/P3bs2IG33noLaWlpzW5jNBphNBptrw0Gg6NleqQQfzUmDIzC1wcvYMXuAgyOCZS6JCIiIpdz+ZiR7OxspKam2q1LS0tDdnZ2i9tkZmZCq9XaltjYWFeX2WlMHREHAFiXewGGWpPE1RAREbmey8OITqdDRESE3bqIiAgYDAbU1NQ0u01GRgb0er1tKSzsPmMork8MRmKoH2pMZmSfuix1OURERC7XKe+mUavV0Gg0dkt3IZPJMLJnCABgfz7vqiEioq7P5WEkMjISxcXFduuKi4uh0Wjg4+Pj6t17pGHx1gfn7TvLB+cREVHX5/IwkpKSgs2bN9uty8rKQkpKiqt37bGGJVjDyKHzeo4bISKiLs/hMFJZWYnc3Fzk5uYCsN66m5ubi4KCAgDW8R7Tpk2ztX/44Ydx+vRpPPXUUzh27Bjef/99fP7553j88cedcwRdUFywLxJCfGEyCyzeekrqcoiIiFzK4TCyb98+JCUlISkpCQCwYMECJCUl4fnnnwcAFBUV2YIJACQmJuLbb79FVlYWhgwZgkWLFuFf//pXi7f1knXcyJNp/QBYJ0DTV7N3hIiIui6ZEEJIXcTVGAwGaLVa6PX6bjOYtdZkxs1vbEWRvhYzRydg4Z3XSl0SERGRQ9r6/d0p76YhwNtLgVfvHgQA+OrAeZgtnT4zEhERtQvDSCd2Q59Q+KkU0NeYkKerkLocIiIil2AY6cSUCjmGJwYDANbmnpe4GiIiItdgGOnkpo6IBwCsYxghIqIuimGkkxvdOwQKuQzFBiN0+lqpyyEiInI6hpFOzlelRN+IAADArtN8Vg0REXU9DCMe4OZ+YQCATUd1EldCRETkfAwjHuC2a6MAAD8cu4iaOrPE1RARETkXw4gHGNhDg9hgH9SYzPh0V77U5RARETkVw4gHkMlkeOjGXgCA9YeKJK6GiIjIuRhGPMSt/cMBAIfOleNypVHiaoiIiJyHYcRDRGl9MDhGC4sA1uRwzhEiIuo6GEY8yN1JPQAAW46VSFwJERGR8zCMeJAbr7He4rvr9GUcuaCXuBoiIiLnYBjxIL3C/JF2bQQsAvjH5hNSl0NEROQUDCMeZsG4vgCsl2oqjfUSV0NERNRxDCMepm9kABJD/WAyCyzeelLqcoiIiDqMYcQDzRydAAD4fN85CCGkLYaIiKiDGEY80O+GxcJLIcPFCiMKSqulLoeIiKhDGEY8kLeXAtfFBQEAVuwukLgaIiKijmEY8VDTUhIAAEv+dxp5ugppiyEiIuoAhhEPdfugSKT2j4AQwLKdZ6Uuh4iIqN0YRjyUTCbDgzf2BACsyTmH8uo6iSsiIiJqH4YRDzY8IQj9ozSoNVnw9n85CRoREXkmhhEPJpPJsGDcNQCAf2efxfnyGokrIiIichzDiIcbNyACIxKDYRHAC18fkbocIiIihzGMdAF/mTgAMhmQdbQYhZx3hIiIPAzDSBcwKEaLlJ4hAIAv9p+TuBoiIiLHMIx0EfckxwAAFm87hYLL7B0hIiLPwTDSRdw1JBrJ8UGoq7dg5V7OykpERJ6DYaSLUCrkmDUmEYD1Uk292SJxRURERG3DMNKF3No/AiF+KpRUGLE176LU5RAREbUJw0gXolLKcXdSDwDAqn2FEldDRETUNgwjXczk4bEAgP/+XIxNR3QSV0NERHR1DCNdTJ+IAExLiYcQwLyVuThZwif6EhFR58Yw0gU9f8cAjOoVghqTGW9l8Zk1RETUuTGMdEFKhRzP3TEAchnw7aEirNzDW32JiKjzYhjpovpHaTD3lj4AgGfWHMKGQ0USV0RERNS8doWR9957DwkJCfD29saIESOwZ8+eFtsuW7YMMpnMbvH29m53wdR2j6f2wZTrY2ERwLyVOdh1+rLUJRERETXhcBhZtWoVFixYgIULF+LAgQMYMmQI0tLSUFJS0uI2Go0GRUVFtiU/P79DRVPbyGQy/DV9ECYOioLJLDB3RQ4OFJRJXRYREZEdh8PIm2++idmzZ2PmzJkYMGAAPvjgA/j6+uLjjz9ucRuZTIbIyEjbEhER0aGiqe0Uchn+ds9g9Arzw6VKI6Z/vAc6fa3UZREREdk4FEbq6uqwf/9+pKam/vIBcjlSU1ORnZ3d4naVlZWIj49HbGwsJk2ahCNHjrS6H6PRCIPBYLdQ+/mrlVg3dwwG9dCiorYeGV/9xOniiYio03AojFy6dAlms7lJz0ZERAR0uuYn2Orbty8+/vhjrFu3Dp9++iksFgtGjRqFc+daftR9ZmYmtFqtbYmNjXWkTGqGv1qJlyZdC4Vchh/yLnKGViIi6jRcfjdNSkoKpk2bhqFDh2Ls2LH46quvEBYWhg8//LDFbTIyMqDX621LYSG/OJ0hKS4IfxrfFwDw8vqjOFdWLXFFREREDoaR0NBQKBQKFBcX260vLi5GZGRkmz7Dy8sLSUlJOHnyZItt1Go1NBqN3ULOMeuGRAyLD0KtyYK5K3JwqdIodUlERNTNORRGVCoVkpOTsXnzZts6i8WCzZs3IyUlpU2fYTabcejQIURFRTlWKTmFl0KOlyYNhL9aidzCcrz4zVGpSyIiom7O4cs0CxYswEcffYTly5fj559/xiOPPIKqqirMnDkTADBt2jRkZGTY2r/00kvYtGkTTp8+jQMHDuD+++9Hfn4+Zs2a5byjIIcMiNZg6czhAID1P13Af48WX2ULIiIi11E6usHkyZNx8eJFPP/889DpdBg6dCi+//5726DWgoICyOW/ZJyysjLMnj0bOp0OQUFBSE5Oxs6dOzFgwADnHQU5bHhCMO4aEo2vD17ArH/vw8zRCXhu4gDI5TKpSyMiom5GJoQQUhdxNQaDAVqtFnq9nuNHnKimzow3NuXh4x/PQAhg6og4vDRpIBQMJERE5ARt/f7ms2m6MR+VAs/dMQBv/m4IAOA/uwvw2MociasiIqLuhmGEcHdSDF6/ZzAA4NufinC8uELiioiIqDthGCEAwL3DYnFz3zAAwJOrD6K6rl7iioiIqLtgGCGbp27rhwBvJQ6e0+OWN7Zh/U8XpC6JiIi6AYYRsukfpcHiqcmI1npDZ6jF3BU5yPjqJxSWcqZWIiJyHYYRsjOmTyh+ePImPDAmEQDw2Z5C3PXPHSgx8Em/RETkGgwj1IRaab3LZsWsEbgmwh9l1SY8sHwfihlIiIjIBRhGqEWjeofiH1OS4KtS4NB5Pca/tR1HLxikLouIiLoYhhFqVb9IDdbOGY0egT7Q15gw6b0d+MvaQ7BYOv1ceURE5CEYRuiqrokIwPpHxyClZwhMZoFPdxVg4ddHUGXk7b9ERNRxDCPUJkF+Knz24Ei8NOlaAMAnu/Ix4tXN+CT7rLSFERGRx2MYIYdMS0nAh79PRkKILyqN9Xhu3RE88ul+mMwWqUsjIiIPxTBCDku7NhJbnrgJj97SG3IZ8N1hHR76ZD90et5tQ0REjmMYoXaRy2V4Ynxf/GNKEpRyGbYcK0Hqm9uweOspnCyplLo8IiLyIDIhRKe/LaKtjyAmaRzTGZDx1SHkFJTb1vWP0uA3ST3w+5R4eHsppCuOiIgk09bvb4YRcgqLRWDl3kKsyz2PAwVlMJmtP1bXRPjjsVv7YPyASKiU7IgjIupOGEZIMuXVdfjm4AW8sek49DUmAECgrxfuGByFu4b0wLD4IMjlMomrJCIiV2MYIcnpq034fz+ewco9BSipMNrWR2u9MXN0IqaMiIO/WilhhURE5EoMI9RpmC0CO09dwtqcC9h0VIeKWutkab4qBcYNiMCdg6Mxpk8ox5YQEXUxDCPUKdWazFibcx5L/ncapy9W2darlHJcG63B6F6hmDg4Cv2j+N+ZiMjTMYxQpyaEQG5hOb45WISvD57Hpco6u/cH9dDi2mgNro3WYEC0FoN6aDkAlojIwzCMkMcQQuB4cSUOnivH2pzz2HnqcpM2aqUc/aM0SI4PwvCEICTHByMsQC1BtURE1FYMI+Sx8i9X4cgFA45c0OPoBQMOntOjtKquSbv4EF+M7h2KobGBuOmaMIQFqCGT8S4dIqLOgmGEugwhBM5cqsJP5/TYl1+KfWfLkFdcgV//5AZ4K9ErzB89w/zQK8wfAxou84QHeEtTOBFRN8cwQl2avsaE7FOXsfvMZWw7fhFnL1XB0sJPstbHC1ofL/irlfD3ViKg4U9/tRJaHy/0jQxAYqgf4oJ9Eeircu+BEBF1YQwj1K3UmszIv1yNUxcrceZSFY4XV+DweT1OX6pq0oPSmgBvJUL8VPD2UiAmyAcxQb6IDfZFj0Bv+KmVUMhkgAwIUHvBSymDQiaDXC5DqL8aWh8v1x0gEZEHauv3N2ecoi7B20uBvpEB6BsZYLe+uq4e58pqUGmsR2VtPSpq61FpNDX8WY+LFUbk6SqQX1qNixVGVDS0AYBjugqHalAp5dB4eyHETwU/tQJ+aiX8VErrn7bXCqiUcngprG01DT02PioFfLwU8PaSW/9seO2l4B1ERNT1MYxQl+arUuKaiICrN4Q1uJwvq0F5jQlVRmuIKSyrRmFpNXT6WlTXmWERAmaLQKWxHmaLQL1FoN5sfV1Xb8GlSiMuVRqvvrM2Uspl8FLIoVQ0/CmXQSm39sYo5NaeGZkMUMhlkMsa1jX8Xd6wXoaGQb3WTh3rX22rZLbXza2Drb2s8SN+tX3L7wEyu3a2/fzq8+3226T9L5/d9LOu2G8Ltdtv19x+m7Zvsc4r9knUEg+42NCiWTf0RGywryT7ZhghauCrUqJPG4PLr5VV1aGqrh76GhPKqkyoNNajuq4eVXVmVBnrUW2sR6XR+neTxQJjvQWGGhMMNSZU1ZlRU2dGrcm61JjMtvEv9RaBeosZMDnxQImImjEpqQfDCJEnC/JTIchPhZigjn+WEAJ1Zgtq6yyoNtXDVC9gslhQbxYwmS0wWwTMQkAIAbPFOt2+RQhbr42lYb1FCFgaUo0AbGNnBBrWCUBcsU/7GuzbtdTetlVz7a+yT/zqM4Ro+rkO19jCPq88tx2uEfZ1kONsvXVdVEsdaJ39qCM10t15yDBC1MnIZDKolQqolQpowUGxRNT1cXQcERERSYphhIiIiCTFMEJERESSYhghIiIiSTGMEBERkaQYRoiIiEhSDCNEREQkKYYRIiIiklS7wsh7772HhIQEeHt7Y8SIEdizZ0+r7VevXo1+/frB29sbgwYNwoYNG9pVLBEREXU9DoeRVatWYcGCBVi4cCEOHDiAIUOGIC0tDSUlJc2237lzJ6ZMmYIHHngAOTk5SE9PR3p6Og4fPtzh4omIiMjzyYSDjxgcMWIEhg8fjn/+858AAIvFgtjYWDz66KN4+umnm7SfPHkyqqqqsH79etu6kSNHYujQofjggw/atE+DwQCtVgu9Xg+NRuNIuURERCSRtn5/O9QzUldXh/379yM1NfWXD5DLkZqaiuzs7Ga3yc7OtmsPAGlpaS22BwCj0QiDwWC3EBERUdfkUBi5dOkSzGYzIiIi7NZHRERAp9M1u41Op3OoPQBkZmZCq9XaltjYWEfKJCIiIg/SKZ/am5GRgQULFthe6/V6xMXFsYeEiIjIgzR+b19tRIhDYSQ0NBQKhQLFxcV264uLixEZGdnsNpGRkQ61BwC1Wg21Wm173Xgw7CEhIiLyPBUVFdBqtS2+71AYUalUSE5OxubNm5Geng7AOoB18+bNmDt3brPbpKSkYPPmzZg/f75tXVZWFlJSUtq83+joaBQWFiIgIAAymcyRkltlMBgQGxuLwsJCDox1MZ5r9+B5dg+eZ/fgeXYfV51rIQQqKioQHR3dajuHL9MsWLAA06dPx7Bhw3D99dfj7bffRlVVFWbOnAkAmDZtGnr06IHMzEwAwLx58zB27FgsWrQIEydOxMqVK7Fv3z4sWbKkzfuUy+WIiYlxtNQ202g0/EF3E55r9+B5dg+eZ/fgeXYfV5zr1npEGjkcRiZPnoyLFy/i+eefh06nw9ChQ/H999/bBqkWFBRALv9lXOyoUaOwYsUK/OUvf8EzzzyDPn36YO3atRg4cKCjuyYiIqIuyOF5RroSzl/iPjzX7sHz7B48z+7B8+w+Up/rbv1sGrVajYULF9oNliXX4Ll2D55n9+B5dg+eZ/eR+lx3654RIiIikl637hkhIiIi6TGMEBERkaQYRoiIiEhSDCNEREQkKYYRIiIiklS3DiPvvfceEhIS4O3tjREjRmDPnj1Sl+QxMjMzMXz4cAQEBCA8PBzp6enIy8uza1NbW4s5c+YgJCQE/v7++O1vf9vkOUUFBQWYOHEifH19ER4ejieffBL19fXuPBSP8tprr0Emk9k9XoHn2XnOnz+P+++/HyEhIfDx8cGgQYOwb98+2/tCCDz//POIioqCj48PUlNTceLECbvPKC0txdSpU6HRaBAYGIgHHngAlZWV7j6UTstsNuO5555DYmIifHx80KtXL7z88st2D1LjeW6f7du3484770R0dDRkMhnWrl1r976zzutPP/2EG264Ad7e3oiNjcXf//73jhcvuqmVK1cKlUolPv74Y3HkyBExe/ZsERgYKIqLi6UuzSOkpaWJpUuXisOHD4vc3Fxx++23i7i4OFFZWWlr8/DDD4vY2FixefNmsW/fPjFy5EgxatQo2/v19fVi4MCBIjU1VeTk5IgNGzaI0NBQkZGRIcUhdXp79uwRCQkJYvDgwWLevHm29TzPzlFaWiri4+PFjBkzxO7du8Xp06fFxo0bxcmTJ21tXnvtNaHVasXatWvFwYMHxV133SUSExNFTU2Nrc1tt90mhgwZInbt2iX+97//id69e4spU6ZIcUid0iuvvCJCQkLE+vXrxZkzZ8Tq1auFv7+/eOedd2xteJ7bZ8OGDeLZZ58VX331lQAg1qxZY/e+M86rXq8XERERYurUqeLw4cPis88+Ez4+PuLDDz/sUO3dNoxcf/31Ys6cObbXZrNZREdHi8zMTAmr8lwlJSUCgNi2bZsQQojy8nLh5eUlVq9ebWvz888/CwAiOztbCGH9H0culwudTmdrs3jxYqHRaITRaHTvAXRyFRUVok+fPiIrK0uMHTvWFkZ4np3nz3/+sxgzZkyL71ssFhEZGSlef/1127ry8nKhVqvFZ599JoQQ4ujRowKA2Lt3r63Nd999J2QymTh//rzrivcgEydOFH/4wx/s1v3mN78RU6dOFULwPDvLr8OIs87r+++/L4KCgux+d/z5z38Wffv27VC93fIyTV1dHfbv34/U1FTbOrlcjtTUVGRnZ0tYmefS6/UAgODgYADA/v37YTKZ7M5xv379EBcXZzvH2dnZGDRokO25RgCQlpYGg8GAI0eOuLH6zm/OnDmYOHGi3fkEeJ6d6euvv8awYcNw7733Ijw8HElJSfjoo49s7585cwY6nc7uXGu1WowYMcLuXAcGBmLYsGG2NqmpqZDL5di9e7f7DqYTGzVqFDZv3ozjx48DAA4ePIgdO3ZgwoQJAHieXcVZ5zU7Oxs33ngjVCqVrU1aWhry8vJQVlbW7vocflBeV3Dp0iWYzWa7X84AEBERgWPHjklUleeyWCyYP38+Ro8ebXsAok6ng0qlQmBgoF3biIgI6HQ6W5vm/hs0vkdWK1euxIEDB7B3794m7/E8O8/p06exePFiLFiwAM888wz27t2Lxx57DCqVCtOnT7edq+bO5ZXnOjw83O59pVKJ4OBgnusGTz/9NAwGA/r16weFQgGz2YxXXnkFU6dOBQCeZxdx1nnV6XRITExs8hmN7wUFBbWrvm4ZRsi55syZg8OHD2PHjh1Sl9LlFBYWYt68ecjKyoK3t7fU5XRpFosFw4YNw6uvvgoASEpKwuHDh/HBBx9g+vTpElfXdXz++ef4z3/+gxUrVuDaa69Fbm4u5s+fj+joaJ7nbqxbXqYJDQ2FQqFocsdBcXExIiMjJarKM82dOxfr16/HDz/8gJiYGNv6yMhI1NXVoby83K79lec4MjKy2f8Gje+R9TJMSUkJrrvuOiiVSiiVSmzbtg3/+Mc/oFQqERERwfPsJFFRURgwYIDduv79+6OgoADAL+eqtd8bkZGRKCkpsXu/vr4epaWlPNcNnnzySTz99NO47777MGjQIPz+97/H448/jszMTAA8z67irPPqqt8n3TKMqFQqJCcnY/PmzbZ1FosFmzdvRkpKioSVeQ4hBObOnYs1a9Zgy5YtTbrtkpOT4eXlZXeO8/LyUFBQYDvHKSkpOHTokN0Pf1ZWFjQaTZMvhe7q1ltvxaFDh5Cbm2tbhg0bhqlTp9r+zvPsHKNHj25ye/rx48cRHx8PAEhMTERkZKTduTYYDNi9e7fduS4vL8f+/fttbbZs2QKLxYIRI0a44Sg6v+rqasjl9l89CoUCFosFAM+zqzjrvKakpGD79u0wmUy2NllZWejbt2+7L9EA6N639qrVarFs2TJx9OhR8eCDD4rAwEC7Ow6oZY888ojQarVi69atoqioyLZUV1fb2jz88MMiLi5ObNmyRezbt0+kpKSIlJQU2/uNt5yOHz9e5Obmiu+//16EhYXxltOruPJuGiF4np1lz549QqlUildeeUWcOHFC/Oc//xG+vr7i008/tbV57bXXRGBgoFi3bp346aefxKRJk5q9NTIpKUns3r1b7NixQ/Tp06fb33J6penTp4sePXrYbu396quvRGhoqHjqqadsbXie26eiokLk5OSInJwcAUC8+eabIicnR+Tn5wshnHNey8vLRUREhPj9738vDh8+LFauXCl8fX15a29HvPvuuyIuLk6oVCpx/fXXi127dkldkscA0OyydOlSW5uamhrxxz/+UQQFBQlfX19x9913i6KiIrvPOXv2rJgwYYLw8fERoaGh4oknnhAmk8nNR+NZfh1GeJ6d55tvvhEDBw4UarVa9OvXTyxZssTufYvFIp577jkREREh1Gq1uPXWW0VeXp5dm8uXL4spU6YIf39/odFoxMyZM0VFRYU7D6NTMxgMYt68eSIuLk54e3uLnj17imeffdbuVlGe5/b54Ycfmv29PH36dCGE887rwYMHxZgxY4RarRY9evQQr732WodrlwlxxbR3RERERG7WLceMEBERUefBMEJERESSYhghIiIiSTGMEBERkaQYRoiIiEhSDCNEREQkKYYRIiIikhTDCBEREUmKYYSIiIgkxTBCREREkmIYISIiIkn9fzmwk7w1HyfjAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "def batch_gradient_descent(X, y, batch_size, max_iter, alpha):\n", + " theta = np.zeros((2))\n", + "\n", + " costs = []\n", + "\n", + " for i in range(0, max_iter): # we could also use a delta on the cost function with a while to stop when the cost is not improving but we wanted to see the curve after x iterations\n", + " batch_idx = np.random.choice(y.shape[0], batch_size)\n", + " y_stoch = y[batch_idx]\n", + " y_pred_stoch = X[batch_idx, :] @ theta\n", + "\n", + " theta[0] = theta[0] - alpha * (1/len(y_stoch)) * np.sum(y_pred_stoch - y_stoch)\n", + " theta[1] = theta[1] - alpha * (1/len(y_stoch)) * np.sum((y_pred_stoch - y_stoch) * X[batch_idx, 1])\n", + "\n", + " y_pred = X @ theta\n", + " costs.append(cost_J(y_pred, y))\n", + "\n", + "\n", + " y_pred = X @ theta\n", + " print(f\"Theta = {theta}\")\n", + " print(f\"Cost = {cost_J(y_pred, y)}\")\n", + "\n", + " plt.plot(range(0, len(costs)), costs)\n", + " plt.title(\"Cost over iterations\")\n", + " plt.show()\n", + "\n", + "\n", + "print(\"Stochastic : \")\n", + "stochastic_gradient_descent(X, y, max_iter = 1000, alpha=0.000001)\n", + "print(\"batch of 1 : \")\n", + "batch_gradient_descent(X, y, batch_size = 1, max_iter = 1000, alpha = 0.000001)\n", + "print(\"batch of 10 : \")\n", + "batch_gradient_descent(X, y, batch_size = 10, max_iter = 1000, alpha = 0.000001)" + ] } ], "metadata": {