1. 程式人生 > >大資料技術的數學基礎

大資料技術的數學基礎

由於工作關係,在我的周圍存在這兩類人,一是正在學校學習的大學生,二是在IT公司從事研發設計的工程師。他們在數學學習和應用方面出現了兩個極端。在校大學生,特別是大一、大二的學生每學期都有一些諸如數學分析、線性代數、數論之類數學課程,儘管在課堂上可以聽到萊布尼茨和牛頓的糾葛故事、笛卡爾的愛情故事,但是他們往往感到很迷茫,因為不知道所學的數學知識到底有什麼用。對於IT公司的研發人員來說,他們在進入大資料相關崗位前,總是覺得要先學點數學,但是茫茫的數學世界,哪裡才是大資料技術的盡頭?

在這裡我還是要推薦下我自己建的大資料學習交流qq裙: 957205962, 裙 裡都是學大資料開發的,如果你正在學習大資料 ,小編歡迎你加入,大家都是軟體開發黨,不定期分享乾貨(只有大資料開發相關的),包括我自己整理的一份2018最新的大資料進階資料和高階開發教程,歡迎進階中和進想深入大資料的小夥伴


 

一談到大資料技術,很多人首先想到的是數學,大概是因為數字在數學體系中穩固的位置吧,這也是理所當然的。本文對大資料技術的數學基礎這個問題進行一些探討。

我們知道數學的三大分支,即代數、幾何與分析,每個分支隨著研究的發展延伸出來很多小分支。在這個數學體系中,與大資料技術有密切關係的數學基礎主要有以下幾類。特別需要說明的是,由於涉及到的數學知識方法較多,這些數學方法的具體應用可以參閱我的《網際網路大資料處理技術與應用》一書中關於模型、演算法、隱私保護等章節。這裡只是做個總體概述,可以有個總體瞭解。

(1)概率論與數理統計

這部分與大資料技術開發的關係非常密切,條件概率、獨立性等基本概念、隨機變數及其分佈、多維隨機變數及其分佈、方差分析及迴歸分析、隨機過程(特別是Markov)、引數估計、Bayes理論等在大資料建模、挖掘中就很重要。大資料具有天然的高維特徵,在高維空間中進行資料模型的設計分析就需要一定的多維隨機變數及其分佈方面的基礎。Bayes定理更是分類器構建的基礎之一。除了這些這些基礎知識外,條件隨機場CRF、隱Markov模型、n-gram等在大資料分析中可用於對詞彙、文字的分析,可以用於構建預測分類模型。

當然以概率論為基礎的在大資料分析中也有一定作用,比如資訊增益、互資訊等用於特徵分析的方法都是資訊理論裡面的概念。

(2)線性代數

這部分的數學知識與大資料技術開發的關係也很密切,矩陣、轉置、秩 分塊矩陣、向量、正交矩陣、向量空間、特徵值與特徵向量等在大資料建模、分析中也是常用的技術手段。

在網際網路大資料中,許多應用場景的分析物件都可以抽象成為矩陣表示,大量Web頁面及其關係、微博使用者及其關係、文字集中文字與詞彙的關係等等都可以用矩陣表示。比如對於Web頁面及其關係用矩陣表示時,矩陣元素就代表了頁面a與另一個頁面b的關係,這種關係可以是指向關係,1表示a和b之間有超連結,0表示a,b之間沒有超連結。著名的PageRank演算法就是基於這種矩陣進行頁面重要性的量化,並證明其收斂性。

以矩陣為基礎的各種運算,如矩陣分解則是分析物件特徵提取的途徑,因為矩陣代表了某種變換或對映,因此分解後得到的矩陣就代表了分析物件在新空間中的一些。所以,奇異值分解SVD、PCA、NMF、MF等在大資料分析中的應用是很廣泛的。

(3)最優化方法

模型學習訓練是很多分析挖掘模型用於求解引數的途徑,基本問題是:給定一個函式f:A→R,尋找一個元素a0∈A,使得對於所有A中的a,f(a0)≤f(a)(最小化);或者f(a0)≥f(a)(最大化)。優化方法取決於函式的形式,從目前看,最優化方法通常是基於微分、導數的方法,例如梯度下降、爬山法、最小二乘法、共軛分佈法等。

(4)離散數學

離散數學的重要性就不言而喻了,它是所有電腦科學分支的基礎,自然也是大資料技術的重要基礎。這裡就不展開了。

最後,需要提的是,很多人認為自己數學不好,大資料技術開發應用也做不好,其實不然。要想清楚自己在大資料開發應用中充當什麼角色。參考以下的大資料技術研究應用的切入點,上述數學知識主要體現在資料探勘與模型層上,這些數學知識和方法就需要掌握了。

 

 

當然其他層次上,使用這些數學方法對於改進演算法也是非常有意義的,例如在資料獲取層,可以利用概率模型估計爬蟲採集頁面的價值,從而能做出更好的判斷。在大資料計算與儲存層,利用矩陣分塊計算實現平行計算。在“一文通俗理解大資料分析演算法的並行化”(關注微信公眾號IntBigData,檢視歷史推送文章)一文中,我也解釋了矩陣分塊在解決大規模資料計算複雜度時的作用。

在這裡我還是要推薦下我自己建的大資料學習交流qq裙: 957205962, 裙 裡都是學大資料開發的,如果你正在學習大資料 ,小編歡迎你加入,大家都是軟體開發黨,不定期分享乾貨(只有大資料開發相關的),包括我自己整理的一份2018最新的大資料進階資料和高階開發教程,歡迎進階中和進想深入大資料的小夥伴
 

如果是其他層次上的大資料技術研發,並不需要太多的數學方法,只要會碼就可以了。

-END-

開 講 了 !

全國高校Python資料分析課程高階研修班

(11月3-4日 武漢)

講師:曾劍平

  • 掌握Python語言基礎和程式設計方法,以及Python與其他語言的異同。

  • 以Web新聞頁面的採集、內容提取、處理及分析為應用案例和主線,掌握網際網路大資料處理的關鍵技術和整個處理流程,使得參加培訓的教師具備網際網路大資料處理技術的知識體系。

  • 學習掌握Web頁面採集的爬蟲技術架構及其Python實現方法,學習Web資訊提取的技術原理,並掌握利用若干開源框架進行Web提取的方法。使參加培訓的教師可以開設Web大資料採集的專業核心課程,並具備網際網路大資料處理技術相關課程的實驗設計能力。

  •