研究机器学习需要什么样的数学基础?
豆瓣的話題:
研究機器學(xué)習(xí)需要什么樣的數(shù)學(xué)基礎(chǔ)?
來自: 求真 2013-07-11 13:44:22
我是小碩一枚,研究方向是機器學(xué)習(xí)。通過閱讀一些機器學(xué)習(xí)的教科書,發(fā)現(xiàn)機器學(xué)習(xí)對于數(shù)學(xué)基礎(chǔ)要求比較高。
我想問一下:一般研究機器學(xué)習(xí)需要怎樣的數(shù)學(xué)基礎(chǔ)?
我們大學(xué)學(xué)習(xí)的高等數(shù)學(xué)、線性代數(shù)和概率論之類的數(shù)學(xué)基礎(chǔ)課程能夠用嗎?
skynet 2013-07-12 15:30:26
看方向,不過任何方向都基本上不夠。缺什么補什么吧,數(shù)學(xué)是個坑,機器學(xué)習(xí)也是個坑,人不可能同時在兩個坑里掙扎。
贊 (3) 回應(yīng)
skynet 2013-07-12 15:30:26
看方向,不過任何方向都基本上不夠。缺什么補什么吧,數(shù)學(xué)是個坑,機器學(xué)習(xí)也是個坑,人不可能同時在兩個坑里掙扎。
贊 (3) 回應(yīng)
求真 2013-07-12 16:07:20
看方向,不過任何方向都基本上不夠。缺什么補什么吧,數(shù)學(xué)是個坑,機器學(xué)習(xí)也是個坑,人不可能同 ... skynet
嗯啊,好的。
贊 回應(yīng)
frce 2014-06-09 15:39:55
說得好,我喜歡。
贊 回應(yīng)
opera 2014-06-09 15:43:56
高等數(shù)學(xué)、線性代數(shù)和概率論肯定是要用到的。除了它們可能還有別的。
贊 回應(yīng)
Mr. L (Live long and prosper) 2014-06-09 20:51:39
應(yīng)用域呢?
贊 回應(yīng)
泡泡龍 2014-07-03 17:16:37
具體點應(yīng)該是微積分、概率論、線性代數(shù)、隨機分布、凸優(yōu)化吧
贊 回應(yīng)
求真 2014-07-06 10:46:35
具體點應(yīng)該是微積分、概率論、線性代數(shù)、隨機分布、凸優(yōu)化吧泡泡龍
謝謝!
----------------------------------------------------------------------------------------------------
知乎的話題:
如果對機器學(xué)習(xí)僅是以應(yīng)用為目的的話,到底需要多少數(shù)學(xué)…,比如說微分流形,代數(shù)拓撲,泛函之類的需要懂嗎?
“僅是以應(yīng)用為目的”有點含糊。。乍一看題主好像想說是在公司里用,但后面又出來一大票高大上課程,看起來又好像偏學(xué)界。。前面的大大們提到的感覺更偏學(xué)界。我補充一些工業(yè)界的情況。
總的來說我偏向匿名用戶的回答。如果對機器學(xué)習(xí)僅是以應(yīng)用為目的的話,到底需要多少數(shù)學(xué)…,比如說微分流形,代數(shù)拓撲,泛函之類的需要懂嗎? - 匿名用戶的回答
在思考這個問題之前,要先搞清楚公司花錢雇你來干啥的。我的經(jīng)驗是,這有兩種情況。一是公司原來沒有一項業(yè)務(wù),現(xiàn)在要把一些機器學(xué)習(xí)這個東西跑起來(從無到有)。二是在你接手的時候公司已經(jīng)有一定基礎(chǔ)了,現(xiàn)在要把性能調(diào)上去(從差到優(yōu))。前者完全不用任何數(shù)學(xué),先用別人有的模塊/代碼把系統(tǒng)擼起來是王道。后者看具體問題,大多數(shù)情況不用數(shù)學(xué)。
從無到有的情況,比如我原來在facebook做place deduplication,大概就是說非死不可上面超多可以簽到的地點,要判斷里面有哪些是重復(fù)的地點。類似知乎上面有很多重復(fù)的問題,如何鑒別和重定向這些問題。這個問題從機器學(xué)習(xí)的角度來看并不難,有很多已有工作。但公司更關(guān)心的其實是怎么把隨便一個系統(tǒng)在fb數(shù)十TB的數(shù)據(jù)上日起來。所以我們的絕大多數(shù)時間根本不是花在評估哪個機器學(xué)習(xí)模型更好,這個流形有什么性質(zhì),那個系統(tǒng)有什么下限,而是——擼hadoop用幾千個核先把feature抽出來。有了feature以后后臺分類器是特媽隨便找的這種事我會亂說?這種情況跟數(shù)學(xué)完全沒鳥關(guān)系好嗎。
從有到優(yōu)的情況,我也參與了這個項目的調(diào)優(yōu)。基本經(jīng)驗是——分類器啊模型啊再復(fù)雜精巧數(shù)學(xué)性質(zhì)再好沒吊用,關(guān)鍵還是看feature。弄一個有效的feature出來精度呼呼的往上漲,各種分類器瞎JB換啊調(diào)啊基本沒差別。。(當(dāng)然deep learning這種模型的質(zhì)變除外,但這個和不搞科研的人就沒啥關(guān)系了)所以你要問數(shù)學(xué)有沒有用,我說有用,根據(jù)數(shù)學(xué)才能提出有效的模型——但這特媽是學(xué)界人家十年磨一劍的人用的。放公司里用數(shù)學(xué)拱KPI分分鐘被nen死。隔壁王二狗整倆新feature獎金拿得多多的,這邊你要死磕泛函產(chǎn)品狗咬死你。。
當(dāng)然在偏研究的地方比如Google X的某些部門還是有用的,但我覺得這還是偏學(xué)界。
總的來說,我的建議是,如果想去公司的話就不要糾結(jié)逼格過高的事情了。學(xué)好線性代數(shù),統(tǒng)計和凸優(yōu)化就出門打怪吧,攢系統(tǒng)經(jīng)驗和dirty trick才是王道。當(dāng)然我也不是說就不要搞數(shù)學(xué),只是如果你去公司的話,在學(xué)好線代統(tǒng)計凸優(yōu)化的前提下,同樣的時間花在學(xué)計算機系統(tǒng)的構(gòu)建和系統(tǒng)性的思考方法上,比學(xué)習(xí)數(shù)學(xué)更劃算。
編輯于 2015-04-09 35 條評論 感謝
這里有個80-20原則的應(yīng)用。
只要20%的機器學(xué)習(xí)知識,其實已經(jīng)可以在80%的商業(yè)應(yīng)用里取得滿意的效果。
但,如果公司精益求精,或者說是專注于機器學(xué)習(xí)算法的公司,可能要投入指數(shù)級別的努力來達到性能的提升。
不請自來,我本人就是從數(shù)學(xué)轉(zhuǎn)到數(shù)據(jù)科學(xué)上來的,是完全以應(yīng)用為目的學(xué)的機器學(xué)習(xí)。本科加PHD九年中,數(shù)學(xué)方面的課程大概學(xué)過:數(shù)學(xué)分析(微積分),線性代數(shù),概率論,統(tǒng)計,應(yīng)用統(tǒng)計,數(shù)值分析,常微分方程,偏微分方程,數(shù)值偏微分方程,運籌學(xué),離散數(shù)學(xué),隨機過程,隨機偏微分方程,抽象代數(shù),實變函數(shù),泛函分析,復(fù)變函數(shù),數(shù)學(xué)建模,拓撲,微分幾何,漸近分析等等
從我個人的學(xué)習(xí)過程中,覺得對機器學(xué)習(xí)的應(yīng)用有幫助的數(shù)學(xué)學(xué)科有(重要性從高到低):
1, 線性代數(shù)(或叫高等代數(shù)):必需,所有的算法最后都會向量化表示,線性代數(shù)不熟的話,算法都看不懂啊
2,微積分:這個是所有高等數(shù)學(xué)的基礎(chǔ),不細說了
3,統(tǒng)計:這里包括統(tǒng)計理論基礎(chǔ),和應(yīng)用統(tǒng)計(主要就是線性模型)。很多機器學(xué)習(xí)內(nèi)容的前身就是統(tǒng)計啊。
3.5, 凸優(yōu)化: 經(jīng) @徐文浩 補充,原因跟6相似
前三個感覺是想要學(xué)好機器學(xué)習(xí)所必需的,后面的雖然不必需,但是適當(dāng)了解之后,幫助也很大:
4,概率論:基礎(chǔ)概率論就夠了,以測度為基礎(chǔ)的高級概率論對機器學(xué)習(xí)幫助不大
5,數(shù)值分析:數(shù)值分析的一部分包括了插值,擬合,數(shù)值求解各種方程,數(shù)值積分,這些小技術(shù)雖然沒有跟機器學(xué)習(xí)直接扯上關(guān)系,但是可能在你處理復(fù)雜問題時的一些小地方起到奇效。數(shù)值分析的另一大塊就是數(shù)值線性代數(shù)了,包括怎么矩陣求逆了,矩陣的各種分解了,矩陣特征根奇異值什么了,這里面很多算法都會被機器學(xué)習(xí)的書法直接使用的。比如SVD就被Principal Component Analysis直接調(diào)用了啊。
6,運籌學(xué):運籌就是做優(yōu)化,說白了就是把問題表示成數(shù)學(xué)公式和限制條件,然后求最大值或最小值。所以不少機器學(xué)習(xí)里面先進的優(yōu)化算法,最先都是在運籌里面出現(xiàn)的
暫時就想到這么多,至于題主說的泛函,微分流形,代數(shù)拓撲啥的,完全不需要了解啊。
編輯于 2015-04-28 26 條評論 感謝
我就是從數(shù)學(xué)轉(zhuǎn)ML的。我就知道,肯定有人要扯很多純數(shù)學(xué)的“基礎(chǔ)背景”。我說一些實在的,微分幾何,流形,代數(shù)拓撲這些知識,只要你去找相關(guān)的研究論文,總能找得到和Ml有交集的地方。但是,不代表你必須掌握它們。在大部分的ML研究里,還是微積分和線性代數(shù)、概率統(tǒng)計的功底最重要。不要太小看微積分和線性代數(shù),很多時候做研究時要用的推導(dǎo)還是需要很多熟練的技巧才可以勝任。至于其他知識,可以用到時再補充。
----------------------------------------------------------------------------------------------
CSDN的TOPIC:
機器學(xué)習(xí)需要學(xué)習(xí)哪些數(shù)學(xué)知識 [問題點數(shù):20分,結(jié)帖人hanyahui88]
收藏
關(guān)注
hanyahui88
大眼的小眼
本版等級:
結(jié)帖率:100%
樓主發(fā)表于: 2014-10-16 11:07:37
機器學(xué)習(xí)數(shù)學(xué)數(shù)據(jù)分析算法
最近公司做數(shù)據(jù)分析,但是以前都沒有接觸過,看了一下所有的算法,很多都是跟數(shù)學(xué)有關(guān),看不懂很多數(shù)學(xué)符號,所以問問我應(yīng)該學(xué)習(xí)什么數(shù)學(xué) 好像離散數(shù)學(xué)是必須的
更多0分享到:
相關(guān)推薦:
阿里云機器學(xué)習(xí)算法應(yīng)用實踐
統(tǒng)計機器學(xué)習(xí)入門——重抽樣方法
統(tǒng)計機器學(xué)習(xí)入門——分類2
統(tǒng)計機器學(xué)習(xí)入門——線性模型選擇與正則化2
對我有用[0] 丟個板磚[0] 引用 | 舉報 | 管理
回復(fù)次數(shù):9
關(guān)注
OrthocenterCh...
Kenney_Qin
本版等級:
#1 得分:3回復(fù)于: 2014-10-16 13:18:23
以我平時接觸到的機器學(xué)習(xí)算法來說,與其相關(guān)的的數(shù)學(xué)知識有:求導(dǎo),求梯度,拉格朗日乘子法,拉格朗日對偶,牛頓迭代法等,數(shù)學(xué)知識是基礎(chǔ),很多機器學(xué)習(xí)算法是建立在數(shù)學(xué)的基礎(chǔ)上,是數(shù)值計算的比較多,和離散數(shù)學(xué)關(guān)系不是特別大,如果你要做圖算法,那離散數(shù)學(xué)就很重要了。
對我有用[0] 丟個板磚[0] 引用 | 舉報 | 管理
關(guān)注
hanyahui88
大眼的小眼
本版等級:
#2 得分:0回復(fù)于: 2014-10-17 09:12:48
引用 1 樓 OrthocenterChocolate 的回復(fù):以我平時接觸到的機器學(xué)習(xí)算法來說,與其相關(guān)的的數(shù)學(xué)知識有:求導(dǎo),求梯度,拉格朗日乘子法,拉格朗日對偶,牛頓迭代法等,數(shù)學(xué)知識是基礎(chǔ),很多機器學(xué)習(xí)算法是建立在數(shù)學(xué)的基礎(chǔ)上,是數(shù)值計算的比較多,和離散數(shù)學(xué)關(guān)系不是特別大,如果你要做圖算法,那離散數(shù)學(xué)就很重要了。
我最近在研究均值漂移算法,里面的核函數(shù),好多公式都看不懂 我也不知道學(xué)什么數(shù)學(xué)可以看懂這些公式。
你說的求導(dǎo),求梯度,拉格朗日乘子法,拉格朗日對偶,牛頓迭代法等 這些是什么數(shù)學(xué)中的??
對我有用[0] 丟個板磚[0] 引用 | 舉報 | 管理
關(guān)注
longburulin
longburulin
本版等級:
#3 得分:2回復(fù)于: 2014-10-17 09:51:41
引用 2 樓 hanyahui88 的回復(fù):Quote: 引用 1 樓 OrthocenterChocolate 的回復(fù): 以我平時接觸到的機器學(xué)習(xí)算法來說,與其相關(guān)的的數(shù)學(xué)知識有:求導(dǎo),求梯度,拉格朗日乘子法,拉格朗日對偶,牛頓迭代法等,數(shù)學(xué)知識是基礎(chǔ),很多機器學(xué)習(xí)算法是建立在數(shù)學(xué)的基礎(chǔ)上,是數(shù)值計算的比較多,和離散數(shù)學(xué)關(guān)系不是特別大,如果你要做圖算法,那離散數(shù)學(xué)就很重要了。我最近在研究均值漂移算法,里面的核函數(shù),好多公式都看不懂 我也不知道學(xué)什么數(shù)學(xué)可以看懂這些公式。
你說的求導(dǎo),求梯度,拉格朗日乘子法,拉格朗日對偶,牛頓迭代法等 這些是什么數(shù)學(xué)中的??
數(shù)值分析里面好像除了拉格朗日對偶沒有 其他好像有
對我有用[0] 丟個板磚[0] 引用 | 舉報 | 管理
關(guān)注
OrthocenterCh...
Kenney_Qin
本版等級:
#4 得分:0回復(fù)于: 2014-10-19 21:38:16
引用 2 樓 hanyahui88 的回復(fù):Quote: 引用 1 樓 OrthocenterChocolate 的回復(fù): 以我平時接觸到的機器學(xué)習(xí)算法來說,與其相關(guān)的的數(shù)學(xué)知識有:求導(dǎo),求梯度,拉格朗日乘子法,拉格朗日對偶,牛頓迭代法等,數(shù)學(xué)知識是基礎(chǔ),很多機器學(xué)習(xí)算法是建立在數(shù)學(xué)的基礎(chǔ)上,是數(shù)值計算的比較多,和離散數(shù)學(xué)關(guān)系不是特別大,如果你要做圖算法,那離散數(shù)學(xué)就很重要了。我最近在研究均值漂移算法,里面的核函數(shù),好多公式都看不懂 我也不知道學(xué)什么數(shù)學(xué)可以看懂這些公式。
你說的求導(dǎo),求梯度,拉格朗日乘子法,拉格朗日對偶,牛頓迭代法等 這些是什么數(shù)學(xué)中的??
求導(dǎo),求梯度,拉格朗日乘子法是高等數(shù)學(xué)里面的,拉格朗日對偶,牛頓迭代法你可以看看凸優(yōu)化,其實凸優(yōu)化應(yīng)該包含了你想看的很多機器學(xué)習(xí)中的數(shù)學(xué)知識,只不過它們是建立在一些更為基礎(chǔ)的數(shù)學(xué)知識上(如求導(dǎo))。
對我有用[0] 丟個板磚[0] 引用 | 舉報 | 管理
關(guān)注
hanyahui88
大眼的小眼
本版等級:
#5 得分:0回復(fù)于: 2014-10-21 14:40:54
引用 4 樓 OrthocenterChocolate 的回復(fù):Quote: 引用 2 樓 hanyahui88 的回復(fù):Quote: 引用 1 樓 OrthocenterChocolate 的回復(fù): 以我平時接觸到的機器學(xué)習(xí)算法來說,與其相關(guān)的的數(shù)學(xué)知識有:求導(dǎo),求梯度,拉格朗日乘子法,拉格朗日對偶,牛頓迭代法等,數(shù)學(xué)知識是基礎(chǔ),很多機器學(xué)習(xí)算法是建立在數(shù)學(xué)的基礎(chǔ)上,是數(shù)值計算的比較多,和離散數(shù)學(xué)關(guān)系不是特別大,如果你要做圖算法,那離散數(shù)學(xué)就很重要了。我最近在研究均值漂移算法,里面的核函數(shù),好多公式都看不懂 我也不知道學(xué)什么數(shù)學(xué)可以看懂這些公式。
你說的求導(dǎo),求梯度,拉格朗日乘子法,拉格朗日對偶,牛頓迭代法等 這些是什么數(shù)學(xué)中的??求導(dǎo),求梯度,拉格朗日乘子法是高等數(shù)學(xué)里面的,拉格朗日對偶,牛頓迭代法你可以看看凸優(yōu)化,其實凸優(yōu)化應(yīng)該包含了你想看的很多機器學(xué)習(xí)中的數(shù)學(xué)知識,只不過它們是建立在一些更為基礎(chǔ)的數(shù)學(xué)知識上(如求導(dǎo))。
也就是看高等數(shù)學(xué) 和凸優(yōu)化 基本就可以了???
對我有用[0] 丟個板磚[0] 引用 | 舉報 | 管理
關(guān)注
OrthocenterCh...
Kenney_Qin
本版等級:
#6 得分:5回復(fù)于: 2014-10-23 14:32:40
引用 5 樓 hanyahui88 的回復(fù):Quote: 引用 4 樓 OrthocenterChocolate 的回復(fù):Quote: 引用 2 樓 hanyahui88 的回復(fù):Quote: 引用 1 樓 OrthocenterChocolate 的回復(fù): 以我平時接觸到的機器學(xué)習(xí)算法來說,與其相關(guān)的的數(shù)學(xué)知識有:求導(dǎo),求梯度,拉格朗日乘子法,拉格朗日對偶,牛頓迭代法等,數(shù)學(xué)知識是基礎(chǔ),很多機器學(xué)習(xí)算法是建立在數(shù)學(xué)的基礎(chǔ)上,是數(shù)值計算的比較多,和離散數(shù)學(xué)關(guān)系不是特別大,如果你要做圖算法,那離散數(shù)學(xué)就很重要了。我最近在研究均值漂移算法,里面的核函數(shù),好多公式都看不懂 我也不知道學(xué)什么數(shù)學(xué)可以看懂這些公式。
你說的求導(dǎo),求梯度,拉格朗日乘子法,拉格朗日對偶,牛頓迭代法等 這些是什么數(shù)學(xué)中的??求導(dǎo),求梯度,拉格朗日乘子法是高等數(shù)學(xué)里面的,拉格朗日對偶,牛頓迭代法你可以看看凸優(yōu)化,其實凸優(yōu)化應(yīng)該包含了你想看的很多機器學(xué)習(xí)中的數(shù)學(xué)知識,只不過它們是建立在一些更為基礎(chǔ)的數(shù)學(xué)知識上(如求導(dǎo))。
也就是看高等數(shù)學(xué) 和凸優(yōu)化 基本就可以了???
對,還有些矩陣運算,如果不熟悉的話再看看線性代數(shù),建議你碰到不會的再去查,而不是事先全部看完, 不然太多了。
對我有用[0] 丟個板磚[0] 引用 | 舉報 | 管理
關(guān)注
q243021856
狼痕
本版等級:
#7 得分:5回復(fù)于: 2014-10-23 14:58:16
微積分、線性代數(shù)、概率論、離散數(shù)學(xué)、統(tǒng)計學(xué)
對我有用[0] 丟個板磚[0] 引用 | 舉報 | 管理
關(guān)注
shaowei213
Tracysw
本版等級:
#8 得分:5回復(fù)于: 2014-10-23 15:38:32
引用 7 樓 q243021856 的回復(fù):微積分、線性代數(shù)、概率論、離散數(shù)學(xué)、統(tǒng)計學(xué)
專業(yè)
對我有用[0] 丟個板磚[0] 引用 | 舉報 | 管理
關(guān)注
hanyahui88
大眼的小眼
本版等級:
#9 得分:0回復(fù)于: 2014-10-28 11:45:36
好的 謝謝大家
總結(jié)
以上是生活随笔為你收集整理的研究机器学习需要什么样的数学基础?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习中的基本数学知识
- 下一篇: 机器学习理论篇:机器学习的数学基础