因?yàn)椴恢浪鶎W(xué)的數(shù)學(xué)知識到底有什么用。對于IT公司的研發(fā)人員來說,他們在進(jìn)入大數(shù)據(jù)相關(guān)崗位前,總是覺得要先學(xué)點(diǎn)數(shù)學(xué),但是茫茫的數(shù)學(xué)世界,哪里才是數(shù)據(jù)技術(shù)的盡頭?
一談到數(shù)據(jù)技術(shù),很多人首先想到的是數(shù)學(xué),大概是因?yàn)閿?shù)字在數(shù)學(xué)體系中穩(wěn)固的位置吧,這也是理所當(dāng)然的。本文對數(shù)據(jù)技術(shù)的數(shù)學(xué)基礎(chǔ)這個問題進(jìn)行一些探討。
我們知道數(shù)學(xué)的三大分支,即代數(shù)、幾何與分析,每個分支隨著研究的發(fā)展延伸出來很多小分支。在這個數(shù)學(xué)體系中,與大數(shù)據(jù)技術(shù)有密切關(guān)系的數(shù)學(xué)基礎(chǔ)主要有以下幾類。(關(guān)于這些數(shù)學(xué)方法在大數(shù)據(jù)技術(shù)中的應(yīng)用參見《互聯(lián)網(wǎng)大數(shù)據(jù)處理技術(shù)與應(yīng)用》一書,2017,清華大學(xué)出版社)
(1)概率論與數(shù)理統(tǒng)計(jì)
這部分與大數(shù)據(jù)技術(shù)開發(fā)的關(guān)系非常密切,條件概率、獨(dú)立性等基本概念、隨機(jī)變量及其分布、多維隨機(jī)變量及其分布、方差分析及回歸分析、隨機(jī)過程(特別是Markov)、參數(shù)估計(jì)、Bayes理論等在大數(shù)據(jù)建模、挖掘中就很重要。大數(shù)據(jù)具有天然的高維特征,在高維空間中進(jìn)行數(shù)據(jù)模型的設(shè)計(jì)分析就需要一定的多維隨機(jī)變量及其分布方面的基礎(chǔ)。Bayes定理更是分類器構(gòu)建的基礎(chǔ)之一。除了這些這些基礎(chǔ)知識外,條件隨機(jī)場CRF、隱Markov模型、n-gram等在大數(shù)據(jù)分析中可用于對詞匯、文本的分析,可以用于構(gòu)建預(yù)測分類模型。
當(dāng)然以概率論為基礎(chǔ)的信息論在大數(shù)據(jù)分析中也有一定作用,比如信息增益、互信息等用于特征分析的方法都是信息論里面的概念。
(2)線性代數(shù)
這部分的數(shù)學(xué)知識與數(shù)據(jù)技術(shù)開發(fā)的關(guān)系也很密切,矩陣、轉(zhuǎn)置、秩分塊矩陣、向量、正交矩陣、向量空間、特征值與特征向量等在大數(shù)據(jù)建模、分析中也是常用的技術(shù)手段。
在互聯(lián)網(wǎng)大數(shù)據(jù)中,許多應(yīng)用場景的分析對象都可以抽象成為矩陣表示,大量Web頁面及其關(guān)系、微博用戶及其關(guān)系、文本集中文本與詞匯的關(guān)系等等都可以用矩陣表示。比如對于Web頁面及其關(guān)系用矩陣表示時,矩陣元素就代表了頁面a與另一個頁面b的關(guān)系,這種關(guān)系可以是指向關(guān)系,1表示a和b之間有超鏈接,0表示a,b之間沒有超鏈接。著名的PageRank算法就是基于這種矩陣進(jìn)行頁面重要性的量化,并證明其收斂性。
以矩陣為基礎(chǔ)的各種運(yùn)算,如矩陣分解則是分析對象特征提取的途徑,因?yàn)榫仃嚧砹四撤N變換或映射,因此分解后得到的矩陣就代表了分析對象在新空間中的一些新特征。所以,奇異值分解SVD、PCA、NMF、MF等在大數(shù)據(jù)分析中的應(yīng)用是很廣泛的。
(3)最優(yōu)化方法
模型學(xué)習(xí)訓(xùn)練是很多分析挖掘模型用于求解參數(shù)的途徑,基本問題是:給定一個函數(shù)f:A→R,尋找一個元素a0∈A,使得對于所有A中的a,f(a0)≤f(a)(最小化);或者f(a0)≥f(a)(最大化)。優(yōu)化方法取決于函數(shù)的形式,從目前看,最優(yōu)化方法通常是基于微分、導(dǎo)數(shù)的方法,例如梯度下降、爬山法、最小二乘法、共軛分布法等。
(4)離散數(shù)學(xué)
離散數(shù)學(xué)的重要性就不言而喻了,它是所有計(jì)算機(jī)科學(xué)分支的基礎(chǔ),自然也是數(shù)據(jù)技術(shù)的重要基礎(chǔ)。這里就不展開了。
最后,需要提的是,很多人認(rèn)為自己數(shù)學(xué)不好,數(shù)據(jù)技術(shù)開發(fā)應(yīng)用也做不好,其實(shí)不然。要想清楚自己在大數(shù)據(jù)開發(fā)應(yīng)用中充當(dāng)什么角色。參考以下的大數(shù)據(jù)技術(shù)研究應(yīng)用的切入點(diǎn),上述數(shù)學(xué)知識主要體現(xiàn)在數(shù)據(jù)挖掘與模型層上,這些數(shù)學(xué)知識和方法就需要掌握了。
當(dāng)然其他層次上,使用這些數(shù)學(xué)方法對于改進(jìn)算法也是非常有意義的,例如在數(shù)據(jù)獲取層,可以利用概率模型估計(jì)爬蟲采集頁面的價(jià)值,從而能做出更好的判斷。在大數(shù)據(jù)計(jì)算與存儲層,利用矩陣分塊計(jì)算實(shí)現(xiàn)并行計(jì)算。
以上內(nèi)容為大家介紹了Python數(shù)據(jù)分析要學(xué)什么數(shù)學(xué),希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。http://m.2667701.com/