智能科學(xué)與技術(shù)導(dǎo)論 課件 第8、9章-大數(shù)據(jù)及其應(yīng)用、智能系統(tǒng)與發(fā)展前瞻_第1頁(yè)
智能科學(xué)與技術(shù)導(dǎo)論 課件 第8、9章-大數(shù)據(jù)及其應(yīng)用、智能系統(tǒng)與發(fā)展前瞻_第2頁(yè)
智能科學(xué)與技術(shù)導(dǎo)論 課件 第8、9章-大數(shù)據(jù)及其應(yīng)用、智能系統(tǒng)與發(fā)展前瞻_第3頁(yè)
智能科學(xué)與技術(shù)導(dǎo)論 課件 第8、9章-大數(shù)據(jù)及其應(yīng)用、智能系統(tǒng)與發(fā)展前瞻_第4頁(yè)
智能科學(xué)與技術(shù)導(dǎo)論 課件 第8、9章-大數(shù)據(jù)及其應(yīng)用、智能系統(tǒng)與發(fā)展前瞻_第5頁(yè)
已閱讀5頁(yè),還剩113頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第8章大數(shù)據(jù)及其應(yīng)用目錄8.1大數(shù)據(jù)基本知識(shí)8.2大數(shù)據(jù)基礎(chǔ)8.3大數(shù)據(jù)技術(shù)初步8.4大數(shù)據(jù)應(yīng)用8.1大數(shù)據(jù)基本知識(shí) 8.1.1發(fā)展歷程與趨勢(shì)

17世紀(jì)40年代,“data(數(shù)據(jù))”一詞便在英文用語(yǔ)中出現(xiàn)。1946年,“data(數(shù)據(jù))”首次用于表示“可傳輸和可存儲(chǔ)的計(jì)算機(jī)信息”。1954年,“dataprocessing(數(shù)據(jù)處理)”這一表達(dá)方式開(kāi)始使用。

1980年以來(lái),互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、云計(jì)算等新一代信息技術(shù)的迅猛發(fā)展,使數(shù)據(jù)處理在社會(huì)生活中的地位變得越來(lái)越重要,相應(yīng)的,人們也在提升數(shù)據(jù)處理能力的過(guò)程中獲得了巨大收益。而且,人們開(kāi)始逐漸將“海量的數(shù)據(jù)生產(chǎn)倒逼數(shù)據(jù)處理系統(tǒng)變革”這一現(xiàn)象稱之為大數(shù)據(jù)問(wèn)題?;仡?980年以來(lái)的發(fā)展歷史,可以將大數(shù)據(jù)的發(fā)展歷程劃分為四個(gè)階段:

1)大數(shù)據(jù)萌芽階段。1980至2008年。1980年,美國(guó)著名未來(lái)學(xué)家阿爾文?托夫勒著的《第三次浪潮》書(shū)中將“大數(shù)據(jù)”稱為“第三次浪潮的華彩樂(lè)章”,正式提出“大數(shù)據(jù)”一詞的用語(yǔ)。在這一階段,各行各業(yè)已經(jīng)意識(shí)到,行業(yè)服務(wù)的提升需要更大量的數(shù)據(jù)處理,而且這種處理的數(shù)據(jù)量超出了當(dāng)時(shí)主存儲(chǔ)器、本地磁盤(pán),甚至網(wǎng)絡(luò)存儲(chǔ)空間的承載能力,呈現(xiàn)出“海量數(shù)據(jù)問(wèn)題”的特征,但是由于缺少基礎(chǔ)理論研究和技術(shù)變革能力,對(duì)大數(shù)據(jù)的討論只是曇花一現(xiàn)。8.1大數(shù)據(jù)基本知識(shí) 8.1.1發(fā)展歷程與趨勢(shì)

2)大數(shù)據(jù)發(fā)展階段。2009年至2011年。在這一階段,對(duì)海量數(shù)據(jù)處理已經(jīng)成為整個(gè)社會(huì)迫在眉睫的事情,全球范圍內(nèi)開(kāi)始進(jìn)行大數(shù)據(jù)的研究探索和實(shí)際運(yùn)用。

2009年,聯(lián)合國(guó)開(kāi)始利用大數(shù)據(jù)預(yù)測(cè)疾病爆發(fā);美國(guó)政府開(kāi)始通網(wǎng)站進(jìn)行大規(guī)模的數(shù)據(jù)公開(kāi),希望以此促進(jìn)數(shù)據(jù)產(chǎn)業(yè)發(fā)展;2010年,肯尼斯庫(kù)克爾發(fā)表了長(zhǎng)達(dá)14頁(yè)的大數(shù)據(jù)專題報(bào)告,系統(tǒng)分析了當(dāng)前社會(huì)中的數(shù)據(jù)問(wèn)題;2011年,麥肯錫發(fā)布了關(guān)于“大數(shù)據(jù)”的報(bào)告,正式定義了大數(shù)據(jù)的概念,引發(fā)各行各業(yè)對(duì)大數(shù)據(jù)的重新討論。

2011年12月,我國(guó)工信部發(fā)布的物聯(lián)網(wǎng)十二五規(guī)劃將海量數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)挖掘、圖像視頻智能分析等大數(shù)據(jù)技術(shù)正式提出。

3)大數(shù)據(jù)爆發(fā)階段。2012年至2016年。這一階段以2012年美國(guó)奧巴馬政府公開(kāi)發(fā)布了《大數(shù)據(jù)研究和發(fā)展倡議》為標(biāo)志,大數(shù)據(jù)成為了各行各業(yè)討論的時(shí)代主題,對(duì)數(shù)據(jù)的認(rèn)知更新引領(lǐng)著思維變革、商業(yè)變革和管理變革,大數(shù)據(jù)應(yīng)用規(guī)模不斷擴(kuò)大。

以英國(guó)發(fā)布的《英國(guó)數(shù)據(jù)能力發(fā)展戰(zhàn)略規(guī)劃》、日本發(fā)布的《創(chuàng)建最尖端IT國(guó)家宣言》、韓國(guó)提出的“大數(shù)據(jù)中心戰(zhàn)略”為代表,世界范圍內(nèi)開(kāi)始針對(duì)大數(shù)據(jù)制定了相應(yīng)的戰(zhàn)略和規(guī)劃。2013年是我國(guó)大數(shù)據(jù)元年,此后以大數(shù)據(jù)為核心的產(chǎn)業(yè)形態(tài)在我國(guó)逐漸展開(kāi),并嘗試在各個(gè)領(lǐng)域的探索與落地實(shí)踐。8.1大數(shù)據(jù)基本知識(shí) 8.1.1發(fā)展歷程與趨勢(shì)

4)大數(shù)據(jù)成熟階段。2017年至今。這一階段,與大數(shù)據(jù)相關(guān)的政策、法規(guī)、技術(shù)、教育、應(yīng)用等發(fā)展因素開(kāi)始走向成熟。計(jì)算機(jī)視覺(jué)、語(yǔ)音識(shí)別、自然語(yǔ)言理解等技術(shù)的成熟消除了數(shù)據(jù)采集的障礙,政府和行業(yè)推動(dòng)的數(shù)據(jù)標(biāo)準(zhǔn)化進(jìn)程逐漸展開(kāi),減少了跨數(shù)據(jù)庫(kù)數(shù)據(jù)處理的阻礙,以數(shù)據(jù)共享、數(shù)據(jù)聯(lián)動(dòng)、數(shù)據(jù)分析為基本形式的數(shù)字經(jīng)濟(jì)和數(shù)據(jù)產(chǎn)業(yè)蓬勃興起,市場(chǎng)上逐漸形成了涵蓋數(shù)據(jù)采集、數(shù)據(jù)分析、數(shù)據(jù)集成、數(shù)據(jù)應(yīng)用的完整成熟的大數(shù)據(jù)產(chǎn)業(yè)鏈,以數(shù)據(jù)利用的服務(wù)形式貫穿到生活的方方面面。當(dāng)前大數(shù)據(jù)的現(xiàn)狀與趨勢(shì)可以從應(yīng)用、治理和技術(shù)三個(gè)方面簡(jiǎn)要?dú)w納如下:一是已有眾多成功的大數(shù)據(jù)應(yīng)用,但就其效果和深度而言,當(dāng)前大數(shù)據(jù)應(yīng)用尚處于初級(jí)階段,根據(jù)大數(shù)據(jù)分析預(yù)測(cè)未來(lái)、指導(dǎo)實(shí)踐的深層次應(yīng)用將成為發(fā)展重點(diǎn)。二是大數(shù)據(jù)治理體系遠(yuǎn)未形成,特別是隱私保護(hù)、數(shù)據(jù)安全與數(shù)據(jù)共享利用效率之間尚存在明顯矛盾,成為制約大數(shù)據(jù)發(fā)展的重要短板,各界已經(jīng)意識(shí)到構(gòu)建大數(shù)據(jù)治理體系的重要意義,相關(guān)的研究與實(shí)踐將持續(xù)加強(qiáng)。三是數(shù)據(jù)規(guī)模高速增長(zhǎng),現(xiàn)有技術(shù)體系難以滿足大數(shù)據(jù)應(yīng)用的需求,大數(shù)據(jù)理論與技術(shù)遠(yuǎn)未成熟,未來(lái)信息技術(shù)體系將需要顛覆式的創(chuàng)新和變革。8.1大數(shù)據(jù)基本知識(shí) 8.1.2大數(shù)據(jù)概念與特征

大數(shù)據(jù)(BigData),一般是指無(wú)法在有限時(shí)間范圍內(nèi)用常規(guī)工具進(jìn)行捕捉、管理和處理的數(shù)據(jù)集合。其實(shí)關(guān)于大數(shù)據(jù),很難有一個(gè)嚴(yán)格的統(tǒng)一定義,角度不同,定義也有所差別。但普遍認(rèn)為,大數(shù)據(jù)具備“數(shù)據(jù)體量大Volume”、“處理速度快Velocity”、“數(shù)據(jù)類型多Variety”、“價(jià)值密度低Value”四個(gè)基本特征,簡(jiǎn)稱“4V”8.1大數(shù)據(jù)基本知識(shí) 8.1.2大數(shù)據(jù)概念與特征

1)Volume。表示大數(shù)據(jù)的數(shù)據(jù)體量巨大。數(shù)據(jù)的規(guī)模不斷擴(kuò)大,已經(jīng)從GB級(jí)增加到TB級(jí)再增加到PB級(jí),近年來(lái),數(shù)據(jù)規(guī)模甚至開(kāi)始以EB和ZB來(lái)計(jì)量。

2)Velocity。表示大數(shù)據(jù)產(chǎn)生、處理和分析的速度在持續(xù)加快。加速的原因是產(chǎn)生的實(shí)時(shí)性特點(diǎn),以及處理、分析與業(yè)務(wù)流程和決策過(guò)程的實(shí)時(shí)性要求。數(shù)據(jù)處理速度快,使得處理模式已經(jīng)開(kāi)始從批處理轉(zhuǎn)向流處理,而且,大數(shù)據(jù)快速處理能力也充分體現(xiàn)出它與傳統(tǒng)數(shù)據(jù)處理技術(shù)的本質(zhì)區(qū)別。

3)Variety。表示大數(shù)據(jù)的數(shù)據(jù)類型多。隨著傳感器、智能設(shè)備、社交網(wǎng)絡(luò)、物聯(lián)網(wǎng)、移動(dòng)計(jì)算、在線廣告等新的渠道與技術(shù)的不斷涌現(xiàn),產(chǎn)生的數(shù)據(jù)類型不僅限于結(jié)構(gòu)化數(shù)據(jù),更多的是半結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù),而且數(shù)據(jù)格式多種多樣,例如:XML、郵件、博客、即時(shí)消息、音視頻、照片、日志、傳感器數(shù)據(jù),等等。

4)Value。表示大數(shù)據(jù)的價(jià)值密度低。由于大數(shù)據(jù)體量不斷增加,導(dǎo)致單位數(shù)據(jù)的價(jià)值密度在不斷降低,然而數(shù)據(jù)的整體價(jià)值可能仍在提高。通過(guò)分析和挖掘數(shù)據(jù),從數(shù)據(jù)中找出規(guī)律,這些規(guī)律為人們所用,轉(zhuǎn)化為知識(shí),從而產(chǎn)生價(jià)值。8.1大數(shù)據(jù)基本知識(shí) 8.1.3大數(shù)據(jù)關(guān)鍵技術(shù)

大數(shù)據(jù)技術(shù)是一系列使用非傳統(tǒng)的工具對(duì)大量的結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行處理,從而獲得分析和預(yù)測(cè)結(jié)果的數(shù)據(jù)處理技術(shù),涵蓋數(shù)據(jù)存儲(chǔ)、處理、應(yīng)用等多方面。

1)大數(shù)據(jù)采集技術(shù)。大數(shù)據(jù)采集是指通過(guò)物聯(lián)網(wǎng)、社交網(wǎng)絡(luò)、移動(dòng)互聯(lián)網(wǎng)等渠道獲得各種類型的結(jié)構(gòu)化、半結(jié)構(gòu)化及非結(jié)構(gòu)化的海量數(shù)據(jù)。

大數(shù)據(jù)采集處于大數(shù)據(jù)生命周期中的第一個(gè)環(huán)節(jié),由于可能有成千上萬(wàn)的用戶同時(shí)進(jìn)行并發(fā)訪問(wèn)和操作,因此,須采用針對(duì)大數(shù)據(jù)的采集方法,包括系統(tǒng)日志采集、網(wǎng)絡(luò)數(shù)據(jù)采集、數(shù)據(jù)庫(kù)采集等。

2)大數(shù)據(jù)預(yù)處理技術(shù)。大數(shù)據(jù)預(yù)處理是指完成對(duì)已采集到的數(shù)據(jù)的辨析、抽取、清洗、填補(bǔ)、平滑、集成、格式化及一致性檢查等操作。

現(xiàn)實(shí)世界的數(shù)據(jù)常常是不完全的、有噪聲的、不一致的,通過(guò)特定的預(yù)處理,規(guī)范化或格式化為標(biāo)準(zhǔn)格式的數(shù)據(jù),以供用戶分析和決策使用,因此,預(yù)處理的目的是使數(shù)據(jù)達(dá)到后續(xù)處理的要求。

數(shù)據(jù)清洗通常包括遺漏數(shù)據(jù)處理、噪聲數(shù)據(jù)處理,以及不一致數(shù)據(jù)處理等;數(shù)據(jù)集成是指把多個(gè)數(shù)據(jù)源中的數(shù)據(jù)整合并存儲(chǔ)到一致統(tǒng)一的數(shù)據(jù)庫(kù)中,這一過(guò)程要解決實(shí)體數(shù)據(jù)匹配、數(shù)據(jù)冗余與關(guān)聯(lián)、數(shù)據(jù)值沖突檢測(cè)與處理等問(wèn)題。8.1大數(shù)據(jù)基本知識(shí)

8.1.3大數(shù)據(jù)關(guān)鍵技術(shù)

3)大數(shù)據(jù)存儲(chǔ)及管理技術(shù)。大數(shù)據(jù)存儲(chǔ)及管理的主要目的是借助某種存儲(chǔ)工具或媒介,對(duì)采集到的數(shù)據(jù)進(jìn)行持久化保存,以便進(jìn)行有效管理和利用。數(shù)據(jù)存儲(chǔ)一般存放在文件或者數(shù)據(jù)庫(kù)中,例如,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù):Oracle、MySQL;新興的非關(guān)系型的數(shù)據(jù)庫(kù):HBase、Cassandra、Redis;全文檢索框架:ES、Solr等。

4)大數(shù)據(jù)分析及挖掘技術(shù)。大數(shù)據(jù)處理的核心就是對(duì)大數(shù)據(jù)進(jìn)行分析,只有通過(guò)分析才能獲取很多智能的、深入的、有價(jià)值的信息。

數(shù)據(jù)分析的常用方法主要有分類、回歸分析、聚類、關(guān)聯(lián)規(guī)則等,它們分別從不同角度對(duì)數(shù)據(jù)進(jìn)行分析和挖掘,挖掘出有用的、有價(jià)值的信息。

5)數(shù)據(jù)可視化展示技術(shù)。大數(shù)據(jù)可視化展示主要指借助于圖形化手段,清晰直觀地展示大數(shù)據(jù)分析與挖掘結(jié)果。目前,市場(chǎng)上的數(shù)據(jù)可視化工具琳瑯滿目,大多是輕量級(jí)可視化產(chǎn)品,如百度公司Echart,Google公司的Chart,以及專門(mén)用于地圖可視化的Openlayers。針對(duì)海量數(shù)據(jù)可視化,可用產(chǎn)品包括D3.js和Gephi等專門(mén)大數(shù)據(jù)可視化軟件。8.1大數(shù)據(jù)基本知識(shí) 8.1.4大數(shù)據(jù)的影響1.數(shù)據(jù)是知識(shí)的基礎(chǔ)

數(shù)據(jù)包括的范疇很廣,比如數(shù)字、文字、圖片和視頻是數(shù)據(jù),再比如我們平時(shí)收發(fā)的郵件、工廠設(shè)計(jì)圖紙、醫(yī)院影像資料是數(shù)據(jù);而出土文物上的文字、圖示、尺寸、材料等等,也都是數(shù)據(jù)。這些數(shù)據(jù)承載了大量的信息,但不是每種信息都是對(duì)人們有用的,對(duì)人們有用而且能為人們所用的信息才更有意義。

數(shù)據(jù)中隱藏的信息和知識(shí)是客觀存在的,只有專業(yè)人士才能將它們挖掘出來(lái)。對(duì)數(shù)據(jù)和信息進(jìn)行處理后,人們就獲得了知識(shí)。

比如,第谷?布拉赫(TychoBrahe)用畢生精力觀測(cè)記錄了數(shù)百顆恒星幾十年間每個(gè)夜晚的數(shù)據(jù),約翰尼斯?開(kāi)普勒(JohannesKepler)根據(jù)這些數(shù)據(jù)得到了星球的運(yùn)動(dòng)軌跡,這是信息。而開(kāi)普勒根據(jù)信息總結(jié)歸納出行星運(yùn)動(dòng)的三大定律,就是知識(shí)。人們使用知識(shí)解決問(wèn)題,指導(dǎo)生產(chǎn),社會(huì)取得進(jìn)步,這是數(shù)據(jù)的應(yīng)用。所以,數(shù)據(jù)是知識(shí)基礎(chǔ),人類文明的基石。8.1大數(shù)據(jù)基本知識(shí) 8.1.4大數(shù)據(jù)的影響1.數(shù)據(jù)是知識(shí)的基礎(chǔ)信息可以是我們?nèi)祟悇?chuàng)造的,也可以是天然存在的客觀事實(shí),比如天體的體積和質(zhì)量,地球上的季節(jié)變化。人們認(rèn)識(shí)世界的過(guò)程總是沿著現(xiàn)象、數(shù)據(jù)、信息、知識(shí)這一邏輯前行。

早期人類獲取數(shù)據(jù)的重要來(lái)源是對(duì)自然界的觀察,從觀察中總結(jié)數(shù)據(jù),這是人和動(dòng)物重要區(qū)別。動(dòng)物雖然也具有觀察能力,但是無(wú)法總結(jié)出數(shù)據(jù)。因此,獲取和使用數(shù)據(jù)的能力,成為衡量文明發(fā)展水平的重要標(biāo)志。當(dāng)人類開(kāi)始采用語(yǔ)言文字進(jìn)行記事的時(shí)候,數(shù)字被人類落實(shí)在了結(jié)繩、龜甲、竹板、石碑等上面,這就是最初的數(shù)據(jù)。到了今天,數(shù)據(jù)的范疇要比單純的數(shù)字大得多。而現(xiàn)代互聯(lián)網(wǎng)所謂的數(shù)據(jù),可以說(shuō)覆蓋到了生產(chǎn)生活的方方面面。人們逐漸發(fā)現(xiàn),當(dāng)數(shù)據(jù)量足夠多并且具有代表性的情況下,如數(shù)據(jù)間存在的相關(guān)依賴關(guān)系,通過(guò)幾個(gè)簡(jiǎn)單模型的疊加也可以代替一種復(fù)雜的模型,從中發(fā)現(xiàn)相關(guān)性,進(jìn)而把握事物發(fā)展的軌跡。如此向前發(fā)展,今天,大數(shù)據(jù)驅(qū)動(dòng)的智能化已在很多行業(yè)中得到了廣泛應(yīng)用。8.1大數(shù)據(jù)基本知識(shí) 8.1.4大數(shù)據(jù)的影響2.大數(shù)據(jù)對(duì)科學(xué)研究的影響圖靈獎(jiǎng)獲得者、著名數(shù)據(jù)庫(kù)專家吉姆?格雷(JimGray)觀察并總結(jié)認(rèn)為,人類自古以來(lái)在科學(xué)研究上先后經(jīng)歷了實(shí)驗(yàn)科學(xué)、理論科學(xué)、計(jì)算科學(xué)和數(shù)據(jù)科學(xué)共四種范式。

人類最早的科學(xué)研究,主要以記錄和描述自然現(xiàn)象為特征,稱為“實(shí)驗(yàn)科學(xué)”。從原始的鉆木取火,發(fā)展到后來(lái)以伽利略為代表的文藝復(fù)興時(shí)期的科學(xué)發(fā)展初級(jí)階段,開(kāi)啟了現(xiàn)代科學(xué)之門(mén)。8.1大數(shù)據(jù)基本知識(shí) 8.1.4大數(shù)據(jù)的影響2.大數(shù)據(jù)對(duì)科學(xué)研究的影響

19世紀(jì)末,量子力學(xué)和相對(duì)論出現(xiàn),則以理論研究為主,以超凡的頭腦思考和復(fù)雜的計(jì)算超越了實(shí)驗(yàn)設(shè)計(jì)。而隨著驗(yàn)證理論的難度和經(jīng)濟(jì)投入越來(lái)越高,科學(xué)研究開(kāi)始顯得力不從心。

20世紀(jì)中葉,馮?諾依曼提出了現(xiàn)代電子計(jì)算機(jī)架構(gòu),利用電子計(jì)算機(jī)對(duì)科學(xué)實(shí)驗(yàn)進(jìn)行模擬仿真的模式得到迅速普及,人們可以對(duì)復(fù)雜現(xiàn)象通過(guò)模擬仿真,推演出越來(lái)越多復(fù)雜的現(xiàn)象,典型案例如模擬核試驗(yàn)、天氣預(yù)報(bào)等。隨著計(jì)算機(jī)仿真越來(lái)越多地取代實(shí)驗(yàn),逐漸成為科研的常規(guī)方法,人類的科學(xué)研究進(jìn)入了計(jì)算科學(xué)范式。

21世紀(jì)以來(lái),隨著互聯(lián)網(wǎng)的快速發(fā)展,數(shù)據(jù)呈現(xiàn)爆炸式增長(zhǎng),海量數(shù)據(jù)的出現(xiàn),不僅超出了普通人的理解和認(rèn)知能力,也給計(jì)算機(jī)科學(xué)本身帶來(lái)了巨大的挑戰(zhàn)。在大數(shù)據(jù)環(huán)境下,一切以數(shù)據(jù)為中心,從數(shù)據(jù)中發(fā)現(xiàn)問(wèn)題、解決問(wèn)題,從而產(chǎn)生大數(shù)據(jù)的價(jià)值,這就是數(shù)據(jù)科學(xué)范式。第三、第四范式雖然都是利用計(jì)算機(jī)進(jìn)行計(jì)算的,但是二者還是有著本質(zhì)的區(qū)別。第三范式下,需要先提出模型,然后通過(guò)數(shù)據(jù)計(jì)算驗(yàn)證;而第四范式下,先有數(shù)據(jù),再通過(guò)計(jì)算得出未知的結(jié)論。8.1大數(shù)據(jù)基本知識(shí) 8.1.4大數(shù)據(jù)的影響3.大數(shù)據(jù)對(duì)思維方式的影響維克托?爾耶?舍恩伯格(ViktorMayer-Sch?nberger)在《大數(shù)據(jù)時(shí)代:生活、工作與思維的大變革》中最具洞見(jiàn)之處在于:大數(shù)據(jù)時(shí)代最大的轉(zhuǎn)變就是,放棄對(duì)因果關(guān)系的渴求,而取而代之關(guān)注相關(guān)關(guān)系。也就是說(shuō)只要知道“是什么”,而不需要知道“為什么”。歸納起來(lái),人們對(duì)待數(shù)據(jù)的思維方式發(fā)生了如下三種變化:

第一,人們處理的數(shù)據(jù)從樣本數(shù)據(jù)變成了全部數(shù)據(jù)。第二,由于是全樣本數(shù)據(jù),人們不得不接受數(shù)據(jù)的混雜性,而放棄對(duì)精確性的追求。第三,人類通過(guò)對(duì)大數(shù)據(jù)的處理,放棄對(duì)因果關(guān)系的渴求,轉(zhuǎn)而關(guān)注相關(guān)關(guān)系。

數(shù)據(jù)思維能使人們?cè)跊Q策過(guò)程中超越原有思維框架的局限,以數(shù)據(jù)為基礎(chǔ)進(jìn)行智能決策。而完成這一決策通常有兩個(gè)步驟,第一是對(duì)事物的理解和判斷,第二是做出行動(dòng)決策。8.1大數(shù)據(jù)基本知識(shí) 8.1.4大數(shù)據(jù)的影響3.大數(shù)據(jù)對(duì)思維方式的影響

長(zhǎng)久以來(lái),對(duì)于認(rèn)識(shí)對(duì)象的現(xiàn)象與本質(zhì)之間的關(guān)系,人們往往會(huì)非常自然而然的選擇探尋其中的因果關(guān)系,當(dāng)發(fā)現(xiàn)其中的因果后,便會(huì)分析什么樣的果是由什么樣的因?qū)е禄蛟斐傻?,試圖對(duì)某一現(xiàn)象進(jìn)行解釋說(shuō)明。

文藝復(fù)興之后,近代的科學(xué)得到了快速的發(fā)展,基于哲學(xué)理念,無(wú)論是唯理論,還是經(jīng)驗(yàn)論,均指出在現(xiàn)象之中因果關(guān)系是客觀存在的。

到了大數(shù)據(jù)時(shí)代,數(shù)據(jù)存儲(chǔ)和處理能力大幅提高,科學(xué)分析可以不再依據(jù)數(shù)據(jù)抽樣,完全能夠通過(guò)全數(shù)據(jù)集在短時(shí)間內(nèi)得到分析結(jié)果,PB級(jí)別的數(shù)據(jù)處理可以在幾秒內(nèi)完成。這在很大程度上人們可以從對(duì)于因果關(guān)系的追求中解脫出來(lái),轉(zhuǎn)而將注意力放在相關(guān)關(guān)系的發(fā)現(xiàn)和使用上。

近年來(lái),人們?cè)诮佑|大數(shù)據(jù)的過(guò)程中,觀察大數(shù)據(jù),感知大數(shù)據(jù),實(shí)踐大數(shù)據(jù)。大數(shù)據(jù)改變了人們的生活,也在改變?nèi)藗兊恼J(rèn)知,包括思維方式,形成大數(shù)據(jù)思維。由此可見(jiàn),大數(shù)據(jù)思維是指在大數(shù)據(jù)應(yīng)用過(guò)程中以大數(shù)據(jù)為視角來(lái)分析問(wèn)題、解決問(wèn)題而形成的一種思維,由大數(shù)據(jù)思維觀念和大數(shù)據(jù)思維方式構(gòu)成。8.2大數(shù)據(jù)基礎(chǔ) 8.2.1大數(shù)據(jù)采集

大數(shù)據(jù)采集是指從傳感器和智能設(shè)備、企業(yè)在線系統(tǒng)、企業(yè)離線系統(tǒng)、社交網(wǎng)絡(luò)和互聯(lián)網(wǎng)平臺(tái)等獲取數(shù)據(jù)的過(guò)程,大數(shù)據(jù)采集過(guò)程的主要特點(diǎn)和挑戰(zhàn)是并發(fā)數(shù)高。1.大數(shù)據(jù)采集方法(1)數(shù)據(jù)庫(kù)采集早期進(jìn)行過(guò)信息化建設(shè)的企業(yè)可能會(huì)使用傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)MySQL和Oracle等存儲(chǔ)數(shù)據(jù),隨著大數(shù)據(jù)時(shí)代的到來(lái),Redis、MongoDB和HBase等NoSQL數(shù)據(jù)庫(kù)也常用于數(shù)據(jù)的采集。

通過(guò)在采集端部署大量數(shù)據(jù)庫(kù),并在這些數(shù)據(jù)庫(kù)之間進(jìn)行負(fù)載均衡和分片完成大數(shù)據(jù)采集工作。(2)系統(tǒng)日志采集系統(tǒng)日志采集主要是收集業(yè)務(wù)處理平臺(tái)日常產(chǎn)生的大量日志數(shù)據(jù),供離線和在線的大數(shù)據(jù)分析系統(tǒng)使用。高可用性、高可靠性、可擴(kuò)展性是日志收集系統(tǒng)所應(yīng)具有的基本特征。

系統(tǒng)日志采集工具均采用分布式架構(gòu),應(yīng)能夠滿足每秒數(shù)百M(fèi)B的日志數(shù)據(jù)采集和傳輸需求。8.2大數(shù)據(jù)基礎(chǔ) 8.2.1大數(shù)據(jù)采集(3)網(wǎng)絡(luò)數(shù)據(jù)采集

網(wǎng)絡(luò)數(shù)據(jù)采集是指通過(guò)網(wǎng)絡(luò)爬蟲(chóng)或網(wǎng)站公開(kāi)API(ApplicationProgrammingInterface,應(yīng)用程序接口)等方式從網(wǎng)站上獲取數(shù)據(jù)信息的過(guò)程。網(wǎng)絡(luò)爬蟲(chóng)會(huì)從一個(gè)或若干初始網(wǎng)頁(yè)的URL(UniformResourceLocator,統(tǒng)一資源定位器)開(kāi)始,獲得各個(gè)網(wǎng)頁(yè)上的內(nèi)容,并且在抓取網(wǎng)頁(yè)的過(guò)程中,不斷從當(dāng)前頁(yè)面上抽取新的URL放入隊(duì)列,直到滿足設(shè)置的停止條件為止。這樣可將非結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)從網(wǎng)頁(yè)中提取出來(lái),存儲(chǔ)在本地的存儲(chǔ)系統(tǒng)中。(4)感知設(shè)備數(shù)據(jù)采集

感知設(shè)備數(shù)據(jù)采集是指通過(guò)傳感器、攝像頭和其它智能終端自動(dòng)采集信號(hào)、圖片或錄像來(lái)獲取數(shù)據(jù)。大數(shù)據(jù)智能感知系統(tǒng)需要能實(shí)現(xiàn)對(duì)結(jié)構(gòu)化、半結(jié)構(gòu)化、非結(jié)構(gòu)化的海量數(shù)據(jù)的智能化識(shí)別、定位、跟蹤、接入、傳輸、信號(hào)轉(zhuǎn)換、監(jiān)控、初步處理和管理等。感知設(shè)備數(shù)據(jù)采集的關(guān)鍵技術(shù)包括針對(duì)大數(shù)據(jù)源的智能識(shí)別、感知、適配、傳輸、接入等。8.2大數(shù)據(jù)基礎(chǔ) 8.2.1大數(shù)據(jù)采集2.大數(shù)據(jù)采集平臺(tái)

1)ApacheFlume:Flume是Apache旗下的一款開(kāi)源、高可靠、高擴(kuò)展、容易管理、支持客戶擴(kuò)展的數(shù)據(jù)采集系統(tǒng)。Flume使用JRuby來(lái)構(gòu)建,所以依賴Java運(yùn)行環(huán)境。

2)Fluentd:Fluentd是一個(gè)開(kāi)源的數(shù)據(jù)收集框架,能夠收集各式各樣的日志,并將日志統(tǒng)一轉(zhuǎn)換成方便機(jī)器處理的JSON格式文件,其使用C/Ruby開(kāi)發(fā),支持多種類及格式數(shù)據(jù)源和數(shù)據(jù)輸出。而且,F(xiàn)luentd也具有高可靠性和良好的可擴(kuò)展性。

3)Logstash:Logstash是著名的開(kāi)源數(shù)據(jù)棧ELK(ElasticSearch,Logstash,Kibana)中的L,其用JRuby開(kāi)發(fā),運(yùn)行時(shí)依賴JVM(JavaVirtualMachine)。

4)SplunkForwarder:Splunk是一款商業(yè)化的大數(shù)據(jù)平臺(tái)產(chǎn)品,具有較完善的數(shù)據(jù)采集、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)分析和處理,以及數(shù)據(jù)展現(xiàn)的能力。Splunk是一個(gè)分布式的數(shù)據(jù)平臺(tái),主要有三個(gè)角色:

SearchHead負(fù)責(zé)數(shù)據(jù)搜索和處理,提供搜索時(shí)的信息抽取;Indexer負(fù)責(zé)數(shù)據(jù)存儲(chǔ)和索引;Forwarder負(fù)責(zé)數(shù)據(jù)收集、清洗、變形,并發(fā)送給Indexer。8.2大數(shù)據(jù)基礎(chǔ) 8.2.2大數(shù)據(jù)處理框架1.Hadoop隨著數(shù)據(jù)規(guī)模的不斷增加,TB(Terabyte,太字節(jié),計(jì)算機(jī)存儲(chǔ)容量單位,1TB=1024GB)、PB(Petabyte,拍字節(jié),計(jì)算機(jī)存儲(chǔ)容量單位,1PB=1024TB)量級(jí)成為常態(tài),對(duì)數(shù)據(jù)的處理已無(wú)法由單臺(tái)計(jì)算機(jī)完成,需要由多臺(tái)機(jī)器共同承擔(dān)計(jì)算任務(wù)。在分布式環(huán)境中進(jìn)行大數(shù)據(jù)處理,除了要與存儲(chǔ)系統(tǒng)打交道外,還涉及計(jì)算任務(wù)的分工、計(jì)算負(fù)荷的分配、計(jì)算機(jī)之間數(shù)據(jù)遷移等,尤其在計(jì)算機(jī)或網(wǎng)絡(luò)發(fā)生故障時(shí)數(shù)據(jù)安全保障等問(wèn)題。目前涌現(xiàn)出了很多大數(shù)據(jù)處理框架,例如,批處理框架Hadoop、流處理框架Storm,以及混合處理型框架Flink和Spark等。本課簡(jiǎn)要介紹兩種主流的開(kāi)源框架Hadoop和Spark。ApacheHadoop是一種專用于批處理的框架,也是首個(gè)在開(kāi)源社區(qū)獲得極大關(guān)注的大數(shù)據(jù)處理框架。基于Google有關(guān)海量數(shù)據(jù)處理所發(fā)表的多篇論文與經(jīng)驗(yàn),Hadoop重新實(shí)現(xiàn)了相關(guān)算法和組件堆棧,讓大規(guī)模批處理技術(shù)變得更加易用。8.2大數(shù)據(jù)基礎(chǔ) 8.2.2大數(shù)據(jù)處理框架1.Hadoop

經(jīng)過(guò)多年發(fā)展,Hadoop生態(tài)系統(tǒng)已經(jīng)逐漸成熟和完善,目前已經(jīng)包含多個(gè)子項(xiàng)目,在各大發(fā)行版本中的組件就有25個(gè)以上。構(gòu)成Hadoop的整個(gè)生態(tài)系統(tǒng)的組件可以劃分為4個(gè)層次,如圖所示。8.2大數(shù)據(jù)基礎(chǔ) 8.2.2大數(shù)據(jù)處理框架1.Hadoop

1)HDFS。HDFS是分布式存儲(chǔ)系統(tǒng),可對(duì)集群節(jié)點(diǎn)間的存儲(chǔ)和復(fù)制進(jìn)行協(xié)調(diào)。HDFS確保了無(wú)法避免的節(jié)點(diǎn)故障發(fā)生后數(shù)據(jù)依然可用,可將其用作數(shù)據(jù)來(lái)源,用于存儲(chǔ)中間處理結(jié)果,并可存儲(chǔ)最終結(jié)果。

2)YARN。YARN是Hadoop的資源管理系統(tǒng),本意是YetAnotherResourceNegotiator(另一個(gè)資源管理器),負(fù)責(zé)協(xié)調(diào)并管理底層資源和調(diào)度作業(yè)的運(yùn)行,是Hadoop2.0和3.0新增的系統(tǒng)組件,它允許多種計(jì)算框架運(yùn)行在一個(gè)集群中,使得用戶能在Hadoop集群中使用比以往的迭代方式運(yùn)行更多類型的工作負(fù)載。這些計(jì)算框架包括MapReduce、Spark、Storm、Tez等。

3)MapReduce。MapReduce作為Hadoop中默認(rèn)的數(shù)據(jù)處理引擎,提供了一個(gè)易于編程、高容錯(cuò)性和高擴(kuò)展性的分布式計(jì)算框架,也是Google的MapReduce論文思想的開(kāi)源實(shí)現(xiàn)。使用HDFS作為數(shù)據(jù)源,使用YARN進(jìn)行資源管理。

4)HBase。HBase是HadoopDatabase的縮寫(xiě),是一個(gè)高可靠性、高性能、面向列、可伸縮、實(shí)時(shí)讀寫(xiě)的分布式數(shù)據(jù)庫(kù),其也是GoogleBigtable的開(kāi)源實(shí)現(xiàn)。8.2大數(shù)據(jù)基礎(chǔ) 8.2.2大數(shù)據(jù)處理框架

5)Hive。Hive是一個(gè)基于Hadoop的開(kāi)源數(shù)據(jù)倉(cāng)庫(kù)工具,用于存儲(chǔ)和處理海量結(jié)構(gòu)化數(shù)據(jù),其能將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫(kù)表,并提供SQL查詢功能,也可以將SQL語(yǔ)句轉(zhuǎn)變成MapReduce任務(wù)來(lái)執(zhí)行。

6)Pig。Pig是一種數(shù)據(jù)流語(yǔ)言和運(yùn)行環(huán)境,適合使用Hadoop和MapReduce平臺(tái)進(jìn)行大規(guī)模半結(jié)構(gòu)化數(shù)據(jù)分析,提供SQL-LIKE語(yǔ)言PigLatin,該語(yǔ)言的編譯器會(huì)把類SQL的數(shù)據(jù)分析請(qǐng)求轉(zhuǎn)換為一系列經(jīng)過(guò)優(yōu)化處理的MapReduce運(yùn)算。

7)Mahout。Mahout是Apache旗下的一個(gè)開(kāi)源項(xiàng)目,提供一些可擴(kuò)展的機(jī)器學(xué)習(xí)領(lǐng)域經(jīng)典算法的實(shí)現(xiàn),并提供非常簡(jiǎn)單的API接口,幫助開(kāi)發(fā)人員更加方便快捷地創(chuàng)建智能應(yīng)用程序。Mahout包含許多算法實(shí)現(xiàn),如聚類、分類、推薦過(guò)濾、頻繁子項(xiàng)挖掘等。

8)ZooKeeper。ZooKeeper是分布式服務(wù)框架,為分布式應(yīng)用提供一致性協(xié)調(diào)服務(wù),其主要作用是解決分布式環(huán)境下的數(shù)據(jù)管理問(wèn)題,如:統(tǒng)一命名服務(wù)、狀態(tài)同步服務(wù)、集群管理、分布式應(yīng)用配置項(xiàng)的管理,等等。8.2大數(shù)據(jù)基礎(chǔ) 8.2.2大數(shù)據(jù)處理框架2.大數(shù)據(jù)計(jì)算引擎Spark

Spark是UCBerkeleyAMPlab(加州大學(xué)伯克利分校的AMP實(shí)驗(yàn)室)所開(kāi)源的類HadoopMapReduce通用并行框架。

既擁有HadoopMapReduce所有優(yōu)點(diǎn),又能更好地適用于數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)等需要迭代的MapReduce的算法。Spark的技術(shù)框架分為4層,即部署模式、數(shù)據(jù)存儲(chǔ)、處理引擎、訪問(wèn)和接口組件,如圖所示。目前,Spark2.0版本得到了業(yè)界的普遍認(rèn)可,而3.0版本的預(yù)覽版也已發(fā)布,做了大量的性能改進(jìn),尤其是與AI框架深度集成值得期盼。8.2大數(shù)據(jù)基礎(chǔ) 8.2.2大數(shù)據(jù)處理框架2.大數(shù)據(jù)計(jì)算引擎Spark(1)多種部署模式

Local本地模式,常用于本地開(kāi)發(fā)測(cè)試。

Standalone獨(dú)立集群模式,Spark原生的簡(jiǎn)單集群管理器,自帶完整的服務(wù),可單獨(dú)部署到一個(gè)集群中,無(wú)需依賴任何其它資源管理系統(tǒng),使用Standalone可以很方便地搭建一個(gè)集群,單點(diǎn)故障問(wèn)題借助Zookeeper解決。

Mesos集群模式,運(yùn)行在Mesos資源管理器框架之上,負(fù)責(zé)資源管理,Spark負(fù)責(zé)任務(wù)調(diào)度和計(jì)算。

Yarn集群模式,運(yùn)行在Yarn資源管理器框架之上,由Yarn負(fù)責(zé)資源管理,Spark負(fù)責(zé)任務(wù)調(diào)度和計(jì)算,Yarn與Mesos的不同之處在于Mesos對(duì)Spark的支持力度更大,但國(guó)內(nèi)主流使用Yarn,主要是因?yàn)閅arn對(duì)Hadoop生態(tài)的適用性更好。

Cloud集群模式,亞馬遜云計(jì)算平臺(tái)EC2(ElasticComputeCloud),使用該模式能很方便的訪問(wèn)Amazon的S3(SimpleStorageService)。8.2大數(shù)據(jù)基礎(chǔ) 8.2.2大數(shù)據(jù)處理框架2.大數(shù)據(jù)計(jì)算引擎Spark(2)數(shù)據(jù)封裝Spark處理的數(shù)據(jù)封裝為RDD(ResilientDistributedDataset)數(shù)據(jù)集,且存儲(chǔ)在內(nèi)存中。Spark也支持其它分布式存儲(chǔ)系統(tǒng),如HDFS、HBase和S3等。Techyon是以內(nèi)存為中心的分布式文件系統(tǒng),擁有高性能和容錯(cuò)能力,能夠?yàn)镾park、MapReduce集群框架提供可靠的內(nèi)存級(jí)速度的文件共享服務(wù),把內(nèi)存存儲(chǔ)功能從Spark中分離出來(lái),使Spark可以更專注于計(jì)算,達(dá)到更高的執(zhí)行效率。此外,Spark專注于計(jì)算,數(shù)據(jù)存儲(chǔ)借助于HDFS、S3等分布式文件系統(tǒng)實(shí)現(xiàn)機(jī)制,使得Hadoop應(yīng)用程序能夠非常容易地遷移到Spark系統(tǒng)。8.2大數(shù)據(jù)基礎(chǔ) 8.2.2大數(shù)據(jù)處理框架2.大數(shù)據(jù)計(jì)算引擎Spark(3)處理引擎SparkCoreSparkCore提供基于內(nèi)存計(jì)算、任務(wù)調(diào)度、部署模式、故障恢復(fù)、存儲(chǔ)管理等功能,既包含Hadoop的計(jì)算模型MapReduce,也包含很多其它如reduceByKey、groupByKey、foreach、join和filter等API。

Spark通過(guò)建立統(tǒng)一的抽象RDD,有效擴(kuò)充編程模型,使不同的大數(shù)據(jù)應(yīng)用場(chǎng)景無(wú)縫融合。(4)支持多種程序語(yǔ)言開(kāi)發(fā)環(huán)境

Spark同時(shí)支持Scala、Python、Java三種應(yīng)用程序API編程接口和編程方式。Scala作為Spark的原生語(yǔ)言,代碼優(yōu)雅、簡(jiǎn)潔而且功能完善,很多開(kāi)發(fā)者都比較認(rèn)可,它是業(yè)界廣泛使用的Spark程序開(kāi)發(fā)語(yǔ)言。Spark也提供了Python的編程模型PySpark,使得Python可以作為Spark開(kāi)發(fā)語(yǔ)言之一。盡管現(xiàn)在PySpark還不能支持所有的SparkAPI,但是以后的支持度會(huì)越來(lái)越高。8.2大數(shù)據(jù)基礎(chǔ) 8.2.2大數(shù)據(jù)處理框架2.大數(shù)據(jù)計(jì)算引擎Spark(5)四大接口組件

1)Spark

Streaming。SparkStreaming是Spark平臺(tái)上針對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行流式計(jì)算的組件,提供了豐富的處理數(shù)據(jù)流API,Spark流被設(shè)計(jì)為和Spark核心組件提供相同級(jí)別容錯(cuò)性、吞吐量和可伸縮性。

2)GraphX。GraphX是Spark上層的分布式并行圖計(jì)算組件,提出了彈性分布式屬性圖的概念,并在此基礎(chǔ)上實(shí)現(xiàn)了圖視圖與表視圖的有機(jī)結(jié)合與統(tǒng)一。

3)MLlib。MLlib是Spark提供的一個(gè)機(jī)器學(xué)習(xí)算法庫(kù),實(shí)現(xiàn)邏輯回歸、線性SVM、隨機(jī)森林、K-means、奇異值分解、聚類、協(xié)同過(guò)濾等多種分布式機(jī)器學(xué)習(xí)算法。

4)Spark

SQL。SparkSQL是Spark用來(lái)處理結(jié)構(gòu)化數(shù)據(jù)的組件,提供交互式操作。使用戶可以像Hive查詢語(yǔ)言(HiveQueryLanguage,HQL)一樣通過(guò)SQL語(yǔ)句查詢數(shù)據(jù),支持多種數(shù)據(jù)源,包括Hive表、Parquet和JSON。8.2大數(shù)據(jù)基礎(chǔ) 8.2.3大數(shù)據(jù)存儲(chǔ)1.大數(shù)據(jù)文件系統(tǒng)HDFSHDFS(HadoopDistributedFileSystem)被設(shè)計(jì)用來(lái)搭建大規(guī)模的分布式集群,提供海量數(shù)據(jù)的讀寫(xiě)、存儲(chǔ)功能。在Hadoop生態(tài)系統(tǒng)中,HDFS為管理大數(shù)據(jù)資源池和支撐相關(guān)大數(shù)據(jù)分析應(yīng)用提供了一個(gè)具有高可靠性的工具。HDFS是對(duì)谷歌分布式文件系統(tǒng)GFS基本思想的開(kāi)源實(shí)現(xiàn),是一個(gè)可擴(kuò)展的分布式文件系統(tǒng),用于大型的、分布式的、對(duì)大量數(shù)據(jù)進(jìn)行訪問(wèn)的應(yīng)用,如圖所示。8.2大數(shù)據(jù)基礎(chǔ) 8.2.3大數(shù)據(jù)存儲(chǔ)1.大數(shù)據(jù)文件系統(tǒng)HDFS1)HDFS使用主/從架構(gòu)(Master/Slave)

每個(gè)Hadoop集群包括一個(gè)NameNode和多個(gè)DataNode,NameNode用于管理文件系統(tǒng)運(yùn)行,DataNode用于管理單個(gè)計(jì)算節(jié)點(diǎn)上的數(shù)據(jù)存儲(chǔ),應(yīng)用程序通過(guò)Client與NameNode和DataNode進(jìn)行交互。

HDFS以數(shù)據(jù)塊(Block)為存儲(chǔ)單位(塊大小默認(rèn)為128M,數(shù)據(jù)塊副本默認(rèn)為3),并將它們分布到集群中的不同節(jié)點(diǎn),從而支持高效的并行處理。2)HDFS具有高容錯(cuò)特性

HDFS可以多次復(fù)制每個(gè)數(shù)據(jù)片段,并將副本分發(fā)給各個(gè)節(jié)點(diǎn),將至少一個(gè)副本放在其它服務(wù)器機(jī)架上,這確保了崩潰節(jié)點(diǎn)上的數(shù)據(jù)的可恢復(fù)性,同時(shí)也確保了在恢復(fù)數(shù)據(jù)時(shí)可以繼續(xù)進(jìn)行數(shù)據(jù)處理。8.2大數(shù)據(jù)基礎(chǔ) 8.2.3大數(shù)據(jù)存儲(chǔ)2.NoSQL數(shù)據(jù)庫(kù)Hbase

NoSQL(NotOnlySQL)泛指非關(guān)系型的數(shù)據(jù)庫(kù),NoSQL數(shù)據(jù)庫(kù)的產(chǎn)生就是為了解決大規(guī)模數(shù)據(jù)集合多重?cái)?shù)據(jù)種類帶來(lái)的挑戰(zhàn),尤其是大數(shù)據(jù)應(yīng)用的難題。NoSQL具有大數(shù)據(jù)量、易擴(kuò)展、高性能、數(shù)據(jù)模型靈活、高可用等共同特征。開(kāi)源的NoSQL數(shù)據(jù)庫(kù)軟件有:HBase、MongoDB、Membase等。下面以HBase為例進(jìn)行說(shuō)明。

HBase由谷歌的一個(gè)分布式存儲(chǔ)系統(tǒng)BigTable發(fā)展而來(lái)。HBase是一個(gè)基于HDFS開(kāi)發(fā)的面向列(面向列族)的分布式數(shù)據(jù)庫(kù),它主要用于超大規(guī)模的數(shù)據(jù)集存儲(chǔ),從而可以實(shí)現(xiàn)對(duì)超大規(guī)模數(shù)據(jù)的實(shí)時(shí)隨機(jī)訪問(wèn)。HBase自底向上進(jìn)行構(gòu)建,解決了原有關(guān)系統(tǒng)型數(shù)據(jù)庫(kù)橫向擴(kuò)展難的問(wèn)題,使用Hbase可以簡(jiǎn)單的通過(guò)增加節(jié)點(diǎn)來(lái)達(dá)到橫向擴(kuò)展,擴(kuò)大存儲(chǔ)規(guī)模,也就是在廉價(jià)普通的硬件構(gòu)成的集群上管理超大規(guī)模(超過(guò)10億行和數(shù)百萬(wàn)列)的數(shù)據(jù)表。8.2大數(shù)據(jù)基礎(chǔ) 8.2.3大數(shù)據(jù)存儲(chǔ)2.NoSQL數(shù)據(jù)庫(kù)Hbase

1)表。HBase的數(shù)據(jù)同樣是用表來(lái)組織的,表由行和列組成,列分為若干個(gè)列族,行和列的坐標(biāo)交叉決定了一個(gè)單元格。

2)行。每個(gè)表由若干行組成,每個(gè)行有一個(gè)行鍵作為這一行的唯一標(biāo)識(shí)。訪問(wèn)表中的行只有三種方式:通過(guò)單個(gè)行鍵進(jìn)行查詢、通過(guò)一個(gè)行鍵的區(qū)間來(lái)訪問(wèn)、全表掃描。

3)列族。一個(gè)HBase表被分組成許多“列族”的集合,它是基本的訪問(wèn)控制單元。

8.2大數(shù)據(jù)基礎(chǔ) 8.2.3大數(shù)據(jù)存儲(chǔ)2.NoSQL數(shù)據(jù)庫(kù)Hbase

4)列修飾符(列限定符)。列族里的數(shù)據(jù)通過(guò)列限定符(或列)來(lái)定位。

5)單元格。在HBase表中,通過(guò)行、列族和列限定符確定一個(gè)“單元格”(cell),單元格中存儲(chǔ)的數(shù)據(jù)沒(méi)有數(shù)據(jù)類型,總被視為字節(jié)數(shù)組byte[]。

6)時(shí)間戳。每個(gè)單元格都保存著同一份數(shù)據(jù)的多個(gè)版本,這些版本采用時(shí)間戳進(jìn)行索引。8.2大數(shù)據(jù)基礎(chǔ) 8.2.3大數(shù)據(jù)存儲(chǔ)3.云數(shù)據(jù)庫(kù)

云數(shù)據(jù)庫(kù)是基于云計(jì)算技術(shù)發(fā)展的一種共享基礎(chǔ)架構(gòu)的方法,是部署和虛擬化在云計(jì)算環(huán)境中的數(shù)據(jù)庫(kù)。云數(shù)據(jù)庫(kù)具有高可擴(kuò)展性、高可用性、采用多租形式和支持資源有效分發(fā)等特點(diǎn)。云數(shù)據(jù)庫(kù)的特征包括:①動(dòng)態(tài)可擴(kuò)展;②高可用性;③較低的使用代價(jià);④易用性;⑤高性能;⑥免維護(hù);⑦安全。

從數(shù)據(jù)模型的角度來(lái)說(shuō),云數(shù)據(jù)庫(kù)并非一種全新的數(shù)據(jù)庫(kù)技術(shù),而只是以服務(wù)的方式提供數(shù)據(jù)庫(kù)功能。云數(shù)據(jù)庫(kù)所采用的數(shù)據(jù)模型可以是關(guān)系數(shù)據(jù)庫(kù)所使用的關(guān)系模型,如阿里云關(guān)系型數(shù)據(jù)庫(kù)RDS(RelationalDatabaseService)。也可以是非關(guān)系型數(shù)據(jù)庫(kù),如AmazonSimpleDB(云中的鍵值數(shù)據(jù)庫(kù))。同一個(gè)公司也可能提供采用不同數(shù)據(jù)模型的多種云數(shù)據(jù)庫(kù)服務(wù)。8.2大數(shù)據(jù)基礎(chǔ) 8.2.4大數(shù)據(jù)計(jì)算模式提及大數(shù)據(jù)計(jì)算,人們總是會(huì)想到MapReduce。實(shí)際上,MapReduce只是大數(shù)據(jù)計(jì)算模式的其中一種,大數(shù)據(jù)處理問(wèn)題的復(fù)雜多樣,單一模式是無(wú)法滿足不同類型的計(jì)算需求的。除了MapReduce之外,還有迭代計(jì)算、圖計(jì)算、流計(jì)算等多種大數(shù)據(jù)計(jì)算模式大數(shù)據(jù)計(jì)算模式解決問(wèn)題代表產(chǎn)品批處理計(jì)算針對(duì)大規(guī)模數(shù)據(jù)的批量處理MapReduce、Spark等流計(jì)算針對(duì)流數(shù)據(jù)的實(shí)時(shí)計(jì)算Storm、S4、Flume、Streams、Sparkstreaming、Puma、DStream、Super

Mario等圖計(jì)算針對(duì)大規(guī)模圖結(jié)構(gòu)數(shù)據(jù)的處理Pregel、GraphX、Giraph、PowerGraph、Hama、GoldenOrb等查詢分析計(jì)算大規(guī)模數(shù)據(jù)的存儲(chǔ)管理和查詢分析Hbase、Hive、Cassandra、Impala等內(nèi)存計(jì)算實(shí)時(shí)處理,適用于多次迭代的計(jì)算模型(機(jī)器學(xué)習(xí)模型)Dremel、Hana、Spark等8.2大數(shù)據(jù)基礎(chǔ) 8.2.4大數(shù)據(jù)計(jì)算模式1.批處理計(jì)算MapReduce是一種單輸入、兩階段、粗粒度數(shù)據(jù)并行的分布式框架,將復(fù)雜的、運(yùn)行于大規(guī)模集群上的并行計(jì)算過(guò)程,高度抽象到了兩個(gè)函數(shù):Map和Reduce,并把一個(gè)大數(shù)據(jù)集切分成多個(gè)小數(shù)據(jù)集,分布到不同機(jī)器上進(jìn)行并行處理,極大地方便了分布式編程工作。MapReduce大大簡(jiǎn)化了程序員進(jìn)行并行化程序設(shè)計(jì)的負(fù)擔(dān)。在MapReduce中,數(shù)據(jù)流從一個(gè)穩(wěn)定的來(lái)源,進(jìn)行一系列加工處理后,流出到一個(gè)穩(wěn)定的文件系統(tǒng)(如HDFS)。2.流式計(jì)算

流數(shù)據(jù)(或數(shù)據(jù)流)指在時(shí)間分布和數(shù)量上無(wú)限的一系列動(dòng)態(tài)數(shù)據(jù)集合體,流式計(jì)算就是對(duì)數(shù)據(jù)流進(jìn)行處理,通常應(yīng)用在實(shí)時(shí)場(chǎng)景,其數(shù)據(jù)一般是動(dòng)態(tài)的、沒(méi)有邊界的。而且,流式計(jì)算的一個(gè)顯著特點(diǎn)是數(shù)據(jù)流動(dòng)而運(yùn)算不能移動(dòng)。目前,流式計(jì)算的典型系統(tǒng)有Facebook的Scribe和Apache的Flume,商業(yè)級(jí)流式計(jì)算平臺(tái)包括IBMInfoSphereStreams、IBMStreamBase等,更通用的流式計(jì)算開(kāi)源平臺(tái)有TwitterStorm、Yahoo!S4、BerkeleyAMPlabSparkStreaming,等等。8.2大數(shù)據(jù)基礎(chǔ) 8.2.4大數(shù)據(jù)計(jì)算模式3.迭代計(jì)算

為了克服HadoopMapReduce難以支持迭代計(jì)算的缺陷,對(duì)HadoopMapReduce進(jìn)行了改進(jìn)。例如,Hadoop把迭代控制放到MapReduce作業(yè)執(zhí)行的框架內(nèi)部,通過(guò)調(diào)度任務(wù)程序感知循環(huán)和增加各種緩存的機(jī)制,保證前次迭代的Reduce輸出和本次迭代的Map輸入數(shù)據(jù)在同一臺(tái)物理機(jī)上,以減少迭代間的數(shù)據(jù)傳輸開(kāi)銷(xiāo)。

目前,Spark具有類HadoopMapReduce的特點(diǎn),能夠更好地適用于需要迭代的MapReduce算法。4.圖計(jì)算

圖(Graph)是用于表示對(duì)象之間關(guān)聯(lián)關(guān)系的一種抽象數(shù)據(jù)結(jié)構(gòu),使用頂點(diǎn)和邊進(jìn)行描述:頂點(diǎn)表示對(duì)象,邊表示對(duì)象之間的關(guān)系。圖計(jì)算模式用來(lái)處理大規(guī)模具有復(fù)雜關(guān)系的數(shù)據(jù)存儲(chǔ)管理和計(jì)算分析。

目前,已經(jīng)出現(xiàn)了很多分布式圖計(jì)算系統(tǒng)和產(chǎn)品,大致可以兩類,第一類主要是基于遍歷算法的、實(shí)時(shí)的圖數(shù)據(jù)庫(kù),如Neo4j、OrientDB、DEX和InfiniteGraph。第二類則是以圖頂點(diǎn)為中心的、基于消息傳遞批處理的并行引擎,如Pregel、GoldenOrb、Giraph和Hama,這些圖處理軟件主要是基于BSP(BulkSynchronousParallel,整體同步并行計(jì)算模型)模型實(shí)現(xiàn)的并行圖處理系統(tǒng)。8.2大數(shù)據(jù)基礎(chǔ) 8.2.4大數(shù)據(jù)計(jì)算模式5.內(nèi)存計(jì)算大數(shù)據(jù)應(yīng)用推動(dòng)了“讓內(nèi)存更接近計(jì)算資源”的架構(gòu)需求,而人工智能和機(jī)器學(xué)習(xí)則進(jìn)一步證明了硬件和硬件架構(gòu)在成功部署中發(fā)揮的關(guān)鍵作用。不過(guò)這里有一個(gè)關(guān)鍵問(wèn)題,即數(shù)據(jù)處理應(yīng)該在哪里進(jìn)行。

Hadoop的MapReduce是為大數(shù)據(jù)脫機(jī)批處理設(shè)計(jì)的,它的主要缺陷在于頻繁的磁盤(pán)I/O操作而降低了計(jì)算性能。隨著大量需要高響應(yīng)性能的大數(shù)據(jù)查詢分析計(jì)算問(wèn)題的出現(xiàn),磁盤(pán)I/O成了主要的數(shù)據(jù)訪問(wèn)瓶頸。此外,眾多機(jī)器學(xué)習(xí)算法涉及到大規(guī)模數(shù)據(jù)的反復(fù)迭代運(yùn)算,將需要反復(fù)運(yùn)算的數(shù)據(jù)存放在內(nèi)存中將可以大幅加快此類計(jì)算速度。隨著內(nèi)存價(jià)格的下降,服務(wù)器配置的內(nèi)存容量不斷提高,用內(nèi)存計(jì)算完成高速的大數(shù)據(jù)處理已經(jīng)成為大數(shù)據(jù)計(jì)算發(fā)展的一個(gè)重要趨勢(shì)。Spark是近年來(lái)興起的分布式內(nèi)存計(jì)算的一個(gè)典型系統(tǒng),在Spark之上建立的MLlib是最為知名的基于內(nèi)存計(jì)算的機(jī)器學(xué)習(xí)算法庫(kù),它支持分類、聚類及矩陣分解(如主成分分析PCA)等算法。8.2大數(shù)據(jù)基礎(chǔ) 8.2.4大數(shù)據(jù)計(jì)算模式6.查詢分析計(jì)算

在大數(shù)據(jù)的時(shí)代,數(shù)據(jù)查詢分析計(jì)算系統(tǒng)是最常見(jiàn)的系統(tǒng)。當(dāng)數(shù)據(jù)規(guī)模的增長(zhǎng)大大超出了傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)的承載和處理能力時(shí),可以使用分布式數(shù)據(jù)存儲(chǔ)管理和并行計(jì)算方法,進(jìn)行大數(shù)據(jù)的查詢分析計(jì)算。

大數(shù)據(jù)查詢分析計(jì)算系統(tǒng)需要具備對(duì)大規(guī)模數(shù)據(jù)進(jìn)行實(shí)時(shí)或準(zhǔn)實(shí)時(shí)查詢的能力,才能很好的滿足需求。如Google開(kāi)發(fā)的Dremel,是一套用于分析只讀嵌套數(shù)據(jù)的可擴(kuò)展交互式實(shí)時(shí)查詢系統(tǒng)。通過(guò)結(jié)合多層樹(shù)狀執(zhí)行過(guò)程和列式數(shù)據(jù)結(jié)構(gòu),可以在秒級(jí)完成上萬(wàn)億行表的聚合查詢,系統(tǒng)可以擴(kuò)展到幾千個(gè)CPU、PB級(jí)別的數(shù)據(jù)。另外,還有一些具備大數(shù)據(jù)查詢分析計(jì)算模式的典型系統(tǒng),包括:Hadoop下的HBase和Hive,F(xiàn)acebook開(kāi)發(fā)的Cassandra,Cloudera公司的Impala,以及Berkeley的Spark數(shù)據(jù)倉(cāng)庫(kù)Shark,SAPHANA是一個(gè)軟硬件結(jié)合體,提供高性能的數(shù)據(jù)查詢功能,用戶可以直接對(duì)大量實(shí)時(shí)業(yè)務(wù)數(shù)據(jù)進(jìn)行查詢和分析,而不需要對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行建模、聚合等操作。8.3大數(shù)據(jù)技術(shù)初步8.3.1MapReduce1.MapReduce基本思想MapReduce借鑒了LISP和其它函數(shù)式編程語(yǔ)言中的映射和化簡(jiǎn)操作,將分而治之的思想上升到抽象模型,把一個(gè)數(shù)據(jù)處理過(guò)程拆分為主要的Map(映射)與Reduce(化簡(jiǎn))兩步,即便用戶不懂分布式計(jì)算框架的內(nèi)部運(yùn)行機(jī)制,只要能用Map和Reduce思想描述清楚要處理的問(wèn)題,即編寫(xiě)Map()和Reduce()函數(shù),就能輕松地使問(wèn)題的計(jì)算實(shí)現(xiàn)分布式,并在Hadoop上運(yùn)行。

MapReduce設(shè)計(jì)的一個(gè)理念就是“計(jì)算向數(shù)據(jù)靠攏”,而不是“數(shù)據(jù)向計(jì)算靠攏”。因?yàn)橐苿?dòng)數(shù)據(jù)需要大量的網(wǎng)絡(luò)傳輸開(kāi)銷(xiāo),尤其是在大規(guī)模數(shù)據(jù)環(huán)境下,這種開(kāi)銷(xiāo)尤為驚人。

MapReduce框架的設(shè)計(jì)就是Map任務(wù)在就近的存儲(chǔ)有輸入數(shù)據(jù)的HDFS節(jié)點(diǎn)上運(yùn)行,這樣可以獲得最佳性能,因?yàn)闊o(wú)需耗用寶貴的集群帶寬,這就是“數(shù)據(jù)本地化”的優(yōu)勢(shì)。而Reduce任務(wù)不具備數(shù)據(jù)本地化的優(yōu)勢(shì),單個(gè)Reduce任務(wù)的輸入通常情況下是來(lái)自于所有Mapper輸出,因此,排過(guò)序的Map輸出需要通過(guò)網(wǎng)絡(luò)傳輸?shù)竭\(yùn)行Reduce任務(wù)的節(jié)點(diǎn),數(shù)據(jù)在此進(jìn)行歸并,然后由用戶定義的Reduce函數(shù)進(jìn)行處理,最終將得到的輸出結(jié)果存儲(chǔ)在HDFS,從而完成整個(gè)MapReduce作業(yè)。

8.3大數(shù)據(jù)技術(shù)初步8.3.1MapReduce2.Map和ReduceMapReduce將復(fù)雜的、運(yùn)行于大規(guī)模集群上的并行計(jì)算過(guò)程抽象到了兩個(gè)函數(shù):Map和Reduce。一個(gè)存儲(chǔ)在分布式文件系統(tǒng)中的大規(guī)模數(shù)據(jù)集,會(huì)被切分成許多獨(dú)立的分片(split),這些分片可以被多個(gè)Map任務(wù)并行處理。

MapReduce操作數(shù)據(jù)的最小單位是一個(gè)鍵值對(duì)。Map和Reduce函數(shù)都是以<key,value>作為輸入,按一定映射規(guī)則轉(zhuǎn)換成另一個(gè)或一批<key,value>進(jìn)行輸出。函數(shù)輸入輸出說(shuō)明Map<k1,v1>如:<行號(hào),”abc”>List(<k2,v2>)如:<”a”,1><”b”,1><”c”,1>對(duì)于每一個(gè)輸入的鍵值對(duì)<k1,v1>都變成一批鍵值對(duì)Reduce<k2,List(v2)>如:<“a”,<1,1,1>><k3,v3>如:<“a”,3>輸入一個(gè)鍵值對(duì),輸出一批鍵值對(duì)8.3大數(shù)據(jù)技術(shù)初步8.3.1MapReduce3.MapReduce工作流程

如圖所示,給出了MapReduce的工作流程,簡(jiǎn)言之,就是Input從HDFS里面并行讀取文本中的內(nèi)容,經(jīng)過(guò)MapReduce模型,最終把分析出來(lái)的結(jié)果用Output封裝,持久化到HDFS中。

第一步,將每個(gè)block塊分片(邏輯切分),每個(gè)分片都對(duì)應(yīng)一個(gè)Map任務(wù)。默認(rèn)一個(gè)block塊對(duì)應(yīng)一個(gè)切片和一個(gè)Map任務(wù)。Split中包含分片的元數(shù)據(jù)信息,包括起始位置、長(zhǎng)度和所在節(jié)點(diǎn)列表等。

第二步,將數(shù)據(jù)抽象為鍵值對(duì)的形式,Map函數(shù)以鍵值對(duì)作為輸入,經(jīng)過(guò)Map函數(shù)的處理,產(chǎn)生一系列新的鍵值對(duì)作為中間結(jié)果輸出到本地。

第三步,MapReduce計(jì)算框架會(huì)自動(dòng)將這些中間結(jié)果數(shù)據(jù)按照鍵值做聚合處理,并將鍵值相同的數(shù)據(jù)分發(fā)給Reduce函數(shù)處理。

最后,Reduce函數(shù)以鍵和對(duì)應(yīng)的值的集合作為輸入,經(jīng)過(guò)Reduce函數(shù)的處理后,產(chǎn)生了另外一系列鍵值對(duì)作為最終輸出,存儲(chǔ)到HDFS存儲(chǔ)系統(tǒng)中。8.3大數(shù)據(jù)技術(shù)初步8.3.1MapReduce4.WordCount運(yùn)行實(shí)例

假設(shè)在一個(gè)執(zhí)行單詞統(tǒng)計(jì)任務(wù)的作業(yè)中,有3個(gè)Map任務(wù)的Worker和1個(gè)Reduce任務(wù)的Worker。一個(gè)文檔包含3行文本內(nèi)容,每一行分給一個(gè)Map任務(wù)來(lái)處理。下面給出具體的執(zhí)行過(guò)程。(1)WordCount的Map過(guò)程首先,將文件切分為3個(gè)分片,每個(gè)分片一行文本內(nèi)容,這一步由MapReduce框架自身完成。然后,使用3個(gè)Map任務(wù)并行讀取3個(gè)分片,并對(duì)讀取的單詞進(jìn)行Map操作,每個(gè)單詞都以<key,value>形式生成。如圖所示。8.3大數(shù)據(jù)技術(shù)初步8.3.1MapReduce4.WordCount運(yùn)行實(shí)例假設(shè)在一個(gè)執(zhí)行單詞統(tǒng)計(jì)任務(wù)的作業(yè)中,有3個(gè)Map任務(wù)的Worker和1個(gè)Reduce任務(wù)的Worker。一個(gè)文檔包含3行文本內(nèi)容,每一行分給一個(gè)Map任務(wù)來(lái)處理。下面給出具體的執(zhí)行過(guò)程。(2)WordCount的Reduce過(guò)程Reduce操作是對(duì)Map的結(jié)果進(jìn)行排序、合并等操作,最后得出詞頻。如圖所示。8.3大數(shù)據(jù)技術(shù)初步8.3.2協(xié)同推薦1.推薦系統(tǒng)人們?cè)诿鎸?duì)大量信息時(shí)無(wú)法從中獲得對(duì)自己真正有用的那部分信息,而信息也越來(lái)越難以展示給可能對(duì)它感興趣的用戶。解決這些問(wèn)題的一個(gè)非常有潛力的辦法就是推薦系統(tǒng),其核心是預(yù)測(cè)用戶的需求,連接用戶和信息,創(chuàng)造價(jià)值。例如,購(gòu)物網(wǎng)站包含有大量的商品,商家如何發(fā)現(xiàn)長(zhǎng)尾商品,并且將這些長(zhǎng)尾商品推薦給用戶,這正是推薦系統(tǒng)的重要作用。

長(zhǎng)尾指的就是需求曲線上那條長(zhǎng)長(zhǎng)的尾巴,從人們的需求來(lái)看,大部分都會(huì)集中在熱門(mén)商品,而尾部的個(gè)性化需求,看起來(lái)量小而且零散,但是它的種類多,累加起來(lái)形成的市場(chǎng),實(shí)際上比主流市場(chǎng)要大得多。因此可以說(shuō),長(zhǎng)尾商品常常指?jìng)€(gè)性化的、冷門(mén)的商品。根據(jù)推薦系統(tǒng)使用數(shù)據(jù)的不同,推薦算法可分為協(xié)同過(guò)濾推薦、基于內(nèi)容推薦、基于社交網(wǎng)絡(luò)推薦、基于關(guān)聯(lián)規(guī)則推薦、基于效用推薦、基于知識(shí)推薦、基于流行度推薦、組合推薦等。主流的推薦系統(tǒng)算法常采用協(xié)同過(guò)濾推薦、基于內(nèi)容推薦和混合推薦三種。8.3大數(shù)據(jù)技術(shù)初步8.3.2協(xié)同推薦1.推薦系統(tǒng)Amazon作為推薦系統(tǒng)的鼻祖,已將推薦思想滲透到其網(wǎng)站的各個(gè)角落,利用可以記錄的所有用戶在站點(diǎn)上的行為,根據(jù)不同數(shù)據(jù)的特點(diǎn)進(jìn)行處理,并分成不同區(qū)域?yàn)橛脩敉扑屯扑]。

今日推薦(Today’sRecommendationForYou),通常是根據(jù)用戶近期的歷史購(gòu)買(mǎi)或者查看記錄,并結(jié)合時(shí)下流行的物品給出一個(gè)折中的推薦;

新產(chǎn)品推薦

(NewForYou),采用了基于內(nèi)容的推薦機(jī)制(Content-basedRecommendation),將一些新到物品推薦給用戶。在方法選擇上由于新物品沒(méi)有大量的用戶喜好信息,所以基于內(nèi)容的推薦能很好的解決這個(gè)“冷啟動(dòng)”的問(wèn)題;

別人購(gòu)買(mǎi)/瀏覽的商品

(CustomersWhoBought/SeeThisItemAlsoBought/See),也是典型的基于物品的協(xié)同過(guò)濾推薦的應(yīng)用,通過(guò)社會(huì)化機(jī)制用戶能更快更方便的找到自己感興趣的物品,比如通過(guò)獲得用戶的Facebook好友,根據(jù)好友關(guān)系進(jìn)行推薦。8.3大數(shù)據(jù)技術(shù)初步8.3.2協(xié)同推薦2.推薦系統(tǒng)模型推薦系統(tǒng)通常包括3個(gè)組成模塊:用戶建模模塊、推薦對(duì)象建模模塊、推薦算法模塊。首先,根據(jù)用戶行為數(shù)據(jù)和用戶屬性數(shù)據(jù)分析用戶興趣和需求。然后,根據(jù)對(duì)象數(shù)據(jù)對(duì)推薦對(duì)象進(jìn)行建模。最后,基于用戶特征和物品特征,采用推薦算法計(jì)算得到用戶可能感興趣對(duì)象,并根據(jù)推薦場(chǎng)景對(duì)推薦結(jié)果進(jìn)行一定調(diào)整,將推薦結(jié)果最終展示給用戶。8.3大數(shù)據(jù)技術(shù)初步8.3.2協(xié)同推薦3.協(xié)同過(guò)濾

1)基于用戶的協(xié)同過(guò)濾(簡(jiǎn)稱UserCF)。如圖所示,該算法的基本思想為:給用戶推薦和他興趣相似的用戶感興趣的物品。當(dāng)需要為一個(gè)用戶a進(jìn)行推薦時(shí),首先,找到和a興趣相似的用戶集合U,然后,把集合U中用戶感興趣而a沒(méi)有聽(tīng)說(shuō)過(guò)(未進(jìn)行過(guò)操作)的物品推薦給a。算法分為兩個(gè)步驟:首先,計(jì)算用戶之間的相似度,選取最相似的n個(gè)用戶,然后,根據(jù)相似度計(jì)算用戶評(píng)分。如圖所示,用戶a和c同時(shí)喜歡物品C而成為相似用戶,于是系統(tǒng)將用戶c喜歡的物品D推薦給用戶a(未接觸過(guò))。8.3大數(shù)據(jù)技術(shù)初步8.3.2協(xié)同推薦3.協(xié)同過(guò)濾

2)基于物品的協(xié)同過(guò)濾(簡(jiǎn)稱ItemCF)。如圖所示,該算法的基本思想為:給用戶推薦和他們以前喜歡的物品相似的物品,這里所說(shuō)的相似并非從物品的內(nèi)容角度出發(fā),而是基于一種假設(shè):喜歡物品A的用戶大多也喜歡物品B代表著物品A和物品B相似。比如,電子商務(wù)網(wǎng)站中的“購(gòu)買(mǎi)該物品的用戶還購(gòu)買(mǎi)了…”。

首先,計(jì)算物品相似度,選出最相似的N個(gè)物品,然后根據(jù)相似度計(jì)算用戶評(píng)分。如圖所示,用戶a和c都購(gòu)買(mǎi)了物品A和C,可以認(rèn)為物品A和C相似,用戶b購(gòu)買(mǎi)了物品A而沒(méi)有購(gòu)買(mǎi)物品C,所以將物品C推薦給用戶b。8.3大數(shù)據(jù)技術(shù)初步8.3.2協(xié)同推薦3.協(xié)同過(guò)濾

3)隱語(yǔ)義模型LFM(LatentFactorModel)。在顯式反饋(如評(píng)分)推薦系統(tǒng)中,隱語(yǔ)義模型能夠達(dá)到很好的精度。它的基本思想是通過(guò)機(jī)器學(xué)習(xí)方法從用戶–物品評(píng)分矩陣中分解為兩個(gè)低階矩陣,表示對(duì)用戶興趣和物品的隱含分類特征,通過(guò)隱含特征預(yù)測(cè)用戶評(píng)分。

假設(shè)用戶a喜歡《數(shù)據(jù)挖掘?qū)д摗罚脩鬮喜歡《西游記》,現(xiàn)在要為用戶a和用戶b推薦其它書(shū)籍。基于UserCF(基于用戶的協(xié)同過(guò)濾),找到與他們偏好相似用戶,將相似用戶偏好的書(shū)籍推薦給他們;基于ItemCF(基于物品協(xié)同過(guò)濾),找到與他們當(dāng)前偏好書(shū)籍相似的其它書(shū)籍,推薦給他們。其實(shí)還有一種思路,就是根據(jù)用戶的當(dāng)前偏好信息,得到用戶的興趣偏好,將該類興趣對(duì)應(yīng)的物品推薦給當(dāng)前用戶。比如,用戶a喜歡的《數(shù)據(jù)挖掘?qū)д摗穼儆谟?jì)算機(jī)類的書(shū)籍,那就可以將《大數(shù)據(jù)導(dǎo)論》等計(jì)算機(jī)類書(shū)籍推薦給用戶a;用戶b喜歡的是文學(xué)類書(shū)籍,可將《封神演義》等這類文學(xué)作品推薦給用戶b。這就是隱語(yǔ)義模型,依據(jù)“興趣”這一隱含特征將用戶與物品進(jìn)行連接,需要說(shuō)明的是此處的“興趣”其實(shí)是對(duì)物品類型的一個(gè)分類。8.3大數(shù)據(jù)技術(shù)初步8.3.2協(xié)同推薦3.協(xié)同過(guò)濾

4)協(xié)同過(guò)濾算法的實(shí)現(xiàn)。協(xié)同過(guò)濾算法可以通過(guò)Python語(yǔ)言環(huán)境實(shí)現(xiàn),但是當(dāng)數(shù)據(jù)量巨大時(shí),再加上實(shí)時(shí)性需求,比如淘寶雙十一活動(dòng)時(shí)的商品推薦,對(duì)推薦系統(tǒng)的計(jì)算性能要求很高。

只有構(gòu)建基于大數(shù)據(jù)處理技術(shù)框架的協(xié)同過(guò)濾算法,才能滿足大規(guī)模數(shù)據(jù)集下的推薦性能,比如SparkMLlib中的協(xié)同過(guò)濾算法。SparkMLlib目前支持基于模型的協(xié)同過(guò)濾,該算法基于交替最小二乘法(ALS)算法。交替最小二乘法(ALS)是統(tǒng)計(jì)分析中最常用的逼近計(jì)算的一種算法,其交替計(jì)算結(jié)果使得最終結(jié)果盡可能地逼近真實(shí)結(jié)果。而ALS的基礎(chǔ)是最小二乘法(LS算法),LS算法是一種常用的機(jī)器學(xué)習(xí)算法,它通過(guò)最小化誤差的平方和尋找數(shù)據(jù)的最佳函數(shù)匹配。8.3大數(shù)據(jù)技術(shù)初步8.3.3分布式數(shù)據(jù)挖掘

分布式數(shù)據(jù)挖掘可以充分利用分布式計(jì)算的超強(qiáng)算力對(duì)相關(guān)的大規(guī)模數(shù)據(jù)進(jìn)行分析與綜合,下面以K-Means聚類算法為例,給出算法在分布式計(jì)算框架MapReduce中的實(shí)現(xiàn)。

把樣本集分為K類,K-Means聚類算法描述如下:1)在數(shù)據(jù)集合中隨機(jī)選取K個(gè)點(diǎn)作為初始簇質(zhì)心。2)各個(gè)Map節(jié)點(diǎn)讀取樣本數(shù)據(jù)片段,并為其尋找距離最近的簇質(zhì)心,然后,Reduce階段根據(jù)Map結(jié)果生成新的全局簇質(zhì)心。3)重復(fù)步驟2),直到滿足聚類結(jié)束條件。4)根據(jù)最終生成的簇質(zhì)心,對(duì)樣本進(jìn)行分類。每一次迭代啟動(dòng)一個(gè)MapReduce過(guò)程。8.4大數(shù)據(jù)應(yīng)用8.4.1在智能制造中的應(yīng)用目前,大數(shù)據(jù)可能帶來(lái)的巨大價(jià)值正在被傳統(tǒng)制造業(yè)認(rèn)可,通過(guò)技術(shù)創(chuàng)新與發(fā)展,及數(shù)據(jù)的全面感知、收集、分析、共享,為企業(yè)管理者和參與者呈現(xiàn)出看待制造業(yè)價(jià)值鏈的全新視角,大數(shù)據(jù)驅(qū)動(dòng)了企業(yè)的智能化。

在現(xiàn)代制造業(yè)生產(chǎn)、管理、銷(xiāo)售等活動(dòng)中,每時(shí)每刻都產(chǎn)生出大量數(shù)據(jù),這些數(shù)據(jù)是企業(yè)生存和發(fā)展的重要基礎(chǔ),也是企業(yè)的寶貴財(cái)富。從數(shù)據(jù)來(lái)源上看,制造業(yè)大數(shù)據(jù)的獲取來(lái)源(如圖所示)主要有:

1)產(chǎn)品數(shù)據(jù)。包括設(shè)計(jì)、建模、工藝、加工、測(cè)試、維護(hù)數(shù)據(jù),以及產(chǎn)品結(jié)構(gòu)、零部件配置關(guān)系、變更記錄等數(shù)據(jù)。

2)運(yùn)營(yíng)數(shù)據(jù)。包括組織結(jié)構(gòu)、業(yè)務(wù)管理、生產(chǎn)設(shè)備、市場(chǎng)營(yíng)銷(xiāo)、質(zhì)量控制、采購(gòu)、庫(kù)存、目標(biāo)計(jì)劃、電子商務(wù)等數(shù)據(jù)。

3)價(jià)值鏈數(shù)據(jù)。包括客戶、供應(yīng)商、物流合作伙伴等數(shù)據(jù)。

4)外部數(shù)據(jù)。包括宏觀經(jīng)濟(jì)數(shù)據(jù)、行業(yè)數(shù)據(jù)、市場(chǎng)數(shù)據(jù)、競(jìng)爭(zhēng)對(duì)手?jǐn)?shù)據(jù)等。8.4大數(shù)據(jù)應(yīng)用8.4.1在智能制造中的應(yīng)用

大數(shù)據(jù)如何驅(qū)動(dòng)智能制造呢?首先必須實(shí)現(xiàn)生產(chǎn)制造的合理化、自動(dòng)化到智能化IoT的轉(zhuǎn)變,到系統(tǒng)自適應(yīng)、質(zhì)量控制的轉(zhuǎn)變,最終實(shí)現(xiàn)制造數(shù)據(jù)的自動(dòng)采集、存儲(chǔ)、分析、處理,建立完善的智能制造生產(chǎn)體系,實(shí)現(xiàn)物料配送智能化、生產(chǎn)過(guò)程智能化、質(zhì)量控制智能化、產(chǎn)品發(fā)運(yùn)智能化等全面的智能化制造。隨著大數(shù)據(jù)在制造業(yè)應(yīng)用的普及,可以感受到從采購(gòu)、生產(chǎn)、物流到銷(xiāo)售市場(chǎng)都是大數(shù)據(jù)的戰(zhàn)場(chǎng)。大數(shù)據(jù)可以幫助實(shí)現(xiàn)客戶的分析和挖掘,應(yīng)用場(chǎng)景包括了設(shè)計(jì)、生產(chǎn)、交易、服務(wù)、售后服務(wù)等,載體包括手機(jī)、傳感器、穿戴設(shè)備、3D打印機(jī)和平板電腦等。傳感器采集的各類數(shù)據(jù)是制造業(yè)大數(shù)據(jù)的主要來(lái)源之一,這些數(shù)據(jù)可以幫助找到已經(jīng)發(fā)生的問(wèn)題,預(yù)測(cè)類似問(wèn)題未來(lái)重復(fù)發(fā)生的幾率與時(shí)間,保障生產(chǎn),提高產(chǎn)品質(zhì)量,滿足法律法規(guī)的要求,提升環(huán)保水平,改善客戶服務(wù),等等。由此可知,智能制造是在網(wǎng)絡(luò)化和數(shù)字化的基礎(chǔ)上,融入大數(shù)據(jù)、人工智能和機(jī)器人技術(shù)形成的人機(jī)物相互交互和深度融合的新一代制造體系,因此,大數(shù)據(jù)與制造業(yè)的關(guān)系可以歸納為三點(diǎn):①大數(shù)據(jù)促使生產(chǎn)智能化;②大數(shù)據(jù)促使制造業(yè)轉(zhuǎn)型;③大數(shù)據(jù)造就新一代智能工廠。

8.4大數(shù)據(jù)應(yīng)用8.4.2在城市空氣質(zhì)量監(jiān)測(cè)中的應(yīng)用

城市空氣質(zhì)量監(jiān)測(cè)是對(duì)空氣中的常規(guī)污染因子和氣象參數(shù)進(jìn)行24小時(shí)連續(xù)在線的監(jiān)測(cè),將分析出的數(shù)據(jù)提供給環(huán)保部門(mén)作為空氣質(zhì)量判斷的參考,并輔助環(huán)保決策,其中需監(jiān)測(cè)的指標(biāo)包括:污染極細(xì)顆粒物(PM2.5,PM10)、臭氧、二氧化硫、一氧化碳、硫化氫、氮氧化物、揮發(fā)性有機(jī)污染物、總懸浮顆粒物、鉛、苯、氣象參數(shù)、能見(jiàn)度等。為了對(duì)空氣質(zhì)量進(jìn)行監(jiān)測(cè),傳統(tǒng)方法是在城市某些固定位置設(shè)立若干個(gè)空氣監(jiān)測(cè)站,站內(nèi)安裝各種參數(shù)自動(dòng)監(jiān)測(cè)儀器實(shí)現(xiàn)連續(xù)自動(dòng)監(jiān)測(cè)。

為了克服固定監(jiān)測(cè)站的不足,配備有專用監(jiān)測(cè)設(shè)備的流動(dòng)監(jiān)測(cè)車(chē)、公交車(chē)甚至無(wú)人機(jī)逐漸被應(yīng)用到空氣質(zhì)量監(jiān)測(cè)中來(lái)。多源的數(shù)據(jù)采集、匯總、分析,使城市質(zhì)量監(jiān)測(cè)覆蓋更加全面,分析預(yù)測(cè)結(jié)果更加科學(xué)、客觀,而且可以提供相關(guān)的智能服務(wù)。如圖所示。

1)重點(diǎn)區(qū)域?qū)崟r(shí)監(jiān)測(cè)預(yù)警。通過(guò)每天實(shí)時(shí)的海量監(jiān)測(cè)數(shù)據(jù),及時(shí)發(fā)現(xiàn)異常區(qū)域,促使街道、村居更加關(guān)注周邊的空氣質(zhì)量情況。

2)區(qū)域間空氣質(zhì)量對(duì)比分析。通過(guò)監(jiān)測(cè)數(shù)據(jù),可以對(duì)城市的大氣重點(diǎn)污染區(qū)域、重點(diǎn)道路進(jìn)行影響分析、排名,有利于分級(jí)別管理和治理。

3)針對(duì)性的專題分析應(yīng)用。通過(guò)有針對(duì)性的專題分析,優(yōu)化調(diào)控措施,如:對(duì)主干道路灑水降塵頻次、時(shí)間、灑水車(chē)種類進(jìn)行科學(xué)地搭配,提升實(shí)效。對(duì)重點(diǎn)區(qū)域、工地?fù)P塵的污染影響進(jìn)行科學(xué)評(píng)估,以便于制定更有針對(duì)性的措施。8.4大數(shù)據(jù)應(yīng)用8.4.2在城市空氣質(zhì)量監(jiān)測(cè)中的應(yīng)用

8.4大數(shù)據(jù)應(yīng)用8.4.3在城市治理中的應(yīng)用2016年4月,杭州市政府以交通領(lǐng)域?yàn)橥黄瓶?,開(kāi)啟了利用大數(shù)據(jù)改善城市治理的探索。2016年10月在云棲大會(huì)上正式發(fā)布“城市大腦”,2017年10月,杭州城市大腦正式上線。在城市大腦的精準(zhǔn)調(diào)控下,杭州的“數(shù)字治堵”成效顯著,在百城擁堵指數(shù)排名中,杭州從2015年的前3位降到了2019年的第35位。

新型城市大腦是神經(jīng)網(wǎng)絡(luò)化的,基于物聯(lián)網(wǎng)、移動(dòng)互聯(lián)網(wǎng)、大數(shù)據(jù)、云計(jì)算、區(qū)塊鏈等新一代信息技術(shù),通過(guò)對(duì)數(shù)據(jù)收集、整合、存儲(chǔ)、交換、共享、挖掘與分析,實(shí)現(xiàn)數(shù)據(jù)的可視化以輔助人工決策、數(shù)據(jù)的人工智能以實(shí)現(xiàn)機(jī)器決策,為“互聯(lián)網(wǎng)+”政務(wù)服務(wù)、交通出行、智慧醫(yī)療、智慧教育、智慧環(huán)保、智慧旅游、普惠金融、信用建設(shè)、平安城市建設(shè)等城市治理等提供支持。8.4大數(shù)據(jù)應(yīng)用8.4.3在城市治理中的應(yīng)用2020年初,新冠肺炎疫情暴發(fā)后,杭州城市大腦迅速?gòu)摹捌綍r(shí)”運(yùn)作轉(zhuǎn)入“戰(zhàn)時(shí)”狀態(tài)。杭州衛(wèi)健委、數(shù)據(jù)資源管理局等相關(guān)部門(mén),應(yīng)急打通公共數(shù)據(jù),精準(zhǔn)掌握人員流動(dòng)情況,依托城市大腦率先推出“健康碼”。健康碼既為外來(lái)務(wù)工人員帶來(lái)了方便,又為城市運(yùn)行管理提供數(shù)據(jù)支撐。通過(guò)數(shù)字化治理管活了人、盤(pán)活了城,統(tǒng)籌推進(jìn)疫情防控和經(jīng)濟(jì)社會(huì)發(fā)展的各項(xiàng)工作?!皯?zhàn)時(shí)”管用,“平時(shí)”好用。作為城市大腦的重要組成部分,如今杭州健康碼功能從“戰(zhàn)時(shí)”逐步轉(zhuǎn)為“平時(shí)”,正不斷拓展深化,應(yīng)用于城市全人群、生命全周期、健康全過(guò)程,成為助推“健康杭州”建設(shè)的公共服務(wù)平臺(tái)。由此可見(jiàn),從現(xiàn)代城市的治理來(lái)看,城市大腦不僅能將散布在城市各個(gè)角落的數(shù)據(jù)連接起來(lái),還能通過(guò)對(duì)大量數(shù)據(jù)的分析和整合,對(duì)城市進(jìn)行全域的即時(shí)分析、指揮、調(diào)動(dòng)、管理,從而實(shí)現(xiàn)對(duì)城市的精準(zhǔn)分析、整體研判、協(xié)同指揮。

隨著信息技術(shù)的不斷進(jìn)步和創(chuàng)新,城市大腦又將給城市的未來(lái)發(fā)展帶來(lái)怎樣的變革?在城市大腦背后,又有哪些信息技術(shù)進(jìn)行支撐?我們將拭目以待!End第9章智能系統(tǒng)與發(fā)展前瞻 目錄9.1智能系統(tǒng)及其應(yīng)用 9.2群體智能及其應(yīng)用 9.3智能家居與智慧城市9.4智能科學(xué)與技術(shù)產(chǎn)業(yè)及發(fā)展展望9.1智能系統(tǒng)及其應(yīng)用 9.1.1診斷專家系統(tǒng)1.病害診斷專家系統(tǒng)

1959年,美國(guó)喬治敦大學(xué)教授萊德利(RobertS.Ledley)首次應(yīng)用布爾代數(shù)和貝葉斯定理建立了計(jì)算機(jī)診斷的數(shù)學(xué)模型,并成功診斷了一組肺癌病例,開(kāi)創(chuàng)了計(jì)算機(jī)輔助診斷先河。

1966年,萊德利正式提出了“計(jì)算機(jī)輔助診斷”的概念(ComputerAidedDiagnosis,CAD)。

1968年,DENDRAL專家系統(tǒng)誕生。不久,MYCIN醫(yī)學(xué)專家系統(tǒng)研制成功,該系統(tǒng)首次采用知識(shí)庫(kù)、推理機(jī)系統(tǒng)結(jié)構(gòu),引入“可信度”概念進(jìn)行非確定性推理。

其后,醫(yī)學(xué)專家系統(tǒng)逐漸成為醫(yī)學(xué)領(lǐng)域內(nèi)的一個(gè)重要分支領(lǐng)域,并在20世紀(jì)80年代達(dá)到高潮,出現(xiàn)了大量的綜合醫(yī)學(xué)專家系統(tǒng)。

20世紀(jì)90年代,醫(yī)學(xué)專家系統(tǒng)逐步發(fā)展成為針對(duì)某一種或某一類疾病的專項(xiàng)診斷專家系統(tǒng)。

進(jìn)入21世紀(jì)后,專家系統(tǒng)進(jìn)展緩慢,醫(yī)學(xué)專家系統(tǒng)取得的成果也不多。我國(guó)醫(yī)學(xué)專家系統(tǒng)研究始于20世紀(jì)70年代末,歷經(jīng)幾十年,先后研制出200多個(gè)醫(yī)學(xué)專家系統(tǒng)。但是,由于種種原因,真正能夠被醫(yī)生所接受,并且投入臨床使用的醫(yī)學(xué)專家系統(tǒng)少之又少。9.1智能系統(tǒng)及其應(yīng)用 9.1.1診斷專家系統(tǒng)1.病害診斷專家系統(tǒng)醫(yī)學(xué)專家系統(tǒng)通常由知識(shí)庫(kù)、數(shù)據(jù)庫(kù)、推理機(jī)、知識(shí)獲取模塊,以及解釋和輸入輸出接口組成,如圖所示。對(duì)應(yīng)一些具體應(yīng)用,需要根據(jù)相應(yīng)領(lǐng)域的特點(diǎn)及要求進(jìn)行必要的調(diào)整。

1)知識(shí)庫(kù)。用來(lái)存放和管理問(wèn)題求解所需的專門(mén)知識(shí),包含與領(lǐng)域相關(guān)的理論知識(shí)和專家憑經(jīng)驗(yàn)得到的啟發(fā)性知識(shí)和經(jīng)驗(yàn)。

2)數(shù)據(jù)庫(kù)。用來(lái)存儲(chǔ)當(dāng)前用戶提供的初始事實(shí)、問(wèn)題描述和推理過(guò)程中得到的各種中間信息和推理結(jié)果,其內(nèi)容不斷變化。9.1智能系統(tǒng)及其應(yīng)用 9.1.1診斷專家系統(tǒng)1.病害診斷專家系統(tǒng)

3)推理機(jī)。專家系統(tǒng)的“思維”機(jī)構(gòu),是一組控制和協(xié)調(diào)整個(gè)系統(tǒng)的程序。其根據(jù)用戶問(wèn)題求解要求和所輸入的原始數(shù)據(jù),利用知識(shí)庫(kù)中知識(shí),按一定推理方法和控制策略解決所提出的問(wèn)題。

4)知識(shí)獲取模塊。學(xué)習(xí)模塊,用來(lái)從人類專家那里獲取知識(shí),修改、擴(kuò)充、完善和維護(hù)知識(shí)庫(kù)。主要靠知識(shí)工程師(IT專業(yè)人員)與領(lǐng)域?qū)<遥ㄡt(yī)生)密切合作,共同完成知識(shí)提煉和形式化工作。

5)解釋和輸入輸出接口。是用戶與專家系統(tǒng)交互的環(huán)節(jié),負(fù)責(zé)對(duì)推理給出合理的解釋,必要時(shí)給出推理依據(jù)和路線的清晰解釋,為用戶了解推理過(guò)程和進(jìn)行系統(tǒng)維護(hù)提供方便。醫(yī)生根據(jù)不同臨床資料或不同疾病特點(diǎn)采用相適應(yīng)的推理方法,而作為模擬醫(yī)生診治疾病的醫(yī)學(xué)專家系統(tǒng),其推理方法也是多種多樣的,包括基于規(guī)則推理、基于案例推理、基于模糊數(shù)學(xué)推理、基于模糊證據(jù)推理、基于規(guī)則的神經(jīng)網(wǎng)絡(luò)推理,等等。專家系統(tǒng)作為智能科學(xué)與技術(shù)最早實(shí)用化的技術(shù)與系統(tǒng),也早已在農(nóng)業(yè)領(lǐng)域得到了廣泛應(yīng)用,如花卉病害診斷專家系統(tǒng)、水稻病蟲(chóng)害診斷專家系統(tǒng)、果樹(shù)病害診斷專家系統(tǒng)、蔬菜作物病害診斷專家系統(tǒng)等。在水產(chǎn)養(yǎng)殖業(yè)、在畜牧業(yè)也有大量應(yīng)用,等等。9.1智能系統(tǒng)及其應(yīng)用 9.1.1診斷專家系統(tǒng)2.故障診斷專家系統(tǒng)

現(xiàn)代裝備或系統(tǒng)功能強(qiáng)大,結(jié)構(gòu)復(fù)雜,信息化程度高,若能對(duì)在實(shí)際運(yùn)行或檢修過(guò)程中出現(xiàn)的故障做出準(zhǔn)確無(wú)誤的判斷并將故障及時(shí)排除,確保裝備或系統(tǒng)的生存能力和可靠性,是提高其魯棒性和生產(chǎn)效率的前提和保障。

對(duì)于后改造的裝備或系統(tǒng)來(lái)說(shuō),為了減少對(duì)原裝備或系統(tǒng)的損壞,可采用半嵌入式結(jié)構(gòu)。半嵌入式故障診斷專家系統(tǒng)分為診斷Agent和診斷客戶端兩部分,如圖所示。9.1智能系統(tǒng)及其應(yīng)用 9.1.1診斷專家系統(tǒng)2.故障診斷專家系統(tǒng)

1)診斷Agent。診斷Agent由數(shù)據(jù)采集接口電路、微處理單元、存儲(chǔ)器和通信接口構(gòu)成,嵌入到被診斷裝備或系統(tǒng)中,對(duì)其工作狀態(tài)進(jìn)行監(jiān)測(cè)。診斷Agent實(shí)時(shí)采集被診斷裝備或系統(tǒng)的各項(xiàng)參數(shù),其內(nèi)部存儲(chǔ)器中保存了這些參數(shù)的正常范圍,一旦所采集的參數(shù)值超限,說(shuō)明裝備或系統(tǒng)工作不正常,可根據(jù)故障征兆列表確定裝備或系統(tǒng)故障源。

診斷Agent嵌入到被診斷裝備或系統(tǒng)中,沒(méi)有龐大的知識(shí)庫(kù)和顯示裝置,當(dāng)裝備或系統(tǒng)發(fā)生故障時(shí),診斷Agent通過(guò)報(bào)警指示燈(LED)發(fā)出信息,并將采集的數(shù)據(jù)發(fā)送到通信接口。

2)診斷客戶端。診斷客戶端由知識(shí)庫(kù)、推理機(jī)、知識(shí)獲取機(jī)構(gòu)、故障征兆數(shù)據(jù)庫(kù)、人機(jī)接口、解釋機(jī)構(gòu)、通信接口等構(gòu)成,供維修人員在裝備或系統(tǒng)維修時(shí)使用,能提示故障診斷方法、維修措施等信息。診斷客戶端的核心是知識(shí)庫(kù),其包括故障征兆知識(shí)和診斷推理規(guī)則兩大類。當(dāng)裝備和系統(tǒng)發(fā)生故障時(shí),診斷Agent監(jiān)測(cè)到故障,并點(diǎn)亮報(bào)警指示燈。此時(shí),診斷客戶端接收診斷Agent傳來(lái)的監(jiān)測(cè)參數(shù)值,根據(jù)監(jiān)測(cè)參數(shù)、故障征兆知識(shí)和診斷推理規(guī)則進(jìn)行故障診斷和定位。

9.1智能系統(tǒng)及其應(yīng)用 9.1.2多Agent系統(tǒng)

廣義上,凡具有自主性智能行為,能與外部環(huán)境進(jìn)行交互的分布式實(shí)體均可稱之為Agent。由此定義可知,Agent指具有智能的任何實(shí)體,包括人類、智能硬件(如Robot)和智能軟件。

Agent具有環(huán)境感知能力,能根據(jù)自身資源、狀態(tài)、行為能力、相關(guān)知識(shí)、推理規(guī)則,通過(guò)規(guī)劃、推理和決策實(shí)現(xiàn)問(wèn)題求解,并做出反應(yīng),自主地完成特定的任務(wù),以期達(dá)到預(yù)定目標(biāo)。1.Agent特性對(duì)于Agent,很多研究者給出了不同定義,而且所使用的術(shù)語(yǔ)或觀測(cè)點(diǎn)也是不同的。其實(shí)既然沒(méi)有達(dá)成共識(shí),也就沒(méi)必要特別關(guān)注Agent的準(zhǔn)確定義,只要掌握它的概念和特性,并不影響對(duì)Agent的研究和應(yīng)用。Agent的四個(gè)主要特性如下:

1)自主性。一個(gè)智能Agent應(yīng)該是一個(gè)獨(dú)立自主的智能實(shí)體,應(yīng)能在無(wú)法事先建模、動(dòng)態(tài)變化的信息環(huán)境中獨(dú)立解決實(shí)際問(wèn)題,在用戶不參與情況下,獨(dú)立自主地為用戶提供一些服務(wù),如索取信息資源等。

2)代理性。代理性主要體現(xiàn)在代表用戶工作,可以對(duì)一些資源進(jìn)行包裝,引導(dǎo)或代替用戶對(duì)這些資源進(jìn)行訪問(wèn),成為用戶便利通達(dá)這些資源的樞紐和中介。9.1智能系統(tǒng)及其應(yīng)用 9.1.2多Agent系統(tǒng)

3)反應(yīng)性。反應(yīng)性是指智能Agent能夠感知所處的環(huán)境(物理環(huán)境或信息環(huán)境等),并能對(duì)相關(guān)事件作出適當(dāng)?shù)姆磻?yīng)。

4)主動(dòng)性。是指智能Agent能夠遵循承諾采取主動(dòng)行動(dòng),表現(xiàn)出面向目標(biāo)的行為。除上述四種基本特性外,Agent還具有其它特性,見(jiàn)表所示。序號(hào)特性釋義1自主性對(duì)自己的行為或動(dòng)作有控制權(quán)。2代理性代表用戶工作,或引導(dǎo)、代替用戶訪問(wèn)資源。3反應(yīng)性及時(shí)感知環(huán)境的變

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論