寫(xiě)在最前學(xué)習(xí)機(jī)器學(xué)習(xí),初學(xué)者的阻塞點(diǎn)往往不在機(jī)器學(xué)習(xí)本身,而是數(shù)學(xué)。面對(duì)教材中滿篇的數(shù)學(xué)公式時(shí),如果你的數(shù)學(xué)基礎(chǔ)不牢固,就會(huì)逐步失去學(xué)習(xí)信心、喪失學(xué)習(xí)動(dòng)力。最終,你投入了時(shí)間和精力,卻未達(dá)到預(yù)期的學(xué)習(xí)效果,也只能淪落個(gè)“半吊子”的水平。 有鑒于此,本 Chat 將會(huì)拆解機(jī)器學(xué)習(xí)主流模型,找到其背后依賴的數(shù)學(xué)知識(shí)點(diǎn)。再將這些知識(shí)點(diǎn),進(jìn)行整合歸并。因此,這篇 Chat 的背景是機(jī)器學(xué)習(xí),而講述的內(nèi)容是數(shù)學(xué)知識(shí)。我會(huì)取其精華、去其糟粕,讓你盡可能以較低成本,迅速掌握機(jī)器學(xué)習(xí)必備的數(shù)學(xué)知識(shí)。相信有了這些必備知識(shí)之后,你就能輕松讀懂其他機(jī)器學(xué)習(xí)教材并快速入門(mén)機(jī)器學(xué)習(xí)啦。 本文,我會(huì)用第一人稱和第二人稱來(lái)行文。這次我想突破一下自己,一反以往嚴(yán)肅行文的常態(tài),用一種詼諧幽默的方式來(lái)行文。本文適合的人群為,每次打開(kāi)書(shū)都被公式搞垮的機(jī)器學(xué)習(xí)初學(xué)者。 看完 chat,別忘了再來(lái)關(guān)注一下我的公眾號(hào)“算法入門(mén)速成班”哦。 熱身在熱身環(huán)節(jié),我想和你先共同建立信心。高斯和你一樣都是兩只眼睛,拉格朗日和你一樣都是一個(gè)鼻子。因此,我想請(qǐng)你找個(gè)沒(méi)人的旮旯,對(duì)著鏡子中的自己,高呼三聲,“別怕,數(shù)學(xué)就是紙老虎”。 完成熱身后,恭喜你,你已經(jīng)成功了一半! 系統(tǒng)性學(xué)習(xí)與散點(diǎn)式學(xué)習(xí)系統(tǒng)性學(xué)習(xí)與散點(diǎn)式學(xué)習(xí),這是常用的兩種學(xué)習(xí)方式。
對(duì)于機(jī)器學(xué)習(xí)而言,你一定并且必須去花時(shí)間進(jìn)行系統(tǒng)性學(xué)習(xí)。當(dāng)你的學(xué)習(xí)進(jìn)程被數(shù)學(xué)的某個(gè)知識(shí)點(diǎn)阻塞時(shí),你也許想過(guò)系統(tǒng)性學(xué)習(xí)數(shù)學(xué)。當(dāng)然了,如果你愿意花大量時(shí)間系統(tǒng)地研究數(shù)學(xué),并且最終把數(shù)學(xué)也給學(xué)會(huì)了,這一定是個(gè)好事情??上?,更有可能的結(jié)果是,你買(mǎi)了很多數(shù)學(xué)書(shū),卻發(fā)現(xiàn)數(shù)學(xué)根本學(xué)不會(huì)。此時(shí),你就要學(xué)會(huì)變通。也就是,盡快把阻塞你的數(shù)學(xué)知識(shí)點(diǎn)突破掉,然后重回機(jī)器學(xué)習(xí)的主流程上來(lái)。這樣,你就能在機(jī)器學(xué)習(xí)的道路上不斷披荊斬棘。因此,你需要系統(tǒng)性學(xué)習(xí)機(jī)器學(xué)習(xí),并散點(diǎn)式學(xué)習(xí)數(shù)學(xué)。 機(jī)器學(xué)習(xí)中的數(shù)學(xué)既然確定了要散點(diǎn)式學(xué)習(xí)數(shù)學(xué),那就要找出到底是哪些阻塞點(diǎn)需要你去攻克。為此,我制作了下面一幅圖。 機(jī)器學(xué)習(xí)的建模過(guò)程包含 3 個(gè)步驟,分別是模型、策略、算法。在我的技術(shù)專欄和先前的 chat 文章《入門(mén)機(jī)器學(xué)習(xí),有這 3 把金鑰匙就夠了!》,我喜歡稱之為機(jī)器學(xué)習(xí)建模的 3 把金鑰匙。你可以直觀地理解為,這是 3 個(gè)方程。既然是 3 個(gè)方程,那么就需要利用數(shù)學(xué)知識(shí)去解方程。根據(jù)具體模型的不同,這 3 個(gè)方程的形式和解法也會(huì)各不相同。因此,上面的圖就是不同模型 3 個(gè)方程的不同表現(xiàn)形式,也是本次 chat 的總綱。 我們按照?qǐng)D中的知識(shí)點(diǎn)進(jìn)行聚合,可以得到如下機(jī)器學(xué)習(xí)的數(shù)學(xué)知識(shí)要點(diǎn)。
知識(shí)點(diǎn)就這 6 個(gè)。這些知識(shí)點(diǎn),就像打怪通關(guān)一樣,你只需要各個(gè)擊破就能在機(jī)器學(xué)習(xí)的世界中興風(fēng)作浪。如果你不滿足于這些知識(shí)點(diǎn),可以找些大學(xué)數(shù)學(xué)教材多學(xué)一些,那自然更好。 好了,下面我們就來(lái)闖關(guān),共計(jì)六關(guān)。 第一關(guān):平方誤差第一關(guān)熱身為主,比較簡(jiǎn)單。誤差,指的是某個(gè)變量的錯(cuò)誤程度,也就是 平方誤差,則采用一種平方處理的方式來(lái)衡量誤差。例如,用某個(gè)儀器去測(cè)量人的身高,這樣就有儀器的測(cè)量值和人身高的真實(shí)值,得到如下表:
那么,平方誤差就是 由這個(gè)例子可以知道,平方誤差的計(jì)算方法是,每一個(gè)樣本誤差的平方,再求和。則平方誤差的公式為 其中, 好的,到了這里,第一關(guān)通過(guò)。恭喜你! 第二關(guān):梯度下降法第二關(guān)開(kāi)始難度系數(shù)增加。先明確大方向,到底梯度下降法是干嘛的呢?其實(shí),你可以簡(jiǎn)單粗暴地認(rèn)為,梯度下降法就是求解函數(shù)極值的一種算法。因此,為了快速學(xué)習(xí)梯度下降法,你可能需要從求解函數(shù)的極值出發(fā)。請(qǐng)看下面例題。
代數(shù)法和求導(dǎo)法,是高中數(shù)學(xué)中常用的極值求解方法。然而,它們又都有著各自的局限性。代數(shù)法要求,函數(shù)必須可以被調(diào)整為多項(xiàng)式平方加常數(shù)的形式。求導(dǎo)法要去解方程,需要我們有著極強(qiáng)的方程求解能力。 當(dāng)目標(biāo)函數(shù)比較復(fù)雜時(shí),這兩種方法就會(huì)失效。例如,求解函數(shù) 的極小值。此時(shí),由于有了指數(shù)項(xiàng),代數(shù)法不再適用。求導(dǎo)法會(huì)得到方程 這個(gè)方程只靠簡(jiǎn)單數(shù)學(xué)的計(jì)算,根本無(wú)法找到解。此時(shí)就需要用更通用的極值求解方法,這就是梯度下降法。 到這里你一定會(huì)問(wèn),說(shuō)了半天,到底什么是梯度。關(guān)于梯度,你需要掌握 3 個(gè)要點(diǎn):
有了這 3 個(gè)要點(diǎn),我們給出計(jì)算函數(shù) 看到這里,你千萬(wàn)別害怕。我們?cè)俅谓⑿判?,梯度這玩意就是紙老虎,老簡(jiǎn)單了??蠢}。
到了這里你已經(jīng)學(xué)會(huì)了梯度是什么。那么問(wèn)題來(lái)了:1)梯度到底有什么用?2)梯度下降法到底是什么?3)梯度下降法是如何找到函數(shù)極值的? 前面說(shuō)過(guò),連續(xù)函數(shù)的極值處導(dǎo)數(shù)為 0。也就是說(shuō),非極值處的導(dǎo)數(shù)不為 0。假設(shè)有個(gè)向上張口的拋物線,這個(gè)拋物線一定會(huì)存在一個(gè)最小值(紅色)。如下圖。 ![]() 在這個(gè)線上有個(gè)點(diǎn)(橙色),這個(gè)點(diǎn)附近的導(dǎo)數(shù)值為 2,大于 0。那么這個(gè)函數(shù)的最小值的橫坐標(biāo),一定是在這個(gè)橙色點(diǎn)的橫坐標(biāo)的左邊。反之,如果這個(gè)點(diǎn)的導(dǎo)數(shù)值小于 0,假設(shè)是綠色的點(diǎn),導(dǎo)數(shù)為 -0.9。那么函數(shù)的最小值的橫坐標(biāo),一定在這個(gè)綠色點(diǎn)的橫坐標(biāo)的右邊。而且這個(gè)目標(biāo)最小值的橫坐標(biāo)與這個(gè)觀測(cè)點(diǎn)(綠色、橙色)的橫坐標(biāo)的距離,與導(dǎo)數(shù)的絕對(duì)值正相關(guān)。即,導(dǎo)數(shù)的絕對(duì)值越大,極值點(diǎn)越遠(yuǎn);反之亦然。 因此,可以得到結(jié)論:
用個(gè)公式來(lái)代替這兩條結(jié)論的描述,就是 其中, 是個(gè)正數(shù)。當(dāng) 再仔細(xì)看看上面的公式,
期待你能看懂上面的算法。如果看不懂也沒(méi)關(guān)系,來(lái)個(gè)例題啥都明白了。
好的,到了這里,第二關(guān)通過(guò)。恭喜你! ![]() 面對(duì)機(jī)器學(xué)習(xí),初學(xué)者的阻塞點(diǎn)往往不在于機(jī)器學(xué)習(xí)本身,而是數(shù)學(xué)。機(jī)器學(xué)習(xí)是計(jì)算機(jī)技術(shù),但它的底層是數(shù)學(xué)。通常,在機(jī)器學(xué)習(xí)相關(guān)的教材中,通篇都是復(fù)雜的數(shù)學(xué)公式。初學(xué)者如果數(shù)學(xué)基礎(chǔ)不牢固,面對(duì)滿篇的數(shù)學(xué)公式時(shí),就會(huì)逐步失去學(xué)習(xí)信心、減少學(xué)習(xí)動(dòng)力,而達(dá)不到預(yù)期的學(xué)習(xí)效果,最終只能淪落個(gè)“半吊子”的水平。 有鑒于此,本 Chat 將會(huì)拆解機(jī)器學(xué)習(xí)主流模型,找到主流模型背后依賴的數(shù)學(xué)知識(shí)點(diǎn)。再講這些數(shù)學(xué)相關(guān)的知識(shí)點(diǎn),進(jìn)行統(tǒng)一整合歸并。因此,這篇 Chat 的背景是機(jī)器學(xué)習(xí),而講述的內(nèi)容是數(shù)學(xué)知識(shí)。我會(huì)用盡可能簡(jiǎn)單的方式,取其精華、去其糟粕,讓你盡可能以極低成本,迅速掌握機(jī)器學(xué)習(xí)必備的數(shù)學(xué)知識(shí)。相信有了這些必備知識(shí)之后,你就能輕松讀懂其他機(jī)器學(xué)習(xí)教材并快速入門(mén)機(jī)器學(xué)習(xí)啦。 本 Chat 內(nèi)容:
適合人群:
最后一句,寫(xiě)好每篇 Chat 是對(duì)我的要求,更是對(duì)你的尊重。 |
|
來(lái)自: 西北望msm66g9f > 《好玩的數(shù)學(xué)》