Când avem mai multe caracteristici și dorim să antrenăm un model care poate prezice prețul având în vedere aceste caracteristici, putem utiliza o regresie liniară multivariată. Modelul va trebui să învețe parametrii (de la theta 0 la theta n) pe setul de date de antrenament de mai jos, astfel încât, dacă dorim să prezicem prețul pentru o casă care nu este încă vândută, să ne poată oferi o predicție mai apropiată de prețul cu care va fi vândută.
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. Putem face acest lucru folosind mecanismul de regresie liniară multivariantă. Așadar, doar alegând trei caracteristici (o dimensiune, un pătrat al dimensiunii, un pătrat al dimensiunii și un al treilea cub al dimensiunii) și aplicând mecanismul de regresie liniară, putem ajusta acest model și obținem o potrivire cubică a datelor.
Un lucru important de reținut aici este scalarea caracteristicilor. Deci, dacă mărimea casei variază de la unu la o mie, atunci mărimea la pătrat a casei va varia de la unu la un milion, iar cea de-a treia caracteristică, x la cub, va varia de la unu doi zece la nouă, astfel că aceste trei caracteristici au intervale de valori foarte diferite și este important să aplicăm scalarea caracteristicilor pentru coborârea gradientului pentru a le aduce în intervale de valori comparabile.
O altă alegere rezonabilă în acest caz ar putea fi să spunem că prețul unei case este theta zero plus theta de unu ori mărimea și apoi plus theta de două ori rădăcina pătrată a mărimii.
Având o înțelegere a formei unei funcții de rădăcină pătrată, și, în forma datelor, prin alegerea unor caracteristici diferite, putem obține uneori modele mai bune.
Pare puțin derutant faptul că, cu toate aceste opțiuni de caracteristici diferite, cum pot decide ce caracteristici să folosesc. În postările ulterioare, vom vorbi despre niște algoritmi care vor alege automat ce caracteristici sunt folosite și care vor alege automat dacă dorim să potrivim o funcție pătratică, o funcție cubică sau altceva.
Dar, până atunci, trebuie să știm că avem de ales ce caracteristici să folosim și, prin proiectarea unor caracteristici diferite, putem potrivi funcții mai complexe pe datele noastre decât simpla potrivire a unei linii drepte la date.
.