1. 程式人生 > >大數據和人工智能的關系,超全解析

大數據和人工智能的關系,超全解析

互聯網 最終 過程 廣告 數學公式 大學畢業 多少 新浪 內存

大數據擁抱雲計算

在PaaS層中一個復雜的通用應用就是大數據平臺。大數據是如何一步一步融入雲計算的呢?

1數據不大也包含智慧

一開始這個大數據並不大。原來才有多少數據?現在大家都去看電子書,上網看新聞了,在我們80後小時候,信息量沒有那麽大,也就看看書、看看報,一個星期的報紙加起來才有多少字?如果你不在一個大城市,一個普通的學校的圖書館加起來也沒幾個書架,是後來隨著信息化的到來,信息才會越來越多。

首先我們來看一下大數據裏面的數據,就分三種類型,一種叫結構化的數據,一種叫非結構化的數據,還有一種叫半結構化的數據。

結構化的數據:即有固定格式和有限長度的數據。例如填的表格就是結構化的數據,國籍:×××,民族:漢,性別:男,這都叫結構化數據。

非結構化的數據:現在非結構化的數據越來越多,就是不定長、無固定格式的數據,例如網頁,有時候非常長,有時候幾句話就沒了;例如語音,視頻都是非結構化的數據。

半結構化數據:是一些XML或者HTML的格式的,不從事技術的可能不了解,但也沒有關系。

其實數據本身不是有用的,必須要經過一定的處理。例如你每天跑步帶個手環收集的也是數據,網上這麽多網頁也是數據,我們稱為Data。數據本身沒有什麽用處,但數據裏面包含一個很重要的東西,叫做信息(Information)。

數據十分雜亂,經過梳理和清洗,才能夠稱為信息。信息會包含很多規律,我們需要從信息中將規律總結出來,稱為知識(Knowledge),而知識改變命運。信息是很多的,但有人看到了信息相當於白看,但有人就從信息中看到了電商的未來,有人看到了直播的未來,所以人家就牛了。如果你沒有從信息中提取出知識,天天看朋友圈也只能在互聯網滾滾大潮中做個看客。對大數據以及人工智能概念都是模糊不清的,該按照什麽線路去學習,學完往哪方面發展,想深入了解,想學習的同學歡迎加入大數據學習qq群:458345782,有大量幹貨(零基礎以及進階的經典實戰)分享給大家,並且有清華大學畢業的資深大數據講師給大家免費授課,給大家分享目前國內最完整的大數據高端實戰實用學習流程體系 。從java和linux入手,其後逐步的深入到HADOOP-hive-oozie-web-flume-python-hbase-kafka-scala-SPARK等相關知識一一分享!

所以數據的應用分這四個步驟:數據、信息、知識、智慧。

最終的階段是很多商家都想要的。你看我收集了這麽多的數據,能不能基於這些數據來幫我做下一步的決策,改善我的產品。例如讓用戶看視頻的時候旁邊彈出廣告,正好是他想買的東西;再如讓用戶聽音樂時,另外推薦一些他非常想聽的其他音樂。

用戶在我的應用或者網站上隨便點點鼠標,輸入文字對我來說都是數據,我就是要將其中某些東西提取出來、指導實踐、形成智慧,讓用戶陷入到我的應用裏面不可自拔,上了我的網就不想離開,手不停地點、不停地買。

很多人說雙十一我都想斷網了,我老婆在上面不斷地買買買,買了A又推薦B,老婆大人說,“哎呀,B也是我喜歡的啊,老公我要買”。你說這個程序怎麽這麽牛,這麽有智慧,比我還了解我老婆,這件事情是怎麽做到的呢?

2數據如何升華為智慧

數據的處理分幾個步驟,完成了才最後會有智慧。

第一個步驟叫數據的收集。首先得有數據,數據的收集有兩個方式:

第一個方式是拿,專業點的說法叫抓取或者爬取。例如搜索引擎就是這麽做的:它把網上的所有的信息都下載到它的數據中心,然後你一搜才能搜出來。比如你去搜索的時候,結果會是一個列表,這個列表為什麽會在搜索引擎的公司裏面?就是因為他把數據都拿下來了,但是你一點鏈接,點出來這個網站就不在搜索引擎它們公司了。比如說新浪有個新聞,你拿百度搜出來,你不點的時候,那一頁在百度數據中心,一點出來的網頁就是在新浪的數據中心了。

第二個方式是推送,有很多終端可以幫我收集數據。比如說小米手環,可以將你每天跑步的數據,心跳的數據,睡眠的數據都上傳到數據中心裏面。

第二個步驟是數據的傳輸。一般會通過隊列方式進行,因為數據量實在是太大了,數據必須經過處理才會有用。可系統處理不過來,只好排好隊,慢慢處理。

第三個步驟是數據的存儲。現在數據就是金錢,掌握了數據就相當於掌握了錢。要不然網站怎麽知道你想買什麽?就是因為它有你歷史的交易的數據,這個信息可不能給別人,十分寶貴,所以需要存儲下來。

第四個步驟是數據的處理和分析。上面存儲的數據是原始數據,原始數據多是雜亂無章的,有很多垃圾數據在裏面,因而需要清洗和過濾,得到一些高質量的數據。對於高質量的數據,就可以進行分析,從而對數據進行分類,或者發現數據之間的相互關系,得到知識。

比如盛傳的沃爾瑪超市的啤酒和尿布的故事,就是通過對人們的購買數據進行分析,發現了男人一般買尿布的時候,會同時購買啤酒,這樣就發現了啤酒和尿布之間的相互關系,獲得知識,然後應用到實踐中,將啤酒和尿布的櫃臺弄的很近,就獲得了智慧。

第五個步驟是對於數據的檢索和挖掘。檢索就是搜索,所謂外事不決問Google,內事不決問百度。內外兩大搜索引擎都是將分析後的數據放入搜索引擎,因此人們想尋找信息的時候,一搜就有了。

另外就是挖掘,僅僅搜索出來已經不能滿足人們的要求了,還需要從信息中挖掘出相互的關系。比如財經搜索,當搜索某個公司股票的時候,該公司的高管是不是也應該被挖掘出來呢?如果僅僅搜索出這個公司的股票發現漲的特別好,於是你就去買了,其實其高管發了一個聲明,對股票十分不利,第二天就跌了,這不坑害廣大股民麽?所以通過各種算法挖掘數據中的關系,形成知識庫,十分重要。

3大數據時代,眾人拾柴火焰高

當數據量很小時,很少的幾臺機器就能解決。慢慢的,當數據量越來越大,最牛的服務器都解決不了問題時,怎麽辦呢?這時就要聚合多臺機器的力量,大家齊心協力一起把這個事搞定,眾人拾柴火焰高。

對於數據的收集:就IoT來講,外面部署這成千上萬的檢測設備,將大量的溫度、濕度、監控、電力等數據統統收集上來;就互聯網網頁的搜索引擎來講,需要將整個互聯網所有的網頁都下載下來。這顯然一臺機器做不到,需要多臺機器組成網絡爬蟲系統,每臺機器下載一部分,同時工作,才能在有限的時間內,將海量的網頁下載完畢。

對於數據的傳輸:一個內存裏面的隊列肯定會被大量的數據擠爆掉,於是就產生了基於硬盤的分布式隊列,這樣隊列可以多臺機器同時傳輸,隨你數據量多大,只要我的隊列足夠多,管道足夠粗,就能夠撐得住。

對於數據的存儲:一臺機器的文件系統肯定是放不下的,所以需要一個很大的分布式文件系統來做這件事情,把多臺機器的硬盤打成一塊大的文件系統。

對於數據的分析:可能需要對大量的數據做分解、統計、匯總,一臺機器肯定搞不定,處理到猴年馬月也分析不完。於是就有分布式計算的方法,將大量的數據分成小份,每臺機器處理一小份,多臺機器並行處理,很快就能算完。例如著名的Terasort對1個TB的數據排序,相當於1000G,如果單機處理,怎麽也要幾個小時,但並行處理209秒就完成了。

所以說什麽叫做大數據?說白了就是一臺機器幹不完,大家一起幹。可是隨著數據量越來越大,很多不大的公司都需要處理相當多的數據,這些小公司沒有這麽多機器可怎麽辦呢?

4大數據需要雲計算,雲計算需要大數據

說到這裏,大家想起雲計算了吧。當想要幹這些活時,需要很多的機器一塊做,真的是想什麽時候要就什麽時候要,想要多少就要多少。

例如大數據分析公司的財務情況,可能一周分析一次,如果要把這一百臺機器或者一千臺機器都在那放著,一周用一次非常浪費。那能不能需要計算的時候,把這一千臺機器拿出來;不算的時候,讓這一千臺機器去幹別的事情?

誰能做這個事兒呢?只有雲計算,可以為大數據的運算提供資源層的靈活性。而雲計算也會部署大數據放到它的PaaS平臺上,作為一個非常非常重要的通用應用。因為大數據平臺能夠使得多臺機器一起幹一個事兒,這個東西不是一般人能開發出來的,也不是一般人玩得轉的,怎麽也得雇個幾十上百號人才能把這個玩起來。

所以說就像數據庫一樣,其實還是需要有一幫專業的人來玩這個東西。現在公有雲上基本上都會有大數據的解決方案了,一個小公司需要大數據平臺的時候,不需要采購一千臺機器,只要到公有雲上一點,這一千臺機器都出來了,並且上面已經部署好了的大數據平臺,只要把數據放進去算就可以了。

雲計算需要大數據,大數據需要雲計算,二者就這樣結合了。

人工智能擁抱大數據

1機器什麽時候才能懂人心

雖說有了大數據,人的欲望卻不能夠滿足。雖說在大數據平臺裏面有搜索引擎這個東西,想要什麽東西一搜就出來了。但也存在這樣的情況:我想要的東西不會搜,表達不出來,搜索出來的又不是我想要的。

例如音樂軟件推薦了一首歌,這首歌我沒聽過,當然不知道名字,也沒法搜。但是軟件推薦給我,我的確喜歡,這就是搜索做不到的事情。當人們使用這種應用時,會發現機器知道我想要什麽,而不是說當我想要時,去機器裏面搜索。這個機器真像我的朋友一樣懂我,這就有點人工智能的意思了。

人們很早就在想這個事情了。最早的時候,人們想象,要是有一堵墻,墻後面是個機器,我給它說話,它就給我回應。如果我感覺不出它那邊是人還是機器,那它就真的是一個人工智能的東西了。

2讓機器學會推理

怎麽才能做到這一點呢?人們就想:我首先要告訴計算機人類的推理的能力。你看人重要的是什麽?人和動物的區別在什麽?就是能推理。要是把我這個推理的能力告訴機器,讓機器根據你的提問,推理出相應的回答,這樣多好?

其實目前人們慢慢地讓機器能夠做到一些推理了,例如證明數學公式。這是一個非常讓人驚喜的一個過程,機器竟然能夠證明數學公式。但慢慢又發現其實這個結果也沒有那麽令人驚喜。因為大家發現了一個問題:數學公式非常嚴謹,推理過程也非常嚴謹,而且數學公式很容易拿機器來進行表達,程序也相對容易表達。

3教給機器知識

因此,僅僅告訴機器嚴格的推理是不夠的,還要告訴機器一些知識。但告訴機器知識這個事情,一般人可能就做不來了。可能專家可以,比如語言領域的專家或者財經領域的專家。

語言領域和財經領域知識能不能表示成像數學公式一樣稍微嚴格點呢?例如語言專家可能會總結出主謂賓定狀補這些語法規則,主語後面一定是謂語,謂語後面一定是賓語,將這些總結出來,並嚴格表達出來不就行了嗎?後來發現這個不行,太難總結了,語言表達千變萬化。

人工智能這個階段叫做專家系統。專家系統不易成功,一方面是知識比較難總結,另一方面總結出來的知識難以交給計算機。因為你自己還迷迷糊糊,覺得似乎有規律,就是說不出來,又怎麽能夠通過編程教給計算機呢?

4算了,教不會你自己學吧

於是人們想到:機器是和人完全不一樣的物種,幹脆讓機器自己學習好了。

對大數據以及人工智能概念都是模糊不清的,該按照什麽線路去學習,學完往哪方面發展,想深入了解,想學習的同學歡迎加入大數據學習qq群:458345782,有大量幹貨(零基礎以及進階的經典實戰)分享給大家,並且有清華大學畢業的資深大數據講師給大家免費授課,給大家分享目前國內最完整的大數據高端實戰實用學習流程體系 。從java和linux入手,其後逐步的深入到HADOOP-hive-oozie-web-flume-python-hbase-kafka-scala-SPARK等相關知識一一分享!

大數據和人工智能的關系,超全解析