{"cells": [{"cell_type": "markdown", "metadata": {}, "source": ["# Intuition derri\u00e8re l'\u00e9rosion des mod\u00e8les\n", "\n", "La plupart des mod\u00e8les de machine learning doivent \u00eatre rafra\u00eechi r\u00e9guli\u00e8rement. Quelques intuitions derri\u00e8re ce ph\u00e9nom\u00e8ne."]}, {"cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [{"data": {"text/html": ["
run previous cell, wait for 2 seconds
\n", ""], "text/plain": [""]}, "execution_count": 2, "metadata": {}, "output_type": "execute_result"}], "source": ["from jyquickhelper import add_notebook_menu\n", "add_notebook_menu()"]}, {"cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": ["%matplotlib inline"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## Des donn\u00e9es tr\u00e8s simples.\n", "\n", "On simule un jeu de donn\u00e9es pour une r\u00e9gression en deux dimensions : $y= \\frac{x}{2}+1 + \\epsilon$."]}, {"cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [{"data": {"text/plain": ["array([[7.9779153 , 4.8650553 ],\n", " [2.45296688, 1.69489011],\n", " [5.70750602, 3.47846646],\n", " [4.81633352, 3.41515132],\n", " [0.04393984, 0.99115227]])"]}, "execution_count": 4, "metadata": {}, "output_type": "execute_result"}], "source": ["from papierstat.datasets import line2d\n", "xy = line2d(100)\n", "xy[:5]"]}, {"cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["
"]}, "metadata": {}, "output_type": "display_data"}], "source": ["import matplotlib.pyplot as plt\n", "fig, ax = plt.subplots(1, 1, figsize=(4, 4))\n", "ax.plot(xy[:, 0], xy[:, 1], '.')\n", "ax.set_title('Donn\u00e9es pour une r\u00e9gression');"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## R\u00e9gression lin\u00e9aire\n", "\n", "C'est le mod\u00e8le id\u00e9al pour ces donn\u00e9es."]}, {"cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [{"data": {"text/plain": ["LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)"]}, "execution_count": 6, "metadata": {}, "output_type": "execute_result"}], "source": ["from sklearn.linear_model import LinearRegression\n", "clr = LinearRegression()\n", "clr.fit(xy[:, 0:1], xy[:, 1])"]}, {"cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["
"]}, "metadata": {}, "output_type": "display_data"}], "source": ["pred = clr.predict(xy[:, 0:1])\n", "fig, ax = plt.subplots(1, 1, figsize=(4, 4))\n", "ax.plot(xy[:, 0], xy[:, 1], '.', label=\"donn\u00e9es\")\n", "ax.plot(xy[:, 0], pred, '.', label=\"pr\u00e9diction\")\n", "ax.set_title('Pr\u00e9vision avec la r\u00e9gression lin\u00e9aire');"]}, {"cell_type": "markdown", "metadata": {}, "source": ["C'est le graphe le plus classique qui soit. Mais on ne se pose jamais la question de ce qu'il se passe en dehors de l'intervalle initial."]}, {"cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["
"]}, "metadata": {}, "output_type": "display_data"}], "source": ["from numpy.random import rand\n", "n = 100\n", "newx = (rand(n) * 20 - 5).reshape(n, 1)\n", "pred = clr.predict(newx)\n", "\n", "fig, ax = plt.subplots(1, 1, figsize=(4, 4))\n", "ax.plot(xy[:, 0], xy[:, 1], '.', label=\"donn\u00e9es\")\n", "ax.plot(newx, pred, '.', label=\"pr\u00e9diction\")\n", "ax.set_title('Pr\u00e9vision \u00e9tendue avec la r\u00e9gression lin\u00e9aire');"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Cela para\u00eet plut\u00f4t cens\u00e9 de prolonger les pr\u00e9dictions en ce sens. Voyons ce qu'il se passe avec d'autres mod\u00e8les."]}, {"cell_type": "markdown", "metadata": {}, "source": ["## Autres mod\u00e8les"]}, {"cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [{"data": {"text/plain": ["MLPRegressor(activation='relu', alpha=0.0001, batch_size='auto', beta_1=0.9,\n", " beta_2=0.999, early_stopping=False, epsilon=1e-08,\n", " hidden_layer_sizes=(100,), learning_rate='constant',\n", " learning_rate_init=0.001, max_iter=200, momentum=0.9,\n", " nesterovs_momentum=True, power_t=0.5, random_state=None,\n", " shuffle=True, solver='adam', tol=0.0001, validation_fraction=0.1,\n", " verbose=False, warm_start=False)"]}, "execution_count": 9, "metadata": {}, "output_type": "execute_result"}], "source": ["from sklearn.neural_network import MLPRegressor\n", "mlp = MLPRegressor()\n", "mlp.fit(xy[:, :1], xy[:, 1])"]}, {"cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["
"]}, "metadata": {}, "output_type": "display_data"}], "source": ["pred = mlp.predict(newx)\n", "fig, ax = plt.subplots(1, 1, figsize=(4, 4))\n", "ax.plot(xy[:, 0], xy[:, 1], '.', label=\"donn\u00e9es\")\n", "ax.plot(newx, pred, '.', label=\"pr\u00e9diction\")\n", "ax.set_title('Pr\u00e9vision \u00e9tendue avec le r\u00e9seau de neurones');"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Essayons avec une autre fonction d'activation."]}, {"cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [{"name": "stderr", "output_type": "stream", "text": ["c:\\python365_x64\\lib\\site-packages\\sklearn\\neural_network\\multilayer_perceptron.py:564: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n", " % self.max_iter, ConvergenceWarning)\n"]}, {"data": {"image/png": "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\n", "text/plain": ["
"]}, "metadata": {}, "output_type": "display_data"}], "source": ["mlp = MLPRegressor(activation='tanh')\n", "mlp.fit(xy[:, :1], xy[:, 1])\n", "pred = mlp.predict(newx)\n", "fig, ax = plt.subplots(1, 1, figsize=(4, 4))\n", "ax.plot(xy[:, 0], xy[:, 1], '.', label=\"donn\u00e9es\")\n", "ax.plot(newx, pred, '.', label=\"pr\u00e9diction\")\n", "ax.set_title('Pr\u00e9vision \u00e9tendue avec le r\u00e9seau de neurones - logistic');"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Si la pr\u00e9diction est la m\u00eame dans l'intervalle qui correspond aux donn\u00e9es initiales, en dehors de celui-ci la pr\u00e9diction est compl\u00e8tement diff\u00e9rente. Voyons avec un arbre de d\u00e9cision ou une random forest."]}, {"cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": []}, {"cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["
"]}, "metadata": {}, "output_type": "display_data"}], "source": ["from sklearn.ensemble import RandomForestRegressor\n", "from sklearn.tree import DecisionTreeRegressor\n", "rf = RandomForestRegressor()\n", "tr = DecisionTreeRegressor()\n", "rf.fit(xy[:, :1], xy[:, 1])\n", "tr.fit(xy[:, :1], xy[:, 1])\n", "\n", "prrf = rf.predict(newx)\n", "trrf = tr.predict(newx)\n", "\n", "fig, ax = plt.subplots(1, 2, figsize=(10, 4))\n", "\n", "ax[0].plot(xy[:, 0], xy[:, 1], '.', label=\"donn\u00e9es\")\n", "ax[1].plot(xy[:, 0], xy[:, 1], '.', label=\"donn\u00e9es\")\n", "ax[0].plot(newx, prrf, '.', label=\"Random Forest\")\n", "ax[1].plot(newx, trrf, '.', label=\"Decision Tree\")\n", "ax[0].set_title('Pr\u00e9vision \u00e9tendue avec une for\u00eat')\n", "ax[1].set_title('Pr\u00e9vision \u00e9tendue avec un arbre');"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## Interpr\u00e9tation\n", "\n", "Il faut retenir que ce jeu de donn\u00e9es artificiel poss\u00e8de une tendance : il n'est pas stationnaire. C'est le cas de beaucoup de jeu de donn\u00e9es li\u00e9s \u00e0 l'activit\u00e9 humaine, donn\u00e9es web, population... Il est tr\u00e8s rare d'avoir un jeu de donn\u00e9es stationnaires. Cela veut dire que plus le temps avance, plus les donn\u00e9es d\u00e9rivent. Un mod\u00e8le est appris \u00e0 un instant $t$, selon le mod\u00e8le choisi, il aura plus ou moins de mal \u00e0 s'adapter \u00e0 cette d\u00e9rive. Les mod\u00e8les non lin\u00e9aires sont plus performances mais g\u00e9n\u00e9ralisent souvent tr\u00e8s mal si les donn\u00e9es s'\u00e9loignent trop des donn\u00e9es utilis\u00e9es pour apprendre. Il faut donc les r\u00e9appendre r\u00e9guli\u00e8rement pour compenser la perte de performance en pr\u00e9diction."]}, {"cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": []}], "metadata": {"kernelspec": {"display_name": "Python 3", "language": "python", "name": "python3"}, "language_info": {"codemirror_mode": {"name": "ipython", "version": 3}, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.5"}}, "nbformat": 4, "nbformat_minor": 2}