因為不知道所學的數學知識到底有什麼用。對於IT公司的研發人員來說,他們在進入大數據相關職位前,總是覺得要先學點數學,但是茫茫的數學世界,哪裡才是數據技術的盡頭?
一談到資料技術,很多人首先想到的是數學,大概是因為數字在數學體系中穩固的位置吧,這也是理所當然的。本文對數據技術的數學基礎這個問題進行一些探討。 (推薦學習:Python影片教學)
我們知道數學的三大分支,即代數、幾何與分析,每個分支隨著研究的發展延伸出來許多小分支。在這個數學體系中,與大數據技術有密切關係的數學基礎主要有以下幾類。 (關於這些數學方法在大數據技術中的應用參見《互聯網大數據處理技術與應用》一書,2017,清華大學出版社)
(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)離散數學
離散數學的重要性就不言而喻了,它是所有電腦科學分支的基礎,自然也是數據技術的重要基礎。這裡就不展開了。
最後,我需要提的是,很多人認為自己數學不好,資料技術開發應用程式也做不好,其實不然。要清楚自己在大數據開發應用程式中扮演什麼角色。參考以下的大數據技術研究應用的切入點,上述數學知識主要體現在資料探勘與模型層上,這些數學知識與方法就需要掌握了。
當然其他層次上,使用這些數學方法對於改進演算法也是非常有意義的,例如在資料獲取層,可以利用機率模型估計爬蟲擷取頁面的價值,從而能做出更好的判斷。在大數據運算與儲存層,利用矩陣分塊運算實現並行運算。
更多Python相關技術文章,請造訪Python教學欄位進行學習!
以上是Python資料分析要學什麼數學的詳細內容。更多資訊請關注PHP中文網其他相關文章!