{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "Sesion_05_regresion_multivariada",
"provenance": []
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"language_info": {
"name": "python"
}
},
"cells": [
{
"cell_type": "markdown",
"source": [
"\n",
"
"
],
"metadata": {
"id": "uf3iMQfkp5bH"
}
},
{
"cell_type": "markdown",
"metadata": {
"id": "RN4svgpF9xFa"
},
"source": [
"# Regresion multivariada\n",
"\n",
"Supongamos que tenemos un conjunto de caracteristicas $X = X_1,X_2...X_j...X_n$ para realizar una predicción $y$ con valores esperados $\\hat{y}$. \n",
"\n",
"Cada X, puede ser escrito como:\n",
" $X_1 = x_1^{(1)},x_1^{(2)}, x_1^{(3)}...x_1^{(m)}$, \n",
"\n",
" $X_2 = x_2^{(1)},x_2^{(2)}, x_2^{(3)}...x_2^{(m)}$, \n",
" \n",
" .\n",
" \n",
" .\n",
" \n",
" .\n",
" \n",
" $X_n = x_n^{(1)},x_n^{(2)}, x_n^{(3)}...x_n^{(m)}$. \n",
" \n",
"\n",
"Siendo n el número de caracteristicas y m el número de datos de datos, \n",
"$\\hat{y} = \\hat{y}_1^{(1)}, \\hat{y}_1^{(2)}...\\hat{y}_1^{(m)} $, el conjunto de datos etiquetados y $y = y_1^{(1)}, y_1^{(2)}...y_1^{(m)} $ los valores predichos por un modelo\n",
"\n",
"\n",
"\n",
"\n",
"Lo anterior puede ser resumido como:\n",
"\n",
"\n",
"\n",
"|Training|$\\hat{y}$ | X_1 | X_2 | . | .|. |. | X_n|\n",
"|--------|-------|------|------|-----|--|--|--|----|\n",
"|1|$\\hat{y}_1^{1}$ | $x_1^{1}$|$x_2^{1}$| . | .|. |. | $x_n^{1}$|\n",
"|2|$\\hat{y}_1^{2}$ | $x_1^{2}$|$x_2^{2}$| . | .|. |. | $x_n^{2}$|\n",
"|.|. | . |.| . | .|. |. | |\n",
"|.|. | . |.| . | .|. |. | |\n",
"|.|. | . |.| . | .|. |. | |\n",
"|m|$\\hat{y}_1^{m}$ | $x_1^{m}$ |$x_2^{m}$| . | .|. |. | $x_n^{m}$|\n",
"\n",
"\n",
"y el el modelo puede ser ajustado como sigue: \n",
"\n",
"Para un solo conjunto de datos de entrenamiento tentemos que:\n",
"\n",
"$y = h(\\theta_0,\\theta_1,\\theta_2,...,\\theta_n ) = \\theta_0 + \\theta_1 x_1+\\theta_2 x_2 + \\theta_3 x_3 +...+ \\theta_n x_n $.\n",
"\n",
"\\begin{equation}\n",
"h_{\\Theta}(x) = [\\theta_0,\\theta_1,...,\\theta_n ]\\begin{bmatrix}\n",
"1^{(1)}\\\\\n",
"x_1^{(1)}\\\\\n",
"x_2^{(1)}\\\\\n",
".\\\\\n",
".\\\\\n",
".\\\\\n",
"x_n^{(1)}\\\\\n",
"\\end{bmatrix} = \\Theta^T X^{(1)}\n",
"\\end{equation}\n",
"\n",
"\n",
"\n",
"Para todo el conjunto de datos, tenemos que:\n",
"\n",
"Sea $\\Theta^T = [\\theta_0,\\theta_1,\\theta_2,...,\\theta_n]$ una matrix $1 \\times (n+1)$ y \n",
"\n",
"\n",
"\\begin{equation}\n",
"X =\n",
"\\begin{bmatrix}\n",
"1& 1 & 1 & .&.&.&1\\\\\n",
"x_1^{(1)}&x_1^{(2)} & x_1^{(3)} & .&.&.&x_1^{(m)}\\\\\n",
".&. & . &.&.&.& .\\\\\n",
".&. & . & .&.&.&.\\\\\n",
".&. & . & .&.&.&.\\\\\n",
"x_n^{(1)}&x_n^{(2)} & x^{(3)} & .&.&.&x_n^{(m)}\\\\\n",
"\\end{bmatrix}_{(n+1) \\times m}\n",
"\\end{equation}\n",
"\n",
"\n",
"\n",
"\n",
"luego $h = \\Theta^{T} X $ con dimension $1\\times m$\n",
"\n",
"\n",
"\n",
"\n",
"La anterior ecuación, es un hiperplano en $\\mathbb{R}^n$. Notese que en caso de tener una sola característica, la ecuación puede ser análizada según lo visto en la sesión de regresion lineal.\n",
"\n",
"\n",
"Para la optimización, vamos a definir la función de coste **$J(\\theta_1,\\theta_2,\\theta_3, ...,\\theta_n )$** , como la función asociada a la minima distancia entre dos puntos, según la metrica euclidiana. \n",
"\n",
"- Metrica Eculidiana\n",
"\n",
"\\begin{equation}\n",
"J(\\theta_1,\\theta_2,\\theta_3, ...,\\theta_n )=\\frac{1}{2m} \\sum_{i=1}^m ( h_{\\Theta} (X)-\\hat{y}^{(i)})^2 =\\frac{1}{2m} \\sum_{i = 1}^m (\\Theta^{T} X - \\hat{y}^{(i)})^2\n",
"\\end{equation}\n",
"\n",
"Otras métricas pueden ser definidas como sigue en la siguiente referencia. [Metricas](https://jmlb.github.io/flashcards/2018/04/21/list_cost_functions_fo_neuralnets/).\n",
"\n",
"Nuestro objetivo será encontrar los valores mínimos \n",
"$\\Theta = \\theta_0,\\theta_1,\\theta_2,...,\\theta_n$ que minimizan el error, respecto a los valores etiquetados y esperados $\\hat{y}$ \n",
"\n",
"\n",
"Para encontrar $\\Theta$ opmitimo, se necesita minimizar la función de coste, que permite obtener los valores más cercanos, esta minimización podrá ser realizada a través de diferentes metodos, el más conocido es el gradiente descendente.\n",
"\n",
"\n",
"\n",
"\n",
"\n"
]
},
{
"cell_type": "markdown",
"source": [
"\n",
"## Gradiente descendente\n",
"\n",
"Consideremos la función de coste sin realizar el promedio esima de funcion de coste:\n",
"\\begin{equation}\n",
"\\Lambda =\n",
"\\begin{bmatrix}\n",
"(\\theta_0 1 + \\theta_1 x_1^1+\\theta_2 x_2^2 + \\theta_3 x_3^3 +...+ \\theta_n x_n^n - \\hat{y}^{1})^2 \\\\\n",
"(\\theta_0 1+ \\theta_1 x_1^1+\\theta_2 x_2^2 + \\theta_3 x_3^3 +...+ \\theta_n x_n^n - \\hat{y}^{2})^2\\\\\n",
".\\\\\n",
".\\\\\n",
".\\\\\n",
"(\\theta_0 1 + \\theta_1 x_1^m+\\theta_2 x_2^m + \\theta_3 x_3^m +...+ \\theta_n x_n^m - \\hat{y}^{m})^2\\\\\n",
"\\end{bmatrix}\n",
"\\end{equation}\n",
"\n",
"$\\Lambda= [\\Lambda_1,\\Lambda_2, ...,\\Lambda_m]$\n",
"\n",
"$J = \\frac{1}{2m} \\sum_{i}^m \\Lambda_i $\n",
"\n",
"El gradiente descente, puede ser escrito como:\n",
"\n",
"\\begin{equation}\n",
"\\Delta \\vec{\\Theta} = - \\alpha \\nabla J(\\theta_0, \\theta_1,...,\\theta_n)\n",
"\\end{equation}\n",
"\n",
"escogiendo el valor j-esimo tenemos que:\n",
"\n",
"\\begin{equation}\n",
"\\theta_j := - \\alpha \\frac{\\partial J(\\theta_0, \\theta_1,...\\theta_j...,\\theta_n)}{\\partial \\theta_j}\n",
"\\end{equation}\n",
"\n",
"Aplicando lo anterior a a funcion de coste asociada a la metrica ecuclidiana, tenemos que:\n",
"\n",
"Para $j = 0$, \n",
"\n",
"\n",
"\\begin{equation}\n",
"\\theta_0 := - \\alpha \\frac{\\partial J(\\theta_0, \\theta_1,...\\theta_j...,\\theta_n)}{\\partial \\theta_0} = \\frac{1}{m}\\alpha \\sum_{i=1}^m (\\theta_j X_{ji} - \\hat{y}^{(i)}) 1\n",
"\\end{equation}\n",
"\n",
"\n",
"\n",
"Para $0"
]
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"source": [
"# Construccion del modelo para cualquier valor de Theta y X\n",
"# Generalizacion\n",
"def linearRegresion(Theta_, _X_, m_training, n_features) : \n",
" m = m_training\n",
" n = n_features\n",
" shape_t = (n+1,1)\n",
" shape_x = (n+1,m)\n",
"\n",
" if(shape_x != np.shape(_X_)):\n",
" print(f\"Revisar valores dimensiones Theta_ {_X_}\")\n",
" return 0 \n",
" \n",
" if(shape_t != np.shape(Theta_)):\n",
" print(f\"Revisar valores dimensiones Theta_ {Theta_}\")\n",
" return 0\n",
" else :\n",
" return (Theta_.T@_X_)\n",
"\n",
"def cost_function(h, y):\n",
" J = (h-y)**2\n",
" \n",
" return J.mean()/2\n",
"\n",
"def gradiente_D(h,Theta_, _X_, y,alpha, m_training, n_features): \n",
" grad=((h-y)*_X_.T).mean(axis=1)\n",
" theta=Theta_.T-alpha*grad\n",
" return theta"
],
"metadata": {
"id": "wIxQXKLq5Qne"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"N = 10\n",
"m_training=10\n",
"x1 = np.linspace(-1, 1, N) \n",
"x2 = np.linspace(-1, 1, N)\n",
"np.random.seed(30)\n",
"y = 2*x1 - 3*x2 + 4*np.random.random(N) \n",
"\n",
"df = pd.DataFrame({\"Y\":y,\"X1\":x1, \"X2\":x2})\n",
"df[\"ones\"] = np.ones(N)\n",
"X = df[[\"ones\",\"X1\",\"X2\"]].values\n",
"#y = np.reshape(df.Y.values, (1,N))\n",
"\n",
"#_X_ = np.matrix(X.T)\n",
"Theta = np.array([2.0, 4, 5])\n",
"Theta_ = np.reshape(Theta, (3, 1))"
],
"metadata": {
"id": "LnnFn44F8RdI"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"N = 10\n",
"X1,X2 = np.meshgrid(x1,x2)\n",
"Y = 2*X1 - 3*X2 + 4*np.random.random(N) \n",
"fig, ax = plt.subplots(subplot_kw={\"projection\": \"3d\"})\n",
"surf = ax.plot_surface(X1, X2, Y)\n",
"#scatter = ax.scatter(x1, x2, y,\"-\")"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 248
},
"id": "Kf-pqLPi3iBn",
"outputId": "53dc1fba-de1f-437e-e627-2efe19144597"
},
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"source": [
"cost=[]\n",
"t_=[]\n",
"for i in range(0, 1000):\n",
" h = linearRegresion(Theta_, X.T, N, 2)\n",
" J = cost_function(h,y) \n",
" theta = gradD(h,Theta_, X,y, 0.1, N,2) \n",
" Theta_ = theta.T\n",
" t_.append(theta[:1])\n",
" cost.append(J)"
],
"metadata": {
"id": "nIncP64T7mPq"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"plt.plot(cost)\n",
"plt.ylabel(\"J\")\n",
"plt.xlabel(\"iter\")\n"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 296
},
"id": "xg3wgGDmJnBU",
"outputId": "c3f67ab9-f9d5-44c2-9dce-bb64b3545a5e"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Text(0.5, 0, 'iter')"
]
},
"metadata": {},
"execution_count": 316
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"source": [
"Theta_=np.array(Theta_)\n",
"ymodelo = Theta_[0] + Theta_[1]*x1 + Theta_[2]*x2\n",
"ymodelo"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "62Uk4Av_Av_H",
"outputId": "ef6f2abe-a4ee-4513-9bfc-1e8eed3b240f"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([3.25828205, 3.01244635, 2.76661066, 2.52077497, 2.27493927,\n",
" 2.02910358, 1.78326789, 1.53743219, 1.2915965 , 1.04576081])"
]
},
"metadata": {},
"execution_count": 317
}
]
},
{
"cell_type": "code",
"source": [
"error = abs((y-ymodelo))/y\n",
"plt.plot(error)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 282
},
"id": "vJN89y9i3JEe",
"outputId": "74a02f57-68ed-4c23-980e-f4db46825133"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[]"
]
},
"metadata": {},
"execution_count": 318
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"source": [
"¿Qué sucede si las caracteristicas no estan escaladas?\n",
"\n",
"Es recomendable escalar en función de :\n",
"\n",
"\\begin{equation}\n",
"x_i = \\frac{x_i-\\mu_i}{s_i}\n",
"\\end{equation}\n",
"\n",
"\n",
"\n",
"$\\mu_i$: es el promedio de los datos de la caracteristica i\n",
"\n",
"$s_i$: es el rango de valores maximos o minimos o la desviacion estandar.\n",
"\n",
"Si el rango de valores de la caracteristica xi esta entre [200,3000] y la media de valores es 2000, tenemos que \n",
"\n",
"\\begin{equation}\n",
"x_i = \\frac{x_i-2000}{2800}\n",
"\\end{equation}\n",
"\n",
"\n",
"\n",
"\n",
"\n"
],
"metadata": {
"id": "DQG9fcqi5euC"
}
},
{
"cell_type": "code",
"source": [
"N = 10\n",
"m_training=10\n",
"x1 = np.linspace(-1, 1, N) \n",
"x2 = np.linspace(-2000, 2000, N)\n",
"np.random.seed(30)\n",
"y = 2*x1 - 3*x2 + 4*np.random.random(N) \n",
"\n",
"df = pd.DataFrame({\"Y\":y,\"X1\":x1, \"X2\":x2})\n",
"df[\"ones\"] = np.ones(N)\n",
"X = df[[\"ones\",\"X1\",\"X2\"]].values\n",
"#y = np.reshape(df.Y.values, (1,N))\n",
"\n",
"#_X_ = np.matrix(X.T)\n",
"Theta = np.array([2.0, 4, 5])\n",
"Theta_ = np.reshape(Theta, (3, 1))"
],
"metadata": {
"id": "1ObVS6WS7FxT"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"cost=[]\n",
"t_=[]\n",
"for i in range(0, 1000):\n",
" h = linearRegresion(Theta_, X.T, N, 2)\n",
" J = cost_function(h,y) \n",
" theta = gradD(h,Theta_, X,y, 0.1, N,2) \n",
" Theta_ = theta.T\n",
" t_.append(theta[:1])\n",
" cost.append(J)\n",
"# NO hay convergencia "
],
"metadata": {
"id": "FdbR-Mkf7L5T"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"plt.plot(cost)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 282
},
"id": "3h9y-1bJ7Owu",
"outputId": "097dda8d-eb88-4e30-a98c-ceb1ff6d05aa"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[]"
]
},
"metadata": {},
"execution_count": 323
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"source": [
"N = 10\n",
"m_training=10\n",
"x1 = np.linspace(-1, 1, N) \n",
"x2 = np.linspace(-2000, 2000, N)\n",
"x2 = (x2-np.mean(x2))/(max(x2)-min(x2))\n",
"\n",
"np.random.seed(30)\n",
"y = 2*x1 - 3*x2 + 4*np.random.random(N) \n",
"\n",
"df = pd.DataFrame({\"Y\":y,\"X1\":x1, \"X2\":x2})\n",
"df[\"ones\"] = np.ones(N)\n",
"X = df[[\"ones\",\"X1\",\"X2\"]].values\n",
"#y = np.reshape(df.Y.values, (1,N))\n",
"\n",
"#_X_ = np.matrix(X.T)\n",
"Theta = np.array([2.0, 4, 5])\n",
"Theta_ = np.reshape(Theta, (3, 1))"
],
"metadata": {
"id": "zzOZM6VE7Rq6"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"cost=[]\n",
"t_=[]\n",
"for i in range(0, 1000):\n",
" h = linearRegresion(Theta_, X.T, N, 2)\n",
" J = cost_function(h,y) \n",
" theta = gradD(h,Theta_, X,y, 0.1, N,2) \n",
" Theta_ = theta.T\n",
" t_.append(theta[:1])\n",
" cost.append(J)\n",
"\n",
"plt.plot(cost)"
],
"metadata": {
"id": "MKA1gNYF7mmU",
"outputId": "083b84ae-8ade-4f57-c229-01adf8adfb6f",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 282
}
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[]"
]
},
"metadata": {},
"execution_count": 331
},
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAWoAAAD4CAYAAADFAawfAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAATLklEQVR4nO3de4xcZ3nH8e8zl/XuOvEtWYhjAw6XBmjaBLqiSUFQEi6BIqiqVEpUKKWRrEqoXISKCP0D8WcrxKUVRVjcqpaGhhAoChWXQkpFaUM3F0ISJ+QGxImDN0Di4MTx7vrpH3Nmd3bXzo4vs/PuzPcjjbxz5uz4OXusn999znvmjcxEklSuWr8LkCQ9NYNakgpnUEtS4QxqSSqcQS1JhWv04k1PP/303LFjRy/eWpIG0g033PBwZk4c6bWeBPWOHTuYmprqxVtL0kCKiJ8e7TVbH5JUOINakgpnUEtS4QxqSSqcQS1JhTOoJalwBrUkFa6ooP77b9/Fd3883e8yJKkoRQX1J757D9+7y6CWpE5FBXW9FszMuZCBJHXqKqgj4t0RcVtE3BoRV0bEaC+KadSCucMGtSR1WjGoI2Ib8A5gMjPPAerApb0oplGvMWtQS9Ii3bY+GsBYRDSAceDBXhTTqAWzc4d78daStGatGNSZ+QDwIeBnwF7g0cz85tL9ImJnRExFxNT09PFdEGzUbX1I0lLdtD42A28CzgLOBNZHxJuX7peZuzJzMjMnJyaO+JGqK2rUbH1I0lLdtD5eBdyXmdOZOQNcA/xeL4qp14LZw7Y+JKlTN0H9M+D8iBiPiAAuAnb3ophWj9oRtSR16qZHfT1wNXAj8KPqe3b1ophGPWx9SNISXS3FlZkfAD7Q41rsUUvSERR1Z2Lrhhd71JLUqaig9hZySVquqKBu1mvOo5akJYoK6rp3JkrSMkUFdaPmrA9JWqqsoPYWcklapqygrtWYsfUhSYuUFdSOqCVpmaKC2ul5krRcUUHtCi+StFxZQe0KL5K0TFlB7cecStIyhQV1jTl71JK0SFlB7cecStIyRQW1K7xI0nJFBXXTW8glaZmigrpeq5GJU/QkqUM3q5CfHRE3dzz2R8S7elFMox4Atj8kqcOKS3Fl5p3AeQARUQceAL7ck2JqraB2RC1JC4619XERcE9m/rQXxdSroPY2cklacKxBfSlw5ZFeiIidETEVEVPT09PHVUyz3irHEbUkLeg6qCNiBHgj8MUjvZ6ZuzJzMjMnJyYmjquY9ojaVV4kacGxjKhfB9yYmT/vVTHtHrVT9CRpwbEE9WUcpe1xsjRsfUjSMl0FdUSsB14NXNPLYhrzFxNtfUhS24rT8wAy8wBwWo9rmZ9H7YhakhYUdWeiPWpJWq6ooK7XWuXMOo9akuYVFdTeQi5Jy5UV1LY+JGmZwoLa1ockLVVWUDvrQ5KWKSqo5z+UyR61JM0rKqibVevDBW4laUFRQT3/oUyOqCVpXlFBvTA9zxG1JLWVFdSu8CJJyxQW1K1yXOFFkhaUFdTz0/PsUUtSW1lB7ZqJkrRMUUFdt0ctScsUFdTtFV6c9SFJC8oKahe3laRlul2Ka1NEXB0Rd0TE7oi4oBfFNOvtWR8GtSS1dbUUF/Ax4OuZeUlEjADjvSimWc36OOTFREmat2JQR8RG4OXAnwFk5iHgUC+KiQia9XBELUkduml9nAVMA5+NiJsi4lPVquSLRMTOiJiKiKnp6enjLqhZrzEza1BLUls3Qd0AXgx8IjNfBBwA3rd0p8zclZmTmTk5MTFx3AU16zVH1JLUoZug3gPsyczrq+dX0wrunmjWa/aoJanDikGdmQ8B90fE2dWmi4Dbe1XQiD1qSVqk21kffwl8vprxcS/wtl4V1GzY+pCkTl0FdWbeDEz2uBbAHrUkLVXUnYlQ9ahn7VFLUltxQW2PWpIWKy6obX1I0mIGtSQVrrygbjiPWpI6FRfUI95CLkmLlBfUDS8mSlKn4oLaHrUkLVZoUNujlqS2IoP6kCNqSZpXXFB7w4skLVZcULtwgCQtVl5QN+xRS1Kn8oK66lFnGtaSBAUG9Ui1EvnsYYNakqDAoG7WWyV5QVGSWsoNaj+TWpKALld4iYifAI8Bc8BsZvZstZdmoxXUzqWWpJZu10wEeGVmPtyzSirtHrWtD0lqKbf1YVBLEtB9UCfwzYi4ISJ2HmmHiNgZEVMRMTU9PX3cBRnUkrRYt0H9ssx8MfA64O0R8fKlO2TmrsyczMzJiYmJ4y6oHdQucCtJLV0FdWY+UP25D/gy8JJeFTTSsEctSZ1WDOqIWB8Rp7a/Bl4D3Nqrgmx9SNJi3cz6eDrw5Yho7/8vmfn1XhU03/owqCUJ6CKoM/Ne4NxVqAXoHFHbo5YkKHB63sj8nYmOqCUJCgzqphcTJWmR8oLaHrUkLVJcUI/Mz6M2qCUJCgzqddWHMj1pUEsSUGRQ1wGDWpLaygvqZntEPdfnSiSpDOUFdbv1MeOIWpKgwKCOCEYaNQ46opYkoMCghtao2hG1JLUUGtR1LyZKUqXIoB5t1ryYKEmVIoPa1ockLSg0qOuOqCWpUmZQN2v2qCWpUmRQjzbqtj4kqVJkUK9rOo9aktq6DuqIqEfETRFxbS8LAi8mSlKnYxlRvxPY3atCOnkxUZIWdBXUEbEd+APgU70tp2XUi4mSNK/bEfVHgfcCR03PiNgZEVMRMTU9PX1CRXlnoiQtWDGoI+INwL7MvOGp9svMXZk5mZmTExMTJ1TUukaNgzO2PiQJuhtRvxR4Y0T8BPgCcGFE/HMvi3IetSQtWDGoM/OKzNyemTuAS4HvZOabe1nUaKPO3OFk1gVuJancedTgclySBMcY1Jn5n5n5hl4V09ZeN9E+tSSVOqJ2JXJJmldmUNv6kKR5RQb1aNX68O5ESSo0qNsj6oN+3ockFRrU7RG1FxMlqdSgrkbU9qglqcygHm22RtRPHHJELUlFBvX6dQ0AnpiZ7XMlktR/RQb1+EhrRP24I2pJKjOox0ZsfUhSW5FBPV71qA88aVBLUpFB3ajXGGnUeNwetSSVGdTQ6lPb+pCkkoO6Wbf1IUkUHNRjI3Wn50kSBQf1+nUNp+dJEgUH9VizblBLEt2tQj4aET+IiB9GxG0R8cHVKGx8pM7jh2x9SFI3I+ongQsz81zgPODiiDi/t2XBuK0PSQKgsdIOmZnAr6unzeqRvSwKWrM+nJ4nSV32qCOiHhE3A/uAb2Xm9UfYZ2dETEXE1PT09AkXNj5S58CTtj4kqaugzsy5zDwP2A68JCLOOcI+uzJzMjMnJyYmTriwsZEGT7hwgCQd26yPzHwEuA64uDflLFg/UmdmLpmZc/EAScOtm1kfExGxqfp6DHg1cEevCxvzo04lCejiYiKwFfjHiKjTCvarMvPa3pYF4yOt0h4/NMvGsWav/zpJKlY3sz5uAV60CrUs4uIBktRS7J2J80HtBzNJGnLFBvWpo612x2NPzvS5Eknqr4KDutWV2f+Ec6klDbdig3pDe0R90BG1pOFWblCPVSPqg46oJQ23YoP6lHWtoHZELWnYFRvUjXqN9SN1e9SShl6xQQ2tmR+OqCUNu8KDusFj9qglDbmig3rDWJP9jqglDbmig9oRtSQVHtQbRh1RS1LRQe2IWpIKD+oNY032PzFDa9lGSRpORQf1qaMNZg8nB2dc5UXS8Co8qFuf92GfWtIwKzqot4yPAPDLA4f6XIkk9U83ayY+IyKui4jbI+K2iHjnahQGsGW9QS1J3ayZOAu8JzNvjIhTgRsi4luZeXuPa+O0U1pB/QuDWtIQW3FEnZl7M/PG6uvHgN3Atl4XBh0j6l8/uRp/nSQV6Zh61BGxg9ZCt9cf4bWdETEVEVPT09MnpbjN4yNE2PqQNNy6DuqIOAX4EvCuzNy/9PXM3JWZk5k5OTExcVKKq9eCTWNNWx+ShlpXQR0RTVoh/fnMvKa3JS122inrHFFLGmrdzPoI4NPA7sz8cO9LWmzL+hFH1JKGWjcj6pcCbwEujIibq8fre1zXvNPWjziiljTUVpyel5nfA2IVajmiLQa1pCFX9J2J0BpR/+rxQ8wd9oOZJA2n4oP6aRtGyYTpx5xLLWk4FR/UZ24aBeDBR5/ocyWS1B/FB/XWjWMA7H3kYJ8rkaT+KD6oz2wHtSNqSUOq+KDeMNZgfKTOg46oJQ2p4oM6Iti6cZSH9juiljScig9qgDM3jTmiljS01kRQn7Fh1B61pKG1JoL6mVvG+fn+J3n80Gy/S5GkVbcmgvo5TzsFgPsePtDnSiRp9a2JoH72xHoA7pk2qCUNnzUR1DtOW08E3LPv1/0uRZJW3ZoI6tFmne2bx7jX1oekIbQmghrgOROncLcjaklDaM0E9Qu2buDufY9xcGau36VI0qpaM0F97vZNzMwlu/cuW1dXkgZaN2smfiYi9kXEratR0NGc94xNAPzw/kf6WYYkrbpuRtSfAy7ucR0rOmPjKGdsGOVmg1rSkFkxqDPzv4BfrkItK/qdZ23mf+/9JZkuyyVpeJy0HnVE7IyIqYiYmp6ePllvu8grfmOCh/Yf5I6HHuvJ+0tSiU5aUGfmrsyczMzJiYmJk/W2i7zi7Nb7Xnfnvp68vySVaM3M+gB4+oZRfmvbRr52y95+lyJJq2ZNBTXAH09u57YH9/OjPY/2uxRJWhXdTM+7Evgf4OyI2BMRl/e+rKN703nbGG3W+Oz37+tnGZK0arqZ9XFZZm7NzGZmbs/MT69GYUezcazJW85/Fl+56QHu9KKipCGw5lofAG9/5XM5dbTJX139Qw7NHu53OZLUU2syqDeNj/C3l/w2t+x5lHdfdTMzc4a1pMG1JoMa4LW/eQbvf/3z+dote/mjf/i+dyxKGliNfhdwIna+/Dk8c8s47//yrfzhx/+bc7Zt4JVnP40XbN3AWaev5/RT1rFxrMlIY83+fyRJazuoAS4+Zysvfe7pXDW1h3//0V4+ft3dHF5yh/los8a6Rp1GLajXovVnPWjUasRTvflRXnyq74k48qtP+fdIGgibx0e46i8uOOnvu+aDGuDU0SaXv+wsLn/ZWTx+aJZ7pw/wk18c4JcHDrH/iRn2H5zl0OxhZg8fZu5wMjuXzB1OZpYmeoejfZ7IU37KyFFezKf+LkkDYsNosyfvOxBB3Wl8pME52zZyzraN/S5Fkk4Km7eSVDiDWpIKZ1BLUuEMakkqnEEtSYUzqCWpcAa1JBXOoJakwkUvVvSOiGngp8f57acDD5/EctYCj3k4eMyD70SO91mZecQFZ3sS1CciIqYyc7Lfdawmj3k4eMyDr1fHa+tDkgpnUEtS4UoM6l39LqAPPObh4DEPvp4cb3E9aknSYiWOqCVJHQxqSSpcMUEdERdHxJ0RcXdEvK/f9ZwsEfGMiLguIm6PiNsi4p3V9i0R8a2IuKv6c3O1PSLi76qfwy0R8eL+HsHxi4h6RNwUEddWz8+KiOurY/vXiBiptq+rnt9dvb6jn3Ufr4jYFBFXR8QdEbE7Ii4Y9PMcEe+u/l3fGhFXRsTooJ3niPhMROyLiFs7th3zeY2It1b73xURbz2WGooI6oioAx8HXge8ELgsIl7Y36pOmlngPZn5QuB84O3Vsb0P+HZmPg/4dvUcWj+D51WPncAnVr/kk+adwO6O538DfCQznwv8Cri82n458Ktq+0eq/daijwFfz8znA+fSOvaBPc8RsQ14BzCZmecAdeBSBu88fw64eMm2YzqvEbEF+ADwu8BLgA+0w70rmdn3B3AB8I2O51cAV/S7rh4d678BrwbuBLZW27YCd1ZffxK4rGP/+f3W0gPYXv0DvhC4ltb6vg8DjaXnHPgGcEH1daPaL/p9DMd4vBuB+5bWPcjnGdgG3A9sqc7btcBrB/E8AzuAW4/3vAKXAZ/s2L5ov5UeRYyoWTjhbXuqbQOl+lXvRcD1wNMzc2/10kPA06uvB+Vn8VHgvcDh6vlpwCOZOVs97zyu+WOuXn+02n8tOQuYBj5btXs+FRHrGeDznJkPAB8CfgbspXXebmCwz3PbsZ7XEzrfpQT1wIuIU4AvAe/KzP2dr2Xrv9iBmScZEW8A9mXmDf2uZRU1gBcDn8jMFwEHWPh1GBjI87wZeBOt/6TOBNazvEUw8FbjvJYS1A8Az+h4vr3aNhAiokkrpD+fmddUm38eEVur17cC+6rtg/CzeCnwxoj4CfAFWu2PjwGbIqJR7dN5XPPHXL2+EfjFahZ8EuwB9mTm9dXzq2kF9yCf51cB92XmdGbOANfQOveDfJ7bjvW8ntD5LiWo/w94XnW1eITWBYmv9rmmkyIiAvg0sDszP9zx0leB9pXft9LqXbe3/2l19fh84NGOX7HWhMy8IjO3Z+YOWufyO5n5J8B1wCXVbkuPuf2zuKTaf02NPDPzIeD+iDi72nQRcDsDfJ5ptTzOj4jx6t95+5gH9jx3ONbz+g3gNRGxufpN5DXVtu70u0nf0Vx/PfBj4B7gr/tdz0k8rpfR+rXoFuDm6vF6Wr25bwN3Af8BbKn2D1ozYO4BfkTrinrfj+MEjv/3gWurr58N/AC4G/gisK7aPlo9v7t6/dn9rvs4j/U8YKo6118BNg/6eQY+CNwB3Ar8E7Bu0M4zcCWtHvwMrd+cLj+e8wr8eXXsdwNvO5YavIVckgpXSutDknQUBrUkFc6glqTCGdSSVDiDWpIKZ1BLUuEMakkq3P8D6O/0fSWkoswAAAAASUVORK5CYII=\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
}
}
]
}
]
}