0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

機(jī)器學(xué)習(xí)中所需要的數(shù)學(xué)知識(shí)介紹

zhKF_jqr_AI ? 來源:未知 ? 作者:李倩 ? 2018-08-05 09:00 ? 次閱讀

編者按:Vincent Chen是斯坦福大學(xué)計(jì)算機(jī)科學(xué)專業(yè)的學(xué)生,同時(shí)也是斯坦福AI研究室的一名研究助理。本文他給我們帶來了在機(jī)器學(xué)習(xí)中所需要的數(shù)學(xué)知識(shí)介紹。以下是論智對原文的編譯。

很多沒有良好數(shù)學(xué)基礎(chǔ)或統(tǒng)計(jì)學(xué)的同學(xué)們總會(huì)問,到底什么樣的數(shù)學(xué)水平才能入門機(jī)器學(xué)習(xí)?目前還沒有確切的答案。

在這篇文章中,我會(huì)列出在進(jìn)行機(jī)器學(xué)習(xí)產(chǎn)品搭建或?qū)W術(shù)研究時(shí)所需要的數(shù)學(xué)背景知識(shí)。這些都是我在與機(jī)器學(xué)習(xí)工程師、研究者、教授的談話中以及自己的經(jīng)驗(yàn)中總結(jié)出的。

為了構(gòu)建數(shù)學(xué)的準(zhǔn)備知識(shí),首先我會(huì)提出與傳統(tǒng)課堂不同的思維模式和學(xué)習(xí)方法。接著,我會(huì)大致敘述在機(jī)器學(xué)習(xí)領(lǐng)域不同類型所需要的具體背景知識(shí),大致涵蓋了高中的統(tǒng)計(jì)學(xué)和微積分,到最近的概率圖形模型(PGM)。最后,我希望你能找到自己所在領(lǐng)域所需要的數(shù)學(xué)知識(shí)。希望這篇文章對你有用!

關(guān)于被數(shù)學(xué)支配的恐懼

數(shù)學(xué)可以說是很多人的噩夢,包括工程師們。在開始之前,我想談?wù)勀切皵?shù)學(xué)好的人”到底有什么秘訣。

實(shí)際上,數(shù)學(xué)好的人只是有很多練習(xí)的機(jī)會(huì)而已,他們習(xí)慣了在研究數(shù)學(xué)的過程中遇到困難。最近的一項(xiàng)研究表明,與天生的能力相比,思維方式才是能否學(xué)好數(shù)學(xué)的重要因素。

但是,想達(dá)到上述境界仍需要花點(diǎn)時(shí)間和努力,這并不是與生俱來的能力。

開始上手

首先,作為基礎(chǔ),我們希望你有基礎(chǔ)的線性代數(shù)、微積分以及概率論入門知識(shí)。如果有基礎(chǔ)編程知識(shí)更好,這可以作為在具體語境中學(xué)習(xí)數(shù)學(xué)的工具。之后,你可以根據(jù)具體領(lǐng)域調(diào)整學(xué)習(xí)。

如何在學(xué)校之外學(xué)習(xí)數(shù)學(xué)

學(xué)習(xí)的最佳途徑一定是泡在學(xué)校,如果脫離了學(xué)校環(huán)境,也就沒有嚴(yán)格的體系架構(gòu)了,同時(shí)也不會(huì)有來自學(xué)霸的壓力,資源明顯不足。

所以在校外學(xué)習(xí),我推薦學(xué)習(xí)小組或者研討會(huì)的形式。在研究機(jī)構(gòu)中,可能有閱讀小組這類組織。有了基本組織框架,小組內(nèi)可能會(huì)一起學(xué)習(xí)某本教材,并進(jìn)行討論。

這種課外學(xué)習(xí)通常不會(huì)給日常工作帶來負(fù)擔(dān),甚至在互相激勵(lì)的環(huán)境中還能讓你的本來工作更加高效。

數(shù)學(xué)和編程

數(shù)學(xué)和代碼在機(jī)器學(xué)習(xí)研究中通常是高度混合的。大多數(shù)情況下,代碼都是直接從數(shù)學(xué)邏輯中形成,并且能用代碼語法展示出數(shù)學(xué)表示法。其實(shí)現(xiàn)在一些數(shù)據(jù)科學(xué)框架(例如NumPy)就能直接將數(shù)學(xué)推理(例如矩陣或向量)轉(zhuǎn)換成可讀代碼,非常直觀高效。

所以這里鼓勵(lì)通過代碼夯實(shí)數(shù)學(xué)學(xué)習(xí)。例如,練習(xí)手動(dòng)實(shí)現(xiàn)損失函數(shù)或優(yōu)化的代碼可以進(jìn)一步了解基礎(chǔ)概念。

這里舉一個(gè)通過代碼學(xué)習(xí)數(shù)學(xué)的例子:在你的神經(jīng)網(wǎng)絡(luò)中為ReLU激活函數(shù)進(jìn)行反向傳播。反向傳播是利用微積分中的規(guī)則來計(jì)算梯度的技術(shù)。為了在這一環(huán)境中實(shí)現(xiàn),我們將upstream導(dǎo)數(shù)和ReLU的梯度相乘。

首先,我們對ReLU進(jìn)行可視化:

為了計(jì)算梯度,你可能會(huì)對分段函數(shù)進(jìn)行可視化,用指示函數(shù)表示如下:

用NumPy我們可以直觀地用代碼表示出激活函數(shù)(藍(lán)色曲線),其中x是輸入,relu是輸出:

relu = np.maximum(x, 0)

梯度(紅線)也是一樣,下面的等式描述了upstream梯度:

grad[x < 0] = 0

如果你自己事先沒有推導(dǎo)出梯度,那么這行代碼可能不好解釋。在我們的代碼中,將upstream梯度中的所有值都設(shè)為0,以滿足[h<0]的條件。從數(shù)學(xué)角度來說,這能高效地展示ReLU梯度的分段表示,當(dāng)它們乘以upstream梯度時(shí),可以將所有小于0的值變?yōu)?。

從這里我們可以看到,了解微積分的基礎(chǔ)概念讓我們對代碼有了清晰的思考。想了解神經(jīng)網(wǎng)絡(luò)部署的完整過程,可以查看:pytorch.org/tutorials/beginner/pytorchwithexamples.html

用數(shù)學(xué)打造機(jī)器學(xué)習(xí)產(chǎn)品

為了完成這一部分,我與機(jī)器學(xué)習(xí)工程師探討了在debug的過程中都需要哪些數(shù)學(xué)知識(shí)。以下是工程師們的建議,如果你還不了解,沒有關(guān)系,以下部分可以為你提供具體的思路。

問:我想對高維客戶數(shù)據(jù)進(jìn)行可視化,應(yīng)該用什么聚類方法?

答:PCA vs tSNE,參考回答:stats.stackexchange.com/questions/238538/are-there-cases-where-pca-is-more-suitable-than-t-sne

問:為屏蔽虛假用戶信息,我應(yīng)該如何調(diào)整閾值(假設(shè)置信水平在0.9—0.8)?

答:進(jìn)行概率校準(zhǔn):scikit-learn.org/stable/modules/calibration.html

問:我想確定某一區(qū)域的衛(wèi)星數(shù)據(jù)的偏差,應(yīng)該用哪種方法?

答:答案不唯一,也許可以試試demographic parity?blog.mrtz.org/2016/09/06/approaching-fairness.html

總的來說,統(tǒng)計(jì)學(xué)和線性代數(shù)可以運(yùn)用到很多問題中,但是想要得到滿意的結(jié)果通常需要更專業(yè)的方法。那么,我們該如何縮小數(shù)學(xué)學(xué)習(xí)的知識(shí)呢?

定義你的系統(tǒng)

在利用豐富的資源編寫代碼前,你需要為自己幾個(gè)問題:

系統(tǒng)的輸入和輸出分別是什么?

你該如何準(zhǔn)備適合系統(tǒng)的數(shù)據(jù)?

如何創(chuàng)建特征或數(shù)據(jù)來幫助生成模型?

如何為你的問題定義一個(gè)合理的目標(biāo)?

的確,定義系統(tǒng)很難,但是之后的工程管道搭建也很復(fù)雜。換句話說,創(chuàng)建機(jī)器學(xué)習(xí)產(chǎn)品需要做很多工作,但大部分不需要深入的數(shù)學(xué)知識(shí)。

資源

谷歌的研發(fā)工程師Martin Zinkevich曾寫過一篇機(jī)器學(xué)習(xí)實(shí)踐教程,感興趣的讀者可自行查閱:developers.google.com/machine-learning/guides/rules-of-ml/

按需學(xué)習(xí)

剛進(jìn)入機(jī)器學(xué)習(xí)領(lǐng)域,你可能會(huì)發(fā)現(xiàn)麻煩不斷,尤其是在debug的過程中。當(dāng)你被某個(gè)問題困住時(shí),應(yīng)該如何解決?權(quán)重合理嗎?為什么模型會(huì)在特殊損失值下收斂?衡量成功與否的正確方法是什么?這時(shí),對數(shù)據(jù)進(jìn)行質(zhì)疑也許比較有用,可以試試不同的優(yōu)化方法或者算法。

通常你會(huì)發(fā)現(xiàn)這些在建模或debug過程中用到的數(shù)學(xué)在做決策時(shí)也很有用。Fast.ai的創(chuàng)始人之一Rachel Thomas就是這種“隨即可用”方法的支持者之一,在教學(xué)時(shí),她發(fā)現(xiàn)讓學(xué)生對研究材料感興趣更加重要,在這之后再加入數(shù)學(xué)教育即可。

資源

課程:Computational Linear Algebra by fast.ai

地址:http://www.fast.ai/2017/07/17/num-lin-alg/ "Computational Linear Algebra by fast.ai"

YouTube:3blue1brown: Essence ofLinear AlgebraandCalculus

地址:https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw "3blue1brown"

教材:Linear Algebra Done Rightby Axler

地址:http://linear.axler.net/ " Linear Algebra Done Right"

教材:Elements of Statistical Learningby Tibshirani et al.

地址:https://web.stanford.edu/~hastie/ElemStatLearn/ "Elements of Statistical Learning"

課程:Stanford’s CS229 (Machine Learning) Course Notes

地址:http://cs229.stanford.edu/syllabus.html#opt "Stanford’s CS229 (Machine Learning

機(jī)器學(xué)習(xí)研究中的數(shù)學(xué)

下面我將介紹在機(jī)器學(xué)習(xí)學(xué)術(shù)研究中所需要的數(shù)學(xué)思維類型。有些人不屑地認(rèn)為,機(jī)器學(xué)習(xí)研究中那些即插即用的系統(tǒng)只不過是用更多的計(jì)算實(shí)現(xiàn)更高的性能。在一些領(lǐng)域里,研究人員仍然懷疑實(shí)證方法缺少數(shù)學(xué)的嚴(yán)謹(jǐn)。

很多人擔(dān)心,研究領(lǐng)域可能在現(xiàn)有系統(tǒng)和假設(shè)上并沒有擴(kuò)展對領(lǐng)域的基礎(chǔ)了解。研究者們需要提供新的基礎(chǔ)模塊,用于生成全新的觀點(diǎn)和目標(biāo)。例如,就像Geoff Hinton在他的膠囊網(wǎng)絡(luò)論文中提到的,重新思考用于圖像分類的神經(jīng)網(wǎng)絡(luò)模塊。

在機(jī)器學(xué)習(xí)研究中,你不可能學(xué)習(xí)所有知識(shí),你需要做的就是關(guān)注自己感興趣的領(lǐng)域,切勿一味追求熱點(diǎn)。

機(jī)器學(xué)習(xí)研究領(lǐng)域包羅萬象,但是在公平性、可解釋性和可用性方面都有著許多難題。和其他科學(xué)研究的準(zhǔn)則一樣,基礎(chǔ)思考并不是現(xiàn)成的,它需要在具備高水平數(shù)學(xué)框架的前提下耐心思考。

資源

博客:Do SWEs need mathematics? by Keith Devlin

地址:https://www.maa.org/external_archive/devlin/devlin_10_00.html "Do SWEs need mathematics? by Keith Devlin"

reddit討論:Confessions of an AI Researcher

地址:https://www.reddit.com/r/MachineLearning/comments/73n9pm/d_confession_as_an_ai_researcher_seeking_advice/ "Confessions of an AI Researcher"

博客:How to Read Mathematics by Shai Simonson and Fernando Gouvea

地址:http://www.people.vcu.edu/~dcranston/490/handouts/math-read.html "How to Read Mathematics by Shai Simonson and Fernando Gouvea"

論文:NIPS and ICML recent conference papers

文章:A Mathematician’s Lament by Paul Lockhart1

地址:https://www.maa.org/external_archive/devlin/LockhartsLament.pdf "A Mathematician’s Lament by Paul Lockhart1"

機(jī)器學(xué)習(xí)的民主化

雖然這篇并未涉及太過高深的概念,但很多機(jī)器學(xué)習(xí)論文仍然充滿著復(fù)雜的術(shù)語。作為學(xué)生,你可以試著將高深的論文分解,記錄自己的理解,通過博客等形式表達(dá)出來。在這一點(diǎn)上可以借鑒distill.pub的方式。

結(jié)語

希望本文能成為你在機(jī)器學(xué)習(xí)領(lǐng)域開始數(shù)學(xué)學(xué)習(xí)的起點(diǎn)。

不同問題需要不同水平的知識(shí)來解決,我建議先弄明白你的目標(biāo)是什么再著手進(jìn)行學(xué)習(xí)。

如果你想搭建一款產(chǎn)品,可以找尋同伴或在學(xué)習(xí)小組中進(jìn)行。

在研究領(lǐng)域,廣泛的數(shù)學(xué)基礎(chǔ)可以助你走的更遠(yuǎn)。

數(shù)學(xué)(尤其是研究領(lǐng)域的數(shù)學(xué))的確有些令人頭大,但是被難住也是學(xué)習(xí)的一部分?。?/p>

祝你好運(yùn)!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴

原文標(biāo)題:資源 |不要再問我什么數(shù)學(xué)水平才能學(xué)機(jī)器學(xué)習(xí)啦

文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    學(xué)單片機(jī)需要很深的數(shù)學(xué)知識(shí)嗎?

    學(xué)單片機(jī)需要很深的數(shù)學(xué)知識(shí)嗎?我是大一的想學(xué)可以嗎有哪位大神能指個(gè)方向 該從哪學(xué)起? 謝謝!
    發(fā)表于 11-11 12:09

    工程電磁場應(yīng)具備哪些數(shù)學(xué)知識(shí)

    我是一名大二學(xué)生,專業(yè)是電氣工程及其自動(dòng)化,最近學(xué)習(xí)了工程電磁場,發(fā)現(xiàn)有許多數(shù)學(xué)知識(shí)是高等數(shù)學(xué)中未有的,希望各位學(xué)習(xí)過的大師們,幫幫我我還應(yīng)該學(xué)習(xí)
    發(fā)表于 03-30 18:49

    【下載】《機(jī)器學(xué)習(xí)》+《機(jī)器學(xué)習(xí)實(shí)戰(zhàn)》

    讀者, 本書附錄給出了一些相關(guān)數(shù)學(xué)基礎(chǔ)知識(shí)簡介.目錄:全書共16 章,大致分為3 個(gè)部分:第1 部分(第1~3 章)介紹機(jī)器學(xué)習(xí)的基礎(chǔ)
    發(fā)表于 06-01 15:49

    BP神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)數(shù)學(xué)知識(shí)分享

    一文看懂BP神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)數(shù)學(xué)知識(shí)
    發(fā)表于 06-16 07:14

    高一數(shù)學(xué)知識(shí)點(diǎn)總結(jié)

    高一數(shù)學(xué)知識(shí)點(diǎn)總結(jié)高一數(shù)學(xué)知識(shí)點(diǎn)總結(jié)高一數(shù)學(xué)知識(shí)點(diǎn)總結(jié)
    發(fā)表于 02-23 15:27 ?0次下載

    高二數(shù)學(xué)知識(shí)點(diǎn)總結(jié)

    高二數(shù)學(xué)知識(shí)點(diǎn)總結(jié)高二數(shù)學(xué)知識(shí)點(diǎn)總結(jié)高二數(shù)學(xué)知識(shí)點(diǎn)總結(jié)
    發(fā)表于 02-23 15:27 ?0次下載

    一文匯總機(jī)器學(xué)習(xí)和Python(包括數(shù)學(xué))速查表

    新手學(xué)習(xí)機(jī)器學(xué)習(xí)很難,就是收集資料也很費(fèi)勁。所幸Robbie Allen從不同來源收集了目前最全的有關(guān)機(jī)器學(xué)習(xí)、Python和相關(guān)數(shù)學(xué)知識(shí)
    的頭像 發(fā)表于 07-04 08:25 ?2274次閱讀

    如何自學(xué)人工智能?機(jī)器學(xué)習(xí)詳細(xì)路徑規(guī)劃

    綜述,機(jī)器學(xué)習(xí)的自學(xué)簡單來說分為三個(gè)步驟 前期:知識(shí)儲(chǔ)備包括數(shù)學(xué)知識(shí)機(jī)器學(xué)習(xí)經(jīng)典算法
    的頭像 發(fā)表于 08-04 11:36 ?8798次閱讀
    如何自學(xué)人工智能?<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>詳細(xì)路徑規(guī)劃

    機(jī)器學(xué)習(xí)所需數(shù)學(xué)知識(shí)你能夠有效使用嗎

    開始機(jī)器學(xué)習(xí)之旅,需要什么層次的數(shù)學(xué)功底? 尤其是對于那些沒有學(xué)過數(shù)學(xué)和統(tǒng)計(jì)學(xué)的同學(xué)們來說,這個(gè)問題當(dāng)前不甚清楚,在這篇文章中,我將要為那些
    的頭像 發(fā)表于 02-02 17:10 ?1929次閱讀

    本科生怎樣入門機(jī)器學(xué)習(xí)

    此處我們暫且不論文科生,理科生工科生課程大多在大一會(huì)有高等數(shù)學(xué)和線性代數(shù)兩門課,機(jī)器學(xué)習(xí)大約需要多少數(shù)學(xué)知識(shí)呢?
    的頭像 發(fā)表于 05-05 16:50 ?2268次閱讀

    深度學(xué)習(xí)數(shù)學(xué)基礎(chǔ)(三)之簡單數(shù)學(xué)

    從本文開始,之后的三四篇我們都將沐浴在數(shù)學(xué)的海洋里,拼命地?fù)潋v,這個(gè)系列我會(huì)盡力以通俗易懂的方式來講述這些數(shù)學(xué)知識(shí)
    的頭像 發(fā)表于 12-10 19:13 ?823次閱讀

    機(jī)器視覺需要哪些基礎(chǔ)_機(jī)器視覺行業(yè)發(fā)展前景

    學(xué)習(xí)機(jī)器視覺,需要具備以下知識(shí)和技能:   數(shù)學(xué)基礎(chǔ):機(jī)器視覺需要用到很多
    發(fā)表于 03-12 17:06 ?1989次閱讀

    機(jī)器學(xué)習(xí)理論:k近鄰算法

    KNN(k-Nearest Neighbors)思想簡單,應(yīng)用的數(shù)學(xué)知識(shí)幾乎為0,所以作為機(jī)器學(xué)習(xí)的入門非常實(shí)用、可以解釋機(jī)器學(xué)習(xí)算法使用過
    的頭像 發(fā)表于 06-06 11:15 ?629次閱讀
    <b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>理論:k近鄰算法

    人工智能需要哪些專業(yè)知識(shí)

    數(shù)學(xué)是人工智能的另一個(gè)重要基礎(chǔ)學(xué)科。熟練掌握線性代數(shù)、微積分和概率論等數(shù)學(xué)知識(shí),可以幫助我們更好地理解人工智能算法以及模型背后的數(shù)學(xué)原理。此外,人們還需要了解
    的頭像 發(fā)表于 08-13 13:58 ?2412次閱讀

    自動(dòng)控制原理需要哪些基礎(chǔ)知識(shí)

    基礎(chǔ)數(shù)學(xué)知識(shí)學(xué)習(xí)自動(dòng)控制原理的前提。這些數(shù)學(xué)知識(shí)包括: 線性代數(shù):矩陣運(yùn)算、特征值和特征向量、線性空間等概念。 微積分:導(dǎo)數(shù)、積分、微分方程等基本概念和運(yùn)算方法。 概率論與數(shù)理統(tǒng)計(jì):隨機(jī)變量、概率分布、期望、
    的頭像 發(fā)表于 06-11 11:08 ?2515次閱讀