如何使大數據易於管理
現在的社會是一個高速發展的社會,科技發達,信息流通,人們之間的交流越來越密切,生活也越來越方便,大數據就是這個高科技時代的產物。
有人把數據比喻為蘊藏能量的煤礦。煤炭按照性質有焦煤、無煙煤、肥煤、貧煤等分類,而露天煤礦、深山煤礦的挖掘成本又不一樣。與此類似,大數據並不在“大”,而在於“有用”。價值含量、挖掘成本比數量更為重要。對於很多行業而言,如何利用這些大規模數據是贏得競爭的關鍵。
大數據分析的困境
不過,“大數據”在經濟發展中的巨大意義並不代表其能取代一切對於社會問題的理性思考,科學發展的邏輯不能被湮沒在海量數據中。著名經濟學家路德維希·馮·米塞斯曾提醒過:“就今日言,有很多人忙碌於資料之無益累積,以致對問題之說明與解決,喪失了其對特殊的經濟意義的了解。”這確實是需要警惕的。
然而,分析大數據集可能會產生問題。首先,大數據是大規模的,有時太大,不能通過常用的分析工具有效地處理。
麻省理工學院Andrew and Erna Viterbi電氣工程與計算機科學院的教授、人工智能實驗室(CSAIL)的主任Daniela Rus、博士後Mikhail Volkov和曾在Rus科研小組的博士後、以色列海法大學機器人大數據實驗室主任Dan Feldman針對這個問題,提出了一個解決方案,將大數據變成可管理的數據。InfoQ整理並分享出來,以饗讀者。
大數據困境破解之道
處理大數據的一種方法是縮減它。如果您可以確定大數據的一個子集,用於保留大數據最重要的數學關係,那麼就可以進行有用的分析,不然對整個大數據集來說將是非常耗時,不實用。
然而,用於提取這樣的“核心集”的方法根據應用程序而有所不同。研究人員提出了一種提取可由大量常用數據分析工具使用的核心集的新技術,適合自然語言處理、推薦係統、天氣預報、金融和神經科學等。
“這些都是在許多應用程序中使用的非常通用的算法,”Danilla Rus表示,“它們是這麼多問題的基礎。通過為這些工具確定出一個巨大矩陣的核心集,人們就可以進行以前根本不可能的計算。”
例如,在他們的論文中,研究人員將他們的技術應用於矩陣(也就是表格),它將英語版維基百科上的每篇文章映射到網站上出現的每一個單詞。這個矩陣,將有140萬篇文章和440萬列的單詞。
維基百科的這個矩陣實在太大了,以至於不能使用低秩近似來進行分析,該算法可以識別自由格式文本的主題。但是一旦提取出來核心集,研究人員就能夠使用低秩近似來提取維基百科上最常見的100個主題的單詞集群。例如,包含“服裝”、“新娘”、“伴娘”和“婚禮”的集群表示婚禮的主題;包含“槍”、“開槍”、“卡住”、“手槍”和“槍擊”的集群顯示指定了槍擊事件的主題。
讓大數據可管理的思路
研究人員的核心集新技術對於一係列工具非常有用,如奇異值分解、主成分分析、潛在語義分析。但它們共同之處是縮減:它們采用具有大量的變量數據集,並且用更少的變量找到它們的近似值。
在這裏,這些工具的作用與核心集類似。但是,核心集是特定應用程序,而dimension-reduction工具是通用的。這種共性使它們的密集型計算比核心集更多:對於大型數據集的實際應用來說計算量過於龐大。
研究人員認為,他們的技術可以用於用例如從數百萬變量中嗅出數據集:例如根據他們使用的詞語對維基百科頁麵的描述——隻有幾千個單詞。在這一點上,諸如廣泛使用的主成分分析技術可以將變量的數量減少到幾百個,甚至更少。
維基百科矩陣有440萬列,每列代表一個不同的單詞。維基百科上的任何文章隻會使用幾千個不同的單詞。所以在任何給定的行:這意味著在任何一篇文章,隻有幾千個矩陣插槽中的440萬將會有內容。在稀疏矩陣中,大多數值為零。
至關重要的是,這項新技術保留了稀疏性,這使得它的核心集更容易進行計算處理。如果它們涉及零的大量乘法和加法,計算將會變得更容易。
新的核心集技術使用所謂的合並和歸約過程,它開始取數據集中的20個數據點,並選擇其中10個作為滿20個數據點的最具代表性的點。然後它對另外20個數據點執行相同的過程,合並這兩個所減少的10個數據點,形成新的20個數據點的數據集,然後它進行另一個縮減的過程,從20個下降到10個。
即使該過程檢查巨大數據集中的每個數據點,因為它每次隻處理數據點的小集合,它仍然保持了很高的計算效率。在他們的論文中,研究人員證明,對於涉及一係列通用縮減工具的應用,他們提供的縮減方法提供了對完整數據集非常好的近似結果。
該方法取決於數據的幾何解釋,涉及稱為超球麵的概念,它是圓的多維模擬。任何一個多變量數據可以看做是多維空間中的一個點。以同樣的方式,數字對(1,1)定義二維空間中的點:在X軸上的點和Y軸上的點——就是維基百科表中的一行,其440萬個數字,定義了一個440萬個圓的空間上每一個點。
研究人員的縮減算法從找到數據點子集的平均值開始——比如說20個,那就要進行縮減。這也定義了高維空間中的點,稱之為初始點。然後將20個數據點中的每一個“投影”到以初始點為中心的超球麵上。也就是說,算法在數據點方向上找到超球麵上的唯一點。
該算法選擇超球麵上的20個數據投影之一。然後選擇最遠離第一個的超球麵上的投影。它找到兩者之間的中點,然後選擇距離中點最遠的數據投影;然後它再找到這兩點之間的中點,並選擇距離它最遠的數據投影;如此循環。
研究人員能夠證明通過這種方法選擇的中點將非常快地收斂在超球麵的中心。該方法將快速選擇其平均值接近20個初始點的點的子集。這使得它們特別合適核心集中的候選者。
本文轉自d1net(轉載)
最後更新:2017-07-20 23:03:48