1. 程式人生 > >大資料基礎

大資料基礎

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

                       

這年頭,不扯點大資料、雲端計算都不好意思。

以下內容部分抄襲,部分為個人理解。

一、啥是大資料
大資料(Big Data)

大資料,官方定義是指那些資料量特別大、資料類別特別複雜的資料集,這種資料集無法用傳統的資料庫進行儲存,管理和處理。

大資料的特點是4V:

 

資料量大(Volume) 
  資料類別複雜(Variety) 
  資料處理速度快(Velocity) 
  資料真實性高(Veracity)

好像我在哪裡還看過有個特點就是價值密度很低。就是說,一大堆資料裡面,有價值的其實就一點點,水分多得很。

大資料中的資料量非常巨大,達到了PB級別。而且這龐大的資料之中,不僅僅包括結構化資料(如數字、符號等資料),還包括非結構化資料(如文字、影象、聲音、視訊等資料)。這使得大資料的儲存,管理和處理很難利用傳統的關係型資料庫去完成。在大資料之中,有價值的資訊往往深藏其中。這就需要對大資料的處理速度要非常快,才能短時間之內就能從大量的複雜資料之中獲取到有價值的資訊。在大資料的大量複雜的資料之中,通常不僅僅包含真實的資料,一些虛假的資料也混雜其中。這就需要在大資料的處理中將虛假的資料剔除,利用真實的資料來分析得出真實的結果。

二、大資料的作用
就是分析提煉出有用的資料嘛。

另外,現在人工智慧很火,自動駕駛,工業機器人什麼的。機器人在圍棋上已經戰勝人類了。人類憂心忡忡,擔心將來會被機器人所奴役。照我說,奴役個屁,機器人銅皮鐵骨,啥都能幹,根本不需要人類。人類要麼被殺光,要麼自生自滅。真的到了那天,由於機器擁有了人類智慧,從這個意義上說,是人類的一種進化。肉體人類將被淘汰。

人工智慧有個基礎是機器學習。而大資料分析裡面的語義引擎也是機器學習的成果之一。

三、為啥要有大資料
很早以來,不就已經有了資料倉庫、BI之類嘛,大資料難道不是隻換了個馬甲而已?畢竟炒作概念,故弄玄虛是我們的強項。

照我的理解,資料倉庫是屬於以前那種MIS,ERP年代的,而大資料是網際網路時代的產物。網際網路時代,各種資訊、資料大爆炸了。

四、大資料總體架構
大資料的總體架構包括三層:

 

1)資料儲存 
  2)資料處理 
  3)資料分析

型別複雜和海量由資料儲存層解決,快速和時效性要求由資料處理層解決,價值由資料分析層解決。大資料的4V特性由這三層分別實現。

資料先要通過儲存層儲存下來,然後根據資料需求和目標來建立相應的資料模型和資料分析指標體系對資料進行分析產生價值。而中間的時效性又通過中間資料處理層提供的強大的平行計算和分散式計算能力來完成。三層相互配合,讓大資料最終產生價值。

重點在於資料分析。

五、大資料分析
大資料的分析,主要分為五個方面:
1、視覺化分析
視覺化分析將大量複雜的資料自動轉化成直觀形象的圖表,使其能夠更加容易的被普通消費者所接受和理解。

2、資料探勘演算法
大資料分析的理論核心,其本質是一組根據演算法事先定義好的數學公式,將收集到的資料作為引數變數帶入其中,從而能夠從大量複雜的資料中提取到有價值的資訊。

著名的“啤酒和尿布”的故事就是資料探勘演算法的經典案例。

3、預測性分析能力
資料分析最重要的應用領域。從大量複雜的資料中挖掘出規律,建立起科學的事件模型,通過將新的資料帶入模型,就可以預測未來的事件走向。預測性分析能力常常被應用在金融分析和科學研究領域,用於股票預測或氣象預測等。

4、語義引擎
語義引擎是機器學習的成果之一。通過對大量複雜的資料進行分析,讓計算機從中自我學習,可以使計算機能夠儘量精確的瞭解使用者輸入內容的意思,從而把握住使用者的需求,提供更好的使用者體驗。蘋果的Siri和谷歌的Google Now都採用了語義引擎。

5、資料質量管理
大資料在企業領域的重要應用。為了保證大資料分析結果的準確性,需要將大資料中不真實的資料剔除掉,保留最準確的資料。這就需要建立有效的資料質量管理系統,分析收集到的大量複雜的資料,挑選出真實有效的資料。

六、大資料技術基礎
對於如何處理大資料,電腦科學界有兩大方向:一是集中式計算,二是分散式計算。

過去,分散式計算理論比較複雜,技術實現比較困難,因此集中式計算一直是主流解決方案。

2003年到2004年間,Google發表了MapReduce、GFS(Google File System)和BigTable三篇技術論文,提出了一套全新的分散式計算理論。

MapReduce是分散式計算框架,GFS(Google File System)是分散式檔案系統,BigTable是基於Google File System的資料儲存系統,這三大元件組成了Google的分散式計算模型。

Google的分散式計算模型相比於傳統的分散式計算模型有三大優勢:首先,它簡化了傳統的分散式計算理論,降低了技術實現的難度,可以進行實際的應用。其次,它可以應用在廉價的計算裝置上,只需增加計算裝置的數量就可以提升整體的計算能力,應用成本十分低廉。最後,它被Google應用在Google的計算中心,取得了很好的效果,有了實際應用的證明。

後來,各家網際網路公司開始利用Google的分散式計算模型搭建自己的分散式計算系統,Google的這三篇論文也就成為了大資料時代的技術核心。

七、主流的三大分散式計算系統
由於Google沒有開源Google分散式計算模型的技術實現,所以其他網際網路公司只能根據Google三篇技術論文中的相關原理,搭建自己的分散式計算系統。

1、Hadoop
Hadoop採用MapReduce分散式計算框架,並根據GFS開發了HDFS分散式檔案系統,根據BigTable開發了HBase資料儲存系統。

儘管和Google內部使用的分散式計算系統原理相同,但是Hadoop在運算速度上依然達不到Google論文中的標準。不過,Hadoop的開源特性使其成為分散式計算系統的事實上的國際標準。

2、Spark
Spark在Hadoop的基礎上進行了一些架構上的改良。

Spark與Hadoop最大的不同點在於,Hadoop使用硬碟來儲存資料,而Spark使用記憶體來儲存資料,因此Spark可以提供超過Hadoop100倍的運算速度。但是,由於記憶體斷電後會丟失資料,Spark不能用於處理需要長期儲存的資料。

3、Storm
Storm是Twitter主推的分散式計算系統。

它在Hadoop的基礎上提供了實時運算的特性,可以實時的處理大資料流。不同於Hadoop和Spark,Storm不進行資料的收集和儲存工作,它直接通過網路實時的接受資料並且實時的處理資料,然後直接通過網路實時的傳回結果。

Hadoop,Spark和Storm是目前最重要的三大分散式計算系統:

 

Hadoop常用於離線的複雜的大資料處理 
  Spark常用於離線的快速的大資料處理 
  Storm常用於線上的實時的大資料處理

八、大資料與雲端計算的關係
二者沒有必然的聯絡。
但是,有了雲端計算,處理大資料的成本降低,運用大資料進行分析才有了可行性。
所以可以說,雲端計算是大資料的基礎。

參考文章:
大資料基礎知識

大資料、雲端計算和商業智慧這三者的關係到底如何,以後的發展前景有什麼看法?

           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述