前言
之前已經(jīng)把我們的這個(gè)模型介紹的很多了仔燕,還記得我們是要干什么嗎椅亚。就是要擬合出一條直線符合大多數(shù)的數(shù)據(jù)點(diǎn)恢恼,這就是最為經(jīng)典的線性回歸模型副瀑。
輸出房?jī)r(jià)
為了方便說(shuō)明弓熏,我們假設(shè)一組房?jī)r(jià)的數(shù)據(jù)如下:
可以看到我們這個(gè)模型只有一個(gè)變量,就是房子的面積糠睡,而成交價(jià)則對(duì)應(yīng)著函數(shù)的輸出y挽鞠。我們最后需要完成一個(gè)函數(shù)對(duì)于新的房子面積,能輸出該房子的成交價(jià)狈孔,我們定義我們的輸出函數(shù)h(姑且這么叫...)
h(x)=θx;
我們的任務(wù)就是找到一個(gè)合適的θ值信认,假如我現(xiàn)在的θ是1.8,那么對(duì)于輸入100就會(huì)給出180均抽,對(duì)于150就會(huì)給出270狮杨。但是現(xiàn)在的這個(gè)函數(shù)還存在一個(gè)問(wèn)題,就是這個(gè)函數(shù)是一條過(guò)原點(diǎn)的直線到忽,它還不夠“通用”橄教,萎了使它盡可能的擬合更多數(shù)據(jù),可以修改一下:
h(x)=θ0+θ1x;(這里數(shù)字是下標(biāo))
這樣如果最后直線過(guò)原點(diǎn)喘漏,只要θ0=0就可以了护蝶,所以它的適用性更強(qiáng)一點(diǎn)。這就是我們的輸出函數(shù)h了翩迈,對(duì)于每個(gè)x它都能給出y(對(duì)于每個(gè)面積的房子都能預(yù)測(cè)對(duì)應(yīng)的房?jī)r(jià))持灰。但是不要忘了,現(xiàn)在θ是多少我們可還不知道负饲。
差距有多大
想要找到合適的θ堤魁,就需要我們?cè)u(píng)判一下當(dāng)前的這個(gè)輸出函數(shù)h和實(shí)際給出的數(shù)據(jù)集有多大差距喂链。這就需要我們的代價(jià)函數(shù)出場(chǎng)了(重點(diǎn)函數(shù)QAQ):
這里的m表示總共幾組數(shù)據(jù),我們的模擬數(shù)據(jù)m=3妥泉。而這里的i顯而易見(jiàn)就是第幾組數(shù)據(jù)椭微,xi,yi分別代表著第i組數(shù)據(jù)的x,y。對(duì)于我們的模擬數(shù)據(jù)盲链,x1=100,y1=200,x2=150,y2=250,x3=80,y3=150蝇率。
這個(gè)函數(shù)是如何工作的,其實(shí)非常容易理解刽沾,我們先把它前面的求和去掉本慕,只看第一組數(shù)據(jù),現(xiàn)在函數(shù)就是這樣子的:
J=(h(x1)-y1)2
第一組數(shù)據(jù)x1=100,y1=200侧漓。通常我們初始化θ為0锅尘,所以現(xiàn)在θ0和θ1都為0。那很明顯無(wú)論輸入的x是多少布蔗,我們的函數(shù)h(x1)其實(shí)都是0的藤违,那對(duì)于第一組數(shù)據(jù),J的值就是(0-200)2=40000何鸡。
對(duì)于每一組數(shù)據(jù)都如此計(jì)算然后加起來(lái)最后除以2m就是我們的代價(jià)函數(shù)的輸出了,對(duì)應(yīng)我們的模擬數(shù)據(jù)牛欢,最后輸出應(yīng)該為20833.3骡男。
從上面不難看出,對(duì)每項(xiàng)的計(jì)算其實(shí)就是在算我們目前的輸出函數(shù)h輸出的預(yù)測(cè)值和實(shí)際的值之間的差距傍睹,如果我們的模型已經(jīng)成熟了隔盛,那么這個(gè)代價(jià)函數(shù)理論上的輸出值應(yīng)該為0,因?yàn)槊宽?xiàng)的h(x)-y都為0拾稳,求和后也為0吮炕,除2m還是為0。
實(shí)際上不存在這么完美的事情访得,但是只要這個(gè)代價(jià)函數(shù)已經(jīng)很接近0了龙亲,那么我們的目標(biāo)也就達(dá)到了,可以看到悍抑,代價(jià)函數(shù)對(duì)我們目前僅僅只是初始化的函數(shù)h非常不滿鳄炉,輸出的值很大,說(shuō)明離擬合成功還有非常大的差距(這么大的原因還因?yàn)槟M的數(shù)據(jù)比較大搜骡,實(shí)際上對(duì)于比較大的數(shù)據(jù)通常運(yùn)用特征縮放讓它變小拂盯,先不管它)。
接下來(lái)干什么
現(xiàn)在我們知道了輸出函數(shù)h以及代價(jià)函數(shù)J记靡,也知道了如何評(píng)估當(dāng)前的h的好壞谈竿,但是光知道好壞沒(méi)有用啊团驱,怎么讓它變好呢。下一次就會(huì)說(shuō)道梯度下降算法來(lái)讓我們的h函數(shù)越來(lái)越好空凸,也就是漸漸的找到合適的θ值(畢竟函數(shù)h是由θ決定的)嚎花。
當(dāng)h漸漸符合我們的預(yù)期后,我們的模型就已經(jīng)完成了劫恒。我們離預(yù)測(cè)房?jī)r(jià)攀上人生巔峰越來(lái)越近了2333
這些都是基于我最近自己學(xué)習(xí)整理的贩幻,希望加強(qiáng)自己的理解,也方便以后回顧两嘴。希望與大家分享交流丛楚,也希望大佬指正(T-T).