Dans ce guide, nous expliquerons la régression linéaire, son fonctionnement et vous guiderons tout au long du processus étape par étape. Nous aborderons également la mise à l'échelle des caractéristiques et la descente de gradient, techniques clés pour améliorer la précision de votre modèle. Que vous analysiez les tendances commerciales ou que vous vous plongiez dans la science des données, ce guide est un excellent point de départ.
Table des matières
- Présentation
- Comprendre l'apprentissage supervisé
- Qu'est-ce que la régression linéaire ?
- Régression linéaire simple
- Régression linéaire multiple
- Fonction de coût
- Mise à l'échelle des fonctionnalités
- Descente de dégradé
- Descente de gradient pour une régression linéaire simple
- Descente de gradient pour la régression linéaire multiple
Introduction
La régression linéaire est un outil simple mais puissant utilisé pour comprendre les relations entre différents facteurs et faire des prédictions. Par exemple, vous voudrez peut-être savoir quel est l'impact de vos heures d'étude sur vos résultats aux tests, combien une maison pourrait se vendre en fonction de sa taille et de son emplacement, ou comment les ventes pourraient augmenter avec davantage de publicité. La régression linéaire nous permet d'examiner des points de données (comme les heures d'études ou les dépenses publicitaires) et de tracer une ligne droite qui prédit le mieux un résultat, comme les résultats des tests ou les chiffres de vente. Cette technique est précieuse dans de nombreux domaines, car elle nous aide à prendre des décisions éclairées basées sur des données.
Comprendre l'apprentissage supervisé
Avant de plonger dans la régression linéaire, il est essentiel de comprendre l'apprentissage supervisé, une approche d'apprentissage automatique qui utilise des données étiquetées pour entraîner des modèles. Dans l'apprentissage supervisé, nous fournissons au modèle des exemples de formation qui incluent des fonctionnalités (variables d'entrée) et leurs étiquettes correspondantes (sorties correctes).
Il existe deux principaux types de tâches d'apprentissage supervisé :
-
Régression : Ceci prédit une valeur continue à partir d'une gamme infinie de sorties possibles. Par exemple, prédire les prix de l'immobilier en fonction de diverses caractéristiques.
-
Classification : Ceci diffère de la régression en prédisant une classe ou une catégorie à partir d'un ensemble limité de catégories possibles. Par exemple, déterminer si un e-mail est du spam ou non.
Qu’est-ce que la régression linéaire ?
La régression linéaire est une méthode d'apprentissage supervisé utilisée en statistique et en apprentissage automatique pour comprendre la relation entre deux types de variables : des variables indépendantes (les facteurs qui, selon nous, influencent un résultat) et une variable dépendante (le résultat que nous voulons prédire).
Le but est de trouver la ligne la mieux adaptée qui représente cette relation à l'aide d'une équation linéaire. En analysant les données étiquetées (données avec des résultats connus), la régression linéaire nous aide à comprendre comment les changements dans les variables indépendantes influencent la variable dépendante.
Terminologie
Régression linéaire simple
La régression linéaire simple examine la relation entre une variable dépendante et une variable indépendante. Il vise à modéliser la relation en ajustant une ligne droite aux points de données, qui peut être exprimée par l'équation :
Dans cette équation :
-
y_hat(ou f_wb(x)) :La variable dépendante, qui représente le résultat prédit. Il s'agit de la valeur que nous visons à estimer en fonction de l'entrée de la variable indépendante.
-
b : C'est l'ordonnée à l'origine de la droite de régression. Cela signifie la valeur attendue de la variable dépendante y lorsque la variable indépendante x est nulle. L'interception permet à la ligne de régression de s'ajuster verticalement pour mieux s'adapter aux données.
-
w : Le coefficient de la variable indépendante x. Ce coefficient indique dans quelle mesure la variable dépendante y_hat change pour un changement d'une unité de x. Un w positif suggère que lorsque x augmente, y_hat augmente également, tandis qu'un w négatif indique une relation inverse.
-
x : La variable indépendante, qui sert de prédicteur dans le modèle. Cette variable est l'entrée utilisée pour estimer le résultat représenté par y_hat.
Régression linéaire multiple
La régression linéaire multiple étend le concept de régression linéaire simple en examinant la relation entre une variable dépendante et deux ou plusieurs variables indépendantes. Cette approche nous permet de modéliser des relations plus complexes et de comprendre comment plusieurs facteurs influencent le résultat.
Où :
-
n : Nombre total de fonctionnalités (variables indépendantes)
Fonction de coût
La fonction de coût, également connue sous le nom de fonction de perte, quantifie la différence entre les valeurs attendues (vraies) et les valeurs prédites générées par le modèle. Il mesure les performances du modèle sur un ensemble de données donné. Dans la régression linéaire simple, la fonction de coût la plus couramment utilisée est l'Erreur quadratique moyenne.
Où :
-
m est le nombre d'exemples de formation
-
y_hat est la valeur prédite
-
y est la valeur réelle ou attendue
Mise à l'échelle des fonctionnalités
La mise à l'échelle des caractéristiques est une étape cruciale dans le prétraitement des données, en particulier lorsque vous travaillez avec des algorithmes qui s'appuient sur des calculs de distance ou sur l'optimisation de la descente de gradient, tels que la régression linéaire, la régression logistique et les machines vectorielles de support. Le but de la mise à l'échelle des fonctionnalités est de standardiser la gamme de variables ou de fonctionnalités indépendantes dans les données afin de garantir qu'elles contribuent de manière égale au processus d'apprentissage du modèle.
Techniques courantes pour la mise à l'échelle des fonctionnalités
Normalisation moyenne
La normalisation moyenne implique d'ajuster les valeurs des caractéristiques pour avoir une moyenne de zéro.
Caractéristiques
- Les données varient d'environ [−1,1] ou à proximité.
- Sensible aux valeurs aberrantes, qui peuvent fausser la moyenne et affecter la normalisation.
Cas d'utilisation
-
Régression linéaire : Aide à améliorer la convergence pendant l'entraînement.
-
Algorithmes basés sur les gradients : Les réseaux de neurones et autres algorithmes basés sur les gradients convergent souvent plus rapidement lorsque les données sont centrées autour de zéro.
-
Ensembles de données sans valeurs aberrantes significatives : Particulièrement efficace pour les ensembles de données avec des plages similaires et sans valeurs aberrantes extrêmes.
Mise à l'échelle Min-Max
La mise à l'échelle Min-Max est une technique utilisée pour redimensionner les caractéristiques sur une plage fixe, généralement [0,1] ou [−1,1].
Caractéristiques
-
Plage fixe : met à l'échelle les données sur une plage spécifique, généralement [0,1].
-
Sensibilité aux valeurs aberrantes : Elle peut être affectée de manière significative par les valeurs aberrantes, ce qui peut fausser la mise à l'échelle des autres valeurs.
Cas d'utilisation
-
Traitement d'image : Couramment utilisé dans les modèles d'apprentissage en profondeur tels que les réseaux de neurones convolutifs (CNN), où les valeurs de pixels sont mises à l'échelle à [0,1].
-
Algorithmes basés sur la distance : essentiels pour les algorithmes qui s'appuient sur des calculs de distance, tels que les k-voisins les plus proches (KNN), le clustering k-means et les machines vectorielles de support (SVM), pour garantir une contribution égale de toutes les fonctionnalités. .
-
Modèles basés sur des arbres : Bien que moins critique pour les modèles basés sur des arbres (comme les arbres de décision et les forêts aléatoires) par rapport à d'autres algorithmes, ils peuvent toujours être utiles dans des scénarios où les fonctionnalités ont des échelles très différentes.
Standardisation du score Z
La normalisation du score Z, également connue sous le nom de mise à l'échelle standard, transforme les caractéristiques pour avoir une moyenne de zéro et un écart type de un. Cette technique est particulièrement utile pour les algorithmes qui supposent des données normalement distribuées.
Où :
-
sigma est l'écart type de la fonctionnalité.
Caractéristiques
-
Moyenne centrée : Centre les données à zéro.
-
Unit Variance : Assure un écart type de un.
-
Robustesse aux valeurs aberrantes : Plus robuste que la mise à l'échelle Min-Max mais toujours sensible aux valeurs aberrantes extrêmes.
Cas d'utilisation
-
Réseaux de neurones : Améliore les performances et accélère la convergence pendant l'entraînement.
-
Analyse en composantes principales (ACP) et Analyse discriminante linéaire (LDA) : requis pour ces techniques afin de garantir que toutes les fonctionnalités contribuent de manière égale.
-
Gaussian Naive Bayes : améliore les performances de classification en normalisant les caractéristiques d'entrée.
Mise à l'échelle robuste
La mise à l'échelle robuste est une technique utilisée pour mettre à l'échelle les caractéristiques en fonction de la plage médiane et interquartile (IQR). Cette méthode est particulièrement utile pour les ensembles de données comportant des valeurs aberrantes importantes, car elle réduit l'influence de ces valeurs aberrantes sur les valeurs mises à l'échelle.
Où :
-
IQR(x) est l'intervalle interquartile de la caractéristique, défini comme la différence entre le 75e et le 25e centile de l'ensemble d'entraînement
Caractéristiques
-
Centré sur la médiane : centre les données autour de la médiane au lieu de la moyenne, ce qui les rend plus résilientes aux valeurs aberrantes.
-
Interquartile Range (IQR) : met à l'échelle les données à l'aide de l'IQR, qui correspond à la différence entre le 75e centile (Q3) et le 25e centile (Q1) des données d'entraînement. Cela permet de préserver la robustesse de la distribution.
Cas d'utilisation
-
Données avec valeurs aberrantes : Efficace dans les scénarios où des valeurs aberrantes sont présentes.
-
Finance : utile dans les ensembles de données financières pouvant contenir des valeurs extrêmes.
-
Données environnementales : S'applique bien aux ensembles de données environnementales où les mesures peuvent varier considérablement.
Descente de dégradé
La descente de gradient est un puissant algorithme d'optimisation utilisé pour entraîner des modèles d'apprentissage automatique, y compris la régression linéaire. Son objectif principal est de minimiser l'erreur entre les valeurs attendues et prédites.
Au départ, la pente de la fonction de coût peut être raide à un point de départ (arbitraire). Au fur et à mesure que l'algorithme itère et met à jour les paramètres, la pente diminue progressivement, guidant le modèle vers le point le plus bas de la fonction de coût, connu sous le nom de point de convergence ou minima local. À ce point de convergence, la fonction de coût atteint sa valeur minimale, indiquant que les prédictions du modèle sont aussi proches que possible des valeurs réelles. Une fois que les paramètres atteignent ce point, d'autres mises à jour entraînent des modifications minimes des prédictions, démontrant que le processus d'optimisation a efficacement identifié les paramètres les mieux adaptés aux données.
Le processus comprend les étapes clés suivantes :
-
Initialisation : Commencez par des valeurs aléatoires pour les paramètres du modèle (par exemple, l'ordonnée à l'origine b et les coefficients w).
-
Calculer le gradient : Calculez le gradient de la fonction de coût par rapport aux paramètres du modèle. Ce gradient représente la direction et le taux de changement de la fonction de coût.
-
Mettre à jour les paramètres : Ajustez les paramètres du modèle dans le sens opposé du dégradé pour réduire l'erreur. La règle de mise à jour est donnée par :
-
Itérer : Répétez le processus jusqu'à ce que les changements dans la fonction de coût soient minimes ou qu'un nombre spécifié d'itérations soit atteint.
CONSEILS : Tracez les itérations (axe des x) en fonction du coût (axe des y). Si le graphique montre une tendance à la baisse douce, votre mise en œuvre est probablement correcte.
Types de descente de dégradé
Descente de dégradé par lots
-
Avantages : Fournit une estimation stable et précise du gradient puisqu'il utilise l'ensemble des données. Il peut converger directement vers le minimum global pour les fonctions convexes.
-
Inconvénients : Peut être très lent pour les grands ensembles de données car il traite tous les échantillons à chaque itération.
-
Cas d'utilisation : Souvent utilisé dans des scénarios où l'ensemble de données est suffisamment petit pour tenir en mémoire, comme la régression linéaire ou la régression logistique sur des données tabulaires.
Descente de gradient stochastique (SGD)
-
Avantages : Mises à jour plus rapides puisqu'il traite un échantillon à la fois, ce qui peut conduire à une convergence plus rapide. Il peut aider à échapper aux minima locaux en raison de son bruit inhérent.
-
Inconvénients : La convergence est plus erratique et peut osciller autour du minimum, la rendant moins stable.
-
Cas d'utilisation : Couramment appliqué dans les scénarios d'apprentissage en ligne, la prédiction en temps réel ou lorsque vous traitez de grands ensembles de données qui ne peuvent pas être traités dans leur intégralité, comme la formation de réseaux de neurones sur des données d'image.
Descente de gradient en mini-lots (MBD)
-
Avantages : Combine les avantages de la descente de gradient par lots et stochastique. Cela conduit à une convergence plus rapide que la descente de gradient par lots et à une convergence plus stable que SGD. Il peut également tirer parti de la vectorisation pour un calcul efficace.
-
Inconvénients : Choisir la taille du mini-lot peut être difficile et peut affecter la vitesse de convergence et la stabilité.
-
Cas d'utilisation : Fréquemment utilisé dans les applications d'apprentissage profond, en particulier lors de la formation sur de grands ensembles de données, telles que les tâches de classification d'images dans les réseaux de neurones convolutifs (CNN) ou les modèles de traitement du langage naturel.
Descente de gradient pour une régression linéaire simple
Étapes de descente de gradient pour une régression linéaire simple
-
Initialisation
Commencez par les valeurs initiales des paramètres du modèle. Ces valeurs peuvent être choisies aléatoirement ou mises à zéro.
-
Calculer le dégradé
Calculez le gradient de la fonction de coût par rapport aux paramètres du modèle. Ce gradient représente la direction et le taux de changement de la fonction de coût.
-
Mettre à jour les paramètres
Ajustez les paramètres du modèle dans la direction opposée du dégradé pour réduire l'erreur. La règle de mise à jour est donnée par :
où :
-
J(w, b) est la fonction de coût, qui est l'erreur quadratique moyenne (MSE) utilisée ci-dessus.
-
Alpha est le taux d'apprentissage, un petit nombre positif compris entre 0 et 1. Il contrôle la taille du pas que fait la descente de pente pour atteindre le point de convergence ou un minimum local.
CONSEILS : Commencez avec un petit taux d'apprentissage (par exemple, 0,01) et augmentez-le progressivement. Si le coût diminue progressivement, c’est un bon tarif. S'il fluctue ou diverge, réduisez le taux d'apprentissage. Un taux d'apprentissage trop élevé peut entraîner un dépassement de la descente de gradient, ne jamais atteindre le minimum et ne pas converger.
-
Itérer : Répétez le processus jusqu'à ce que les changements dans la fonction de coût soient minimes ou qu'un nombre spécifié d'itérations soit atteint.
Implémentation Python de la descente de gradient pour la régression linéaire simple
Implémentation Python de la descente de gradient pour la régression linéaire simple
Descente de gradient pour la régression linéaire multiple
Étapes de descente de gradient pour la régression linéaire multiple
-
Initialisation
Commencez par des valeurs aléatoires pour chaque paramètre, y compris l'ordonnée à l'origine b et les poids w pour chaque fonctionnalité.
-
Calculer les dégradés
Calculez le gradient de la fonction de coût par rapport aux paramètres du modèle.
Forme vectorielle
Où :
-
x_subscript_j_superscript_i est la j_ème fonctionnalité du i_ème exemple de formation
-
x_superscript_T est la transposée du vecteur x
-
Mettre à jour les paramètres
Ajustez les paramètres du modèle dans la direction opposée du dégradé pour réduire l'erreur. La règle de mise à jour est donnée par :
-
Itérer
Répétez le processus jusqu'à ce que les changements dans la fonction de coût soient minimes ou qu'un nombre spécifié d'itérations soit atteint.
Implémentation Python de la descente de gradient pour la régression linéaire simple
Implémentation Python de la descente de gradient pour la régression linéaire simple
Conclusion
Félicitations !! ? Dans cet article, nous avons exploré les principes fondamentaux de la régression linéaire et de la régression linéaire multiple, parcouru le processus de mise en œuvre de la descente de gradient et discuté de techniques clés telles que la mise à l'échelle des fonctionnalités pour optimiser les performances du modèle. En comprenant comment initialiser les paramètres du modèle, calculer les gradients et mettre à jour les poids de manière itérative, vous êtes désormais bien équipé pour mettre en œuvre des algorithmes de régression linéaire et améliorer leurs performances sur des ensembles de données du monde réel.
Que vous travailliez avec une régression linéaire simple ou que vous naviguiez dans la complexité de plusieurs fonctionnalités, maîtriser la descente de gradient et comprendre ses principes fondamentaux améliorera considérablement votre capacité à développer des modèles d'apprentissage automatique précis et efficaces. Continuez à expérimenter, à affiner vos compétences et à adopter le processus d’apprentissage : c’est tout aussi important que les résultats eux-mêmes !
Restez à l'écoute pour plus d'informations sur les techniques d'apprentissage automatique et les sujets de développement Web. Bon apprentissage tout en continuant à explorer et à créer des modèles plus intelligents ! ??
Connectons-nous sur LinkedIn ?
"Cet article a été initialement publié sur Medium, où je partage plus d'informations sur l'analyse des données, l'apprentissage automatique et la programmation. N'hésitez pas à le consulter et à m'y suivre pour plus de contenu !"
Veuillez aimer, partager et suivre ?.
N'hésitez pas à poser vos questions dans la section commentaires : je répondrai rapidement et minutieusement à vos demandes. Vos doutes sont chaleureusement accueillis et recevront des réponses rapides et complètes. ❤️
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!