Il est assez difficile de comparer directement kNN et la régression linéaire car ce sont des choses très différentes, cependant, je pense que le point clé ici est la différence entre "modéliser " et "avoir des hypothèses sur ".f ( x )f(x)f(x)
Lors de la régression linéaire, on modélise spécifiquement le , souvent quelque chose parmi les lignes de où est un terme de bruit gaussien. Vous pouvez déterminer que le modèle de probabilité maximale est équivalent au modèle d'erreur de somme des carrés minimale.f ( x ) = w x + ϵ ϵf(x)f(x)=wx+ϵϵ
KNN, d'autre part, comme le suggère votre deuxième point, suppose que vous pouvez approximer cette fonction par une fonction localement constante - une certaine mesure de distance entre les -ses, sans modéliser spécifiquement la distribution entière.x
En d'autres termes, la régression linéaire aura souvent une bonne idée de la valeur de pour certains invisibles à partir de la seule valeur de , tandis que kNN aurait besoin d'autres informations (c'est-à-dire les k voisins), pour faire des prédictions sur , car la valeur de , et juste la valeur elle-même, ne donnera aucune information, car il n'y a pas de modèle pour .x x f ( x ) x f ( x )f(x)xxf(x)xf(x)
EDIT: réitérer ceci ci-dessous pour ré-exprimer cela plus clairement (voir commentaires)
Il est clair que la régression linéaire et les méthodes du plus proche voisin visent à prédire la valeur de pour un nouveau . Il existe maintenant deux approches. La régression linéaire se poursuit en supposant que les données tombent sur une ligne droite (plus moins un peu de bruit), et donc la valeur de y est égale à la valeur de multipliée par la pente de la ligne. En d'autres termes, l'expression linéaire modélise les données sous forme de ligne droite.x f ( x )y=f(x)xf(x)
Maintenant, les méthodes du plus proche voisin ne se soucient pas de savoir à quoi ressemblent les données (ne modélise pas les données), c'est-à-dire qu'elles ne se soucient pas s'il s'agit d'une ligne, d'une parabole, d'un cercle, etc. Tout ce qu'elle suppose, c'est que et seront similaires, si et sont similaires. Notez que cette hypothèse est à peu près vraie pour presque tous les modèles, y compris tous ceux que j'ai mentionnés ci-dessus. Cependant, une méthode NN ne peut pas dire comment la valeur de est liée à (que ce soit une ligne, une parabole, etc.), car elle n'a pas de modèle de cette relation, elle suppose simplement qu'elle peut être approximée par regarder dans les points proches.f ( x 2 ) x 1 x 2 f ( x ) xf(x1)f(x2)x1x2f(x)x
La régression linéaire est basée sur un modèle car elle fait une hypothèse sur la structure des données afin de générer un modèle. Lorsque vous chargez un ensemble de données dans un programme statistique et l' utiliser pour exécuter une régression linéaire la sortie est en fait un modèle: . Vous pouvez introduire de nouvelles données dans ce modèle et obtenir une sortie prévue car vous avez fait des hypothèses sur la façon dont la variable de sortie est réellement générée.f^(X)=β^X
Avec KNN, il n'y a pas vraiment de modèle du tout - on suppose simplement que les observations qui sont proches les unes des autres dans Space se comporteront probablement de la même manière en termes de variable de sortie. Vous n'alimentez pas une nouvelle observation dans un `` modèle KNN '', vous déterminez simplement quelles observations existantes sont les plus similaires à une nouvelle observation et prédisez la variable de sortie pour la nouvelle observation à partir des données d'entraînement.X
la source
Le terme basé sur le modèle est synonyme de "basé sur la distribution" lorsque l'on parle de méthodes de clustering. La régression linéaire fait des hypothèses de distribution (que les erreurs sont gaussiennes). KNN ne fait aucune hypothèse de distribution. Telle est la distinction.
la source
kNN est basé sur une instance
Afin de faire une prédiction pour une nouvelle observation, vous devez conserver tout le jeu de données d'apprentissage, car il n'y a pas de modèle sur le jeu de données.
Voici comment fonctionne kNN: étant donné une nouvelle observation, nous calculerons la distance entre cette nouvelle observation et toutes les autres observations du jeu de données d'apprentissage. Ensuite, vous obtenez les voisins (ceux qui sont les plus proches de la nouvelle observation).
Si , alors nous regardons les 5 observations les plus proches. "une fonction localement constante" signifie qu'après avoir choisi ces 5 observations, nous ne nous soucions pas des distances. Ce sont les mêmes, ils ont la même importance pour la prédiction.k=5
Comment trouver un modèle?
Maintenant, si nous essayons de trouver une fonction qui n'est pas "localement constante", ce serait une distribution normale. Dans ce cas, vous obtiendrez un algorithme appelé Linear Discriminant Analysis ou Naive Bayes (en fonction d'autres hypothèses).
la source