目錄
1.什么是回歸
2.一元線(xiàn)性回歸
3.損失函數(shù)
4.最小二乘估計(jì)
5.小結(jié)
1. 什么是回歸
當(dāng)我們學(xué)習(xí)一門(mén)新課程姐叁、接觸一個(gè)新專(zhuān)業(yè)時(shí),總會(huì)對(duì)該領(lǐng)域的專(zhuān)有名詞感到困惑洗显,甚至看完解釋仍難以理解其含義外潜。在我們一起學(xué)習(xí)machine learning的過(guò)程中,我會(huì)盡量對(duì)相關(guān)名詞用“人話(huà)”做一遍解釋?zhuān)詼p少學(xué)習(xí)的“痛苦感”挠唆。
譬如今天要學(xué)的線(xiàn)性“回歸”处窥,這個(gè)回歸(regression)和我們平時(shí)說(shuō)的“回歸祖國(guó)”的回歸(return)是兩個(gè)含義完全不同的詞,它有“倒推”的含義在里面玄组。我們學(xué)習(xí)的時(shí)候一定要拋開(kāi)現(xiàn)有的認(rèn)知滔驾,這樣才能對(duì)新知識(shí)有更高的接受度谒麦。
那么,這個(gè)回歸究竟是什么意思呢哆致?其實(shí)回歸算法是相對(duì)分類(lèi)算法而言的绕德,與我們想要預(yù)測(cè)的目標(biāo)變量y的值類(lèi)型有關(guān)。如果目標(biāo)變量y是分類(lèi)型變量摊阀,如預(yù)測(cè)用戶(hù)的性別(男迁匠、女),預(yù)測(cè)月季花的顏色(紅驹溃、白、黃……)延曙,預(yù)測(cè)是否患有肺癌(是豌鹤、否),那我們就需要用分類(lèi)算法去擬合訓(xùn)練數(shù)據(jù)并做出預(yù)測(cè)枝缔;如果y是連續(xù)型變量布疙,如預(yù)測(cè)用戶(hù)的收入(4千,2萬(wàn)愿卸,10萬(wàn)……)灵临,預(yù)測(cè)員工的通勤距離(500m,1km趴荸,2萬(wàn)里……)儒溉,預(yù)測(cè)患肺癌的概率(1%,50%发钝,99%……)顿涣,我們則需要用回歸模型。
聰明的你一定會(huì)發(fā)現(xiàn)酝豪,有時(shí)分類(lèi)問(wèn)題也可以轉(zhuǎn)化為回歸問(wèn)題涛碑,例如剛剛舉例的肺癌預(yù)測(cè),我們可以用回歸模型先預(yù)測(cè)出患肺癌的概率孵淘,然后再給定一個(gè)閾值蒲障,例如50%,概率值在50%以下的人劃為沒(méi)有肺癌瘫证,50%以上則認(rèn)為患有肺癌揉阎。
這種分類(lèi)型問(wèn)題的回歸算法預(yù)測(cè),最常用的就是邏輯回歸背捌,后面我們會(huì)講到余黎。
2.一元線(xiàn)性回歸
線(xiàn)性回歸可以說(shuō)是用法非常簡(jiǎn)單、用處非常廣泛载萌、含義也非常容易理解的一類(lèi)算法惧财,作為機(jī)器學(xué)習(xí)的入門(mén)算法非常合適巡扇。我們上中學(xué)的時(shí)候,都學(xué)過(guò)二元一次方程垮衷,我們將y作為因變量厅翔,x作為自變量,得到方程:
當(dāng)給定參數(shù)和的時(shí)候搀突,畫(huà)在坐標(biāo)圖內(nèi)是一條直線(xiàn)(這就是“線(xiàn)性”的含義)刀闷。
當(dāng)我們只用一個(gè)x來(lái)預(yù)測(cè)y,就是一元線(xiàn)性回歸仰迁,也就是在找一個(gè)直線(xiàn)來(lái)擬合數(shù)據(jù)甸昏。比如,我有一組數(shù)據(jù)畫(huà)出來(lái)的散點(diǎn)圖徐许,橫坐標(biāo)代表廣告投入金額施蜜,縱坐標(biāo)代表銷(xiāo)售量,線(xiàn)性回歸就是要找一條直線(xiàn)雌隅,并且讓這條直線(xiàn)盡可能地?cái)M合圖中的數(shù)據(jù)點(diǎn)翻默。
這里我們得到的擬合方程是y = 0.0512x + 7.1884,此時(shí)當(dāng)我們獲得一個(gè)新的廣告投入金額后恰起,我們就可以用這個(gè)方程預(yù)測(cè)出大概的銷(xiāo)售量修械。
數(shù)學(xué)理論的世界是精確的,譬如你代入x=0就能得到唯一的 检盼,=7.1884(y上面加一個(gè)小帽子hat肯污,表示這個(gè)不是我們真實(shí)觀測(cè)到的,而是估計(jì)值)吨枉。但現(xiàn)實(shí)世界中的數(shù)據(jù)就像這個(gè)散點(diǎn)圖仇箱,我們只能盡可能地在雜亂中尋找規(guī)律。用數(shù)學(xué)的模型去擬合現(xiàn)實(shí)的數(shù)據(jù)东羹,這就是統(tǒng)計(jì)剂桥。統(tǒng)計(jì)不像數(shù)學(xué)那么精確,統(tǒng)計(jì)的世界不是非黑即白的属提,它有“灰色地帶”权逗,但是統(tǒng)計(jì)會(huì)將理論與實(shí)際間的差別表示出來(lái),也就是“誤差”冤议。
因此斟薇,統(tǒng)計(jì)世界中的公式會(huì)有一個(gè)小尾巴 ,用來(lái)代表誤差恕酸,即:
3.損失函數(shù)
那既然是用直線(xiàn)擬合散點(diǎn)堪滨,為什么最終得到的直線(xiàn)是y = 0.0512x + 7.1884,而不是下圖中的y = 0.0624x + 5呢蕊温?這兩條線(xiàn)看起來(lái)都可以擬合這些數(shù)據(jù)案は洹遏乔?畢竟數(shù)據(jù)不是真的落在一條直線(xiàn)上,而是分布在直線(xiàn)周?chē)⒈剩晕覀円业揭粋€(gè)評(píng)判標(biāo)準(zhǔn)盟萨,用于評(píng)價(jià)哪條直線(xiàn)才是最“合適”的。
我們先從殘差說(shuō)起了讨。殘差說(shuō)白了就是真實(shí)值和預(yù)測(cè)值間的差值(也可以理解為差距捻激、距離),用公式表示是:
對(duì)于某個(gè)廣告投入 前计,我們有對(duì)應(yīng)的實(shí)際銷(xiāo)售量 胞谭,和預(yù)測(cè)出來(lái)的銷(xiāo)售量(通過(guò)將代入公式計(jì)算得到),計(jì)算的值男杈,再將其平方(為了消除負(fù)號(hào))丈屹,對(duì)于我們數(shù)據(jù)中的每個(gè)點(diǎn)如此計(jì)算一遍,再將所有的相加势就,就能量化出擬合的直線(xiàn)和實(shí)際之間的誤差。
用公式表示就是:
這個(gè)公式是殘差平方和脉漏,即SSE(Sum of Squares for Error)苞冯,在機(jī)器學(xué)習(xí)中它是回歸問(wèn)題中最常用的損失函數(shù)。
現(xiàn)在我們知道了損失函數(shù)是衡量回歸模型誤差的函數(shù)侧巨,也就是我們要的“直線(xiàn)”的評(píng)價(jià)標(biāo)準(zhǔn)舅锄。這個(gè)函數(shù)的值越小,說(shuō)明直線(xiàn)越能擬合我們的數(shù)據(jù)司忱。如果還是覺(jué)得難理解皇忿,我下面就舉個(gè)具體的例子。
用文章開(kāi)頭的例子坦仍,假設(shè)我們有一組樣本鳍烁,建立了一個(gè)線(xiàn)性回歸模型f(x),其中一個(gè)樣本A是這樣的:公司投入了x=1000元做廣告繁扎,銷(xiāo)售量為y=60幔荒,f(x=1000)算出來(lái)是50,有-10的偏差梳玫。
樣本B:x=2000爹梁,銷(xiāo)售量為y=95,f(x=2000)=100提澎,偏差為5姚垃。
樣本C:x=3000,銷(xiāo)售量為y=150盼忌,f(x=2000)=150积糯,偏差為0哦掂墓,沒(méi)有偏差~
要計(jì)算A、B絮宁、C的整體偏差梆暮,因?yàn)橛姓胸?fù),所以做個(gè)平方绍昂,都弄成正的啦粹,然后再相加,得到總偏差窘游,也就是平方損失唠椭,是125。
4.最小二乘估計(jì)
我們不禁會(huì)問(wèn)忍饰,這個(gè)和的具體值究竟是怎么算出來(lái)的呢贪嫂?
我們知道,兩點(diǎn)確定一線(xiàn)艾蓝,有兩組x力崇,y的值,就能算出來(lái)和赢织。但是現(xiàn)在我們有很多點(diǎn)亮靴,且并不正好落在一條直線(xiàn)上,這么多點(diǎn)每?jī)牲c(diǎn)都能確定一條直線(xiàn)于置,這到底要怎么確定選哪條直線(xiàn)呢茧吊?
當(dāng)給出兩條確定的線(xiàn),如y = 0.0512x + 7.1884八毯,y = 0.0624x + 5時(shí)搓侄,我們知道怎么評(píng)價(jià)這兩個(gè)中哪一個(gè)更好,即用損失函數(shù)評(píng)價(jià)话速。那么我們?cè)囋嚨雇埔幌拢?/p>
以下是我們最頭疼的數(shù)據(jù)公式推導(dǎo)讶踪,我盡量對(duì)每個(gè)公式作解釋說(shuō)明。
給定一組樣本觀測(cè)值俊柔,要求回歸函數(shù)盡可能擬合這組值。普通最小二乘法給出的判斷標(biāo)準(zhǔn)是:殘差平方和的值達(dá)到最小活合。
我們?cè)賮?lái)看一下殘差平方和的公式:
這個(gè)公式是一個(gè)二次方程雏婶,我們知道一元二次方程差不多長(zhǎng)下圖這樣:
上面公式中 和未知,有兩個(gè)未知參數(shù)的二次方程白指,畫(huà)出來(lái)是一個(gè)三維空間中的圖像留晚,類(lèi)似下面:
這類(lèi)函數(shù)在數(shù)學(xué)中叫做**凸函數(shù)**,關(guān)于什么凸函數(shù)的數(shù)學(xué)定義,可以看這篇:什么是凸函數(shù)
還記得微積分知識(shí)的話(huà)错维,就知道導(dǎo)數(shù)為0時(shí)奖地,Q取最小值,因此我們分別對(duì)未知參數(shù)求偏導(dǎo)并令其等于0:
都是已知的参歹,全部代入就可求得的值啦。這就是最小二乘法隆判,“二乘”是平方的意思犬庇。
5.小結(jié)
線(xiàn)性回歸的定義,是利用最小二乘函數(shù)對(duì)一個(gè)或多個(gè)自變量之間關(guān)系進(jìn)行建模的方法∏揉郑現(xiàn)在我們看這個(gè)定義臭挽,是不是覺(jué)得不難理解了呢?
以上舉的例子是一維的例子(x只有一個(gè))咬腕,如果有兩個(gè)特征欢峰,就是二元線(xiàn)性回歸,要擬合的就是二維空間中的一個(gè)平面涨共。如果有多個(gè)特征纽帖,那就是多元線(xiàn)性回歸:
最后再提醒一點(diǎn),做線(xiàn)性回歸举反,不要忘了前提假設(shè)是y和x呈線(xiàn)性關(guān)系懊直,如果兩者不是線(xiàn)性關(guān)系,就要選用其他的模型啦照筑。