logo

Régression linéaire dans l'apprentissage automatique

Apprentissage automatique est une branche de l'intelligence artificielle qui se concentre sur le développement d'algorithmes et de modèles statistiques capables d'apprendre et de faire des prédictions sur les données. Régression linéaire est également un type d'algorithme d'apprentissage automatique, plus spécifiquement un algorithme d'apprentissage automatique supervisé qui apprend des ensembles de données étiquetés et mappe les points de données aux fonctions linéaires les plus optimisées. qui peut être utilisé pour la prédiction sur de nouveaux ensembles de données.

Tout d’abord, nous devons savoir ce que sont les algorithmes d’apprentissage automatique supervisé. Il s'agit d'un type d'apprentissage automatique dans lequel l'algorithme apprend à partir de données étiquetées. Les données étiquetées désignent l'ensemble de données dont la valeur cible respective est déjà connue. L'apprentissage supervisé est de deux types :



  • Classification : Il prédit la classe de l'ensemble de données en fonction de la variable d'entrée indépendante. La classe correspond aux valeurs catégorielles ou discrètes. comme l'image d'un animal est un chat ou un chien ?
  • Régression : Il prédit les variables de sortie continues en fonction de la variable d'entrée indépendante. comme la prévision des prix des logements en fonction de différents paramètres tels que l'âge de la maison, la distance par rapport à la route principale, l'emplacement, la zone, etc.

Ici, nous discuterons de l’un des types de régression les plus simples, à savoir Régression linéaire.

Table des matières

Qu’est-ce que la régression linéaire ?

La régression linéaire est un type de apprentissage automatique supervisé algorithme qui calcule la relation linéaire entre la variable dépendante et une ou plusieurs caractéristiques indépendantes en ajustant une équation linéaire aux données observées.



Lorsqu’il n’y a qu’une seule fonctionnalité indépendante, on parle de Régression linéaire simple , et lorsqu'il y a plus d'une fonctionnalité, on parle de La régression linéaire multiple .

De même, lorsqu’il n’y a qu’une seule variable dépendante, elle est considérée Régression linéaire univariée , tandis que lorsqu'il y a plus d'une variable dépendante, on parle de Régression multivariée .

Pourquoi la régression linéaire est-elle importante ?

L’interprétabilité de la régression linéaire constitue un atout notable. L’équation du modèle fournit des coefficients clairs qui expliquent l’impact de chaque variable indépendante sur la variable dépendante, facilitant ainsi une compréhension plus approfondie de la dynamique sous-jacente. Sa simplicité est une vertu, car la régression linéaire est transparente, facile à mettre en œuvre et sert de concept fondamental pour des algorithmes plus complexes.



La régression linéaire n’est pas simplement un outil prédictif ; il constitue la base de divers modèles avancés. Des techniques telles que la régularisation et les machines à vecteurs de support s'inspirent de la régression linéaire, élargissant ainsi son utilité. De plus, la régression linéaire est la pierre angulaire des tests d’hypothèses, permettant aux chercheurs de valider les hypothèses clés concernant les données.

java obtient la date actuelle

Types de régression linéaire

Il existe deux principaux types de régression linéaire :

Régression linéaire simple

Il s’agit de la forme la plus simple de régression linéaire et elle implique une seule variable indépendante et une variable dépendante. L’équation de la régression linéaire simple est la suivante :
y=eta_{0}+eta_{1}X
où:

  • Y est la variable dépendante
  • X est la variable indépendante
  • β0 est l'interception
  • β1 est la pente

La régression linéaire multiple

Cela implique plus d’une variable indépendante et une variable dépendante. L'équation de la régression linéaire multiple est la suivante :
y=eta_{0}+eta_{1}X+eta_{2}X+………eta_{n}X
où:

  • Y est la variable dépendante
  • X1, X2, …, Xp sont les variables indépendantes
  • β0 est l'interception
  • β1, β2, …, βn sont les pentes

Le but de l'algorithme est de trouver le meilleure ligne d'ajustement équation qui peut prédire les valeurs en fonction des variables indépendantes.

Dans la régression, un ensemble d'enregistrements est présent avec les valeurs X et Y et ces valeurs sont utilisées pour apprendre une fonction, donc si vous souhaitez prédire Y à partir d'un X inconnu, cette fonction apprise peut être utilisée. En régression, nous devons trouver la valeur de Y. Il faut donc une fonction qui prédit Y continu dans le cas d'une régression étant donné X comme caractéristiques indépendantes.

Quelle est la meilleure ligne Fit ?

Notre objectif principal lors de l'utilisation de la régression linéaire est de localiser la droite la mieux ajustée, ce qui implique que l'erreur entre les valeurs prédites et réelles doit être réduite au minimum. Il y aura le moins d'erreur dans la ligne la mieux adaptée.

L'équation de la meilleure ligne d'ajustement fournit une ligne droite qui représente la relation entre les variables dépendantes et indépendantes. La pente de la ligne indique dans quelle mesure la variable dépendante change pour un changement unitaire dans la ou les variables indépendantes.

sous-chaîne de chaîne java
Régression linéaire dans l'apprentissage automatique

Régression linéaire


Ici, Y est appelé variable dépendante ou cible et X est appelé variable indépendante également connue sous le nom de prédicteur de Y. Il existe de nombreux types de fonctions ou de modules qui peuvent être utilisés pour la régression. Une fonction linéaire est le type de fonction le plus simple. Ici, X peut être une fonctionnalité unique ou plusieurs fonctionnalités représentant le problème.

La régression linéaire effectue la tâche de prédire une valeur de variable dépendante (y) en fonction d'une variable indépendante donnée (x)). Par conséquent, le nom est Régression Linéaire. Dans la figure ci-dessus, X (entrée) est l'expérience professionnelle et Y (sortie) est le salaire d'une personne. La droite de régression est la droite la mieux adaptée à notre modèle.

Nous utilisons la fonction de coût pour calculer les meilleures valeurs afin d'obtenir la droite la mieux ajustée, car différentes valeurs de poids ou de coefficient de droite aboutissent à différentes droites de régression.

Fonction d'hypothèse dans la régression linéaire

Comme nous l'avons supposé précédemment, notre caractéristique indépendante est l'expérience, c'est-à-dire X et le salaire respectif Y est la variable dépendante. Supposons qu'il existe une relation linéaire entre X et Y, alors le salaire peut être prédit en utilisant :

hat{Y} = heta_1 + heta_2X

OU

hat{y}_i = heta_1 + heta_2x_i

Ici,

  • y_i epsilon Y ;; (i= 1,2, cdots , n) sont des étiquettes pour les données (apprentissage supervisé)
  • x_i epsilon X ;; (i= 1,2, cdots , n) sont les données d'entraînement indépendantes de l'entrée (univariées – une variable d'entrée (paramètre))
  • hat{y_i} epsilon hat{Y} ;; (i= 1,2, cdots , n) sont les valeurs prédites.

Le modèle obtient la meilleure droite d'ajustement de régression en trouvant le meilleur θ1et θ2valeurs.

  • je 1 : intercepter
  • je 2 : coefficient de x

Une fois que nous avons trouvé le meilleur θ1et θ2valeurs, nous obtenons la ligne la mieux adaptée. Ainsi, lorsque nous utiliserons enfin notre modèle pour la prédiction, il prédira la valeur de y pour la valeur d'entrée de x.

Comment mettre à jour θ 1 et θ 2 valeurs pour obtenir la ligne la mieux adaptée ?

Pour obtenir la droite de régression la mieux ajustée, le modèle vise à prédire la valeur ciblehat{Y} de telle sorte que la différence d'erreur entre la valeur préditehat{Y} et la vraie valeur Y est minimale. Il est donc très important de mettre à jour le θ1et θ2valeurs, pour atteindre la meilleure valeur qui minimise l’erreur entre la valeur y prédite (pred) et la valeur y réelle (y).

minimizefrac{1}{n}sum_{i=1}^{n}(hat{y_i}-y_i)^2

Fonction de coût pour la régression linéaire

Le fonction de coût ou la fonction de perte n'est rien d'autre que l'erreur ou la différence entre la valeur préditehat{Y} et la vraie valeur Y.

Dans la régression linéaire, le Erreur quadratique moyenne (MSE) une fonction de coût est utilisée, qui calcule la moyenne des erreurs quadratiques entre les valeurs préditeshat{y}_i et les valeurs réelles{y}_i . Le but est de déterminer les valeurs optimales pour l'interception heta_1 et le coefficient de la caractéristique d'entrée heta_2 fournir la ligne la mieux adaptée aux points de données donnés. L'équation linéaire exprimant cette relation esthat{y}_i = heta_1 + heta_2x_i .

La fonction MSE peut être calculée comme suit :

ext{Cost function}(J) = frac{1}{n}sum_{n}^{i}(hat{y_i}-y_i)^2

En utilisant la fonction MSE, le processus itératif de descente de gradient est appliqué pour mettre à jour les valeurs de heta_1 & heta_2 . Cela garantit que la valeur MSE converge vers les minima globaux, ce qui signifie l'ajustement le plus précis de la ligne de régression linéaire à l'ensemble de données.

Ce processus implique d'ajuster en continu les paramètres ( heta_1) et ( heta_2) en fonction des gradients calculés à partir du MSE. Le résultat final est une ligne de régression linéaire qui minimise les différences quadratiques globales entre les valeurs prédites et réelles, fournissant ainsi une représentation optimale de la relation sous-jacente dans les données.

Descente de gradient pour la régression linéaire

Un modèle de régression linéaire peut être formé à l'aide de l'algorithme d'optimisation Descente graduelle en modifiant itérativement les paramètres du modèle pour réduire erreur quadratique moyenne (MSE) du modèle sur un ensemble de données d’entraînement. Pour mettre à jour θ1et θ2valeurs afin de réduire la fonction de coût (en minimisant la valeur RMSE) et d'obtenir la ligne la mieux ajustée que le modèle utilise la descente de gradient. L'idée est de commencer par un θ aléatoire1et θ2valeurs, puis mettre à jour les valeurs de manière itérative, pour atteindre un coût minimum.

Un dégradé n'est rien d'autre qu'une dérivée qui définit les effets sur les sorties de la fonction avec un peu de variation dans les entrées.

couche réseau dans les réseaux informatiques

Différencions la fonction de coût (J) par rapport à heta_1

egin {aligned} {J}’_{ heta_1} &=frac{partial J( heta_1, heta_2)}{partial heta_1} &= frac{partial}{partial heta_1} left[frac{1}{n} left(sum_{i=1}^{n}(hat{y}_i-y_i)^2 ight ) ight] &= frac{1}{n}left[sum_{i=1}^{n}2(hat{y}_i-y_i) left(frac{partial}{partial heta_1}(hat{y}_i-y_i) ight ) ight] &= frac{1}{n}left[sum_{i=1}^{n}2(hat{y}_i-y_i) left(frac{partial}{partial heta_1}( heta_1 + heta_2x_i-y_i) ight ) ight] &= frac{1}{n}left[sum_{i=1}^{n}2(hat{y}_i-y_i) left(1+0-0 ight ) ight] &= frac{1}{n}left[sum_{i=1}^{n}(hat{y}_i-y_i) left(2 ight ) ight] &= frac{2}{n}sum_{i=1}^{n}(hat{y}_i-y_i) end {aligned}

Différencions la fonction de coût (J) par rapport à heta_2

egin {aligned} {J}’_{ heta_2} &=frac{partial J( heta_1, heta_2)}{partial heta_2} &= frac{partial}{partial heta_2} left[frac{1}{n} left(sum_{i=1}^{n}(hat{y}_i-y_i)^2 ight ) ight] &= frac{1}{n}left[sum_{i=1}^{n}2(hat{y}_i-y_i) left(frac{partial}{partial heta_2}(hat{y}_i-y_i) ight ) ight] &= frac{1}{n}left[sum_{i=1}^{n}2(hat{y}_i-y_i) left(frac{partial}{partial heta_2}( heta_1 + heta_2x_i-y_i) ight ) ight] &= frac{1}{n}left[sum_{i=1}^{n}2(hat{y}_i-y_i) left(0+x_i-0 ight ) ight] &= frac{1}{n}left[sum_{i=1}^{n}(hat{y}_i-y_i) left(2x_i ight ) ight] &= frac{2}{n}sum_{i=1}^{n}(hat{y}_i-y_i)cdot x_i end {aligned}

Trouver les coefficients d'une équation linéaire qui correspond le mieux aux données d'entraînement est l'objectif de la régression linéaire. En se déplaçant dans la direction du gradient négatif de l'erreur quadratique moyenne par rapport aux coefficients, les coefficients peuvent être modifiés. Et l'ordonnée à l'origine et le coefficient respectifs de X seront sialpha est le taux d’apprentissage.

Descente graduelle

egin{aligned} heta_1 &= heta_1 – alpha left( {J}’_{ heta_1} ight) &= heta_1 -alpha left( frac{2}{n}sum_{i=1}^{n}(hat{y}_i-y_i) ight) end{aligned} egin{aligned} heta_2 &= heta_2 – alpha left({J}’_{ heta_2} ight) &= heta_2 – alpha left(frac{2}{n}sum_{i=1}^{n}(hat{y}_i-y_i)cdot x_i ight) end{aligned}

Hypothèses de régression linéaire simple

La régression linéaire est un outil puissant pour comprendre et prédire le comportement d'une variable. Cependant, elle doit remplir quelques conditions pour constituer des solutions précises et fiables.

  1. Linéarité : Les variables indépendantes et dépendantes ont une relation linéaire les unes avec les autres. Cela implique que les changements dans la variable dépendante suivent ceux de la ou des variables indépendantes de manière linéaire. Cela signifie qu’il doit y avoir une ligne droite pouvant être tracée à travers les points de données. Si la relation n’est pas linéaire, la régression linéaire ne constituera pas un modèle précis.
  2. Indépendance : Les observations de l'ensemble de données sont indépendantes les unes des autres. Cela signifie que la valeur de la variable dépendante pour une observation ne dépend pas de la valeur de la variable dépendante pour une autre observation. Si les observations ne sont pas indépendantes, la régression linéaire ne constituera pas un modèle précis.
  3. Homoscédasticité : À tous les niveaux de la ou des variables indépendantes, la variance des erreurs est constante. Cela indique que le montant de la ou des variables indépendantes n'a aucun impact sur la variance des erreurs. Si la variance des résidus n’est pas constante, la régression linéaire ne constituera pas un modèle précis.

    Homoscédasticité dans la régression linéaire

  4. Normalité : Les résidus doivent être normalement distribués. Cela signifie que les résidus doivent suivre une courbe en forme de cloche. Si les résidus ne sont pas distribués normalement, la régression linéaire ne constituera pas un modèle précis.

Hypothèses de régression linéaire multiple

Pour la régression linéaire multiple, les quatre hypothèses de la régression linéaire simple s'appliquent. En plus de cela, vous en trouverez ci-dessous quelques autres :

  1. Pas de multicolinéarité : Il n'y a pas de corrélation élevée entre les variables indépendantes. Cela indique qu’il y a peu ou pas de corrélation entre les variables indépendantes. La multicolinéarité se produit lorsque deux ou plusieurs variables indépendantes sont fortement corrélées les unes aux autres, ce qui peut rendre difficile la détermination de l'effet individuel de chaque variable sur la variable dépendante. S’il existe une multicolinéarité, la régression linéaire multiple ne constituera pas un modèle précis.
  2. Additivité : Le modèle suppose que l'effet des changements d'une variable prédictive sur la variable de réponse est cohérent quelles que soient les valeurs des autres variables. Cette hypothèse implique qu'il n'y a pas d'interaction entre les variables dans leurs effets sur la variable dépendante.
  3. Sélection de fonctionnalité: Dans la régression linéaire multiple, il est essentiel de sélectionner avec soin les variables indépendantes qui seront incluses dans le modèle. L'inclusion de variables non pertinentes ou redondantes peut conduire à un surajustement et compliquer l'interprétation du modèle.
  4. Surapprentissage : Le surajustement se produit lorsque le modèle s'ajuste trop étroitement aux données d'entraînement, capturant du bruit ou des fluctuations aléatoires qui ne représentent pas la véritable relation sous-jacente entre les variables. Cela peut conduire à de mauvaises performances de généralisation sur de nouvelles données invisibles.

Multicolinéarité

Multicolinéarité est un phénomène statistique qui se produit lorsque deux ou plusieurs variables indépendantes dans un modèle de régression multiple sont fortement corrélées, ce qui rend difficile l'évaluation des effets individuels de chaque variable sur la variable dépendante.

La détection de la multicolinéarité comprend deux techniques :

  • Matrice de corrélation : L'examen de la matrice de corrélation entre les variables indépendantes est un moyen courant de détecter la multicolinéarité. Des corrélations élevées (proches de 1 ou -1) indiquent une multicolinéarité potentielle.
  • VIF (Facteur d'Inflation de Variance) : VIF est une mesure qui quantifie l'augmentation de la variance d'un coefficient de régression estimé si vos prédicteurs sont corrélés. Un VIF élevé (généralement supérieur à 10) suggère une multicolinéarité.

Métriques d'évaluation pour la régression linéaire

Une variété de mesures d'évaluation peut être utilisé pour déterminer la force de tout modèle de régression linéaire. Ces mesures d’évaluation donnent souvent une indication de la manière dont le modèle produit les résultats observés.

Les mesures les plus courantes sont :

Erreur quadratique moyenne (MSE)

Erreur quadratique moyenne (MSE) est une métrique d'évaluation qui calcule la moyenne des carrés des différences entre les valeurs réelles et prédites pour tous les points de données. La différence est mise au carré pour garantir que les différences négatives et positives ne s’annulent pas.

MSE = frac{1}{n}sum_{i=1}^{n}left ( y_i – widehat{y_{i}} ight )^2

Ici,

  • n est le nombre de points de données.
  • etjeest la valeur réelle ou observée pour le ièmepoint de données.
  • widehat{y_{i}} est la valeur prédite pour le ièmepoint de données.

MSE est un moyen de quantifier l’exactitude des prédictions d’un modèle. MSE est sensible aux valeurs aberrantes, car les erreurs importantes contribuent de manière significative au score global.

Erreur absolue moyenne (MAE)

Erreur absolue moyenne est une métrique d'évaluation utilisée pour calculer la précision d'un modèle de régression. MAE mesure la différence absolue moyenne entre les valeurs prédites et les valeurs réelles.

CSS premier enfant

Mathématiquement, MAE s'exprime comme suit :

MAE =frac{1}{n} sum_{i=1}^{n}|Y_i – widehat{Y_i}|

Ici,

  • n est le nombre d'observations
  • ETjereprésente les valeurs réelles.
  • widehat{Y_i} représente les valeurs prédites

Une valeur MAE inférieure indique de meilleures performances du modèle. Il n’est pas sensible aux valeurs aberrantes puisque nous considérons des différences absolues.

Erreur quadratique moyenne (RMSE)

La racine carrée de la variance des résidus est la Erreur quadratique moyenne . Il décrit dans quelle mesure les points de données observés correspondent aux valeurs attendues ou à l’ajustement absolu du modèle aux données.


En notation mathématique, cela peut être exprimé comme suit :
RMSE=sqrt{frac{RSS}{n}}=sqrtfrac{{{sum_{i=2}^{n}(y^{actual}_{i}}- y_{i}^{predicted})^2}}{n}
Plutôt que de diviser le nombre total de points de données du modèle par le nombre de degrés de liberté, il faut diviser la somme des carrés des résidus pour obtenir une estimation impartiale. Ensuite, ce chiffre est appelé erreur standard résiduelle (RSE).

En notation mathématique, cela peut être exprimé comme suit :
RMSE=sqrt{frac{RSS}{n}}=sqrtfrac{{{sum_{i=2}^{n}(y^{actual}_{i}}- y_{i}^{predicted})^2}}{(n-2)}

Le RSME n’est pas une mesure aussi efficace que le R-carré. L'erreur quadratique moyenne peut fluctuer lorsque les unités des variables varient puisque sa valeur dépend des unités des variables (il ne s'agit pas d'une mesure normalisée).

Coefficient de détermination (R-carré)

R-carré est une statistique qui indique le degré de variation que le modèle développé peut expliquer ou capturer. Il est toujours compris entre 0 et 1. En général, plus le modèle correspond aux données, plus le nombre R au carré est grand.
En notation mathématique, cela peut être exprimé comme suit :
R^{2}=1-(^{frac{RSS}{TSS}})

Nick Pulos éclair noir
  • Somme résiduelle des carrés (RSS) : La La somme des carrés du résidu pour chaque point de données du tracé ou des données est connue sous le nom de somme des carrés résiduelle, ou RSS. Il s’agit d’une mesure de la différence entre le résultat observé et ce qui était attendu.
    RSS=sum_{i=2}^{n}(y_{i}-b_{0}-b_{1}x_{i})^{2}
  • Somme totale des carrés (TSS) : La somme des erreurs des points de données par rapport à la moyenne de la variable de réponse est connue sous le nom de somme totale des carrés, ou TSS.
    TSS= sum_{}^{}(y-overline{y_{i}})^2

La métrique R au carré est une mesure de la proportion de variance dans la variable dépendante qui est expliquée par les variables indépendantes du modèle.

Erreur R-carré ajustée

R ajusté2mesure la proportion de variance de la variable dépendante qui est expliquée par des variables indépendantes dans un modèle de régression. Carré R ajusté prend en compte le nombre de prédicteurs dans le modèle et pénalise le modèle pour avoir inclus des prédicteurs non pertinents qui ne contribuent pas de manière significative à expliquer la variance des variables dépendantes.

Mathématiquement, R ajusté2s'exprime ainsi :

Adjusted , R^2 = 1 – (frac{(1-R^2).(n-1)}{n-k-1})

Ici,

  • n est le nombre d'observations
  • k est le nombre de prédicteurs dans le modèle
  • R.2est un coefficient de détermination

Le carré R ajusté aide à éviter le surapprentissage. Cela pénalise le modèle avec des prédicteurs supplémentaires qui ne contribuent pas de manière significative à expliquer la variance de la variable dépendante.

Implémentation Python de la régression linéaire

Importez les bibliothèques nécessaires :

Python3 import pandas as pd import numpy as np import matplotlib.pyplot as plt import matplotlib.axes as ax from matplotlib.animation import FuncAnimation>

Chargez l'ensemble de données et séparez les variables d'entrée et cibles

Voici le lien pour l'ensemble de données : Lien vers l'ensemble de données

Python3 url = 'https://media.techcodeview.com data = pd.read_csv(url) data # Drop the missing values data = data.dropna() # training dataset and labels train_input = np.array(data.x[0:500]).reshape(500, 1) train_output = np.array(data.y[0:500]).reshape(500, 1) # valid dataset and labels test_input = np.array(data.x[500:700]).reshape(199, 1) test_output = np.array(data.y[500:700]).reshape(199, 1)>

Construisez le modèle de régression linéaire et tracez la droite de régression

Pas:

  • En propagation vers l'avant, la fonction de régression linéaire Y=mx+c est appliquée en attribuant initialement une valeur aléatoire au paramètre (m & c).
  • Nous avons écrit la fonction pour trouver la fonction de coût, c'est-à-dire la moyenne
Python3 class LinearRegression: def __init__(self): self.parameters = {} def forward_propagation(self, train_input): m = self.parameters['m'] c = self.parameters['c'] predictions = np.multiply(m, train_input) + c return predictions def cost_function(self, predictions, train_output): cost = np.mean((train_output - predictions) ** 2) return cost def backward_propagation(self, train_input, train_output, predictions): derivatives = {} df = (predictions-train_output) # dm= 2/n * mean of (predictions-actual) * input dm = 2 * np.mean(np.multiply(train_input, df)) # dc = 2/n * mean of (predictions-actual) dc = 2 * np.mean(df) derivatives['dm'] = dm derivatives['dc'] = dc return derivatives def update_parameters(self, derivatives, learning_rate): self.parameters['m'] = self.parameters['m'] - learning_rate * derivatives['dm'] self.parameters['c'] = self.parameters['c'] - learning_rate * derivatives['dc'] def train(self, train_input, train_output, learning_rate, iters): # Initialize random parameters self.parameters['m'] = np.random.uniform(0, 1) * -1 self.parameters['c'] = np.random.uniform(0, 1) * -1 # Initialize loss self.loss = [] # Initialize figure and axis for animation fig, ax = plt.subplots() x_vals = np.linspace(min(train_input), max(train_input), 100) line, = ax.plot(x_vals, self.parameters['m'] * x_vals + self.parameters['c'], color='red', label='Regression Line') ax.scatter(train_input, train_output, marker='o', color='green', label='Training Data') # Set y-axis limits to exclude negative values ax.set_ylim(0, max(train_output) + 1) def update(frame): # Forward propagation predictions = self.forward_propagation(train_input) # Cost function cost = self.cost_function(predictions, train_output) # Back propagation derivatives = self.backward_propagation( train_input, train_output, predictions) # Update parameters self.update_parameters(derivatives, learning_rate) # Update the regression line line.set_ydata(self.parameters['m'] * x_vals + self.parameters['c']) # Append loss and print self.loss.append(cost) print('Iteration = {}, Loss = {}'.format(frame + 1, cost)) return line, # Create animation ani = FuncAnimation(fig, update, frames=iters, interval=200, blit=True) # Save the animation as a video file (e.g., MP4) ani.save('linear_regression_A.webp'false'>Python3 #Exemple d'utilisation des paramètres Linear_reg = LinearRegression(), loss = Linear_reg.train(train_input, train_output, 0.0001, 20) Sortie : Itération = 1, Perte = 9130.407560462196 Itération = 1, Perte = 1107.1996742908998 Itération = 1, Perte = 140.31580 932842422 Itération = 1, perte = 23,795780526084116 Itération = 2, perte = 9,753848205147605 Itération = 3, perte = 8,061641745006835 Itération = 4, perte = 7,8577116490914864 Itération = 5, perte = 7,8331 350515579015 Itération = 6, Perte = 7,830172502503967 Itération = 7, Perte = 7,829814681591015 Itération = 8 , Perte = 7,829770758846183 Itération = 9, Perte = 7,829764664327399 Itération = 10, Perte = 7,829763128602258 Itération = 11, Perte = 7,829762142342088 Itération = 12, Perte = 7,8297 61222379141 Itération = 13, Perte = 7,829760310486438 Itération = 14, Perte = 7,829759399646989 Itération = 15, Perte = 7,829758489015161 Itération = 16, Perte = 7,829757578489033 Itération = 17, Perte = 7,829756668056319 Itération = 18, Perte = 7,829755757715535 Itération = 19, Perte = 7,82975 4847466484 Itération = 20, perte = 7,829753937309139 Ligne de régression linéaireLa ligne de régression linéaire fournit des informations précieuses sur la relation entre les deux variables. Il représente la ligne la mieux ajustée qui capture la tendance globale de la façon dont une variable dépendante (Y) change en réponse aux variations d'une variable indépendante (X). Ligne de régression linéaire positive : Une ligne de régression linéaire positive indique une relation directe entre la variable indépendante (X) et la variable dépendante (Y). Cela signifie que lorsque la valeur de X augmente, la valeur de Y augmente également. La pente d’une droite de régression linéaire positive est positive, ce qui signifie que la droite est inclinée vers le haut de gauche à droite. Ligne de régression linéaire négative : Une ligne de régression linéaire négative indique une relation inverse entre la variable indépendante (X) et la variable dépendante (Y). Cela signifie que lorsque la valeur de X augmente, la valeur de Y diminue. La pente d'une ligne de régression linéaire négative est négative, ce qui signifie que la ligne est inclinée vers le bas de gauche à droite. Techniques de régularisation pour les modèles linéaires Régression Lasso (régularisation L1) La régression Lasso est une technique utilisée pour régulariser un modèle de régression linéaire, elle ajoute une pénalité terme à la fonction objectif de régression linéaire pour éviter le surajustement. La fonction objectif après application de la régression lasso est la suivante : le premier terme est la perte des moindres carrés, représentant la différence au carré entre les valeurs prédites et réelles. le deuxième terme est le terme de régularisation L1, il pénalise la somme des valeurs absolues du coefficient de régression θj. Régression Ridge (régularisation L2) La régression Ridge est une technique de régression linéaire qui ajoute un terme de régularisation à l'objectif linéaire standard. Encore une fois, l'objectif est d'éviter le surajustement en pénalisant les coefficients élevés dans l'équation de régression linéaire. Ceci est utile lorsque l'ensemble de données a une multicolinéarité où les variables prédictives sont fortement corrélées. La fonction objectif après application de la régression de crête est la suivante : le premier terme est la perte des moindres carrés, représentant la différence au carré entre les valeurs prédites et réelles. le deuxième terme est le terme de régularisation L1, il pénalise la somme des carrés des valeurs du coefficient de régression θj. Elastic Net Regression Elastic Net Regression est une technique de régularisation hybride qui combine la puissance des régularisations L1 et L2 dans un objectif de régression linéaire. le premier terme est la perte des moindres carrés. le deuxième terme est la régularisation L1 et le troisième est la régression de crête. ???? est la force globale de régularisation. α contrôle le mélange entre la régularisation L1 et L2. Applications de la régression linéaireLa régression linéaire est utilisée dans de nombreux domaines différents, notamment la finance, l'économie et la psychologie, pour comprendre et prédire le comportement d'une variable particulière. Par exemple, en finance, la régression linéaire peut être utilisée pour comprendre la relation entre le cours des actions d’une entreprise et ses bénéfices ou pour prédire la valeur future d’une devise en fonction de ses performances passées. Avantages et inconvénients de la régression linéaireAvantages de la régression linéaireLa régression linéaire est un algorithme relativement simple, le rendant facile à comprendre et à mettre en œuvre. Les coefficients du modèle de régression linéaire peuvent être interprétés comme la variation de la variable dépendante pour une variation d'une unité de la variable indépendante, fournissant ainsi un aperçu des relations entre les variables. La régression linéaire est efficace sur le plan informatique et peut gérer efficacement de grands ensembles de données. Il peut être entraîné rapidement sur de grands ensembles de données, ce qui le rend adapté aux applications en temps réel. La régression linéaire est relativement robuste aux valeurs aberrantes par rapport aux autres algorithmes d'apprentissage automatique. Les valeurs aberrantes peuvent avoir un impact moindre sur les performances globales du modèle. La régression linéaire sert souvent de bon modèle de base pour la comparaison avec des algorithmes d'apprentissage automatique plus complexes. La régression linéaire est un algorithme bien établi avec un historique riche et est largement disponible dans divers systèmes d'apprentissage automatique. bibliothèques et progiciels.Inconvénients de la régression linéaireLa régression linéaire suppose une relation linéaire entre les variables dépendantes et indépendantes. Si la relation n'est pas linéaire, le modèle risque de ne pas fonctionner correctement. La régression linéaire est sensible à la multicolinéarité, qui se produit lorsqu'il existe une forte corrélation entre des variables indépendantes. La multicolinéarité peut gonfler la variance des coefficients et conduire à des prédictions de modèle instables. La régression linéaire suppose que les caractéristiques sont déjà sous une forme adaptée au modèle. L'ingénierie des fonctionnalités peut être nécessaire pour transformer les fonctionnalités dans un format qui peut être utilisé efficacement par le modèle. La régression linéaire est sensible à la fois au surajustement et au sous-apprentissage. Le surajustement se produit lorsque le modèle apprend trop bien les données d'entraînement et ne parvient pas à généraliser aux données invisibles. Le sous-ajustement se produit lorsque le modèle est trop simple pour capturer les relations sous-jacentes dans les données. La régression linéaire fournit un pouvoir explicatif limité pour les relations complexes entre les variables. Des techniques d'apprentissage automatique plus avancées peuvent être nécessaires pour obtenir des informations plus approfondies. ConclusionLa régression linéaire est un algorithme d'apprentissage automatique fondamental qui est largement utilisé depuis de nombreuses années en raison de sa simplicité, de son interprétabilité et de son efficacité. Il s'agit d'un outil précieux pour comprendre les relations entre les variables et faire des prédictions dans diverses applications. Cependant, il est important d’être conscient de ses limites, comme son hypothèse de linéarité et sa sensibilité à la multicolinéarité. Lorsque ces limites sont soigneusement prises en compte, la régression linéaire peut être un outil puissant d’analyse et de prévision des données. Régression linéaire – Foire aux questions (FAQ)Que signifie la régression linéaire en simple ?La régression linéaire est un algorithme d'apprentissage automatique supervisé qui prédit une variable cible continue basée sur une ou plusieurs variables indépendantes. Il suppose une relation linéaire entre les variables dépendantes et indépendantes et utilise une équation linéaire pour modéliser cette relation. Pourquoi utilisons-nous la régression linéaire ? La régression linéaire est couramment utilisée pour : Prédire les valeurs numériques en fonction des caractéristiques d'entrée Prévoir les tendances futures sur la base de données historiques Identifier les corrélations entre les variables Comprendre l'impact de différents facteurs sur un résultat particulier Comment utiliser la régression linéaire ? Utiliser la régression linéaire en ajustant une ligne pour prédire la relation entre les variables , comprendre les coefficients et faire des prédictions basées sur des valeurs d'entrée pour une prise de décision éclairée. Pourquoi est-elle appelée régression linéaire ? La régression linéaire doit son nom à son utilisation d'une équation linéaire pour modéliser la relation entre les variables, représentant un ajustement en ligne droite aux points de données. Qu'est-ce que les exemples de régression linéaire ? La prévision des prix de l'immobilier en fonction de la superficie en pieds carrés, l'estimation des résultats aux examens à partir des heures d'étude et la prévision des ventes à l'aide des dépenses publicitaires sont des exemples d'applications de régression linéaire.>