<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
"); //-->

博客專(zhuān)欄

EEPW首頁(yè) > 博客 > 終于有人把線(xiàn)性回歸講明白了(1)

終于有人把線(xiàn)性回歸講明白了(1)

發(fā)布人:數據派THU 時(shí)間:2021-07-23 來(lái)源:工程師 發(fā)布文章

00 線(xiàn)性回歸:“鋼鐵直男”解決回歸問(wèn)題的正確方法

本文將介紹機器學(xué)習算法,我們選擇從線(xiàn)性回歸(Linear Regression)開(kāi)始。

許多機器學(xué)習教材習慣一上來(lái)就深入算法的細節,這當然也有好處,但學(xué)習一門(mén)之前不大接觸的新技術(shù)時(shí),我更傾向于遵循學(xué)習思維三部曲的節奏:是什么(What)、為什么(Why)和怎么做(How)。如果我們之前未接觸過(guò)機器學(xué)習,那么開(kāi)始學(xué)習時(shí)首先問(wèn)的當然是“機器學(xué)習是什么”。

所以我們選擇從線(xiàn)性回歸算法開(kāi)始。線(xiàn)性回歸算法不但結構簡(jiǎn)單,原理好懂,同時(shí)又包含了機器學(xué)習算法的典型運作特征,方便你鳥(niǎo)瞰機器學(xué)習算法的運行全貌,以及仔細觀(guān)察每個(gè)組成構件的細節情況。如果此前你并不了解機器學(xué)習,不妨將線(xiàn)性回歸當作機器學(xué)習算法中的入門(mén)任務(wù)。

學(xué)習新技術(shù)一直存在這樣的矛盾:技術(shù)太復雜則擔心學(xué)不會(huì ),技術(shù)太簡(jiǎn)單又擔心是不是已經(jīng)過(guò)時(shí)了。畢竟我們這個(gè)時(shí)代的計算機科學(xué)正在一日千里地飛速發(fā)展著(zhù),計算機類(lèi)教材里的許多技術(shù)可能已經(jīng)被新興技術(shù)取代而退出了歷史舞臺,只是出于知識結構的完整性等考慮才像恐龍骨架一樣在教材里保留著(zhù)一席之地。

但請放心,線(xiàn)性回歸完全不是這么一回事。線(xiàn)性回歸是一套在當下仍然具有很高實(shí)戰價(jià)值的算法,在很多現實(shí)場(chǎng)景中仍然發(fā)揮著(zhù)不可替代的作用,不但“麻雀雖小,五臟俱全”,適合介紹剖析,而且還像麻雀一樣,蹦蹦跳跳地活躍在機器學(xué)習應用的第一線(xiàn)。

想要說(shuō)清楚線(xiàn)性回歸,先回到“線(xiàn)性回歸”這個(gè)嚇人的名字上。在通往機器學(xué)習的路上有著(zhù)各色各樣的攔路虎,首先跳出來(lái)嚇你一哆嗦的肯定是那些古古怪怪的術(shù)語(yǔ),“線(xiàn)性回歸”就是里面的杰出代表。

初次接觸“線(xiàn)性回歸”,可能都不知道該怎么斷句,一不小心就要被嚇得干脆打退堂鼓。不要怕它,首先我們將這個(gè)看似無(wú)從下手的詞分成“線(xiàn)性”和“回歸”兩塊,可以認為這代表了兩個(gè)知識領(lǐng)域:前者是一類(lèi)模型,叫“線(xiàn)性模型”;后者是一類(lèi)問(wèn)題,叫“回歸問(wèn)題”。這樣“線(xiàn)性回歸”這個(gè)詞可以理解成一句話(huà),即用線(xiàn)性模型來(lái)解決回歸問(wèn)題。

線(xiàn)性模型和回歸問(wèn)題湊成一對并非是劇本一開(kāi)始就安排好的?;貧w問(wèn)題是機器學(xué)習中非常經(jīng)典的一類(lèi)問(wèn)題,換句話(huà)說(shuō),就是有許許多多的方法模型都會(huì )用于解決回歸問(wèn)題。但除了回歸問(wèn)題,這些方法模型也可以解決其他問(wèn)題,如分類(lèi)問(wèn)題。

總而言之,問(wèn)題和模型是多對多的關(guān)系,問(wèn)題提出要求,模型給予解決,畢竟算法和人生一樣,沒(méi)有劇本只有驚喜,遇上了又能對得上,那才好湊成一對,所以當大家用線(xiàn)性模型解決回歸問(wèn)題時(shí)發(fā)現還挺順手并經(jīng)常用,后來(lái)干脆起了“線(xiàn)性回歸”這個(gè)名字。

介紹完了名字,接下來(lái)就是“正菜”。大多數教材最習慣的做法是一上來(lái)就拋出各種眼花繚亂的公式,讓人深深陷入術(shù)語(yǔ)、符號和推導等細節之中,就像是正要開(kāi)始學(xué)游泳,不知就里便被扔進(jìn)了大海,從此拖著(zhù)長(cháng)長(cháng)的心理陰影。

細節很重要,但理念更重要,剛接觸機器學(xué)習誰(shuí)都只是一張白紙,要在上面大展宏圖,首先得確定基本主題,然后勾勒整體脈絡(luò ),最后才是添加細節。這也正是本書(shū)介紹機器學(xué)習的方式。

機器學(xué)習是問(wèn)題導向的,正因有了問(wèn)題才會(huì )設計算法,這是機器學(xué)習最主要的脈絡(luò )。本文要解決的問(wèn)題是回歸問(wèn)題,用的方法是線(xiàn)性回歸算法。如果也將線(xiàn)性回歸算法比作一架機器,那線(xiàn)性方程和偏差度量就是組成這架機器的兩大構件,它們在權值更新這套機制下齊心協(xié)力地運轉,最終解決回歸問(wèn)題。

這也是本文的要點(diǎn),請格外加以關(guān)注:

回歸問(wèn)題

線(xiàn)性方程

偏差度量

權值更新

01 用于預測未來(lái)的回歸問(wèn)題

所以如果你擔心接下來(lái)將要看到什么深奧的術(shù)語(yǔ)則大可不必,機器學(xué)習并非憑空而生的學(xué)科,這里所說(shuō)的回歸問(wèn)題正是從統計學(xué)那里借來(lái)的救兵。

兩百年前,與達爾文同時(shí)代的統計學(xué)家高爾頓在研究父代與子代的身高關(guān)系時(shí),發(fā)現一種“趨中效應”:如果父代身高高于平均值,則子代具有更高概率比他父親要矮,簡(jiǎn)單來(lái)說(shuō)就是身高回歸平均值?!盎貧w”一詞也由此而來(lái)。

在回歸的世界里,萬(wàn)物的發(fā)展軌跡都不是一條單調向上走或向下走的直線(xiàn),而是循著(zhù)均值來(lái)回波動(dòng),一時(shí)會(huì )墜入低谷,但也會(huì )迎來(lái)春暖花開(kāi),而一時(shí)春風(fēng)得意,也早晚會(huì )遇到坎坷挫折,峰回路轉,否極泰來(lái),從這個(gè)角度看,回歸與其說(shuō)是一個(gè)統計學(xué)問(wèn)題,不如說(shuō)更像是一個(gè)哲學(xué)問(wèn)題。

那么什么是回歸問(wèn)題呢?回歸問(wèn)題的具體例子很多,簡(jiǎn)單來(lái)說(shuō)各個(gè)數據點(diǎn)都沿著(zhù)一條主軸來(lái)回波動(dòng)的問(wèn)題都算是回歸問(wèn)題。

回歸問(wèn)題中有許多非常接地氣的問(wèn)題,譬如根據歷史氣象記錄預測明天的溫度、根據歷史行情預測明天股****的****、根據歷史記錄預測某篇文章的點(diǎn)擊率等都是回歸問(wèn)題。正因為回歸問(wèn)題充滿(mǎn)了濃厚的生活氣息,也就成為一類(lèi)十分常見(jiàn)的機器學(xué)習問(wèn)題。

當然,回歸問(wèn)題作為一種類(lèi)型,有著(zhù)自己獨特的結構特征,在上面描述什么是回歸問(wèn)題時(shí),我刻意反復使用“歷史”和“預測”這兩個(gè)詞,原因正是記錄歷史值和預測未來(lái)值是回歸問(wèn)題的兩個(gè)代表性特征。

在機器學(xué)習中,回歸問(wèn)題和分類(lèi)問(wèn)題都同屬有監督學(xué)習,在數據形式上也都十分相似,那么怎么區分一個(gè)問(wèn)題究竟是回歸問(wèn)題還是分類(lèi)問(wèn)題呢?

回歸問(wèn)題和分類(lèi)問(wèn)題最大的區別在于預測結果

根據預測值類(lèi)型的不同,預測結果可以分為兩種,一種是連續的,另一種是離散的,結果是連續的就是預測問(wèn)題。

這里的“連續”不是一個(gè)簡(jiǎn)單的形容詞,而是有著(zhù)嚴格的數學(xué)定義。不過(guò)額外引入太多復雜的概念反而會(huì )偏離主線(xiàn),好在“連續”是一個(gè)可以感受的概念,最直接的例子就是時(shí)間,時(shí)間當然是連續的,連續型數值在編程時(shí)通常用int和float類(lèi)型來(lái)表示,包括線(xiàn)性連續和非線(xiàn)性連續兩種,如圖3-1所示。

1.png2.png

▲圖3-1 連續型數據

相比之下,離散型數值的最大特征是缺乏中間過(guò)渡值,所以總會(huì )出現“階躍”的現象,譬如“是”和“否”,通常用bool類(lèi)型來(lái)表示,如圖3-2所示。

3.png

▲圖3-2 離散型數據

02 怎樣預測未來(lái)

回歸問(wèn)題是一類(lèi)預測連續值的問(wèn)題,而能滿(mǎn)足這樣要求的數學(xué)模型稱(chēng)作回歸模型,我們即將介紹的線(xiàn)性回歸就是回歸模型中的一種。許多教材講到回歸模型,總是匆匆進(jìn)入具體的算法當中,而往往忽略替初學(xué)者解答一個(gè)問(wèn)題:為什么回歸模型能夠進(jìn)行預測?這是一個(gè)似乎理所當然,但其實(shí)并沒(méi)有那么不喻自明的問(wèn)題。

許多人對“預測”的第一印象也許是傳說(shuō)中的一個(gè)故事,有兩位高人結伴出行,晚上歇于一處破廟,甲對乙說(shuō),“睡覺(jué)別靠墻,我剛掐指一算,寅時(shí)墻會(huì )倒?!币也恍家活櫟財[擺手,“我剛才也掐指一算,墻是倒向右邊,我靠左睡可保無(wú)憂(yōu)?!?/p>

故事里的高人也是要看書(shū)的,不過(guò)多半看的是《奇門(mén)遁甲》,而不太可能是《機器學(xué)習》。奇門(mén)遁甲不在本書(shū)的討論范圍,那么,機器學(xué)習的回歸模型能不能實(shí)現精準的預測呢?

也許可以,不過(guò)要有條件:需要有充足的歷史數據。數據的重要性怎么強調都不為過(guò),如果將機器學(xué)習算法比作一架機器,那么數據就是驅動(dòng)這架機器的燃料,沒(méi)有燃料驅動(dòng),機器設計得再精巧也只能是擺設。

我們不是要預測未來(lái)嗎,為什么反而說(shuō)歷史數據這么重要呢?這個(gè)問(wèn)題涉及哲學(xué),可以追溯到世界是萬(wàn)事萬(wàn)物相互聯(lián)系的統一整體,或者簡(jiǎn)單一點(diǎn),不妨把預測當作一次偵探小說(shuō)中的推理過(guò)程,犯罪手法總是要留下痕跡的,只要你找到相關(guān)聯(lián)的線(xiàn)索,就能夠推理出最終的結果。

當然,預測難就難在待預測對象與什么相關(guān)是未知的,不過(guò)好在其中的關(guān)聯(lián)關(guān)系就藏在歷史數據之中,你要做的就是通過(guò)機器學(xué)習算法把它挖掘出來(lái)。機器學(xué)習算法并不發(fā)明關(guān)系,只是關(guān)聯(lián)關(guān)系的搬運工。有一種尚存爭議的觀(guān)點(diǎn)甚至說(shuō)得更直白:機器學(xué)習遠不是什么欲說(shuō)還休的神秘技術(shù),從數學(xué)的角度看就是擬合,對輸入數據點(diǎn)的擬合。

機器學(xué)習實(shí)現預測的流程

機器學(xué)習算法究竟有什么魔力,竟然能夠預測未來(lái)?不妨就以前面兩個(gè)高人的故事為例,用科學(xué)觀(guān)點(diǎn)來(lái)研究墻體坍塌的問(wèn)題。墻體坍塌可能由許多偶然因素導致,我們都不是土木專(zhuān)家,不妨憑感覺(jué)隨手列出幾條可能導致墻坍塌的因素:

譬如可能與砌墻的材質(zhì)有關(guān),土坯墻總比水泥墻容易垮塌;

可能與使用時(shí)間的長(cháng)短有關(guān);

可能與承建商有關(guān),喜歡偷工減料的工程隊容易出“豆腐渣工程”;

還有一些外部環(huán)境因素,譬如整天風(fēng)吹雨淋的墻容易垮塌;

最后就是墻體坍塌之前總會(huì )有一些早期跡象,譬如已經(jīng)出現很多裂縫等。

上面所列因素有三種情況:與坍塌密切相關(guān),與坍塌有點(diǎn)關(guān)系,以及與坍塌毫無(wú)瓜葛。如果人工完成預測任務(wù),當然最重要的工作就是找出哪些是密切相關(guān)的,放在第一位;哪些是有點(diǎn)關(guān)系的,放在參考位置;哪些毫無(wú)瓜葛,統統刪掉。

可是我們又怎么知道哪些因素有哪些關(guān)系呢?這時(shí)我們就可以制作一張調查表,把砌墻用的什么材料、已經(jīng)用了多久、出現了多少條裂縫等情況一一填進(jìn)去,這就是前面所說(shuō)的數據集中每一條樣本數據的維度。就像商家很喜歡通過(guò)網(wǎng)上問(wèn)卷來(lái)了解用戶(hù)偏好一樣,我們也利用調查表來(lái)了解墻體坍塌有什么“偏好”。

調查表大概形式如下表所示。

4.png

最后一欄是“坍塌概率”,這是我們最關(guān)心的,也是有監督學(xué)習所必需的。這些已知的坍塌概率以及相關(guān)的維度數據將為未知概率的預測提供重要幫助。

最后也是最關(guān)鍵的一步,是找出各個(gè)維度和坍塌之間的概率,而這個(gè)步驟將由模型自行完成。

我們要做的只是將長(cháng)長(cháng)的歷史數據輸入回歸模型,回歸模型就會(huì )通過(guò)統計方法尋找墻體坍塌的關(guān)聯(lián)關(guān)系,看看使用時(shí)間的長(cháng)短和承建商的選擇誰(shuí)更重要,相關(guān)術(shù)語(yǔ)叫作訓練模型,從數學(xué)的角度看,這個(gè)過(guò)程就是通過(guò)調節模型參數從而擬合數據。怎樣調節參數來(lái)擬合數據是每一款機器學(xué)習模型都需要思考的重要問(wèn)題。

模型訓練完畢后,再把當前要預測的墻體情況按數據維度依次填好,回歸模型就能告訴我們當前墻體坍塌概率的預測結果了。流程如圖3-3所示。

5.png

▲圖3-3 回歸模型訓練示意圖

可以看出,回歸模型就是預測的關(guān)鍵,我們通過(guò)給模型“喂”數據來(lái)訓練它,最終讓它具備了預測的能力。也許你對“模型”這個(gè)詞感到陌生又好奇,不知道該在腦海里給它分配一個(gè)什么樣的形象。而圖3-3的“模型”是一個(gè)大大的四方盒子,塞進(jìn)數據就能吐出預測結果,像是奇幻故事中巫師手中具有神奇魔力的水晶球。

不用著(zhù)急,“模型”這個(gè)詞將貫穿我們對機器學(xué)習的整個(gè)巡禮,就像慶典游行里的花車(chē)正等著(zhù)我們逐一觀(guān)賞呢。接下來(lái)迎面走來(lái)的就是第一款模型——線(xiàn)性模型。

*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。



關(guān)鍵詞: 大數據

相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>