• 首頁 > 酒水分類 > 葡萄酒

    大型工具箱哪個好,大型工具箱訂購

    酒易淘 葡萄酒 2022-08-15 05:01:39

    品牌名稱:醬香白酒加盟 所屬行業:酒水 > 白酒

    基本投資:10~50萬元 投資熱度:

    加盟意向:1634 門店數量:534家

    索要資料 查看詳情

      

         

      

      數據的核心是數學和統計學的背景。有了這個數學背景,他們正在創造高級分析。在應用數學的這個極端,他們正在創造機器學習模型和人工智能。就像他們的軟件工程同行一樣,數據科學家將不得不與業務部門互動。這包括對該領域足夠了解,能夠提出自己的觀點。數據科學家通常負責分析數據來幫助商業,這需要一定的商業頭腦。最后,他們的結果需要以可理解的方式提供給企業。這要求復雜的結果和觀察結果能夠以企業能夠理解和采取行動的方式進行口頭和視覺傳達。因此,數據挖掘——構建原始數據并通過數學和計算算法制定或識別數據中各種模式的過程。這有助于產生新的信息,開啟各種洞見。   

      

      以下是為什么應該學習數據挖掘的簡單列表。   

      

      目前,科技領域對高級分析人才的需求很大。   

      

      如果想進入數據科學/大數據/預測分析,可以獲得有價值的技能。   

      

      給定大量的數據,你就能找到有效的、有用的、意想不到的、可以理解的模式和模型。   

      

      您可以找到描述數據的人類可解釋的模式(描述性的)。   

      

      一些變量用于預測其他變量的未知值或未來值。   

      

      可以激活你在CS理論,機器學習,數據庫方面的知識。   

      

      但最后但同樣重要的是,您將學到很多關于算法、計算架構、數據可伸縮性和處理大型數據集的自動化的知識。   

      

      

    1 - MAPREDUCE

      

      

      現代數據挖掘應用要求我們快速管理大量數據。在許多這樣的應用中,數據非常有規律,有足夠的機會利用并行性。為了處理這些應用,已經開發了新的軟件棧。這些編程系統不是為“超級計算機”設計的,而是為“計算集群”設計的——大量的商品硬件,包括傳統的處理器或通過以太網電纜連接的廉價交換機。   

      

      軟件棧始于一種新形式的文件系統,稱為“分布式文件系統”,其功能比傳統操作系統中的磁盤塊大得多。分布式文件系統還提供數據或冗余復制功能,以防止在數千個低成本計算節點上分發數據時頻繁出現介質故障。   

      

         

      

      在這些文件系統之上,開發了許多不同的高級編程系統。新軟件的核心是一個叫做MapReduce的編程系統。這種計算風格已經在許多系統中實現,包括Google的內部實現、Hadoop(一種流行的開源實現)和Apache Foundation的HDFS文件系統。您可以使用MapReduce的實現,以一種容忍硬件故障的方式來管理許多大規模計算。你只需要寫兩個函數,叫做Map和Reduce。同時,系統管理并行執行,協調Map或Reduce任務的執行,并處理其中一個任務失敗的可能性。   

      

      簡而言之,MapReduce計算按如下方式執行:   

      

      一些映射任務各自從分布式文件系統中獲取一個或多個塊。這些映射任務將塊轉換成一系列鍵值對。從輸入數據生成鍵值對的方式由用戶為Map函數編寫的代碼決定。   

      

      每個Map任務的鍵值對由主控制器收集,并按鍵排序。這些鍵分布在所有的Reduce任務中,所以所有具有相同鍵的鍵值對都出現在同一個Reduce任務中。   

      

      Reduce任務一次處理一個鍵,并以某種方式組合與該鍵相關的所有值。值的組合由用戶為Reduce函數編寫的代碼決定。   

      

      

    2―DISTANCE MEASURES

      

      

      一個基本的數據挖掘問題就是檢查“相似”項目的數據。一個例子是查看一組網頁并找到幾乎重復的頁面。比如這些頁面可能是抄襲的,也可能是內容幾乎相同但鏡像主機和其他鏡像信息不同的鏡像。其他示例可能包括查找購買類似產品的客戶或查找具有類似功能的圖像。   

      

      距離度量只是一種處理這個問題的技術:在高維空間中尋找鄰居(相距很小的點)。對于每個應用,我們首先需要定義“相似性”的含義。數據挖掘中最常見的定義是Jaccard相似性。集合的Jaccard相似性是集合的交集大小與并集大小的比率。這種相似性度量適用于許多應用,包括文檔的相似性和客戶購買習慣的相似性。   

      

      我們以查找相似文檔為例。這里有許多問題:一個文檔的許多小部分在另一個文檔中可能會出現亂序,有太多的文檔要對所有對進行比較,并且文檔太大或太多而無法放入主存.要處理這些問題,有三個基本步驟可以找到相似的文件:   

      

      Shingling:將文檔轉換成集合。   

      

      最小散列法:將一個大集合轉換成一個短簽名,同時保持相似性。   

      

      局部敏感散列法:關注可能來自相似文檔的簽名對。   

      

         

      

      為了識別具有相似詞匯的文檔,將文檔表示為一個集合的最有效方法是從出現在其中的文檔構造一個短字符串集合。   

      

      k-帶狀皰疹在文檔中是連續的。   

    出現的任何k個字符。在shingling中,如果我們用一組k-shingles表示一個文檔,那么shingle集合的Jaccard相似性度量文檔的文本相似性。有時,將shingles分解為長度較短的字符串,并使用一組散列值來表示文檔是有用的。

      

    在集合上的一個min-hash函數是基于一個通用集合的排列的。給定任何這樣的排列,集合的最小散列值就是在排列順序中首先出現的集合的元素。min-hashing,我們可能代表集通過選擇一些列表排列和計算每組的min-hash簽名,這是min-hash值的序列通過應用列表中的每一個排列設置。鑒于兩套,預計分數的排列產生同樣的min-hash價值正是Jaccard集的相似性。

      

    Locality-Sensitive Hashing允許我們避免計算每一對集合的相似度或它們的散列簽名。如果我們得到集合的簽名,我們可以將它們劃分成條帶,如果它們在至少一個組合中是相同的,那么只度量一對集合的相似度。通過適當地選擇波段的大小,我們可以消除對不符合我們相似度閾值的大多數對的考慮。

      

    3 - 數據流

    在許多數據挖掘情況下,我們并不知道整個數據集。有時候,數據到達一個或多個流中,如果沒有立即處理或存儲,那么它將永遠丟失。而且,數據到達非常迅速,因此將其全部存儲在活動存儲中并在我們選擇時與之交互是不可行的。換句話說,數據是無限的和不固定的(分布隨時間變化 - 認為Google查詢或Facebook狀態更新)。流管理因此變得非常重要。

      

    在數據流管理系統中,任何數量的流都可以進入系統。每個流都可以按照自己的時間表提供元素; 它們不需要具有相同的數據速率或數據類型,并且一個流的元素之間的時間不需要是統一的。流可能存檔在大型檔案商店中,但無法回答來自檔案商店的查詢。只有在使用費時的檢索過程的特殊情況下才能檢查。還有一家工作店,其中可以放置哪些摘要或流的部分,哪些可以用于回答查詢。工作存儲可能是磁盤,也可能是主存,這取決于我們需要多快來處理查詢。但無論哪種方式,它的容量都非常有限,無法存儲來自所有流的所有數據。

      

      

    數據流中存在各種各樣的問題,其中我在這里超過3個:

      

    在數據流中采樣數據:一般問題是選擇一個數據流的子集,以便我們可以詢問有關已刪除子集的查詢,并將答案作為統計數據代表整個數據流。為了創建可用于一類查詢的流的樣本,我們為流標識了一組關鍵屬性。通過散列任何到達的流元素的關鍵字,我們可以使用散列值來判斷是否所有具有該關鍵字的元素都將成為樣本的一部分。

      

    過濾流:我們想接受符合標準的流中的元組。接受的元組作為流傳遞給另一個進程,而其他元組被丟棄。布隆過濾是一種很好的技術,可以過濾流,使屬于特定集合的元素可以通過,而大多數非成員被刪除。我們使用一個大數組和幾個散列函數。所選集合中的成員被散列為數組中的比特,并且這些比特被設置為1.為了測試用于成員資格的流元素,我們使用每個散列函數將元素散列為一組比特如果所有位均為1,則接受該元素。

      

    計算流中的不同元素:假設流元素是從某個通用集合中選擇的。我們想知道流中出現了多少個不同的元素,從流的開始或從過去的某個已知時間開始計算。Flajolet-Martin是一種將元素散列為整數的技術,解釋為二進制數字。通過使用許多哈希函數并結合這些估計值,首先通過在組內取平均值,然后取平均值的中值,我們得到可靠的估計值。

      

    4―LINK ANALYSIS

    在世紀之交的十年中,我們生活中最大的變化之一是通過谷歌等搜索引擎提供高效,準確的網絡搜索。早期的搜索引擎無法提供相關的結果,因為它們很容易受到定期垃圾郵件的攻擊- 將網頁中引入的網頁錯誤地描述了網頁的內容。雖然谷歌不是第一個搜索引擎,但它是第一個能夠通過2種技術抵制垃圾郵件的術語:

      

    PageRank被用來模擬從一個隨機頁面開始的Web沖浪者如果從他們當前所在的頁面隨機選擇的輪廓線隨意聚集,并且這個過程被允許迭代多次。會有大量沖浪者的頁面被認為比很少被訪問的頁面更“重要”。在決定首先響應搜索查詢顯示哪些頁面時,Google更偏向于不重要頁面的重要頁面。

      

    頁面的內容不僅取決于該頁面上顯示的術語,還取決于該頁面鏈接中或附近使用的術語。請注意,雖然垃圾郵件發送者很容易在他們控制的頁面上添加錯誤的條款,但如果他們不控制這些頁面,他們不會輕易地將錯誤的條款添加到鏈接到他們自己的頁面的頁面。

      

      

    讓我們深入一下PageRank:這是一個為Web中的每個頁面分配實數的函數。意圖是頁面的PageRank越高,它就越“重要”。沒有一個固定的PageRank分配算法,事實上,基本想法的變化可以改變任何2頁的相對PageRank。PageRank最簡單的形式就是遞歸方程的解決方案“如果重要頁面鏈接到頁面,頁面就非常重要。”

      

    對于強連通的Web圖(任何節點可以到達任何其他節點的那些圖),PageRank是轉換矩陣的主要特征向量。我們可以通過從任何非零向量開始計算PageRank并反復將當前向量乘以轉換矩陣來獲得更好的估計值。經過大約50次迭代后,估計將非常接近極限,這是真正的PageRank。

      

      

    PageRank的計算可以被認為是模擬許多隨機沖浪者的行為,每個random surfers從隨機頁面開始,并隨時隨意移動到當前頁面鏈接的頁面之一。沖浪者在給定頁面的極限概率是該頁面的PageRank。直覺是人們傾向于創建他們認為有用的頁面的鏈接,所以隨機沖浪者往往會成為一個有用的頁面。

      

    我們可以對PageRank進行一些改進。一種稱為主題敏感的PageRank,就是我們可以因為他們的話題而更加沉重地壓縮某些頁面。如果我們知道查詢者對某個主題感興趣,那么將PageRank偏向于該主題的頁面是有意義的。為了計算這種PageRank的形式,我們確定了一組已知的關于該主題的頁面,并將其用作“teleport set”。PageRank計算被修改,以便只傳送傳送集中的頁面被分配給稅,而不是在網絡上的所有頁面之間分配稅。

      

      

    當谷歌的PageRank和其他技術使術語垃圾郵件無效時,垃圾郵件發送者轉而采用旨在欺騙PageRank算法來高估某些頁面的方法。人為增加頁面的PageRank的技術統稱為鏈接垃圾郵件。通常,垃圾郵件農場由一個目標頁面和很多支持頁面組成。目標頁面鏈接到所有支持頁面,支持頁面僅鏈接到目標頁面。另外,必須創建來自垃圾場外部的一些鏈接。例如,垃圾郵件發送者可能會通過在其他人的博客或討論組中撰寫評論,向他們的目標頁面引入鏈接。

      

    一種改善鏈接垃圾郵件效果的方法是計算一個名為TrustRank的話題敏感的PageRank ,其中傳送集是一組可信頁面。例如,大學的主頁可以作為可信組合。這項技術避免了在PageRank計算中與垃圾場中的大量支持頁面共享稅收,從而優先減少PageRank。為了識別垃圾郵件農場,我們可以為所有頁面計算傳統的PageRank和TrustRank。那些比PageRank的TrustRank低得多的頁面可能會成為垃圾郵件農場的一部分。

      

    5―FREQUENT ITEM-SET ANALYSIS

    market-basket數據模型用于描述2種對象之間多對多關系的常見形式。一方面,我們有物品,另一方面,我們有籃子。每個籃子由一組物品(一套物品)組成,通常我們假設一個籃子里的物品數量很少 - 遠小于物品總數量。籃子的數量通常被認為是非常大的,大于主內存中所能容納的數量。假定數據在由一系列籃子組成的文件中表示。就分布式文件系統而言,籃子是文件的對象,每個籃子都是“項目組”的類型。

      

    因此,基于這個market-basket模型來表征數據的主要技術家族之一是發現頻繁項目集,這些項目集基本上是出現在許多籃子中的項目集。市場籃子模型的最初應用是分析真正的市場籃子。也就是說,超級市場和連鎖店記錄每個提供給結賬登記的市場籃子的內容。這里的商品是商店銷售的不同產品,籃子是單個市場籃子中的一系列商品。但是,可以使用相同的模型來挖掘許多其他類型的數據,例如:

      

    相關概念:讓項目成為詞匯,讓籃子成為文檔(網頁,博客,推文)。籃子/文件包含文件中出現的那些項目/文字。如果我們尋找在許多文件中一起出現的單詞集合,這些集合將被最常見的單詞(停用詞)所控制。在那里,盡管目的是找到談論貓和狗的片段,但停用詞“和”和“a”在頻繁項目集中是突出的。但是,如果我們忽略所有最常見的詞,那么我們希望在頻繁的詞對之中找到一些代表聯合概念的詞。

      

    抄襲:讓項目成為文件,籃子成為句子。如果句子在文檔中,則項目/文檔是“在”籃子/句子中。這種安排似乎倒退了,但這正是我們需要的,我們應該記住,物品和籃子之間的關系是任意的許多關系。也就是說,“in”不需要具有其常規含義:“部分”。在這個應用程序中,我們尋找在幾個籃子中一起出現的項目對。如果我們找到這樣一對,那么我們有兩個文件共享幾個句子。實際上,即使是1或2個句子也是剽竊的一個很好的指標。

      

    生物標志物:讓物品有兩種類型 - 生物標志物,如基因或血液蛋白質,以及疾病。每個籃子都是關于患者的一組數據:他們的基因組和血液化學分析,以及他們的疾病病史。由一種疾病和一種或多種生物標志物組成的頻繁項目集表明對該疾病的測試。

      

      

    以下是您絕對應該知道的頻繁項目集的主要屬性:

      

    關聯規則:這些含義是,如果一個籃子包含一定數量的項目i,那么它很可能包含另一個特定的項目j。

      

    配對計數瓶頸:對于典型數據,目標是生成所有最常見的少量項目集,通常占用最多內存的部分是計算項目對。因此,尋找頻繁項目集的方法通常集中在如何最小化計數對所需的主存。

      

    單調性:項目集的一個重要特性是如果一組項目頻繁,那么它的所有子集也是如此。

      

    有多種算法可用于查找頻繁項目集。我在下面重點介紹一下:

      

      

    A-Priori:我們能找到所有經常的對,通過two passes over the baskets。在第一次測試中,我們計算項目本身,然后確定哪些項目是頻繁的。在第二個通道上,我們只計算在第一次傳遞中經常發現的兩對項。單調性證明我們忽略了其他對。

      

    PCY (Park, Chen, Yu):這個算法通過在第一個通道上創建一個哈希表來改進a - priori算法,使用所有不需要計算項目的主內存空間。對項進行散列處理,并將哈希表的bucket用作對該bucket進行散列的次數的整數計數。然后,在第二次傳遞時,我們只需要計算第一次通過的頻繁項(它的計數至少是支持閥值)的頻繁項。

      

      

    多階段:我們可以在PCY算法的第一遍和第二遍之間插入額外的路徑,以將哈希對映射到其他獨立的哈希表。在每次中間傳球時,我們只需要在先前的所有傳球中散列頻繁項目的對,這些項目已經散列到頻繁的籃框。

      

    多重散列:我們可以修改PCY算法的第一遍,將可用主存分成幾個散列表。在第二遍中,我們只需要計算一對頻繁項目,如果它們散列到所有散列表中的頻繁桶中。

      

    隨機化:我們可以選擇一個籃子的隨機樣本,而不是讓所有數據通過,足夠小以至于可以在主存儲器中存儲樣本和需要的項目集計數。支持閾值必須按比例縮小。然后,我們可以找到樣本的頻繁項目集,并希望它能夠很好地表示整個數據。雖然此方法最多使用整個數據集一次,但會受到誤報(項目集在樣本中頻繁出現,但不是整體)以及錯誤否定(項目集在整個數據集中頻繁出現,但不是樣品)。

      

    6 -聚類

    大數據分析的一個重要組成部分是高維數據,即具有大量屬性或特征的數據集。為了處理高維數據,聚類是考察集合“點”的過程,并根據一定距離度量將點分組成“簇”。目標是同一集群中的點之間的距離很小,而不同集群中的點之間的距離很大。使用的典型距離度量是Euclidean、cos、Jaccard、Hamming和Edit。

      

    我們可以將聚類算法分成兩組,遵循兩種基本不同的策略:

      

    分層/凝聚算法從它自己的集群中的每一個點開始。集群是基于它們之間的緊密聯系,使用許多可能的關閉定義之一。當進一步的組合導致不受歡迎的集群時,組合就會停止,這有以下幾個原因之一。例如,當我們有一個預先確定的集群數量時,我們可能會停止,或者我們可以使用一種對集群的緊湊性的度量,并且拒絕通過合并兩個較小的集群來構建集群,如果結果集群的點分布在太大的區域上。

      

    另一類算法 point assignment。點按某種順序被考慮,每個點被分配到最適合的集群中。這個過程通常在一個短的階段之前,初始的集群被估計。變體允許偶爾合并或拆分集群,或者允許在離群值(離當前集群太遠的地方)不被分配。

      

      

    在分層聚類中,我們重復組合最近的兩個聚類。這個算法家族有許多變化,主要在兩個方面有所不同:選擇2個集群如何合并并決定何時停止合并過程。

      

    對于挑選要合并的聚類,一種策略是挑選具有最接近的質心(歐幾里得空間中的平均聚類成員)或聚類(聚類在非歐幾里得空間中的代表性成員)的聚類。另一種方法是挑選距離每個集群最近的點的一對集群。第三種方法是使用兩個簇之間的平均距離。

      

    為了停止合并過程,可以繼續進行分層聚類,直到剩下固定數量的聚類為止。或者,我們可以合并,直到找不到合并足夠緊湊的一對群集。另一種方法涉及合并,只要得到的集群具有足夠高的密度,這是用集群大小的某種度量除的點數。

      

      

    另一方面,有多種點分配聚類算法:

      

    K-Means:假設一個歐幾里得空間,對于一些已知的k,恰好有k個簇。選取k個初始聚類質心后,每次只考慮一個點,并將其分配給最接近的質心。集合的質心可以在點分配期間遷移,可選的最后一步是重新分配所有點,同時將質心固定為第一次傳遞期間獲得的最終值。

      

    BFR(Bradley,Fayyad,Reina):該算法是k-means的一種版本,用于處理太大而不適合主存的數據。它假定集群正常分布在軸上。

      

    CURE(使用代表的聚類):該算法是為歐幾里得空間設計的,但簇可以具有任何形狀。它處理的數據太大而不適合主內存。

      

    7 -計算廣告

    21世紀最大的驚喜之一就是各種各樣有趣的Web應用程序能夠通過廣告而不是訂閱來支持自己。網絡廣告在傳統媒體上的最大優勢是可以根據每個用戶的利益選擇網絡廣告。這一優勢使許多Web服務完全依靠廣告收入來支持。到目前為止,在線廣告最賺錢的地方是搜索,而搜索廣告的大部分效果來自于將搜索查詢匹配到廣告的“Adwords”模型。在處理與搜索查詢匹配的廣告之前,我們將通過檢查這些算法所屬的一般類來略去偏差。

      

    傳統的算法允許在生成答案之前查看所有的數據,這被稱為脫機。一個在線算法需要立即對流中的每個元素做出響應,只需要知道過去的知識,而不知道流中的未來元素。許多在線算法都是貪婪的,從某種意義上說,它們通過最小化一些目標函數來選擇它們的行為。我們可以通過最小化競爭比率來衡量在線算法的質量――在線算法的結果與最佳離線算法的結果的值相比較。

      

      

    讓我們來考慮一下搜索廣告的根本問題--Adwords問題 - 因為它首次在Google Adwords系統中遇到。Google Adwords是搜索廣告管理的一種形式,其中搜索引擎(Google)從某些搜索查詢中接收廣告商的出價。有些廣告會隨每個搜索查詢一起顯示,只有當查詢呃點擊廣告時,才會為搜索引擎支付出價金額。每個廣告客戶都可以提供預算,即他們愿意為一個月內的點擊支付的總金額。

      

    Adwords問題的數據是廣告客戶對特定搜索查詢的一系列出價,以及每個廣告客戶的總預算以及每個廣告針對每個查詢的歷史點擊率信息。數據的另一部分是搜索引擎收到的搜索查詢流。我們的目標是在網上選擇一組固定的廣告,以響應每個查詢,從而最大化搜索引擎的收入。

      

    通常,有兩種方法可以解決Adwords問題(我們考慮了所有出價均為0或1的簡化版本,每個查詢僅顯示一個廣告,所有廣告客戶都有相同的預算):

      

    貪婪方法:在簡化的Adwords模型下,將廣告展示位置賦予任何對查詢進行出價并擁有預算的人的明顯貪婪算法可以顯示為具有1/2的競爭比例。

      

    平衡算法:該算法改進了簡單的貪婪算法。將查詢的廣告提供給對該查詢進行出價并具有最大剩余預算的廣告商。關系可以任意打破。對于簡化的Adwords模型,平衡算法的競爭比例對于兩個廣告客戶和1-1 / e來說是3/4,對于任何數量的廣告客戶來說都是63%。

      

      

    雖然我們現在應該知道如何選擇廣告和搜索查詢的答案,但是我們沒有解決在給定的查詢中找到投標的問題。換句話說,我們如何實現Adwords?

      

    這個實現的最簡單的版本是服務于在搜索查詢中準確地使用單詞集合的情況。我們可以按照排序的順序來表示一個查詢。報價存儲在哈希表或類似的結構中,哈希鍵等于單詞的排序列表。然后,可以通過在表中直接查找來匹配搜索查詢。

      

    Adwords實現問題的一個較難版本允許在搜索查詢中使用小的單詞集合,與較大的文檔(如電子郵件或tweet)進行匹配。如果所有的單詞都出現在文檔中,而不是相鄰的,那么一個投標集將與文檔匹配。

      

    8 - 推薦系統

    有大量的Web應用程序涉及預測用戶對選項的響應。這種設施被稱為推薦系統。我想你已經從Netflix(電影推薦)到Google Maps(路線推薦),使用了很多從亞馬遜(商品推薦)到Spotify(音樂推薦)的商品。推薦系統最常見的模型是基于偏好的效用矩陣。推薦系統處理用戶和項目。實用程序矩陣提供了有關用戶喜歡物品的程度的已知信息。通常,大多數條目是未知的,向用戶推薦項目的基本問題是基于已知條目的值預測未知條目的值。

      

    推薦系統使用許多不同的技術。我們可以將它們分為兩大類:

      

    基于內容的系統檢查推薦項目的屬性。例如,如果Netflix用戶觀看過許多科幻電影,則推薦將數據庫中分類的電影推薦為“科幻”類型。

      

    協同過濾系統推薦基于用戶和/或項目之間的相似性度量的項目。向用戶推薦的項目是類似用戶所偏愛的項目。這種推薦系統可以使用距離度量和聚類奠定的基礎(上面討論過)。然而,這些技術本身并不足夠,并且有一些新的算法已被證明對推薦系統有效。

      

      

    在基于內容的系統中,我們必須構造項目概要文件,這是一個記錄或集合的記錄,代表該項目的重要特征。不同類型的項目有不同的特性,基于內容的相似性可以基于這些特性。文檔的特征通常是重要或不尋常的詞。產品具有電視屏幕大小等屬性。諸如電影之類的媒體具有諸如演員或表演者的類型和細節。如果可以從感興趣的用戶那里獲得標簽,也可以作為特性使用。

      

    此外,我們還可以通過測量用戶喜歡的項目中的特性來構建用戶配置文件。然后,我們可以估計用戶喜歡某項的程度,因為該項目的概要文件與用戶的概要文件的接近程度。構建用戶配置文件的另一種方法是為每個用戶構建一個分類器,例如決策樹。該用戶的實用程序矩陣的行成為訓練數據,分類器必須預測用戶對所有項的響應,無論該行是否具有該項的條目。

      

      

    在協同過濾系統中,我們不使用項目的特性來確定它們的相似度,而是關注兩個項目的用戶評分的相似性。也就是說,在一個項目的項目概要向量的位置上,我們在效用矩陣中使用它的列。此外,我們不是為用戶設計一個配置文件向量,而是通過它們在實用程序矩陣中的行來表示它們。如果它們的向量根據一些距離度量(如Jaccard或cos距離)接近,則用戶是相似的。然后,通過查看在這個意義上最類似于U的用戶,并推薦這些用戶喜歡的項目,來推薦用戶U。

      

    由于實用程序矩陣往往是空白的,所以距離度量通常有太少的數據,用來比較2行或2列。一個初步的步驟,將相似度用于將用戶和/或項目分組到具有強大相似性的小組中,可以幫助提供更通用的組件來比較行或列。

      

    9―SOCIAL-NETWORK GRAPHS

    當我們想到一個社交網絡時,我們會想到Facebook,Twitter和Google+。社交網絡的基本特征是:

      

    有一批參與網絡的實體。通常,這些實體是人,但它們可能完全是別的。

      

    網絡實體之間至少有一種關系。在Facebook或其他流派中,這種關系被稱為朋友。有時候,這種關系是全有或全無; 2人不是朋友,就是不是。然而,在社交網絡的其他例子中,這種關系有一定的程度。這個程度可能是離散的; 例如朋友,家人,熟人,或在Google+中沒有。它可能是一個實數; 一個例子就是兩個人互相交談的平均一天的幾分之一。

      

    有一個非隨機性或局部性的假設。這種情況最難形式化,但直覺是關系趨于集中。也就是說,如果實體A與B和C都相關,則B和C相關的概率高于平均值。

      

      

    社交網絡自然被建模為圖表,我們有時將其稱為社交圖表。實體是節點,如果節點與表征網絡的關系相關,則邊將兩個節點連接起來。如果存在與關系相關的程度,則通過標記邊緣來表示該程度。通常情況下,社交圖表是無向的,就像Facebook朋友圖一樣。但他們可以是有向圖,例如Twitter或Google+上的追隨者圖表。

      

    社交網絡的一個重要方面是它們包含由許多邊緣連接的實體的社區。例如,這些通常對應于對同一主題感興趣的學校群體或研究人員群體。為了識別這些社區,我們需要考慮對圖進行聚類的方法。雖然社區在某些方面與群集相似,但也存在顯著差異。個人(節點)通常屬于多個社區,通常的距離度量不能代表社區節點之間的親密度。因此,用于在數據中查找群集的標準算法對社區發現來說效果不佳。

      

      

    將節點分成社區的一種方法是測量邊緣的中間性,這是通過給定邊緣的那些節點之間的最短路徑分數的所有節點對之和。社區通過刪除介數在給定閾值以上的邊形成。Girvan-Newman算法是用于計算邊緣中間性的有效技術。從每個節點執行廣度優先搜索,并且一系列標記步驟計算從根到每個其他節點通過每個邊的路徑的份額。將為每個根計算的邊的份額相加以得到中間值。

      

    找到社區的一種方法是將圖形重復劃分成大致相似的大小。剪切是將圖的節點分成兩組,其大小是每組中具有一端的邊的數量。一組節點的體積是該組中至少有一端的邊的數量。我們可以通過考慮切割尺寸與由切割形成的兩組每一個的體積的比率來規格化切割的尺寸。然后添加這兩個比率來獲得歸一化的切割值。具有低總和的歸一化切割是好的,因為它們傾向于將節點分成兩個大致相等的部分并且具有相對較小的尺寸。

      

      

    通常,個人是幾個社區的成員。在描述社交網絡的圖表中,兩個人成為朋友的概率隨著社群成員數量的增長而增加(因此是社區重疊的概念)是正常的。一種適用于社區成員資格的模型,稱為隸屬關系圖模型假定對于每個社區而言,由于這個社區有兩個成員成為朋友(在社交網絡圖中具有優勢),所以存在這樣的可能性。因此,兩個節點有一個邊的概率是1減去兩個成員都不會導致它們之間存在邊的任何一個團體的概率的乘積。然后,我們找到社區的節點分配以及最能描述觀察到的社交圖的那些概率的值。

      

    一個重要的建模技術,可用于對社區進行建模以及其他許多事情,可以根據模型允許的所有參數值選擇來計算所生成的觀測數據的概率。假設產生最高概率的值是正確的,稱為最大似然估計(MLE)。

      

    10―DIMENSIONALITY REDUCTION

    有許多數據來源可以被視為一個大矩陣。在鏈接分析中,Web可以表示為轉換矩陣。在推薦系統中,效用矩陣是一個重點。在社交網絡圖中,矩陣表示社交網絡。在許多這些矩陣應用中,可以通過找到在某種意義上接近原始的“更窄”矩陣來總結矩陣。這些窄矩陣只有少量的行或少量的列,因此可以比原始大矩陣更高效地使用。找到這些窄矩陣的過程稱為降維。

      

    降維中最基本的概念是特征值和特征向量。矩陣可以有幾個特征向量,這樣當矩陣乘以特征向量時,結果是特征向量的常數倍數。該常數是與此特征向量相關的特征值。特征向量和它的特征值一起被稱為特征對。

      

      

    一種用于降維的強大數據挖掘技術是主成分分析(PCA),該算法將多維空間中的點集合視為矩陣,其中行對應于維度的點和列。這個矩陣和它的轉置的乘積有特征對,主特征向量可以看作是空間中最好排列點的方向。第二特征向量表示與主特征向量的偏差最大的方向,依此類推。通過用少數特征向量表示點的矩陣,我們可以以最小化表示矩陣中給定列數的均方根誤差的方式近似數據。

      

    導致高維矩陣的低維表示的另一種形式的矩陣分析是奇異值分解(SVD),它允許任何矩陣的精確表示,并且還可以很容易地消除該表示的不重要部分以產生具有任何所需數量的維度的近似表示。當然,我們選擇的尺寸越少,近似值越不精確。矩陣的奇異值分解包括三個矩陣U,Σ和V.矩陣U和V是列正交矩陣,這意味著作為向量,列是正交的,并且它們的長度是1.矩陣Σ是一個對角矩陣,沿其對角線的值被稱為奇異值。U,Σ的乘積和V的轉置等于原始矩陣。

      

      

    當有少量概念連接原始矩陣的行和列時,SVD就很有用。例如,如果原始矩陣表示由電影觀眾(行)給電影(列)給出的評級,則這些概念可能是電影的類型。矩陣U將行連接到概念,Σ代表概念的優勢,V將概念連接到列。

      

    在矩陣的完全SVD中,U和V通常與原始矩陣一樣大。要為U和V使用較少的列,請從U,V和Σ中刪除與最小奇異值對應的列。該選擇使從修改的U,Σ和V重建原始矩陣時的誤差最小化。

    免費咨詢
    免費獲取加盟資料
    亚洲国产成人久久综合区