Vícerozměrná lineární regrese

Podívejme se na příklad, kdy chceme předpovědět ceny domů ve městě. K natrénování modelu strojového učení budeme potřebovat historická data o prodejích domů.

V terminologii strojového učení se informace o domě nazývají rysy a předpověď ceny se nazývá štítek.

Když máme více funkcí a chceme natrénovat model, který dokáže předpovědět cenu vzhledem k těmto funkcím, můžeme použít vícerozměrnou lineární regresi. Model se bude muset naučit parametry(theta 0 až theta n) na níže uvedené trénovací množině dat tak, že pokud budeme chtít předpovědět cenu pro dům, který ještě není prodaný, může nám dát předpověď, která se bude blížit tomu, za kolik se prodá.

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. Můžeme to udělat pomocí mechanismu vícerozměrné lineární regrese. Takže pouhým výběrem tří funkcí (jedné velikosti, druhé čtverce velikosti a třetí krychle velikosti) a použitím mechanismu lineární regrese můžeme tento model napasovat a nakonec získáme krychlovou shodu s daty.

Důležité je zde zmínit škálování funkcí. Pokud se tedy velikost domu pohybuje v rozmezí od jedné do tisíce, pak čtverec velikosti domu se bude pohybovat v rozmezí od jedné do jednoho milionu a třetí funkce x v kostce se bude pohybovat v rozmezí od jedné dvě deset do devíti, a tak tyto tři funkce nabývají velmi rozdílných rozsahů hodnot a je důležité použít škálování funkcí pro gradientní sestup, aby se dostaly do srovnatelných rozsahů hodnot.

Jinou rozumnou volbou by zde mohlo být říci, že cena domu je theta nula plus theta jedna krát velikost a pak plus theta dva krát druhá odmocnina velikosti.

Díky vhledu do tvaru funkce odmocniny, a do tvaru dat, můžeme výběrem různých funkcí někdy získat lepší modely.

Přijde mi trochu zmatené, že při všech těch různých možnostech volby funkcí, jak se rozhodnout, jaké funkce použít. V dalších příspěvcích si povíme o některých algoritmech, které automaticky vyberou, jaké funkce se použijí, a automaticky vyberou, zda chceme fitovat kvadratickou funkci, nebo kubickou funkci, nebo něco jiného.

Ale do té doby bychom měli vědět, že máme na výběr, jaké funkce použít, a že návrhem různých funkcí můžeme na naše data napasovat složitější funkce, než je pouhé napasování přímky na data.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *