Nehmen wir ein Beispiel, bei dem wir die Hauspreise in einer Stadt vorhersagen wollen. Wir benötigen historische Daten über die Hausverkäufe, um ein maschinelles Lernmodell zu trainieren.
In der Terminologie des maschinellen Lernens werden die Informationen über das Haus als Features und die Preisvorhersage als Label bezeichnet.
Wenn wir mehrere Merkmale haben und ein Modell trainieren wollen, das den Preis anhand dieser Merkmale vorhersagen kann, können wir eine multivariate lineare Regression verwenden. Das Modell muss die Parameter (theta 0 bis theta n) auf dem unten stehenden Trainingsdatensatz lernen, so dass es, wenn wir den Preis für ein noch nicht verkauftes Haus vorhersagen wollen, eine Vorhersage geben kann, die näher an dem Preis liegt, für den es verkauft wird.
Practical Ideas for making Gradient Descent work well
- 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. Wir können dies mit den Mitteln der multivariaten linearen Regression tun. Indem wir also einfach drei Merkmale auswählen (eine Größe, ein anderes Quadrat der Größe und ein dritter Würfel der Größe) und das Verfahren der linearen Regression anwenden, können wir dieses Modell anpassen und erhalten am Ende eine kubische Anpassung an die Daten.
Wichtig ist hier die Skalierung der Merkmale. Wenn also die Größe des Hauses von eins bis tausend reicht, dann reicht die quadrierte Größe des Hauses von eins bis eine Million, und das dritte Merkmal x kubiert, reicht von eins zwei zehn bis neun, und so nehmen diese drei Merkmale sehr unterschiedliche Wertebereiche an, und es ist wichtig, die Merkmalsskalierung für den Gradientenabstieg anzuwenden, um sie in vergleichbare Wertebereiche zu bringen.
Eine andere vernünftige Wahl wäre hier, zu sagen, dass der Preis eines Hauses Theta Null plus Theta eins mal die Größe und dann plus Theta zwei mal die Quadratwurzel der Größe ist.
Indem man Einblick in die Form einer Quadratwurzelfunktion hat, und in die Form der Daten, können wir durch die Wahl verschiedener Merkmale manchmal bessere Modelle erhalten.
Es scheint ein wenig verwirrend zu sein, dass man bei all diesen verschiedenen Merkmalen entscheiden muss, welche Merkmale man verwenden will. In späteren Beiträgen werden wir über einige Algorithmen sprechen, die automatisch auswählen, welche Merkmale verwendet werden, und automatisch auswählen, ob wir eine quadratische Funktion oder eine kubische Funktion oder etwas anderes anpassen wollen.
Aber bis dahin sollten wir wissen, dass wir die Wahl haben, welche Merkmale wir verwenden, und dass wir durch die Entwicklung verschiedener Merkmale komplexere Funktionen an unsere Daten anpassen können als nur eine gerade Linie an die Daten.