看了coursea的機(jī)器學(xué)習(xí)課,知道了梯度下降法。一開始只是對(duì)其做了下簡(jiǎn)單的了解。隨著內(nèi)容的深入,發(fā)現(xiàn)梯度下降法在很多算法中都用的到,除了之前看到的用來(lái)處理線性模型,還有BP神經(jīng)網(wǎng)絡(luò)等。于是就有了這篇文章。

本文主要講了梯度下降法的兩種迭代思路,隨機(jī)梯度下降(Stochastic gradient descent)和批量梯度下降(Batch gradient descent)。以及他們?cè)趐ython中的實(shí)現(xiàn)。

梯度下降法

梯度下降是一個(gè)最優(yōu)化算法,通俗的來(lái)講也就是沿著梯度下降的方向來(lái)求出一個(gè)函數(shù)的極小值。那么我們?cè)诟叩葦?shù)學(xué)中學(xué)過,對(duì)于一些我們了解的函數(shù)方程,我們可以對(duì)其求一階導(dǎo)和二階導(dǎo),比如說(shuō)二次函數(shù)??墒俏覀?cè)谔幚韱栴}的時(shí)候遇到的并不都是我們熟悉的函數(shù),并且既然是機(jī)器學(xué)習(xí)就應(yīng)該讓機(jī)器自己去學(xué)習(xí)如何對(duì)其進(jìn)行求解,顯然我們需要換一個(gè)思路。因此我們采用梯度下降,不斷迭代,沿著梯度下降的方向來(lái)移動(dòng),求出極小值。

此處我們還是用coursea的機(jī)器學(xué)習(xí)課中的案例,假設(shè)我們從中介那里拿到了一個(gè)地區(qū)的房屋售價(jià)表,那么在已知房子面積的情況下,如何得知房子的銷售價(jià)格。顯然,這是一個(gè)線性模型,房子面積是自變量x,銷售價(jià)格是因變量y。我們可以用給出的數(shù)據(jù)畫一張圖。然后,給出房子的面積,就可以從圖中得知房子的售價(jià)了。

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開發(fā),動(dòng)畫培訓(xùn)

現(xiàn)在我們的問題就是,針對(duì)給出的數(shù)據(jù),如何得到一條最擬合的直線。

對(duì)于線性模型,如下。

  • h(x)

    網(wǎng)友評(píng)論