大資料到底怎麼學:資料科學概論與大資料學習誤區

風火資料發表於2018-05-04
12425625-e5f4c54e40ac4268.png
image.png

“資料科學家走在通往無所不知的路上,走到盡頭才發現,自己一無所知。”-Will Cukierski,Head of Competitions & Data Scientist at Kaggle

最近不少網友向我諮詢如何學習大資料技術?大資料怎麼入門?怎麼做大資料分析?資料科學需要學習那些技術?大資料的應用前景等等問題。由於大資料技術涉及內容太龐雜,大資料應用領域廣泛,而且各領域和方向採用的關鍵技術差異性也會較大,難以三言兩語說清楚,本文從資料科學和大資料關鍵技術體系角度,來說說大資料的核心技術什麼,到底要怎麼學習它,以及怎麼避免大資料學習的誤區,以供參考。

1****.大資料應用的目標是普適智慧

要學好大資料,首先要明確大資料應用的目標,我曾經講過大資料就好比萬金油,像百度幾年前提的框計算,這個框什麼都能往裡裝。為什麼會這樣,因為大資料這個框太大,其終極目標是利用一系列資訊科技實現海量資料條件下的人類深度洞察和決策智慧化,最終走向普適的人機智慧融合!這不僅是傳統資訊化管理的擴充套件延伸,也是人類社會發展管理智慧化的核心技術驅動力。通過大資料應用,面向過去,發現資料規律,歸納已知;面向未來,挖掘資料趨勢,預測未知。從而提高人們對事物的理解和決策處置能力,最終實現社會的普適智慧。不管是商業智慧,機器智慧,人工智慧,還是智慧客服,智慧問答,智慧推薦,智慧醫療、智慧交通等相關技術和系統,其本質都是朝著這一目標在演進。隨著雲端計算平臺和大資料技術的高速發展,獲得大資料基礎設施建設相關技術和支援越來越容易。同時,移動網際網路和物聯網技術所具備的全面資料採集能力,客觀上促進了大資料的積累和爆發。總之大資料就是個大框,什麼都能往裡裝,大資料來源的採集如果用感測器的話離不開物聯網、大資料來源的採集用智慧手機的話離不開移動網際網路,大資料海量資料儲存要高擴充套件就離不開雲端計算,大資料計算分析採用傳統的機器學習、資料探勘技術會比較慢,需要做平行計算和分散式計算擴充套件,大資料要自動特徵工程離不開深度學習、大資料要互動展示離不開視覺化,而面向特定領域和多模態資料的大資料分析技術更是十分廣泛,金融大資料、交通大資料、醫療大資料、安全大資料、電信大資料、電商大資料、社交大資料,文字大資料、影象大資料、視訊大資料…諸如此類等等範圍太廣,所以首先我們要搞清楚大資料應用的核心目標,這個明確之後,才利於結合不同行業特點把握住共性關鍵技術,從而有針對性的學習。

12425625-2ac3e220c3ec0d4f.png
image.png

圖1 國外大資料企業關係圖,傳統資訊科技企業也在向智慧化發展,與新興大資料企業互為競爭和支援。

2****.從大資料版圖看資料科學及其關鍵技術體系

明確大資料應用目標之後,我們再看看資料科學(Data Science),資料科學可以理解為一個跨多學科領域的,從資料中獲取知識的科學方法,技術和系統集合,其目標是從資料中提取出有價值的資訊,它結合了諸多領域中的理論和技術,包括應用數學,統計,模式識別,機器學習,人工智慧,深度學習,資料視覺化,資料探勘,資料倉儲,以及高效能運算等。圖靈獎得主Jim Gray把資料科學喻為科學的“第四正規化”(經驗、理論、計算和資料驅動),並斷言因為資訊科技的影響和資料的泛濫增長,未來不管什麼領域的科學問題都將由資料所驅動。

12425625-1b9bed7226e5fe76.png
image.png

圖2 典型的資料科學過程:包括原始資料採集,資料預處理和清洗,資料探索式分析,資料計算建模,資料視覺化和報表,資料產品和決策支援等。

傳統資訊化技術多是在結構化和小規模資料上進行計算處理,大資料時代呢,資料變大了,資料多源異構了,需要智慧預測和分析支援了,所以核心技術離不開機器學習、資料探勘、人工智慧等,另外還需考慮海量資料的分散式儲存管理和機器學習演算法並行處理,所以資料的大規模增長客觀上促進了DT(Data Technology)技術生態的繁榮與發展,包括大資料採集、資料預處理、分散式儲存、NOSQL資料庫、多模式計算(批處理、線上處理、實時流處理、記憶體處理)、多模態計算(影象、文字、視訊、音訊)、資料倉儲、資料探勘、機器學習、人工智慧、深度學習、平行計算、視覺化等各種技術範疇和不同的層面。可見DT這種新技術泛型生態下的大資料版圖十分龐雜,當然也有泡沫的成分存在,這個版圖也會時刻處於變化之中,就像PC時代的應用程式,網際網路上的網站,移動網際網路的APP,大資料時代的技術和產品也正處於優勝劣汰的過程。下面我們來看2017版的大資料版圖:

12425625-606ae3dcd9bc929d.png
image.png
12425625-6f46d04c92f810c0.png
image.png

圖3 國外和國內中關村大資料產業版圖(包括資料、技術、應用、企業等)

上述大資料版圖基本涵蓋了國外大資料相關技術和產業鏈(國內中關村版的大資料技術和企業還是太少,多是傳統資訊科技企業在湊數),從大資料來源,開源技術框架,大資料基礎設施建設,大資料核心的計算挖掘分析,大資料行業應用等方面進行了相關技術、產品和企業的展示。大資料產業鏈從資料來源〉開源技術〉基礎設施〉分析計算〉行業應用到產品落地,每個鏈條環節和下轄的細分內容都涉及大量資料分析技術。不管是學習技術還是開發產品,分析和理解這個大資料產業版圖都十分必要。版圖細節不做贅述,我們重點從學習的角度來看DT(Data technology)技術泛型下包括那些核心技術,各技術領域之間是什麼樣的邏輯關係,這是學習大資料首先要搞清楚的問題:

(1)機器學習(machine learning):首先我們說說機器學習,為什麼先說它,因為機器學習是大資料處理承上啟下的關鍵技術,機器學習往上是深度學習、人工智慧,機器學習往下是資料探勘和統計學習。機器學習屬於計算機和統計學交叉學科,核心目標是通過函式對映、資料訓練、最優化求解、模型評估等一系列演算法實現讓計算機擁有對資料進行自動分類和預測的功能,機器學習領域包括很多種類的智慧處理演算法,分類、聚類、迴歸、相關分析等每類下面都有很多演算法進行支撐,如SVM,神經網路,Logistic迴歸,決策樹、EM、HMM、貝葉斯網路、隨機森林、LDA等,無論是網路排名的十大演算法還是二十大演算法,都只能說是冰山一角,隨著深度學習核心技術的突破性發展,機器學習演算法得以高速擴張;總之大資料處理要智慧化,機器學習是核心的核心,深度學習、資料探勘、商業智慧、人工智慧,大資料等概念的核心技術就是機器學習,機器學習用於影象處理和識別就是機器視覺,機器學習用於模擬人類語言就是自然語言處理,機器視覺和自然語言處理也是支撐人工智慧的核心技術,機器學習用於通用的資料分析就是資料探勘。深度學習(deep learning)是機器學習裡面現在比較火的一個子領域,屬於原來人工神經網路演算法的一系列變種,由於在大資料條件下影象,語音識別等領域的學習效果顯著,有望成為人工智慧取得突破的關鍵性技術,所以各大研究機構和IT巨頭們都對其投入了極大的關注。

(2)資料探勘(data mining),資料探勘可以說是機器學習的一個超集,是一個較為寬泛的概念,類似於採礦,要從大量礦石裡面挖出寶石,從海量資料裡面挖掘有價值有規律的資訊同理。資料探勘核心技術來自於機器學習領域,如深度學習是機器學習中一類比較火的演算法,當然也可以用於資料探勘。還有傳統的商業智慧(BI)領域也包括資料探勘,OLAP多維資料分析可以做挖掘分析,甚至Excel基本的統計分析也可以做挖掘。關鍵是你的技術能否真正挖掘出有用的資訊,然後這些資訊可以指導決策。資料探勘的提法比機器學習要早,應用範圍要廣,資料探勘和機器學習是大資料分析的核心技術,互為支撐,為大資料處理提供相關模型和演算法,而模型和演算法是大資料處理的關鍵,探索式互動式分析、視覺化分析、資料的採集儲存和管理等都較少用到學習模型。

(3)人工智慧(artifical intelligence),AI和大資料是相互促進的關係,一方面,AI基礎理論技術的發展為大資料機器學習和資料探勘提供了更豐富的模型和演算法,如近幾年的深度學習一系列技術(強化學習、對抗學習等)和方法;另一方面,大資料為AI的發展提供了新的動力和燃料,資料規模大了之後,傳統機器學習演算法面臨挑戰,要做並行化、要加速要改進。AI的終極目標是機器智慧化擬人化,機器能完成和人一樣的工作,人腦僅憑几十瓦的功率,能夠處理種種複雜的問題,怎樣看都是很神奇的事情。雖然機器的計算能力比人類強很多,但人類的理解能力,感性的推斷,記憶和幻想,心理學等方面的功能,機器是難以比肩的,所以機器要擬人化很難單從技術角度把人工智慧講清楚。人工智慧與機器學習的關係,兩者的相當一部分技術、演算法都是重合的,深度學習在計算機視覺和棋牌走步等領域取得了巨大的成功,比如谷歌自動識別一隻貓,谷歌的AlpaGo還擊敗了人類頂級的專業圍棋手等。但深度學習在現階段還不能實現類腦計算,最多達到仿生層面,情感,記憶,認知,經驗等人類獨有能力機器在短期難以達到。

(4)其它大資料處理基礎技術,如圖4,大資料基礎技術包括電腦科學相關如程式設計、雲端計算、分散式計算、系統架構設計等方向,還有機器學習的理論基礎包括如演算法、資料結構、概率論、代數、矩陣分析、統計學習、特徵工程等方面;商業分析與理解如領域知識管理、產品設計、視覺化等技術;資料管理如資料採集、資料預處理、資料庫、資料倉儲、資訊檢索、多維分析、分散式儲存等技術。這些理論與技術是為大資料的基礎管理、機器學習和應用決策等多個方面服務的。

12425625-ae5b317e3787f6b9.png
image.png

圖4 資料科學的技術維度

上圖是資料科學的5個技術維度,基本涵蓋了資料科學的關鍵支撐技術體系,從資料管理、電腦科學基礎理論技術、資料分析、商業理解決策與設計幾個方面進行了資料科學相關技術的梳理,其中電腦科學基礎理論方法與資料分析兩個板塊的學習內容是最多的,也是最重要的。現階段的大資料產品和服務多是在資料管理版塊,分析板塊和業務決策板塊的對接是資料科學和大資料產業後續發展的關鍵突破點。

另外圖中的Art&Design版塊只列了交通溝通和視覺化,其實還不夠,這個藝術(Art)還說明了資料科學與傳統資訊化技術的本質不同,資料科學的核心能力是根據問題提出設想,再把設想轉化為學習模型,這種能力是要講藝術的,沒有這樣的設計藝術,計算機要智慧化不是那麼容易。為什麼上升為藝術了?因為經驗告訴我們,把現實問題轉化為模型沒有標準答案,可選的模型不只一種,技術路線多樣,評價指標也有多個維度,甚至優化方法也有很多種,機器學習的本質就是在處理這門藝術,給定原始資料、限制條件和問題描述,沒有標準答案,每種方案的選擇就是一種設想假設,需要具備利用精確的測試和實驗方法來驗證和證偽這些假設的能力,從這個層面講,未來所有科學問題以及商業、政府管理決策問題都將是資料科學問題,而機器學習是資料科學的核心。

3****.大資料盲人摸象:如何構建完整的知識結構和分析能力

從數字化、資訊化、網路化到未來的智慧化時代,移動網際網路、物聯網、雲端計算、大資料、人工智慧等前沿資訊科技領域,逐個火了一遍。也代表了資訊科技發展的大趨勢,什麼是大資料,大資料的技術範疇及其邏輯關係,估計很多人都是根據自己所熟悉的領域在盲人摸象(如圖5)。其實我這裡講的盲人摸象並不是貶義,畢竟一個領域的學習到精通就是從盲人摸象式開始的。大資料、資料科學都是很虛的一個概念,分析目標和採用技術都包羅永珍,就好比寫程式,分前端和後端,分B/S和C/S,分嵌入式、企業應用和APP等,開發語言更是有數十種,不同方向所需要的技術也是大不相同。

12425625-04b0b964ec08e21d.png
image.png

所以怎麼從點到面,構建大資料領域完整的知識結構和分析能力至關重要,某方面的技術和語言只是工具而已。大資料知識結構,就是既有精深的大資料基礎理論知識,又有廣博的知識面和應用全域性觀,具有大資料產業發展所需要的最合理、最優化、最關鍵的核心技術與知識體系。通過合理的知識結構和科學的大資料思維方法,提高大資料分析實戰技能。這個目標很大,但還是可以達到的,首先要搞清楚大資料產業鏈的情況,接下來要明確大資料技術棧也就是相關技術體系,最後定下學習目標和應用方向,是面對什麼行業的資料,是關注儲存還是機器學習,資料規模是什麼量級,資料型別是文字、影象、網頁還是商業資料庫?每個方向所用技術有較大差異,需要找準學習的興趣點和切入點。

12425625-8ae568518d91ae18.png
image.png

圖6 大資料技術棧與學習路線參考圖

上面這個大資料技術棧和學習路線圖,可以說是一個大資料學習的總綱,專業性很強,值得初學者深入研究和理解,對我在前面提到的資料科學技術體系來講,是更豐富的補充。比如基礎學習部分包括線性代數、關係代數、資料庫基礎、CAP理論、OLAP、多維資料模型、資料預處理ETL等都分析得很到位。總之大資料學習不能像炒菜一樣,等到把所有材料準備好了才下鍋(因為這個領域技術體系龐雜應用目標廣泛,就算學個十年二十年也難以掌握其大部分核心理論技術),而是結合自己的興趣或工作需求,找一個點猛扎進去,掌握這個點的相關技術,深入理解其分析的流程、應用和評價等環節,搞透徹一個點之後,再以點帶面,舉一反三,逐步覆蓋大資料各個領域,從而構建完整的知識結構和技術能力體系,這才是大資料學習的最佳路徑。

4****.大資料要怎麼學:資料科學特點與大資料學習誤區

(1)大資料學習要業務驅動,不要技術驅動:資料科學的核心能力是解決問題。大資料的核心目標是資料驅動的智慧化,要解決具體的問題,不管是科學研究問題,還是商業決策問題,抑或是政府管理問題。所以學習之前要明確問題,理解問題,所謂問題導向、目標導向,這個明確之後再研究和選擇合適的技術加以應用,這樣才有針對性,言必hadoop,spark的大資料分析是不嚴謹的。不同的業務領域需要不同方向理論、技術和工具的支援。如文字、網頁要自然語言建模,隨時間變化資料流需要序列建模,影象音訊和視訊多是時空混合建模;大資料處理如採集需要爬蟲、倒入匯出和預處理等支援,儲存需要分散式雲端儲存、雲端計算資源管理等支援,計算需要分類、預測、描述等模型支援,應用需要視覺化、知識庫、決策評價等支援。所以是業務決定技術,而不是根據技術來考慮業務,這是大資料學習要避免的第一個誤區。

(2)大資料學習要善用開源,不要重複造輪子:資料科學的技術基因在於開源。IT前沿領域的開源化已成不可逆轉的趨勢,Android開源讓智慧手機平民化,讓我們跨入了移動網際網路時代,智慧硬體開源將帶領跨入物聯網時代,以Hadoop和Spark為代表的大資料開源生態加速了去IOE(IBM、ORACLE、EMC)程式,倒逼傳統IT巨頭擁抱開源,谷歌和OpenAI聯盟的深度學習開源(以Tensorflow,Torch,Caffe等為代表)正在加速人工智慧技術的發展。資料科學的標配語言R和Python更是因開源而生,因開源而繁榮,諾基亞因沒把握開源大勢而衰落。為什麼要開源,這得益於IT發展的工業化和構件化,各大領域的基礎技術棧和工具庫已經很成熟,下一階段就是怎麼快速組合、快速搭積木、快速產出的問題,不管是linux,anroid還是tensorflow,其基礎構件庫基本就是利用已有開源庫,結合新的技術方法實現,組合構建而成,很少在重複造輪子。另外,開源這種眾包開發模式,是一種集體智慧程式設計的體現,一個公司無法積聚全球工程師的開發智力,而一個GitHub上的明星開源專案可以,所以要善用開源和集體智慧程式設計,而不要重複造輪子,這是大資料學習要避免的第二個誤區。

(3)大資料學習要以點帶面,不貪大求全:資料科學要把握好碎片化與系統性。根據前文的大資料技術體系分析,我們可以看到大資料技術的深度和廣度都是傳統資訊科技難以比擬的。我們的精力很有限,短時間內很難掌握多個領域的大資料理論和技術,資料科學要把握好碎片化和系統性的關係。何為碎片化,這個碎片化包括業務層面和技術層面,大資料不只是谷歌,亞馬遜,BAT等網際網路企業,每一個行業、企業裡面都有它去關注資料的痕跡:一條生產線上的實時感測器資料,車輛身上的感測資料,高鐵裝置的執行狀態資料,交通部門的監控資料,醫療機構的病例資料,政府部門的海量資料等等,大資料的業務場景和分析目標是碎片化的,而且相互之間分析目標的差異很大;另外,技術層面來講,大資料技術就是萬金油,一切服務於資料分析和決策的技術都屬於這個範疇,其技術體系也是碎片化的。那怎麼把握系統性呢,不同領域的大資料應用有其共性關鍵技術,其系統技術架構也有相通的地方,如系統的高度可擴充套件性,能進行橫向資料大規模擴張,縱向業務大規模擴充套件,高容錯性和多源異構環境的支援,對原有系統的相容和整合等等,每個大資料系統都應該考慮上述問題。如何把握大資料的碎片化學習和系統性設計,離不開前面提出的兩點誤區,建議從應用切入、以點帶面,先從一個實際的應用領域需求出發,搞定一個一個技術點,有一定功底之後,再舉一反三橫向擴充套件逐步理解其系統性技術。

(4)大資料學習要勇於實踐,不要紙上談兵:資料科學還是資料工程?大資料只有和特定領域的應用結合起來才能產生價值,資料科學還是資料工程是大資料學習要明確的關鍵問題,搞學術發paper資料科學OK,但要大資料應用落地,如果把資料科學成果轉化為資料工程進行落地應用,難度很大,這也是很多企業質疑資料科學價值的原因。且不說這種轉化需要一個過程,從業人員自身也是需要審視思考的。工業界包括政府管理機構如何引入研究智力,資料分析如何轉化和價值變現?資料科學研究人員和企業大資料系統開發工程人員都得想想這些關鍵問題。目前資料工程要解決的關鍵問題主線是資料(Data)>知識(Knowledge)>服務(Service),資料採集和管理,挖掘分析獲取知識,知識規律進行決策支援和應用轉化為持續服務。解決好這三個問題,才算大資料應用落地,那麼從學習角度講,DWS就是大資料學習要解決問題的總目標,特別要注重資料科學的實踐應用能力,而且實踐要重於理論。從模型,特徵,誤差,實驗,測試到應用,每一步都要考慮是否能解決現實問題,模型是否具備可解釋性,要勇於嘗試和迭代,模型和軟體包本身不是萬能的,大資料應用要注重魯棒性和實效性,溫室模型是沒有用的,訓練集和測試集就OK了嗎?大資料如何走出實驗室和工程化落地,一是不能閉門造車,模型收斂了就想當然萬事大吉了;二是要走出實驗室充分與業界實際決策問題對接;三是關聯關係和因果關係都不能少,不能描述因果關係的模型無助於解決現實問題;四是注重模型的迭代和產品化,持續升級和優化,解決新資料增量學習和模型動態調整的問題。所以,大資料學習一定要清楚我是在做資料科學還是資料工程,各需要哪些方面的技術能力,現在處於哪一個階段等,不然為了技術而技術,是難以學好和用好大資料的。

(5)大資料學習的三個階段:不同階段的技術路線各有側重,把握主要矛盾。在大資料應用實施過程中,由於技術和成本考慮,不可能短時間內解決所有問題,大資料應用本身有其規律和特點,比如分析目標一定是要跟資料規模匹配,分析技術的採用取決於資料結構和資料來源條件,資料整合一定要覆蓋比較全面的業務背景,關鍵環節資料不能有缺失等等。大資料學習可以根據應用目標分三個階段:

1)大資料基礎設施建設階段:這個階段的重點是把大資料存起來,管起來,能用起來,同時要考慮大資料平臺和原有業務系統的互通聯合問題。一句話,做好全域性資料整合解決資料孤島問題!要完成大資料基礎設施系統建設開發,需要明確資料採集、儲存和分析各層核心元件的選型和使用,搭建穩定的大資料叢集,或選擇私有云方案的服務叢集,與生產系統併線執行,使待分析的歷史資料和實時資料得以採集並源源不斷流入大資料系統。這個階段的關鍵技術學習包括採集爬蟲、資料介面、分散式儲存、資料預處理ETL、資料整合、資料庫和資料倉儲管理、雲端計算和資源排程管理等等內容。

2)大資料描述性分析階段:此階段主要定位於離線或線上對資料進行基本描述統計和探索式視覺化分析,對管理起來的大資料能進行海量儲存條件下的互動式查詢、彙總、統計和視覺化,如果建設了BI系統的,還需整合傳統BI技術進行OLAP、KPI、Report、Chart、Dashboard等分析和初步的描述型資料探勘分析。這個基礎分析階段是對資料整合質量的檢驗,也是對海量資料條件下的分散式儲存管理技術應用穩定性的測試,同時要能替代或整合傳統BI的各類報表。這個階段的關鍵技術學習包括視覺化、探索式互動式分析、多維分析、各類基本報表和圖表的查詢設計等等。

3)大資料高階預測分析和生產部署階段:在初步描述分析結果合理,符合預期目標,資料分散式管理和描述型分析穩定成熟的條件下,可結合進一步智慧化分析需求,採用如深度學習等適用海量資料處理的機器學習模型,進行高階預測性挖掘分析。並通過逐步迭代優化挖掘模型和資料質量,形成穩定可靠和效能可擴充套件的智慧預測模型,並在企業相關業務服務中進行分析結果的決策支援,進行驗證、部署、評估和反饋。這個階段的關鍵技術包括機器學習建模、決策支援、視覺化、模型部署和運維等。

在上述幾個階段的技術學習過程中,需要注意幾個關鍵問題:一是重視視覺化和業務決策,大資料分析結果是為決策服務,而大資料決策的表現形式,視覺化技術的優劣起決定性作用;二是問問自己,Hadoop、Spark等是必須的嗎?要從整個大資料技術棧來考慮技術選型和技術路線的確定;三是建模問題處於核心地位,模型的選擇和評估至關重要,在課堂和實驗室中,多數模型的評估是靜態的,少有考慮其執行速度、實時性及增量處理,因此多使用複雜的臃腫模型,其特徵變數往往及其複雜。而Kaggle競賽中的各種Boost方法,XGBDT、隨機森林等模型,在資料探勘和機器學習教材中卻少有提及,所以要充分參考業界實戰經驗不能盡信書;四是開發語言的選擇,基礎框架系統Java是必須掌握的,應用級的機器學習和資料分析庫Python是必須掌握的,而要深入各種框架和學習庫的底層,C++是必須掌握的;五是模型的產品化,需要將實際資料通過管道設計轉換為輸入特徵傳遞給模型,如何最小化模型線上上和線下的表現差距,這些都是要解決關鍵的問題。

(6)其它補充:Kaggle,眾包與培訓。眾包是一種基於網際網路的創新生產組織形式,企業利用網路將工作分配出去,通過讓更合適的人群參與其中來發現創意和解決問題,如維基百科,還有IT資源社群GitHub,都是典型的眾包平臺。眾包+開源極大推動了IT產業的快速發展,當然Kaggle作為資料科學領域頂級的眾包平臺,其影響力遠不止於此(所以剛剛被谷歌收購)。企業和研究者可在Kaggle上釋出資料,資料分析人員可在其上進行競賽以產生最好的模型。這一眾包模式本質就是集體智慧程式設計的體現,即有眾多策略可以用於解決幾乎所有預測建模問題,而分析人員不可能一開始就能找到最佳方案,Kaggle的目標就是通過眾包的形式來解決這一難題,進而使資料科學成為一場集體智慧運動。所以說要學好大資料,嚴重推薦去Kaggle沖沖浪,很好的歷練平臺。至於大資料培訓嘛,基礎理論和技術還不甚瞭解的情況下可以去培訓學習,有基礎之後還得靠自己多練多解決實際問題。

5****.結論與展望

做個小結,大資料不是銀彈(Silver Bullet),大資料的興起只是說明了一種現象,隨著科技的高速發展,資料在人類生活和決策中所佔的比重越來越大。面對如此廣度和深度的大資料技術棧和工具集,如何學習和掌握好大資料分析這種技能,猶如盲人摸象,冷暖自知。不過技術的學習和應用也是相通的,條條大路通羅馬,關鍵是要找準切入點,理論與實踐結合,有全域性觀,工程化思維,對複雜系統設計開發與關鍵技術體系的主要矛盾要有所把握。熟悉大資料基礎理論與演算法、應用切入、以點帶面、舉一反三、橫向擴充套件,從而構建完整的大資料知識結構和核心技術能力,這樣的學習效果就會好很多。

另外,技術發展也遵循量變到質變規律,人工智慧+物聯網+大資料+雲端計算是四位一體發展的(時間有先後,但技術實質性突破都在最近幾年),未來智慧時代的基礎設施、核心架構將基於這四個層面,這種社會演化趨勢也很明顯:農業時代〉工業時代〉網際網路時代〉智慧化時代。在這個四位一體智慧技術鏈條裡面,物聯網重在資料採集,雲端計算重在基礎設施,大資料技術處於核心地位,人工智慧則是發展目標,所以學習大資料技術還需要對這四個方面加以綜合研究和理解。

最後潑點冷水,簡單說說大資料的前景,未來大資料崗位需求不會有媒體宣傳的那麼多,大資料具體工作不會有美國大片裡那麼炫酷,不要老盯著BAT,我國大資料的發展還處於初級階段。總之技術歸於技術,實踐才能出真知,落地解決問題是關鍵,Palantir也是十年才磨出一劍。不過在大資料時代,人人都得懂點資料分析,這倒是最實在的,不懂程式設計?那就學Python吧,如果說人工智慧時代的大媽和小學生都能程式設計的話,那一定用的是Python:)

作為一個開發者,有一個學習的氛圍跟一個交流圈子特別重要,相互分享,一起學習進步,大家的大資料學習交流群:783660738,打造火爆的大資料交流社群


12425625-3fd3b0941a76d906.png
48D323C58B379196AA384532C3BCF29D.png

相關文章