什麼是資料科學?它和已有的資訊科學、統計學、機器學習等學科有什麼不同?作為一門新興的學科,資料科學依賴兩個因素:一是資料的廣泛性和多樣性;二是資料研究的共性。現代社會的各行各業都充滿了資料,這些資料的類型多種多樣,不僅包括傳統的結構化資料,也包括網頁、文本、圖像、視訊、語音等非結構化資料。資料分析本質上都是在解反問題,而且通常是随機模型的反問題,是以對它們的研究有很多共性。例如,自然語言處理和生物大分子模型都用到隐馬爾科夫過程和動态規劃方法,其最根本的原因是它們處理的都是一維随機信号;再如,圖像處理和統計學習中都用到的正則化方法,也是處理反問題的數學模型中最常用的一種。

資料科學主要包括兩個方面:用資料的方法研究科學和用科學的方法研究資料。前者包括生物資訊學、天體資訊學、數字地球等領域;後者包括統計學、機器學習、資料挖掘、資料庫等領域。這些學科都是資料科學的重要組成部分,隻有把它們有機地整合在一起,才能形成整個資料科學的全貌。
如何用資料的方法研究科學
用資料的方法研究科學,最典型的例子是開普勒關于行星運動的三大定律。開普勒的三大定律是根據他的前任,一位叫第谷的天文學家留給他的觀察資料總結出來的。表1列出的觀測資料是行星繞太陽一周所需要的時間(以年為機關)和行星離太陽的平均距離(以地球與太陽的平均距離為機關)。從這組資料可以看出,行星繞太陽運作的周期的平方和行星離太陽的平均距離的立方成正比,這就是開普勒第三定律。
開普勒雖然總結出他的三大定律,但他并不了解其内涵。牛頓則不然,他用牛頓第二定律和萬有引力定律把行星運動歸結成一個純粹的數學問題,即一個常微分方程組。如果忽略行星之間的互相作用,那麼各行星和太陽之間就構成了一個兩體問題,我們很容易求出相應的解,并由此推導出開普勒的三大定律。
牛頓運用的是尋求基本原理的方法,它遠比開普勒的方法深刻。牛頓不僅知其然,而且知其是以然。是以牛頓開創的尋求基本原理的方法成為科學研究的首選模式,這種方法的發展在20世紀初期達到了頂峰,在它的指導下,實體學家們提出了量子力學。原則上講,我們在日常生活中看到的自然現象都可以從量子力學出發得到解釋。量子力學提供了研究化學、材料科學、工程科學、生命科學等幾乎所有自然和工程學科的基本原理,這應該說是很成功的,但事情遠非這麼簡單。狄拉克指出,如果以量子力學的基本原理為出發點去解決這些問題,那麼其中的數學問題就太困難了。是以必須妥協,對基本原理作近似。
盡管牛頓模式很深刻,但對複雜的問題,開普勒模式往往更有效。例如,表2中形象地描述了一組人類基因組的單核苷酸多态性(Single Nucleotide Polymorphism, SNP)資料。研究人員在全世界挑選出1064個志願者,并把他們的SNP資料數字化,即把每個位置上可能出現的10種堿基對用數字表示,對這組資料做主成分分析(PCA)——一種簡單的資料分析方法,其原理是對資料的協方差矩陣做特征值分解,可以得到圖1所示的結果。其中橫軸和縱軸分别代表第一和第二奇異值所對應的特征向量,這些向量一共有1064個分量,對應1064個志願者。值得注意的是,這組點的顔色所代表的意義。由此可見,通過最常見的統計分析方法——主成分分析,可以從這組資料中展示出人類進化的過程。
圖1 對SNP資料做主成分分析的結果[1]
如果采用從基本原理出發的牛頓模式,上述問題基本是無法解決的,而基于資料的開普勒模式則行之有效。開普勒模式最成功的例子是生物資訊學和人類基因組工程,正因為它們的成功,材料基因組工程等類似的項目也被提上了議程。同樣,天體資訊學、計算社會學等也成為熱門學科,這些都是用資料的方法研究科學問題的例子。而圖像處理是另一個典型的例子。圖像處理是否成功是由人的視覺系統決定的,要從根本上解決圖像處理的問題,就需要從了解人的視覺系統着手,了解不同品質的圖像對人的視覺系統會産生什麼樣的影響。當然,這樣的了解很深刻,而且也許是我們最終需要的,但目前看來,它過于困難也過于複雜,解決很多實際問題時并不會真正使用它,而是使用一些更為簡單的數學模型。
用資料的方法研究科學問題,并不意味着就不需要模型,隻是模型的出發點不一樣,不是從基本原理的角度去尋找模型。以圖像處理為例,基于基本原理的模型需要描述人的視覺系統以及它與圖像之間的關系,而通常的方法可以是基于更為簡單的數學模型,如函數逼近的模型。
如何用科學的方法研究資料
用科學的方法研究資料主要包括資料采集、資料存儲和資料分析。本文将主要讨論資料分析。
資料分析的中心問題
比較常見的資料有以下幾種類型。
表格:最為經典的資料類型。在表格資料中,通常行代表樣本,列代表特征;
點集(point cloud):很多資料都可以看成是某空間中的點的集合;
時間序列:文本、通話和DNA序列等都可以看成是時間序列。它們也是一個變量(通常是時間)的函數;
圖像:可以看成是兩個變量的函數;
視訊:時間和空間坐标的函數;
網頁和報紙:雖然網頁或報紙上的每篇文章都可以看成是時間序列,但整個網頁或報紙又具有空間結構;
網絡資料:網絡本質上是圖,由節點和聯系節點的邊構成。
除了上述基本資料類型外,還可以考慮更高層次的資料,如圖像集、時間序列集、表格序列等。
資料分析的基本假設是觀察到的資料都是由某個模型産生的,而資料分析的基本問題就是找出這個模型。由于資料采集過程中不可避免會引入噪聲,是以這些模型都是随機模型。例如,點集對應的資料模型是機率分布,時間序列對應的資料模型是随機過程,圖像對應的資料模型是随機場,網絡對應的資料模型是圖模型和貝葉斯模型。
通常我們對整個模型并不感興趣,而隻是希望找到模型的一部分内容。例如我們利用相關性來判斷兩組資料是否相關,利用排序來對資料的重要性進行排名,利用分類和聚類将資料進行分組等。
很多情況下,我們還需要對随機模型作近似。最常見的方法是将随機模型近似為确定型模型,所有的回歸模型和基于變分原理的圖像處理模型都采用了這種近似;另一類方法是對其分布作近似,例如假設機率分布是正态分布或假設時間序列是馬爾科夫鍊等。
資料的數學結構
要對資料作分析,就必須先在資料集上引入數學結構。基本的數學結構包括度量結構、網絡結構和代數結構。
度量結構。在資料集上引進度量(距離),使之成為一個度量空間。文本進行中的餘弦距離函數就是一個典型的例子。
網絡結構。有些資料本身就具有網絡結構,如社交網絡;有些資料本身沒有網絡結構,但可以附加上一個網絡結構,例如度量空間的點集,我們可以根據點與點之間的距離來決定是否把兩個點連接配接起來,這樣就得到一個網絡結構。網頁排名(PageRank)算法是利用網絡結構的一個典型例子。
代數結構。把資料看成向量、矩陣或更高階的張量。有些資料集具有隐含的對稱性,也可以用代數的方法表達出來。
在上述數學結構的基礎上,可以讨論更進一步的問題,例如拓撲結構和函數結構。
拓撲結構。從不同的尺度看資料集,得到的拓撲結構可能是不一樣的。最著名的例子是3×3的自然圖像資料集裡面隐含着一個二維的克萊因瓶(Klein bottle)。
函數結構。對點集而言,尋找其中的函數結構是統計學的基本問題。這裡的函數結構包括線性函數(用于線性回歸)、分片常數(用于聚類或分類)、分片多項式(如樣條函數)、其他函數(如小波展開)等。
資料分析的主要困難
我們研究的資料通常有幾個特點:(1)資料量大。資料量大給計算帶來挑戰,需要一些随機方法或分布式計算來解決問題;(2)資料維數高。例如,前面提到的SNP資料是64萬維的;(3)資料類型複雜。網頁、報紙、圖像、視訊等多種類型的資料給資料融合帶來困難;(4)噪音大。資料在生成、采集、傳輸和處理等流程中,均可能引入噪音,這些噪音的存在給資料清洗和分析帶來挑戰,需要有一定修正功能的模型(如圖像中的正則化和機器學習中的去噪自編碼器)來進行降噪處理。
其中,最核心的困難是資料維數高。它會導緻維數災難(curse of dimensionality),即模型的複雜度和計算量随着維數的增加而指數增長。那麼,如何克服資料維數高帶來的困難?通常有兩類方法。一類是将數學模型限制在一個極小的特殊類裡,如線性模型;另一類是利用資料可能有的特殊結構,如稀疏性、低維、低秩和光滑性等。這些特性可以通過對模型作适當的正則化實作,也可以通過降維方法實作。
總之,資料分析本質上是一個反問題。處理反問題的許多方法(如正則化)在資料分析中扮演了重要角色,這正是統計學與統計力學的不同之處。統計力學處理的是正問題,統計學處理的是反問題。
算法的重要性
與模型相輔相成的是算法以及這些算法在計算機上的實作。在資料量很大的情況下,算法的重要性尤為突出。從算法的角度來看,處理大資料主要有兩條思路:
降低算法的複雜度,即計算量。通常要求算法的計算量是線性标度的,即計算量與資料量成線性關系。但很多關鍵的算法,尤其是優化方法,還達不到這個要求。對于特别大的資料集,如網際網路上的資料或社交網絡資料,我們希望能有次線性标度的算法,也就是說計算量遠小于資料量。這就要求我們采用抽樣的方法。其中最典型的例子是随機梯度下降法(Stochastic Gradient Descent, SGD)。
分布式計算。其基本思想是把一個大問題分解成很多小問題,然後分而治之。著名的MapReduce架構就是一個典型的例子。
現階段,算法的研究分散在兩個基本不相往來的領域——計算數學和計算機科學。計算數學研究的算法主要針對像函數這樣的連續結構,其主要應用對象是微分方程等;計算機科學主要處理離散結構,如網絡。而現實資料的特點介于兩者之間,即資料本身是離散的,而資料背後有一個連續的模型。是以,要發展針對資料的算法,就必須把計算數學和計算機科學研究的算法有效地結合起來。
原文釋出時間為:2017-10-25
本文作者:鄂維南
本文來自雲栖社群合作夥伴“51CTO”,了解相關資訊可以關注。