Vegyünk egy példát, ahol egy város lakásárát szeretnénk megjósolni. Szükségünk lesz a házeladásokról szóló historikus adatokra, hogy betanítsunk egy gépi tanulási modellt.
A gépi tanulás terminológiájában a házról szóló információkat nevezzük jellemzőknek, az árjóslást pedig címkének.
Ha több jellemzőnk van, és olyan modellt szeretnénk betanítani, amely képes megjósolni az árat ezen jellemzők ismeretében, használhatunk többváltozós lineáris regressziót. A modellnek meg kell tanulnia a paramétereket(theta 0-tól theta n-ig) az alábbi képzési adathalmazon úgy, hogy ha egy még el nem adott ház árát akarjuk megjósolni, akkor olyan előrejelzést tudjon adni, amely közelebb áll ahhoz, amennyiért el fogják adni.
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. Ezt megtehetjük a többváltozós lineáris regresszió gépezetének segítségével. Tehát csak három jellemző kiválasztásával (egy méret, egy másik méretnégyzet és egy harmadik méretkocka) és a lineáris regresszió gépezetének alkalmazásával illeszthetjük ezt a modellt, és végül egy köbös illeszkedést kapunk az adatokhoz.
A fontos dolog, amit itt meg kell jegyeznünk, a jellemzők skálázása. Tehát ha a ház mérete egytől ezerig terjed, akkor a ház négyzete a ház mérete egytől egymillióig terjed, és a harmadik jellemző x kocka, egy kettőtől tízig kilencig terjed, és így ez a három jellemző nagyon különböző értéktartományokat vesz fel, és fontos a jellemző skálázását alkalmazni a gradiens leszálláshoz, hogy összehasonlítható értéktartományokba kerüljenek.
Egy másik ésszerű választás itt az lehet, hogy azt mondjuk, hogy egy ház ára a théta nulla plusz a théta egyszerese a méretnek, majd plusz a théta kétszerese a méret négyzetgyökének.
A négyzetgyökfüggvény alakjának megismerésével, és az adatok alakjába, különböző jellemzők kiválasztásával néha jobb modelleket kaphatunk.
Egy kicsit zavarba ejtőnek tűnik, hogy a sok különböző jellemzőválasztás mellett hogyan döntsem el, hogy milyen jellemzőket használjak. A következő bejegyzésekben beszélni fogunk néhány algoritmusról, amelyek automatikusan kiválasztják, hogy milyen jellemzőket használjunk, és automatikusan kiválasztják, hogy egy kvadratikus függvényt, vagy egy köbös függvényt, vagy valami mást akarunk-e illeszteni.
De addig is tudnunk kell, hogy van választásunk abban, hogy milyen jellemzőket használjunk, és a különböző jellemzők megtervezésével összetettebb függvényeket illeszthetünk az adatainkra, mintha csak egy egyenest illesztenénk az adatokra.