{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "using PyPlot\n", "using LinearAlgebra\n", "using Statistics" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "\n", "# Part 1: Regularization Demo\n", "\n", "Suppose that we use regularization such that for a polynomial of the form\n", "$$f_w(x) = \\sum_{k = 0}^{10} \\frac{w_k x^k}{k!}$$\n", "the loss function is\n", "$$h(w) = \\sum_{i=1}^N (f_w(x_i) - y_i)^2 + \\sigma^2 \\| w \\|^2.$$\n", "If $A$ is the matrix such that\n", "$$A_{i,j} = \\frac{x_i^j}{j!}$$\n", "then equivalently\n", "$$h(w) = \\left\\| \\left[\\begin{array}{c} A \\\\ \\sigma I \\end{array} \\right] w - \\left[\\begin{array}{c} y \\\\ 0 \\end{array} \\right] \\right\\|^2$$\n", "so we can still solve this easily with linear regression." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "x = randn(10); y = sqrt(0.95) * x + sqrt(0.05) * randn(10);\n", "test_x = randn(20); test_y = sqrt(0.9) * test_x + sqrt(0.1) * randn(20);" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "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w5Ej0LevGa4KDT3Hikurtp4pEREv4tagc+DAARISErDb7djtdhISEjh48OAZX9OrVy9sNpvTY/To0e4s038creCKm4q28zED2kfyzV+vZP7Ybjw3+lLmj+3GN3+98txCzksvwQ03QH4+XH89LF0Kdeq4ruhTVEvPlIiIl3Fr0LnxxhtJSUlhxYoVrFixgpSUFBISEs76urFjx5KZmVn8eKXogEM5N7Ur+Au7ou18UGCAjbgLGjH00qbEXdCo6qHA4YCpU+Hee83X48bBu++anY/dyK09UyIiXshtq65++OEHVqxYwffff0/Xrl0BePXVV4mLi2PHjh20bt263NeGhIQQERHhrtL8V+N4s7oqN4Oy5+nYzPON46u7Mt9SWAj33Qcvvmiup0wxD1v19KQMaB9J35gIa87sEhHxMG7r0UlOTsZutxeHHIBu3bpht9v57rvvzvjaefPmERoaSrt27XjwwQc5dOhQuW3z8vLIyclxekg5AgLNEnKg3MGN2BmmnVRNXh7cdJMJOTYbvPCC6dmpppBTxGU9UyIiXs5tPTpZWVmEhYWVuh8WFkZWVla5r7vpppto2bIlERERbN26lcmTJ7N582YSExPLbD99+nSmTZvmsrp9XtRwiP+onH10ZvjlPjouc/AgDB9udjmuWRPeftucSC4iIpapdNCZOnXqWYPFunXrALCV8Vesw+Eo836RsWPHFn/dvn17WrVqRefOndm4cSOdOnUq1X7y5MlMmjSp+DonJ4eoqKiz/nf4tajh0HSoWV11NNPMyWkcr56cc5GeDoMGwdatZrLxggVmY0AREbFUpYPO+PHjz7oKqkWLFmzZsoU//vij1HN79uwhPDy8wt+vU6dO1KxZk507d5YZdIKCgghy8wRPnxQQCOG9rK7CN2zZYkJORgZERprDOS+91OqqRESEKgSd0NBQQiuwB0hcXBzZ2dmsXbuWLl26ALBmzRqys7PpXonDC7dt20Z+fj6RkVotIh7oiy/McFVODrRtC59+CtHR1ff9CwvUMycicgY2h8PhthP+Bg4cyO+//168PPzOO+8kOjqapUuXApCRkUGfPn14++236dKlCz///DPz5s1j0KBBhIaGsn37dh544AFq167NunXrCAw8+/+B5+TkYLfbyc7Opl69eu76TxOBuXPh9tvNHjk9esDixdCgQfV9f51ZJiI+xF2/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Q5+j6+izdB19lq7hjs/RrZORx4wZw1tvvVXq/qpVq+jVq5cpwGbjzTffZMyYMRw9epRhw4axadMmDh48SGRkJL179+aJJ57QKioRERGptGpZdSUiIiJiBZ11JSIiIj5LQUdERER8loKOiIiI+CwFHREREfFZPhF0nnzySbp3705ISEiFt40eM2YMNpvN6dGtWzc3V+r5qvJZOhwOpk6dSpMmTahduza9evVi27Ztbq7Usx04cICEhATsdjt2u52EhISzHoHSq1evUj+TZ9uc0xe99NJLtGzZkuDgYGJjY0lKSjpj+wULFhATE0NQUBAxMTEsWrSomir1fJX5LOfMmVPq589ms3Hs2LFqrNjzfP311wwZMoQmTZpgs9lYvHjxWV/z1VdfERsbS3BwMOeffz4vv/xyNVTq+Sr7Wa5evbrMn8kff/yxUt/XJ4LO8ePHue666xg3buXaF2gAAAffSURBVFylXjdgwAAyMzOLH8uXL3dThd6jKp/lv/71L5599llmzpzJunXriIiIoG/fvhw6dMiNlXq2G2+8kZSUFFasWMGKFStISUkhISHhrK8bO3as08/kK6+8Ug3Veo7333+fiRMn8sgjj7Bp0ybi4+MZOHAgaWlpZbZPTk5m1KhRJCQksHnzZhISErj++utZs2ZNNVfueSr7WYI5wuDUn7/MzEyCg4OrsWrPc+TIES655BJmzpxZofapqakMGjSI+Ph4Nm3axMMPP8x9993HggUL3Fyp56vsZ1lkx44dTj+TrVq1qtw3dviQN99802G32yvU9tZbb3UMHTrUzRV5r4p+loWFhY6IiAjHP//5z+J7x44dc9jtdsfLL7/szhI91vbt2x2A4/vvvy++l5yc7AAcP/74Y7mv69mzp2PChAnVUaLH6tKli+Puu+92utemTRvH3/72tzLbX3/99Y4BAwY43evfv79j9OjRbqvRW1T2s6zM/3/6K8CxaNGiM7Z56KGHHG3atHG6d9dddzm6devmztK8TkU+y1WrVjkAx4EDB87pe/lEj05VrV69mrCwMC666CLGjh3L7t27rS7J66SmppKVlUW/fv2K7wUFBdGzZ0++++47CyuzTnJyMna7na5duxbf69atG3a7/ayfybx58wgNDaVdu3Y8+OCDftUrdvz4cTZs2OD0swTQr1+/cj+35OTkUu379+/vtz97RaryWQIcPnyY6OhomjVrxuDBg9m0aZO7S/U55f1Mrl+/nvz8fIuq8m4dO3YkMjKSPn36sGrVqkq/3m/3qh44cCDXXXcd0dHRpKam8thjj3HllVeyYcOGCh81IZCVlQVAeHi40/3w8HB+++03K0qyXFZWFmFhYaXuh4WFFX9eZbnpppto2bIlERERbN26lcmTJ7N582YSExPdWa7H2Lt3LwUFBWX+LJX3uWVlZVWqvb+oymfZpk0b5syZQ4cOHcjJyeG5557j8ssvZ/PmzZUfKvBj5f1Mnjhxgr179+rcxkqIjIxk9uzZxMbGkpeXxzvvvEOfPn1YvXo1PXr0qPD7eGzQmTp1KtOmTTtjm3Xr1tG5c+cqvf+oUaOKv27fvj2dO3cmOjqaZcuWMXz48Cq9p6dy92cJ5iiPUzkcjlL3vF1FP0co/XnA2T+TsWPHFn/dvn17WrVqRefOndm4cSOdOnWqYtXep7I/S/7ws1dVlflsunXr5rQg4/LLL6dTp0688MILPP/8826t09eU9bmXdV/OrHXr1rRu3br4Oi4ujvT0dJ555hnfCDrjx48/64qTFi1auOz7RUZGEh0dzc6dO132np7CnZ9lREQEYP6KOfUvld27d5f6q8bbVfRz3LJlC3/88Uep5/bs2VOpz6RTp07UrFmTnTt3+kXQCQ0NJTAwsFSPw5l+liIiIirV3l9U5bM8XUBAAJdddplP/n+iO5X3M1mjRg0aNWpkUVW+o1u3bsydO7dSr/HYoBMaGkpoaGi1fb99+/aRnp7uk92K7vwsi4ZaEhMT6dixI2DmB3z11Vc8/fTTbvmeVqno5xgXF0d2djZr166lS5cuAKxZs4bs7Gy6d+9e4e+3bds28vPzffJnsiy1atUiNjaWxMRErr322uL7iYmJDB06tMzXxMXFkZiYyP333198b+XKlZX6nH1RVT7L0zkcDlJSUujQoYO7yvRJcXFxLF261One/7dzxy6phWEcx88lzykqiQKhCCxw0KXAaAlCN2noHwiRQ/9AGC1u5WZLTdEkrUFlkxAt1pASDWcwDKIypdUloSn43uHeK3jvdLiQcvp94EznlfM+D4eX33AeLy8vjcXFRcM0zR7tyjscx3F/Jv7Xp8x9otFo4DgO2WyW0dFRHMfBcRza7XZnTTgcplAoANBut9na2qJcLlOv1ymVSiwtLTE9Pc37+3uvyugLbnsJkMvlGBsbo1AoUK1WWVtbY2pq6lv3cmVlhfn5eSqVCpVKhbm5OVZXVzv3397eCIfD3N7eAvD09EQ2m+Xu7o56vU6xWCQSiRCNRvn8/OxVGV/u+PgY0zTJ5/PUajXS6TQjIyO8vr4CkEqluqaGbm5uGBgYIJfL8fDwQC6Xw+fzdU28fVdue7mzs8PFxQXPz884jsP6+jo+n6/zjn5X7Xa7cw4ahsHe3h6O49BoNADIZDKkUqnO+peXF4aHh9nc3KRWq5HP5zFNk9PT016V0Dfc9nJ/f5/z83MeHx+5v78nk8lgGAZnZ2eunuuJoGPbNoZh/HOVSqXOGsMwODo6AuDj44NEIkEgEMA0TYLBILZt02w2e1NAH3HbS/g1Yr69vc3k5CSDg4PEYjGq1erXb76PtFotkskkfr8fv99PMpnsGpGs1+tdfW02m8RiMSYmJrAsi1AoxMbGBq1Wq0cV9M7BwQEzMzNYlsXCwgLX19ede/F4HNu2u9afnJwQDocxTZNIJOL6EPQyN71Mp9MEg0EsyyIQCJBIJCiXyz3YdX/5M+L89/Wnd7ZtE4/Hu35zdXVFNBrFsixmZ2c5PDz8+o33Ibe93N3dJRQKMTQ0xPj4OMvLyxSLRdfP/QG/v5ISERER8Zhv/T86IiIi4m0KOiIiIuJZCjoiIiLiWQo6IiIi4lkKOiIiIuJZCjoiIiLiWQo6IiIi4lkKOiIiIuJZCjoiIiLiWQo6IiIi4lkKOiIiIuJZPwHcR5sc33BM3AAAAABJRU5ErkJggg==", "text/plain": [ "Figure(PyObject