Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Régression linéaire

Régression linéaire

Dans cette section, nous explorerons plus avant les concepts d’algorithmes ML linéaires, mais maintenant notre tâche sera de prédire les réponses en termes de valeurs continues, au lieu de classes discrètes comme nous l’avons fait en classification linéaire. En prenant l’application ML mentionnée dans l’introduction à ML](https://hydro-informatics.com/datascience/machinelearning.html), par exemple, nous pouvons maintenant vouloir prédire combien est la quantité d’une substance chimique dissoute dans l’eau, plutôt que simplement si elle est dissoute ou non (classification binaire).

La régression linéaire se concentre sur la modélisation de la relation entre les variables d’entrée (caractéristiques) et une variable cible continue. Il suppose une relation linéaire entre les fonctionnalités d’entrée et la variable cible.

Ici encore, notre objectif est de trouver la ligne la mieux adaptée (ou hyperplane dans des dimensions plus élevées) qui minimise la différence entre les valeurs prévues et les valeurs cibles réelles. À cette fin, nous couvrirons :

Réduction des risques empiriques

Fonction objective

Comme nous l’avons vu dans l’introduction à ML](https://hydro-informatics.com/datascience/machinelearning.html), le but de ML est de minimiser la fonction objective en ajustant les paramètres du modèle par des techniques (par exemple, des algorithmes d’optimisation) telles que la descente du gradient.

Une des fonctions objectives que nous pouvons utiliser en régression linéaire est Risque empirique (RR). Nous exprimons le risque empirique en termes de mesure des pertes, qui ne reflète que l’écart entre les prévisions du modèle et les valeurs cibles (ou les étiquettes) de notre ensemble de données de formation, et ne tient donc pas compte de la régularisation. L’objectif de la minimisation empirique du risque (RR) est de trouver un modèle qui minimise l’écart entre les prévisions et les observations sur les données de formation, en supposant qu’il généralisera bien les données invisibles. Ainsi, nous pouvons définir RR comme suit:

R(θ)=1nt=1nLoss(y(t)θx(t))R(\theta) = \frac{1}{n} \sum_{t=1}^n Loss(y^{(t)}-\theta \cdot x^{(t)})

nn est le nombre d’exemples de formation, (x(t),y(t))(x^{(t)}, y^{(t)}) est l’exemple de formation tt-th (vectorielle et étiquette, respectivement), et LossLoss est une fonction de perte générique. Notez que $\cdot§ indique un produit point.

Une façon courante d’exprimer les écarts entre les prédictions et les observations sur les données de formation est de calculer l’erreur carrée, (y(t)θx(t))2(y^{(t)}-\theta \cdot x^{(t)})^2, qui donne la fonction normale des moindres carrés (OLS) objectif:

R(θ)=1nt=1n(y(t)θx(t))2/2R(\theta) = \frac{1}{n} \sum_{t=1}^n (y^{(t)}-\theta \cdot x^{(t)})^2/2

Algorithme d’apprentissage

Maintenant, nous allons utiliser l’algorithme de descente de gradient stochastique (SDG) pour mettre à jour notre modèle θ\theta. Rappelons que nous le faisons en ajustant les paramètres du modèle θ\theta avec le gradient de notre fonction objective, c’est-à-dire le risque empirique, évalué à chaque exemple de formation. Ainsi, nous renvoyons θ\theta vers la direction opposée au gradient θR(θ)\nabla_\theta R(\theta). Notez que la fonction RR ci-dessus, définie avec l’erreur carrée comme fonction de perte, est différentiable partout. Nous calculons le gradient du risque empirique, qui donne:

θR(θ)=(y(t)θx(t))x(t)\nabla_\theta R(\theta) = -(y^{(t)}-\theta \cdot x^{(t)}) \cdot x^{(t)}

Ainsi, nous pouvons résumer notre algorithme d’apprentissage comme suit:

  1. Initialiser θ=0\theta = 0

  2. Choisir aléatoirement t=1,...,nt = {1, ..., n}

  3. Mettre à jour θ\theta, afin que :

    θ=θη((y(t)θx(t))x(t))θ=θ+η(y(t)θx(t))x(t)\theta = \theta - \eta (- (y^{(t)}-\theta \cdot x^{(t)}) x^{(t)}) \\ \therefore \theta = \theta + \eta (y^{(t)}-\theta \cdot x^{(t)}) x^{(t)}

η\eta est le taux d’apprentissage.

Notez que cet algorithme d’apprentissage est très semblable à celui du classement linéaire.

Régularisation : régression de la crête

Fonction objective

Jusqu’à présent, notre problème d’optimisation pour la formation d’un modèle de régression linéaire ne vise qu’à minimiser l’erreur de formation (minimisation du risque empirique ou MCE). Cependant, un terme de régularisation est crucial dans la plupart des cas sinon notre modèle ne peut pas généraliser pour d’autres ensembles de données (en plus de l’ensemble de données de formation entre les mains). Ainsi, nous allons maintenant introduire un terme de régularisation à notre fonction objective, qui constitue maintenant un problème de régression ridge. La régression de la crête introduit un terme de régularisation, souvent appelé « pénalité de ridge » ou « pénalité de L2 » à la fonction objective ordinaire des moindres carrés (SLO). Ce terme de pénalité (12θ2\frac{1}{2} \| \theta \|^2) contrôle la complexité du modèle en rétrécissant θ\theta (i.e., coefficients de régression) vers zéro. Ainsi, la fonction objective J(θ)J(\theta) pour la régression des crêtes est :

J(θ)=λ2θ2+R(θ)J(\theta) = \frac{\lambda}{2} \| \theta \|^2 + R(\theta)

λ\lambda est le paramètre de régularisation que nous avons couvert dans le Classement linéaire.

Algorithme d’apprentissage

Comme nous l’avons fait dans la méthode Empirical Risk Minimization (ERM), nous pouvons également appliquer l’algorithme de descente stochastique dans la régression des crêtes, seulement maintenant nous devons prendre le gradient de la nouvelle fonction objective (θJ(θ)\nabla_\theta J(\theta)) et l’utiliser pour mettre à jour θ\theta à chaque itération à travers l’ensemble de données de formation.

D’abord élargissons tous les termes de J(θ)J(\theta):

J(θ)=λ2θ2+R(θ)=λ2θ2+1nt=1n(y(t)θx(t))22J (\theta)= \frac{\lambda}{2} \| \theta \|^2 + R (\theta) = \frac{\lambda}{2} \| \theta \|^2 + \frac{1}{n} \sum_{t=1}^n \frac{(y^{(t)}- \theta \cdot x^{(t)})^2}{2}

Le gradient peut maintenant être calculé comme suit:

θJ(θ)=λθ(y(t)θx(t))x(t)\nabla_\theta J(\theta) = \lambda \theta - (y^{(t)}- \theta \cdot x^{(t)}) x^{(t)}

Ainsi, nous pouvons résumer notre algorithme d’apprentissage comme suit:

  1. Initialiser θ=0\theta = 0

  2. Choisir aléatoirement t=1,...,nt = {1, ..., n}

  3. Mettre à jour θ\theta, afin que :

    θ=θη(λθ(y(t)θx(t))x(t))\theta = \theta - \eta (\lambda \theta - (y^{(t)} - \theta \cdot x^{(t)}) x^{(t)}) \\

η\eta est le taux d’apprentissage.

Notez qu’en ajoutant un terme de régularisation à notre fonction objective, nous sommes maintenant préoccupés par la recherche d’un modèle optimal qui, plutôt que d’adapter parfaitement les données de formation, est capable de généraliser aussi d’autres ensembles de données. Nous le faisons parce que nous croyons que le modèle ne devrait pas être adapté à chaque élément de preuve faible ou de bruit contenu dans l’ensemble de données de formation. Au lieu de cela, nous introduisons le paramètre de régularisation λ\lambda, ce qui évite les changements θ\theta, sauf lorsque les preuves sont suffisamment solides pour qu’une augmentation de θ\theta. Au fur et à mesure que la valeur de λ\lambda augmente, l’erreur d’entraînement augmente, mais avec l’espoir que notre modèle généralisera mieux, donnant une erreur de test plus faible.

Erreur structurelle par rapport à l’estimation

Lors de la sélection d’un algorithme ML, nous faisons certaines hypothèses sur la relation entre les caractéristiques et les étiquettes. Dans le cas de la régression linéaire, l’hypothèse est que la relation entre les caractéristiques et les étiquettes peut être représentée par une équation linéaire. Si cette hypothèse est violée, comme lorsque la vraie relation est non linéaire, alors notre modèle aura une grande erreur structurelle car il ne peut pas saisir avec précision les modèles sous-jacents dans les données. Ainsi, l’erreur structurelle englobe les limites ou hypothèses faites par le modèle choisi, et elle représente l’erreur irréductible qui ne peut être éliminée quelle que soit la quantité de données de formation. * L’erreur d’estimation* est due à la nature finie des données d’entraînement et à l’incapacité de notre modèle à s’adapter ou à généraliser à partir de ces données. Des erreurs d’estimation peuvent se produire lorsque les données de formation disponibles sont limitées ou ne représentent pas adéquatement la véritable distribution sous-jacente du problème. Dans de tels cas, le modèle peut avoir du mal à saisir les vrais modèles et relations présents dans les données, entraînant des erreurs d’estimation plus élevées.