2.1 監(jiān)督學(xué)習(xí)
原文:Machine Learning for Humans, Part 2.1: Supervised Learning
作者:Vishal Maini
譯者:飛龍
協(xié)議:CC BY-NC-SA 4.0
監(jiān)督學(xué)習(xí)的兩大任務(wù):回歸和分類窍帝。線性回歸愕乎,損失函數(shù)和梯度下降。
通過(guò)在數(shù)字廣告上花費(fèi)更多的錢(qián)唠亚,我們能掙多少錢(qián)?這個(gè)貸款的申請(qǐng)人是否能償還貸款悍募?股市明天會(huì)發(fā)生什么茧彤?
在監(jiān)督學(xué)習(xí)的問(wèn)題中,我們以一個(gè)數(shù)據(jù)集開(kāi)始星爪,它包含訓(xùn)練樣本浆西,每個(gè)樣本帶有關(guān)聯(lián)的正確標(biāo)簽。例如顽腾,學(xué)習(xí)分類手寫(xiě)數(shù)字的時(shí)候近零,監(jiān)督學(xué)習(xí)算法接受數(shù)千張手寫(xiě)體數(shù)字的圖片,以及標(biāo)簽抄肖,它們包含每個(gè)圖片表示的正確數(shù)字久信。算法會(huì)學(xué)習(xí)圖像和關(guān)聯(lián)的數(shù)值的關(guān)系。之后將學(xué)到的關(guān)系用于劃分全新的圖片(不帶標(biāo)簽)漓摩,機(jī)器從來(lái)沒(méi)有見(jiàn)過(guò)它們裙士。這就是你可以通過(guò)使用手機(jī)拍張照片,來(lái)存入支票的原因管毙。
為了展示監(jiān)督學(xué)習(xí)的工作原理腿椎,讓我們看一個(gè)問(wèn)題桌硫,根據(jù)某人完成的高等教育的年數(shù),來(lái)預(yù)測(cè)年收入啃炸。更形式化來(lái)說(shuō)铆隘,我們打算構(gòu)建一個(gè)模型,它近似描述了高等教育年數(shù)X
和對(duì)應(yīng)年收入Y
的關(guān)系f
南用。
Y = f(X) + ?
X
(輸入)為高等教育的年數(shù)
Y
(輸出)為年收入
f
為描述X
和Y
關(guān)系的函數(shù)
?
(epsilon)為隨機(jī)誤差項(xiàng)(可正可負(fù))膀钠,均值為零
關(guān)于
?
:
?
表示模型的殘余誤差,它是你的算法的理論極限训枢,由于你嘗試解釋的現(xiàn)象中存在固有噪聲托修。例如,想象構(gòu)建一個(gè)模型來(lái)預(yù)測(cè)拋硬幣的結(jié)果恒界。
此外铺根,數(shù)學(xué)家 Paul Erd?s 將孩子們稱為
?
乳绕,因?yàn)樵谖⒎e分中(而不是統(tǒng)計(jì)學(xué)),?
代表任意小的正數(shù)值。很恰當(dāng)吧萄窜?
一種預(yù)測(cè)收入的方式,就是創(chuàng)建一個(gè)基于規(guī)則的嚴(yán)格模型艳吠,來(lái)表示收入和教育如何相關(guān)主卫。例如,我估計(jì)出虾宇,高等教育每增加一年搓彻,年收入增加 $5000。
income = ($5,000 * years_of_education) + baseline_income
這個(gè)方式就是構(gòu)建一個(gè)解的示例(而不是學(xué)習(xí)一個(gè)解嘱朽,就像下面描述的線性回歸方法那樣)旭贬。
通過(guò)包含一些規(guī)則,關(guān)于學(xué)位類型搪泳、工作年數(shù)稀轨、學(xué)校的層次,以及其它岸军,你可以提出一個(gè)更復(fù)雜的模型奋刽。例如,“如果他們完成了學(xué)士或更高的學(xué)位艰赞,就將收入估計(jì)為 1.5 倍”佣谐。
但是這種類型的,明確的基于規(guī)則的規(guī)劃方妖,對(duì)于復(fù)雜數(shù)據(jù)不是很有效狭魂。想像一下,嘗試設(shè)計(jì)一個(gè)圖像分類器算法,它由if-then
語(yǔ)句組成趁蕊。這些語(yǔ)句描述了像素亮度的組合坞生,來(lái)判斷它是否是一只貓。
監(jiān)督機(jī)器學(xué)習(xí)通過(guò)讓計(jì)算機(jī)為你工作掷伙,來(lái)解決這個(gè)問(wèn)題是己。通過(guò)識(shí)別數(shù)據(jù)中的規(guī)律,機(jī)器能夠得到啟發(fā)任柜。這個(gè)和人類學(xué)習(xí)最大的差異是卒废,機(jī)器學(xué)習(xí)運(yùn)行在計(jì)算機(jī)硬件上,并且可以通過(guò)計(jì)算機(jī)科學(xué)和統(tǒng)計(jì)學(xué)的視角很好地理解宙地,然而人類的模式識(shí)別發(fā)生在生物大腦中(不過(guò)完成了相同的目標(biāo))摔认。
在監(jiān)督學(xué)習(xí)中,機(jī)器試圖從零開(kāi)始 學(xué)習(xí)收入和教育之間的關(guān)系宅粥,通過(guò)使用帶標(biāo)簽的訓(xùn)練數(shù)據(jù)來(lái)運(yùn)行算法参袱。習(xí)得的函數(shù)可以用于估計(jì)人們的收入,其中收入Y
是未知的秽梅,只要我們將教育年數(shù)X
作為輸入抹蚀。換句話說(shuō),我們可以將我們的模型用于不帶標(biāo)簽的測(cè)試數(shù)據(jù)來(lái)估計(jì)Y
企垦。
監(jiān)督學(xué)習(xí)的目標(biāo)是环壤,當(dāng)獲得X
已知Y
未知的新樣本時(shí),盡可能準(zhǔn)確地預(yù)測(cè)Y
钞诡。下面我們會(huì)探索多種最常見(jiàn)的方法郑现。
監(jiān)督學(xué)習(xí)的兩個(gè)任務(wù):回歸和分類
回歸:預(yù)測(cè)連續(xù)數(shù)值。某個(gè)房子售價(jià)是多少荧降?
分類:分配標(biāo)簽接箫。某幅畫(huà)是貓還是狗?
這一節(jié)的剩余部分會(huì)關(guān)注回歸誊抛。2.2 節(jié)中我們會(huì)深入分類方法列牺。
回歸:預(yù)測(cè)連續(xù)值
回歸預(yù)測(cè)連續(xù)的目標(biāo)變量Y
整陌。它允許你估計(jì)一個(gè)值拗窃,例如房?jī)r(jià)或者人類壽命,基于輸入數(shù)據(jù)X
泌辫。
這里随夸,目標(biāo)變量的意思是我們所關(guān)心的,用于預(yù)測(cè)的位置變量震放。連續(xù)的意思是宾毒,在Y
可以取的值中,不存在間隔(不連續(xù))殿遂。另一方面诈铛,離散變量乙各,只可以取有限個(gè)數(shù)的值。例如幢竹,孩子的數(shù)量是個(gè)連續(xù)變量耳峦。
收入的預(yù)測(cè)是個(gè)經(jīng)典的回歸問(wèn)題。你的輸入數(shù)據(jù)X
包含所有數(shù)據(jù)集中的個(gè)體的相關(guān)信息焕毫,可以用于預(yù)測(cè)收入蹲坷,例如教育年數(shù)、工作年數(shù)邑飒、職位循签、或者郵政編碼。這些屬性叫做特征疙咸,它們可以是數(shù)值(例如工作年數(shù))县匠,或者分類(例如職位和研究領(lǐng)域)。
你可能想要盡可能多的撒轮,和這些特征相關(guān)的訓(xùn)練觀測(cè)值聚唐,來(lái)定位輸出Y
,使你的模型可以學(xué)習(xí)X
和Y
之間的關(guān)系f
腔召。
數(shù)據(jù)分為訓(xùn)練集和測(cè)試集杆查。訓(xùn)練集擁有標(biāo)簽,所以你的模型可以從這些帶標(biāo)簽的樣本中學(xué)習(xí)臀蛛。測(cè)試集不帶標(biāo)簽亲桦,也就是,你還不知道你嘗試預(yù)測(cè)的值浊仆。你的模型可以推廣到從未見(jiàn)過(guò)的情況客峭,以便它在測(cè)試數(shù)據(jù)上表現(xiàn)良好,這個(gè)十分重要抡柿。
回歸
Y = f(X) + ?
舔琅,其中X = (x1, x2 … xn)
訓(xùn)練:機(jī)器從帶標(biāo)簽的訓(xùn)練數(shù)據(jù)習(xí)得
f
測(cè)試:機(jī)器從不帶標(biāo)簽的測(cè)試數(shù)據(jù)預(yù)測(cè)
Y
要注意,
X
可以是個(gè)張量洲劣,它的維度可以是任意的备蚓。一維張量是向量(一行多列),二維張量是矩陣(多行多列)囱稽。你也可以擁有三郊尝、四、五甚至更高維的張量(例如三維張量擁有行战惊、列和深度)流昏。為了回顧這些術(shù)語(yǔ),請(qǐng)參考線性代數(shù)回顧的前幾頁(yè)。
在我們的非常簡(jiǎn)單的二維示例中况凉,它的形式是csv
文件谚鄙,其中每行包含一個(gè)人的教育水平和收入。使用更多特征來(lái)添加更多的列刁绒,你可以擁有更加復(fù)雜但是可能更加準(zhǔn)確的模型襟锐。
所以我們?nèi)绾谓鉀Q這些問(wèn)題?
我們?nèi)绾螛?gòu)建模型膛锭,在現(xiàn)實(shí)世界中做出更準(zhǔn)確粮坞、實(shí)用的預(yù)測(cè)?我們可以通過(guò)使用監(jiān)督學(xué)習(xí)算法來(lái)實(shí)現(xiàn)初狰。
現(xiàn)在讓我們進(jìn)行最有意思的部分:了解算法莫杈。我們會(huì)探索幾種方式來(lái)實(shí)現(xiàn)回歸和分類,并且展示機(jī)器學(xué)習(xí)概念中的關(guān)鍵奢入。
線性回歸(普通最小二乘)
畫(huà)一條直線筝闹。是的,這也算機(jī)器學(xué)習(xí)腥光。
首先关顷,我們專注于使用線性回歸解決收入預(yù)測(cè)問(wèn)題,因?yàn)榫€性模型不是很適合圖像識(shí)別任務(wù)(這是深度學(xué)習(xí)的領(lǐng)域武福,我們之后也會(huì)探索)议双。
我們擁有數(shù)據(jù)集X
,以及對(duì)應(yīng)的目標(biāo)值Y
捉片。普通最小二乘(OLS)的目標(biāo)是平痰,習(xí)得一個(gè)線性模型,如果我們得到了一個(gè)未見(jiàn)過(guò)的x
伍纫,我們可以用它來(lái)預(yù)測(cè)新的y
宗雇,并且誤差盡可能小。我們打算基于某個(gè)人的教育年數(shù)莹规,猜測(cè)它的收入赔蒲。
X_train = [4, 5, 0, 2, …, 6] # 高等教育的年數(shù)
Y_train = [80, 91.5, 42, 55, …, 100] # 對(duì)應(yīng)的年收入,單位為千美元
線性回歸是個(gè)參數(shù)化方法良漱,也就是說(shuō)舞虱,它需要作出X
和Y
的函數(shù)形式的假設(shè)(我們之后會(huì)涉及非參數(shù)化方法的示例)。我們的模型是個(gè)函數(shù)债热,使用特定的x
預(yù)測(cè)?
:
這里砾嫉,我們做出了一個(gè)明確的假設(shè)幼苛,
X
和Y
是存在線性關(guān)系的窒篱。也就是說(shuō),對(duì)于每個(gè)X
中的單位增長(zhǎng),Y
的增長(zhǎng)(或下降)不變墙杯。
β0
是縱截距配并,β1
是直線斜率,也就是教育每增加一年高镐,收入增長(zhǎng)(或者下降)多少溉旋。
我們的目標(biāo)是,習(xí)得模型參數(shù)(這里是β0
和β1
)嫉髓,使模型預(yù)測(cè)中的誤差最小观腊。
為了尋找最佳的參數(shù):
定義一個(gè)成本函數(shù),或者損失函數(shù)算行,它度量了我們的模型的預(yù)測(cè)有多么準(zhǔn)確梧油。
尋找使損失最小的參數(shù),也就是州邢,使我們的模型盡可能準(zhǔn)確儡陨。
以圖形的方式,在二維中量淌,它會(huì)產(chǎn)生一條最佳擬合直線骗村。在三維中,我們可以畫(huà)一個(gè)平面呀枢,所以高維中就是超平面胚股。
維度的注解:為了簡(jiǎn)便,我們的示例是二維的裙秋,但是你的模型通常擁有更多特征(
x
)和系數(shù)(β
)信轿。例如,添加更多相關(guān)變量残吩,來(lái)提升模型預(yù)測(cè)的準(zhǔn)確性财忽。相同的原理可以推廣到高維,雖然超過(guò)三維的東西很難可視化泣侮。
在數(shù)學(xué)上即彪,我們觀察每個(gè)真實(shí)數(shù)據(jù)點(diǎn)(y
)和我們的模型的預(yù)測(cè)(?
)之間的差。計(jì)算這些差的平方來(lái)避免負(fù)數(shù)活尊,并懲罰較大的差隶校,之后將它們相加并取平均。這度量了我們的數(shù)據(jù)有多么接近直線蛹锰。
n
為觀察值的的數(shù)量深胳。使用2 * n
來(lái)代替n
,在求導(dǎo)來(lái)使損失最小時(shí)铜犬,使我們的式子更加整潔舞终,雖然一些統(tǒng)計(jì)學(xué)家認(rèn)為這是這種褻瀆轻庆。當(dāng)你開(kāi)始對(duì)這種東西有意見(jiàn)的時(shí)候,你就太偏執(zhí)了敛劝。
對(duì)于一個(gè)像這樣的簡(jiǎn)單問(wèn)題余爆,我們可以使用微積分計(jì)算閉式解,來(lái)尋找最佳的β
參數(shù)夸盟,它使我們的損失函數(shù)最小蛾方。但是隨著成本函數(shù)的復(fù)雜性的增長(zhǎng),使用微積分尋找閉式解就不太可能了上陕。這就推動(dòng)了一種迭代方式桩砰,叫做梯度下降,它允許我們使復(fù)雜的損失函數(shù)最小释簿。
梯度下降:習(xí)得參數(shù)
蒙住眼睛五芝,向下走一步。當(dāng)你無(wú)路可走只能向上的時(shí)候辕万,你就到了底部枢步。
梯度下降會(huì)一遍一遍地出現(xiàn),特別是在神經(jīng)網(wǎng)絡(luò)中渐尿。機(jī)器學(xué)習(xí)庫(kù)醉途,例如 scikit-learn 和 TensorFlow 會(huì)在背后的任何地方使用它,所以它值得了解細(xì)節(jié)砖茸。
梯度下降的目標(biāo)是尋找我們模型的損失函數(shù)的最小值隘擎,通過(guò)在迭代中得到它的越來(lái)越好的近似值。
想象你自己蒙上眼睛穿過(guò)一個(gè)山谷凉夯。你的目標(biāo)是尋找山谷的底部货葬。你要怎么做呢?
一個(gè)可行的辦法是劲够,觸摸你周?chē)牡孛嬲鹜埃虻孛嫦陆底羁斓姆较蛞苿?dòng)。走出一步征绎,之后不斷重復(fù)相同的過(guò)程蹲姐,直到地面變成平的。之后你就知道了你到達(dá)了山谷的底部人柿。如果你在所在位置向任何方向移動(dòng)柴墩,你最終都會(huì)位于相同的高度,或者更高凫岖。
回到數(shù)學(xué)江咳,地面變成了損失函數(shù),山谷底部的高度變成了函數(shù)的最小值哥放。
讓我們看一看回歸中的損失函數(shù):
我們看到這個(gè)實(shí)際上是兩個(gè)變量的函數(shù):β0
和β1
歼指。所有其余變量都是已確定的爹土,因?yàn)?code>X,Y
和n
都在訓(xùn)練過(guò)程中提供了东臀。我們打算嘗試使這個(gè)函數(shù)最小着饥。
這個(gè)函數(shù)是f(β0,β1)=z
犀农。為了開(kāi)始梯度下降惰赋,你需要對(duì)參數(shù)β0
和β1
做出一些猜測(cè),它們使函數(shù)最小呵哨。
下面赁濒,你尋找損失函數(shù)對(duì)每個(gè)β
參數(shù)的偏導(dǎo)數(shù)[dz/dβ0, dz/dβ1]
。偏導(dǎo)數(shù)表示孟害,如果你為β0
或者β1
增加一個(gè)很小的值拒炎,總損失增加或減少多少。
換一種方式挨务。假設(shè)教育年數(shù)(β0
)為零會(huì)增加模型的損失(也就是不準(zhǔn)確度)击你,這會(huì)將你的年收入的估計(jì)值增加多少?你需要向相反方向移動(dòng)谎柄,以便你最終向下走并使損失最小丁侄。
與之類似,如果你增加“教育年數(shù)的每個(gè)增量會(huì)影響多少收入”的估計(jì)量(β1
)朝巫,這會(huì)將損失(z
)增加多少鸿摇?如果偏導(dǎo)數(shù)dz/β1
是個(gè)復(fù)數(shù),那么β1
的增加是極好的劈猿,因?yàn)樗鼤?huì)降低總損失拙吉。如果它是個(gè)正數(shù),你需要降低β1
揪荣。如果是零筷黔,不要修改β1
,因?yàn)檫@表示你已經(jīng)到達(dá)最優(yōu)了仗颈。
持續(xù)做這件事必逆,直到你到達(dá)了底部,也就是揽乱,算法收斂名眉,損失到達(dá)最小。存在大量技巧和例外情況凰棉,它們超出了這一章的范圍损拢,但是通常來(lái)說(shuō),這就是你為你的參數(shù)化模型尋找最優(yōu)參數(shù)的方式撒犀。
過(guò)擬合
過(guò)擬合:“Sherlock福压,你對(duì)剛才發(fā)生的事情的解釋掏秩,太特定于這個(gè)環(huán)境了【D罚”
正則化:“不要把事物過(guò)度復(fù)雜化蒙幻,Sherlock。我會(huì)敲打你的每個(gè)額外的單詞胆筒∮势疲”
超參數(shù)(
λ
):這里就是我敲打你的每個(gè)額外的單詞時(shí)的力量。
機(jī)器學(xué)習(xí)的一個(gè)常見(jiàn)問(wèn)題就是過(guò)擬合:習(xí)得一個(gè)函數(shù)仆救,它完美解釋了模型從中學(xué)習(xí)的訓(xùn)練數(shù)據(jù)抒和,但是不能很好地推廣到未見(jiàn)過(guò)的測(cè)試數(shù)據(jù)。過(guò)擬合在模型從訓(xùn)練數(shù)據(jù)過(guò)度學(xué)習(xí)時(shí)發(fā)生彤蔽,它開(kāi)始選取一些個(gè)性摧莽,它們不是現(xiàn)實(shí)世界中的典型規(guī)律。當(dāng)你使你的模型變得復(fù)雜時(shí)顿痪,這就是個(gè)問(wèn)題了镊辕。擬合不足是個(gè)相關(guān)的問(wèn)題,其中你的模型不夠復(fù)雜蚁袭,不能捕獲數(shù)據(jù)的隱含趨勢(shì)征懈。
偏差和方差的權(quán)衡
偏差是誤差總數(shù),由使用簡(jiǎn)化的模型來(lái)近似真實(shí)世界的情況引入撕阎。
方差是你的模型的測(cè)試誤差變化多少受裹,基于訓(xùn)練數(shù)據(jù)的變化。它反映了模型對(duì)訓(xùn)練數(shù)據(jù)集的個(gè)性的敏感度虏束。
隨著模型復(fù)雜度的增長(zhǎng)棉饶,它變得更加擺動(dòng)(靈活),它的偏差下降(對(duì)解釋訓(xùn)練數(shù)據(jù)有利)镇匀,但是方差增加(也更難推廣)照藻。最終,為了得到良好的模型汗侵,你需要低偏差和低方差的模型幸缕。
來(lái)源:Coursera 的機(jī)器學(xué)習(xí)課程,由吳恩達(dá)講授
要記住晰韵,我們關(guān)心的唯一的事情就是发乔,模型在測(cè)試數(shù)據(jù)上如何表現(xiàn)。你打算在標(biāo)記郵件之前雪猪,預(yù)測(cè)哪個(gè)郵件會(huì)標(biāo)記為垃圾栏尚,而不僅僅是構(gòu)建一個(gè)模型,它可以以 100% 準(zhǔn)確度只恨,重新分類最開(kāi)始用于構(gòu)建自身的郵件译仗。馬后炮是 20/20抬虽,真正的問(wèn)題是學(xué)到的經(jīng)驗(yàn)是否在未來(lái)有所幫助。
右邊的模型對(duì)于訓(xùn)練數(shù)據(jù)是零損失的纵菌,因?yàn)樗昝罃M合了每個(gè)數(shù)據(jù)點(diǎn)阐污。但是這個(gè)經(jīng)驗(yàn)不能推廣。對(duì)于解釋不在線上的數(shù)據(jù)點(diǎn)來(lái)說(shuō)咱圆,這是個(gè)災(zāi)難性的任務(wù)笛辟。
兩種避免過(guò)擬合的方法:
使用更多訓(xùn)練數(shù)據(jù)。你擁有更多闷堡,通過(guò)從任意單一的訓(xùn)練樣本大量學(xué)習(xí)隘膘,就更難過(guò)擬合數(shù)據(jù)疑故。
使用正則化杠览。在損失函數(shù)里添加一個(gè)懲罰,來(lái)構(gòu)建一個(gè)模型纵势,避免為任意一個(gè)特征分配過(guò)多的解釋性權(quán)重踱阿,或者允許考慮過(guò)多特征。
上面的和式的第一部分是正常的損失函數(shù)钦铁。第二部分就是正則項(xiàng)软舌,為較大的β
系數(shù)添加懲罰,它將過(guò)大的解釋性權(quán)重給予任何特定的特征牛曹。同時(shí)使用這兩個(gè)元素佛点,成本函數(shù)現(xiàn)在平衡了兩個(gè)優(yōu)先級(jí):解釋訓(xùn)練數(shù)據(jù),并防止解釋過(guò)于特定黎比。
損失函數(shù)中超营,正則項(xiàng)的lambda
系數(shù)是個(gè)超參數(shù):你的模型的通用設(shè)置,可以增加或者減少(也就是調(diào)整)阅虫,以便改進(jìn)表現(xiàn)演闭。較高的lambda
值會(huì)更嚴(yán)厲地懲罰較大的β
參數(shù),它們可能導(dǎo)致過(guò)擬合颓帝。為了決定lambda
的最佳值米碰,你可以使用叫做交叉驗(yàn)證的方法,它涉及在訓(xùn)練過(guò)程中购城,保留一部分訓(xùn)練數(shù)據(jù)吕座,之后觀察,模型對(duì)保留部分的解釋有多好瘪板。我們會(huì)深入了解它吴趴。
這就完成了
這里是我們?cè)谶@一節(jié)中涉及到的東西:
- 監(jiān)督機(jī)器學(xué)習(xí)如何讓計(jì)算機(jī),能夠從帶標(biāo)簽的訓(xùn)練數(shù)據(jù)中學(xué)習(xí)篷帅,而不需要顯式編程史侣。
- 監(jiān)督學(xué)習(xí)的任務(wù):回歸和分類拴泌。
- 線性回歸,簡(jiǎn)單而實(shí)用的參數(shù)化算法惊橱。
- 使用梯度下降習(xí)得參數(shù)蚪腐。
- 過(guò)擬合和正則化
下一節(jié)“2.2 節(jié):監(jiān)督機(jī)器學(xué)習(xí) II”中,我們會(huì)討論分類的兩個(gè)基本方法:對(duì)數(shù)幾率回歸(LR)和支持向量機(jī)(SVM)税朴。
練習(xí)材料和擴(kuò)展閱讀
2.1a 線性回歸
對(duì)于線性回歸的更徹底的講授回季,閱讀《An Introduction to Statistical Learning》的 1~3 章。這本書(shū)可以免費(fèi)在線閱讀正林,并且是用于使用配套練習(xí)理解機(jī)器學(xué)習(xí)概念的優(yōu)秀資源泡一。
對(duì)于更多練習(xí):
- 玩轉(zhuǎn)波士頓房?jī)r(jià)數(shù)據(jù)集。你可以使用帶有漂亮 GUI 的軟件觅廓,例如 Minitab 和 Excel鼻忠,或者使用 Python 或者 R 用笨辦法來(lái)完成它。
- 親自嘗試 Kaggle 挑戰(zhàn)杈绸,例如房?jī)r(jià)預(yù)測(cè)帖蔓,并在自己嘗試之后,看看其他人如何解決問(wèn)題瞳脓。
2.1b 實(shí)現(xiàn)梯度下降
為了在 Python 中實(shí)際實(shí)現(xiàn)梯度下降塑娇,查閱這篇教程。然后劫侧,這里是相同概念的更加數(shù)學(xué)化的嚴(yán)格描述埋酬。
在實(shí)戰(zhàn)中,你很少需要從零開(kāi)始實(shí)現(xiàn)梯度下降烧栋,但是理解它背后的工作原理写妥,會(huì)讓你更有效地使用它,并且在出現(xiàn)問(wèn)題時(shí)理解其原因劲弦。