Régression linéaire multivariée

Prenons un exemple où nous voulons prédire les prix des maisons dans une ville. Nous aurons besoin de données historiques sur les ventes de maisons pour entraîner un modèle d’apprentissage automatique.

Dans la terminologie de l’apprentissage automatique, les informations sur la maison sont appelées caractéristiques et la prédiction du prix est appelée étiquette.

.

Lorsque nous avons plusieurs caractéristiques et que nous voulons entraîner un modèle qui peut prédire le prix étant donné ces caractéristiques, nous pouvons utiliser une régression linéaire multivariée. Le modèle devra apprendre les paramètres(thêta 0 à thêta n) sur le jeu de données d’entraînement ci-dessous de telle sorte que si nous voulons prédire le prix pour une maison qui n’est pas encore vendue, il peut nous donner une prédiction qui est plus proche de ce à quoi elle sera vendue.

Practical Ideas for making Gradient Descent work well

  1. Use feature scaling to help gradient descent converge faster. Get every feature between -1 and +1 range. It doesn’t have to be exactly in the -1 to +1 range but it should be close to that range.

2. In addition to dividing the feature by maximum value people sometimes use mean normalization.

3. If we plot the value of cost function after each iteration of gradient descent, we should see that it converges. Below is a graph that shows gradient descent is converging. The number of iterations that it can take for gradient descent to converge varies a lot.

Polynomial Regression

Let’s say we have a housing price data set that looks like below.

Then there are a few different models we might fit to this.

One thing we could do is fit a quadratic model. It doesn’t look like a straight line fits this data very well. But then we may decide that quadratic model doesn’t make sense because of a quadratic function, eventually this function comes back down and we don’t think housing prices should go down when the size goes up too high. So then maybe we might choose a different polynomial model and choose to use instead a cubic function, and where we have now a third-order term and we fit that where green line is a somewhat better fit to the data cause it doesn’t eventually come back down. Nous pouvons le faire en utilisant les mécanismes de la régression linéaire multivariable. Donc, juste en choisissant trois caractéristiques (une taille, un autre carré de taille et un troisième cube de taille) et en appliquant la machinerie de la régression linéaire, nous pouvons ajuster ce modèle et finir avec un ajustement cubique aux données.

Important ici de noter l’échelonnement des caractéristiques. Ainsi, si la taille de la maison va de un à mille, alors la taille au carré de la maison ira de un à un million, et la troisième caractéristique x cubé, ira de un deux dix à la neuf, et donc ces trois caractéristiques prennent des plages de valeurs très différentes, et il est important d’appliquer la mise à l’échelle des caractéristiques pour la descente de gradient afin de les faire entrer dans des plages de valeurs comparables.

Un autre choix raisonnable ici pourrait être de dire que le prix d’une maison est thêta zéro plus thêta un fois la taille, puis plus thêta deux fois la racine carrée de la taille.

En ayant un aperçu de la forme d’une fonction racine carrée, et, dans la forme des données, en choisissant différentes caractéristiques, on peut parfois obtenir de meilleurs modèles.

Il semble un peu déconcertant, qu’avec tous ces choix de caractéristiques différentes, comment puis-je décider quelles caractéristiques utiliser. Dans les posts suivants, nous parlerons de certains algorithmes qui choisiront automatiquement les caractéristiques utilisées, et qui choisiront automatiquement si nous voulons ajuster une fonction quadratique, ou une fonction cubique, ou autre chose.

Mais, d’ici là, nous devons savoir que nous avons le choix des caractéristiques à utiliser, et en concevant différentes caractéristiques, nous pouvons ajuster des fonctions plus complexes sur nos données que le simple ajustement d’une ligne droite aux données.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *