您好,登錄后才能下訂單哦!
本篇以大數(shù)據(jù)環(huán)境下的數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)為重點(diǎn),全面介紹了實(shí)踐中行之有的數(shù)據(jù)處理算法,是在校學(xué)生和相關(guān)從業(yè)人員的必備讀物。主要內(nèi)容包括10大內(nèi)容:
◆分布式文件系統(tǒng)以及MapReduce工具;
◆相似性搜索;
◆數(shù)據(jù)流處理以及針對(duì)易丟失數(shù)據(jù)等特殊情況的專用處理算法;
◆搜索引擎技術(shù),如谷歌的PageRank;
◆頻繁項(xiàng)集挖掘;
◆大規(guī)模高維數(shù)據(jù)集的聚類算法;
◆Web應(yīng)用中的關(guān)鍵問(wèn)題一廣 告管理和推薦系統(tǒng);
◆社會(huì)網(wǎng)絡(luò)圖挖掘;
◆降維處理,如SVD分解和CUR分解;
◆大規(guī)模機(jī)器學(xué)習(xí)。
本章為全書(shū)的導(dǎo)論部分,首先闡述數(shù)據(jù)挖掘的本質(zhì),并討論其在多個(gè)相關(guān)學(xué)科中的不同理解。
接著介紹邦弗朗尼原理( Bonferroni's principle), 該原理實(shí)際上對(duì)數(shù)據(jù)挖掘的過(guò)度使用提出了警告。
本章還概述了一些非常有用的思想,它們未必都屬于數(shù)據(jù)挖掘的范疇,但是卻有利于理解數(shù)據(jù)挖掘中的某些重要概念。這些思想包括度量詞語(yǔ)重要性的TF.IDF權(quán)重、哈希函數(shù)及索引結(jié)構(gòu)的性質(zhì)、包含自然對(duì)數(shù)底e的恒等式等。最后,簡(jiǎn)要介紹了后續(xù)章節(jié)所要涉及的主題。
cdn.xitu.io/2019/12/3/16eca3f71d5b1be9?imageView2/0/w/1280/h/960/format/webp/ignore-error/1">
一個(gè)基本的數(shù)據(jù)挖掘問(wèn)題是從數(shù)據(jù)中獲得“相似”項(xiàng)。我們將在3.1節(jié)中介紹該問(wèn)題的相關(guān)應(yīng)用,并且給出一個(gè)具體的Web網(wǎng)頁(yè)近似查重的例子。這些近似重復(fù)的網(wǎng)頁(yè)可能是抄襲網(wǎng)頁(yè),或者僅僅是主機(jī)及其他鏡像網(wǎng)頁(yè)信息有所不同的鏡像網(wǎng)頁(yè)。
首先我們將相似度問(wèn)題表述為尋找具有相對(duì)較大交集的集合問(wèn)題,接著我們介紹如何將文本相似問(wèn)題轉(zhuǎn)換為上述集合問(wèn)題并通過(guò)著名的“shingling" 技術(shù)來(lái)解決。然后,我們介紹一一個(gè)稱為最小哈希( minhashing)的技術(shù),它能夠?qū)Υ蠹线M(jìn)行壓縮,并且可以基于壓縮后的結(jié)果推導(dǎo)原始集合的相似度。當(dāng)相似度要求很高時(shí),也可以使用-些其他的技術(shù),這些技術(shù)將在3.9節(jié)進(jìn)行介紹。
任意類型的相似項(xiàng)搜索中存在的另外-一個(gè)重要問(wèn)題是,即使對(duì)每項(xiàng)之間的相似度計(jì)算非常簡(jiǎn)單,但是由于項(xiàng)對(duì)數(shù)目過(guò)多,無(wú)法對(duì)所有項(xiàng)對(duì)檢測(cè)相似度。針對(duì)該問(wèn)題,催生了一種稱為局部敏感哈希( Locality Sensitive Hashing,簡(jiǎn)稱LSH )的技術(shù),該技術(shù)能夠把搜索范圍集中在那些可能相似的項(xiàng)對(duì)上面。
最后,我們不再將相似度的概念限制在集合的交集運(yùn)算上,而是考慮在任意空間下的距離度量理論。與此同時(shí),這也激發(fā)了一個(gè)LSH的通用框架的出現(xiàn),該框架能夠應(yīng)用在相似度的其他定義中。
本書(shū)介紹的大部分算法都假定是從數(shù)據(jù)庫(kù)中進(jìn)行挖掘。也就是說(shuō),如果真需要數(shù)據(jù)的時(shí)候,所有數(shù)據(jù)都可用。本章中,我們將給出另外- -種假設(shè):數(shù)據(jù)以一-個(gè)或多個(gè)流的方式到來(lái),如果不對(duì)數(shù)據(jù)進(jìn)行及時(shí)的處理或者存儲(chǔ),數(shù)據(jù)將會(huì)永遠(yuǎn)丟失。此外,我們假定數(shù)據(jù)到來(lái)的速度實(shí)在是太快,以致將全部數(shù)據(jù)存在活動(dòng)存儲(chǔ)器( 即傳統(tǒng)數(shù)據(jù)庫(kù))并在我們選定的時(shí)間進(jìn)行交互是不可能的。
數(shù)據(jù)流處理的每個(gè)算法都在某種程度上包含流的匯總( summarization)過(guò)程。我們首先考慮如何從流中抽取有用樣本,以及如何從流中過(guò)濾除大部分“不想要” 的元素。然后,我們展示如何估計(jì)流中的獨(dú)立元素個(gè)數(shù),其中估計(jì)方法所用的存儲(chǔ)開(kāi)銷(xiāo)遠(yuǎn)少于列舉所有所見(jiàn)元素的開(kāi)銷(xiāo)。
另外一種對(duì)流進(jìn)行匯總的方法是只觀察一個(gè)定長(zhǎng)“窗口”,該窗口由最近的n個(gè)元素組成,其中n是某個(gè)給定值,通常較大。然后我們就當(dāng)它是數(shù)據(jù)庫(kù)的一一個(gè)關(guān)系-樣對(duì)窗口進(jìn)行查詢處理。
如果有很多流并且/或者n很大,我們可能無(wú)法存下每個(gè)流的整個(gè)窗口。因此,即使對(duì)這些“窗口”我們都需要進(jìn)行匯總處理。對(duì)于-一個(gè)位流窗口,其中的1的數(shù)目的近似估計(jì)是一個(gè)基本問(wèn)題。
我們將使用一種比存儲(chǔ)整個(gè)窗口消耗空間要少很多的方法。該方法也能推廣到對(duì)各種求和值進(jìn)行近似。.
本章主要關(guān)注數(shù)據(jù)刻畫(huà)的一類主要技術(shù)一頻繁 項(xiàng)集發(fā)現(xiàn)。該問(wèn)題常常被看成“關(guān)聯(lián)規(guī)則”發(fā)現(xiàn),盡管后者主要是基于頻繁項(xiàng)集發(fā)現(xiàn)而實(shí)現(xiàn)的一一種更復(fù)雜的數(shù)據(jù)刻畫(huà)方式。
首先,我們介紹數(shù)據(jù)的“購(gòu)物籃”模型,其本質(zhì)上是“項(xiàng)”和“購(gòu)物籃”兩類元素之間的多對(duì)多關(guān)系。但是其中有一些關(guān)于數(shù)據(jù)形狀的假設(shè)。頻繁項(xiàng)集問(wèn)題就是尋找出現(xiàn)在很多相同購(gòu)物籃中(與該購(gòu)物籃相關(guān)的)的項(xiàng)集。
頻繁項(xiàng)集發(fā)現(xiàn)問(wèn)題和第3章討論的相似性搜索不同,前者主要關(guān)注包含某個(gè)特定項(xiàng)集的購(gòu)物籃的絕對(duì)數(shù)目,而后者的主要目標(biāo)是尋找購(gòu)物籃之間具有較高重合度的項(xiàng)集,不管購(gòu)物籃數(shù)目的絕對(duì)數(shù)量是否很低。
上述差異導(dǎo)致了一類新的頻繁項(xiàng)集發(fā)現(xiàn)算法的產(chǎn)生。我們首先介紹A-Priori算法, 該算法的基本思路是,如果-一個(gè)集合的子集不是頻繁項(xiàng)集,那么該集合也不可能是頻繁項(xiàng)集?;谶@種思路,該算法可以通過(guò)檢查小集合而去掉大部分不合格的大集合。接著,我們介紹基本的A-Priori算法的各種改進(jìn),這些改進(jìn)策略集中關(guān)注給可用內(nèi)存帶來(lái)很大壓力的極大規(guī)模數(shù)據(jù)集。
再接下來(lái),我們還會(huì)考慮一些更快的近似算法,這些算法不能保證找到所有的頻繁項(xiàng)集。這類算法當(dāng)中的一些算法也應(yīng)用了并行化機(jī)制,包括基于MapReduce框架的并行化方法。
最后,我們將簡(jiǎn)要地討論數(shù)據(jù)流中的頻繁項(xiàng)集的發(fā)現(xiàn)問(wèn)題。
有一類包羅萬(wàn)象的Web應(yīng)用涉及用戶對(duì)選項(xiàng)的喜好進(jìn)行預(yù)測(cè),這種系統(tǒng)稱為推薦系統(tǒng)( recommendation system )。本章將首先給出這類系統(tǒng)的一些最重要應(yīng)用樣例。
但是,為了集中關(guān)注問(wèn)題本身,下面給出兩個(gè)很好的推薦系統(tǒng)樣例:
(1)基于對(duì)用戶興趣的預(yù)測(cè)結(jié)果,為在線報(bào)紙的讀者提供新聞報(bào)道;
(2)基于顧客過(guò)去的購(gòu)物和/或商品搜索歷史,為在線零售商的顧客推薦他們可能想要買(mǎi)的商品。
推薦系統(tǒng)使用一系列不同的技術(shù),這些系統(tǒng)可以分成兩大類:
基于內(nèi)容的系統(tǒng)(Content-basedSystem)這類系統(tǒng)主要考察的是推薦項(xiàng)的性質(zhì)。例如,如果一個(gè)Netlix的用戶觀看了多部西部牛仔片,那么系統(tǒng)就會(huì)將數(shù)據(jù)庫(kù)中屬于“西部牛仔”類的電影推薦給該用戶。
協(xié)同過(guò)濾系統(tǒng)( Collaborative Filtering System )這類系統(tǒng)通過(guò)計(jì)算用戶或/和項(xiàng)之間的相似度來(lái)推薦項(xiàng)。與某用戶相似的用戶所喜歡的項(xiàng)會(huì)推薦給該用戶。這類推薦系統(tǒng)可以使用第3章的相似性搜索和第7章的聚類技術(shù)的基本原理。但是,這些技術(shù)本身并不足夠,有一些新的算法被證明在推薦系統(tǒng)中十分有效。
現(xiàn)在有很多算法被歸入“機(jī)器學(xué)習(xí)”類。同本書(shū)介紹的其他算法一樣,這些算法的目的都是從數(shù)據(jù)中獲取信息。所有數(shù)據(jù)分析算法都是基于數(shù)據(jù)生成概要,基于這些概要信息可以進(jìn)行決策。
在很多例子中,第6章介紹的頻繁項(xiàng)集分析方法都生成了關(guān)聯(lián)規(guī)則這類信息,這些信息可以用于規(guī)劃銷(xiāo)售策略或者為其他目標(biāo)服務(wù)。
然而,稱為“機(jī)器學(xué)習(xí)”的算法不僅能夠?qū)?shù)據(jù)進(jìn)行概括,還可以將它們視作模型的學(xué)習(xí)器或者數(shù)據(jù)的分類器,因而可以學(xué)到數(shù)據(jù)中未來(lái)可以見(jiàn)到的某種信息。例如,第7章介紹的聚類算法可以產(chǎn)生- -系列簇,這些簇不僅能告訴我們有關(guān)被分析數(shù)據(jù)(訓(xùn)練集)的信息,而且能夠?qū)⑽磥?lái)數(shù)據(jù)分到聚類算法生成的某-個(gè)簇當(dāng)中。 因此,機(jī)器學(xué)習(xí)愛(ài)好者通常用“非監(jiān)督學(xué)習(xí)”這個(gè)新詞來(lái)表達(dá)聚類,術(shù)語(yǔ)“非監(jiān)督”( unsupervised )表示輸人數(shù)據(jù)并不會(huì)告訴聚類算法最后輸出的簇到底應(yīng)該是什么。而在有監(jiān)督( supervised )的機(jī)器學(xué)習(xí)(本章的主題)中,給出的數(shù)據(jù)中包含了至少對(duì)- -部分?jǐn)?shù)據(jù)進(jìn)行正確分類的信息。已經(jīng)分好類的數(shù)據(jù)稱為訓(xùn)練集( training set )。
本章并不打算全面介紹機(jī)器學(xué)習(xí)中所有的方法,而只關(guān)注那些適用于處理極大規(guī)模數(shù)據(jù)的方法,以及有可能并行化實(shí)現(xiàn)的方法。我們會(huì)介紹學(xué)習(xí)數(shù)據(jù)分類器的經(jīng)典的“感知機(jī)”方法,該方法能夠找到-一個(gè)將兩類數(shù)據(jù)分開(kāi)的超平面。之后,我們會(huì)考察-一些更現(xiàn)代的包括支持向量機(jī)的技術(shù)。與感知機(jī)類似,這些方法尋找最佳的分類超平面,以使盡可能少(如果有的話)的訓(xùn)練集元素靠近超平面。最后討論近鄰技術(shù),即數(shù)據(jù)按照某個(gè)空間下最近的一些鄰居的類別進(jìn)行分類。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。