智能推薦算法課件_第1頁
智能推薦算法課件_第2頁
智能推薦算法課件_第3頁
智能推薦算法課件_第4頁
智能推薦算法課件_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

算法新聞AlgorithmicJournalism算法新聞AlgorithmicJournalism智能推薦算法本章要點關鍵詞第5章本章圍繞智能推薦算法的起源、發(fā)展、應用和評估展開。首先介紹智能推薦系統(tǒng)的發(fā)端,即智能推薦系統(tǒng)得以發(fā)源和發(fā)展的多種前置技術條件和準備,包括大數據技術、機器學習算法、移動互聯(lián)網的發(fā)展以及用戶特點的變化。接下來,以關聯(lián)規(guī)則推薦算法為例,具體介紹智能推薦算法的原理和過程、可能的改進及其演進方向。最后介紹如何對推薦算法進行評估,幫助算法推薦系統(tǒng)篩選最合適的算法。智能推薦系統(tǒng)、大數據技術、機器學習算法、關聯(lián)規(guī)則推薦算法智能推薦算法本章要點關鍵詞第5章本章圍繞智能推薦算法的起源、第1節(jié)智能推薦系統(tǒng)的發(fā)端目前,接入互聯(lián)網的設備特別是通過移動互聯(lián)網接入的移動終端設備之上,各種各樣的應用軟件層出不窮。其中一個不容忽視的趨勢就是智能推薦系統(tǒng)正在熱火朝天地發(fā)展和壯大,越來越多的應用軟件系統(tǒng)引入智能推薦算法,用以實現更好的個性化內容呈現和精準送達。存在怎樣的技術準備和前置條件來支持這些智能推薦算法以及智能推薦系統(tǒng)呢?有四個主要條件:(1)大數據技術的發(fā)展以及開源大數據處理平臺的普及。(2)機器學習算法的突破。(3)移動互聯(lián)網的繁榮發(fā)展。(4)用戶習慣的改變。第1節(jié)智能推薦系統(tǒng)的發(fā)端目前,接入互聯(lián)網的設備特別是通過移在當前的時間節(jié)點上,大數據不論是對于自然科學及人文社會科學,還是對于工業(yè)界,均具有重要意義。從數據的產生來看,每一個個體用戶,都是大數據的貢獻者,都為海量數據的生成提供了源數據。一、開源大數據處理平臺的普及“大數據”從數據量級的角度來說到底有多“大”?在辦公領域,以電子郵件系統(tǒng)為例,全球范圍內每秒會發(fā)出數百萬封電子郵件。在視頻分享和推薦領域,YouTube網站的流量數據總量超過百億,每天新增總播放時長達數萬小時的視頻,并且其單日瀏覽量也達數億甚至數十億。在社交媒體領域,截至2017年底,新浪微博月閱讀量超百億的垂直領域達25個,微博內容存量已超過千億,微博搜索月活躍用戶近1億(參見微博數據中心《2017微博用戶發(fā)展報告》)。在電子商務領域,2018年“雙11”電商購物節(jié)期間,來自商務部的數據顯示,全國網絡零售交易額超過3000億元。在網絡應用領域,谷歌搜索引擎每天需要處理24PB級別的數據。在算法智能推薦系統(tǒng)領域,截至2017年12月,今日頭條系統(tǒng)一共有3億用戶,日活躍用戶量超過3000萬,系統(tǒng)的日均點擊量大概是5億次,每個用戶的平均使用時長為47分鐘。在當前的時間節(jié)點上,大數據不論是對于自然科學及人文社會科學,支撐大數據的硬件平臺針對海量的數據,需要相應的硬件來完成這些數據的采集、存儲和計算。從數據體量的角度,目前的大數據量級已經達到了PB級別。補充:PB是英文Pega

Byte的縮寫,其中B是英文byte的縮寫,即“字節(jié)”。通常,個人電腦硬盤的存儲容量是GB(Giga

Byte,吉字節(jié),又稱“千兆”)級別的,如256GB、512GB等。此處,1GB=1024MB,1MB(Mega

Byte,兆字節(jié),簡稱“兆”)=1024kb,1kb(Kilobyte,千字節(jié))=1024B。由于大數據的量級呈現幾何方式的增長,傳統(tǒng)的硬件架構已經很難滿足需求。巨大的PB級別數據量級對于數據的采集和存儲都提出了新的要求,通俗地講,就是要求大數據系統(tǒng)既能存得下數據又能快速讀寫,并且在足夠短的時間里完成計算。通常,存儲系統(tǒng)的升級并不僅僅指存儲容量升級,系統(tǒng)對其他資源也有額外的需求,如I/O帶寬和計算能力。也就是說,為了支持海量數據的存儲和計算,需要高性能的計算和存儲設備完成大數據上的分析和計算任務,因此,大數據計算系統(tǒng)的硬件會體現出大存儲容量、多主機、多CPU、高速運算、高速I/O、數百GB內存等特點。為了應對不斷增長的數據,目前常見的大數據系統(tǒng)擴展方式有縱向擴展和橫向擴展兩種??v向擴展:主要是利用已有的存儲系統(tǒng)架構,通過不斷增加存儲容量來滿足數據增長的需求。橫向擴展:進行系統(tǒng)升級,通過增加獨立的設備來提高系統(tǒng)的運算能力。支撐大數據的硬件平臺針對海量的數據,需要相應的硬件來完成這些大數據的軟件計算框架從軟件方面來說,大數據系統(tǒng)還需要實現大數據的計算框架。從軟件功能的角度,存在存儲”和“計算”這兩種類型的大數據計算框架。大數據存儲框架(Hadoop+HDFS)目前,開源的大數據存儲平臺主要是基于Hadoop平臺實現的。Hadoop是一種分布式系統(tǒng)基礎架構,用戶可以在不了解分布式底層細節(jié)的情況下,開發(fā)分布式程序,充分利用集群的計算能力進行高速運算和存儲?;贖adoop技術的大數據存儲平臺實現了海量數據的分布式存儲,在存儲方面實現了一個分布式的文件存儲系統(tǒng)HDFS,即Hadoop分布式文件系統(tǒng)(Hadoop

distribute

file

system)。針對海量數據的分布存儲,可以降低存儲設備的單點壓力,提高存儲的容錯能力。因此,大數據系統(tǒng)的內部實現可以由Hadoop平臺加上分布式文件系統(tǒng)來支撐存儲功能。2.大數據計算框架(1)離線計算(MapReduce)早期的大數據計算框架技術主要采取離線計算的方式。在運算過程中,首先通過對計算任務的分解,把數據集切分為多個分片;隨后,每一次運算從硬盤加載一部分數據分片并分配到集群中不同的機器上進行計算,其中,需要把一些必要的中間結果保存到硬盤上(HDFS);然后再由后續(xù)的運算模塊把中間結果讀到內存,再進行合并計算,求出結果后,將其寫到硬盤,完成一次離線的分布式計算。離線計算適用于單次計算任務對完成時間的要求不高并且單次計算任務通常不需要反復執(zhí)行的計算場景,如機器學習模型的訓練。大數據的軟件計算框架從軟件方面來說,大數據系統(tǒng)還需要實現大數大數據的軟件計算框架(2)在線計算(Spark)隨著對計算性能要求的提高,某些在大數據集合上的計算也需要達到實時或者準實時的標準。為了實現在線級別的大數據計算,可以在Hadoop和HDFS平臺的基礎上搭建Spark計算平臺。Spark是快速通用的大規(guī)模數據計算引擎。與離線計算不同的是,在線計算的中間輸出結果可以保存在內存中,從而不再需要讀寫HDFS,有效地減少I/O,提高系統(tǒng)效率,因此Spark能更好地適用于需要重復進行的計算場景。從底層存儲來看,以上離線計算和在線計算的大數據框架在存儲層面,都是在Hadoop分布式文件系統(tǒng)上存儲的。二者的區(qū)別在于計算過程是否需要反復讀取硬盤數據,從而區(qū)分出在線計算和離線計算兩種情況。提要:為了處理和計算來自各行各業(yè)的大數據,大數據的硬件、軟件技術手段應運而生并不斷向前演進,服務于大數據的存儲、分析和價值發(fā)現。大數據的軟件計算框架(2)在線計算(Spark)二、機器學習算法的突破機器學習算法的基本原理:機器學習是一門研究算法的學科,簡單地講就是研究如何讓計算機根據以往的經驗去適應新的環(huán)境。這里“以往的經驗”指的是歷史數據;“適應”指的是通過對歷史數據的研究分析,建立一種映射關系;“新的環(huán)境”是指新產生的需要計算的數據。當新數據輸入機器學習建立的函數中時,會產生符合歷史數據規(guī)律的新輸出。機器學習本質上是研究自學習算法的科學,這些算法用于幫助機器進行自我學習來解決問題。二、機器學習算法的突破機器學習算法的基本原理:案例:假設我們想訓練一個機器學習模型識別出貓。于是,我們可以提供給機器學習算法一定數量的已經標注為“貓”的圖片,需要盡可能包括正面、側面、背面等多種角度。對于機器學習算法來說,這些圖片就是已有數據中的輸入數據,我們使用這樣的一些數據來訓練動物識別器,而其對應的已知輸出數據則是對這些圖片所含動物類別的標記,對應于此類輸入圖片,機器學習算法已知其標記均為“貓”。機器學習算法會從多張貓的圖片中學習其共性特征,如兩只尖耳朵,兩只眼睛,有毛,有尾巴等等(“尖耳朵”“眼睛”“毛”“尾巴”是為了文字表述方便而闡述的特征,實際上在機器學習算法中它們對應的是若干個維度的數值屬性)。機器學習算法把“貓”的這些特征識別出來,認為滿足這些特征的圖片都是含有貓的圖片,就完成了模擬人類進行歸納總結的過程。模型訓練好之后,算法再遇到滿足此類特征的圖片,即可識別其為含有貓的圖片,就完成了演繹推理的過程。對于機器學習算法來說,為了提高模型的準確度,需要提供足夠的訓練數據。所謂“足夠”,一方面是數據量大,另一方面是能覆蓋盡量多的可能性。例如圖中所示三張圖中的貓都是尖耳朵并且有毛的貓,如果全部訓練數據都是類似品種的貓的圖片,那么訓練完成后,如果識別算法遇到了折耳貓或是無毛貓的圖片,識別的準確度就會受到影響,不一定能將其正確標注。案例:常見的機器學習算法:下面以一個文本分類的任務為例,簡要介紹這些機器學習算法。文本分類任務的已有數據是一個新聞語料文檔集,包括多篇多種類別的新聞,如體育新聞、財經新聞等。(1)無監(jiān)督的機器學習算法(“聚類”算法)針對新聞文本分類任務,算法事先并不知道每一篇新聞文檔的類別是什么,以及共有多少種類別,此時把語料庫的文檔全部送到機器學習算法中,讓它對輸入數據進行自學習,區(qū)分并生成若干種可能的新聞文檔類別,這種情況下的機器學習算法就是無監(jiān)督的機器學習。(2)有監(jiān)督的機器學習算法(“分類”算法)與無監(jiān)督的機器學習算法相對。所謂有監(jiān)督的學習是指給算法提供一定數量的訓練數據。此時需要事先標記好一定數量的新聞文本,即每一篇新聞是什么類型的。在這種情況下,文檔庫中共有多少種新聞類別以及每種新聞的分類是什么都是預先指定好的。因此,這類機器學習算法也稱為“分類”算法,對應的模型稱為“分類器”。利用已經標記好的新聞文檔及其所屬分類數據,就可以對分類器進行訓練。在訓練過程中分類器會學習每個類別新聞的特征。當分類器把每一種新聞類別的特征都學習好之后,即完成了對分類器的訓練。隨后,對于新的輸入數據,即類別未知的新聞文檔,就不需要進行人工的新聞分類了,分類器就可以自動地給新的文檔找到相應的類別并對文檔進行類別標記。常見的機器學習算法:(3)基于對抗生成網絡的算法其原理是,對于已經訓練到一定程度的模型,實現者會嘗試輸入一些反例。例如故意標記一篇社會新聞文檔D為國際新聞,如果模型已經訓練到足夠準確,那么模型就可以直接識別出文檔D并不是標記的那種類型(國際新聞)。這時候算法模型可以更加專注于了解文檔D為什么不是國際新聞類的新聞,把相關的特點抽出來,放到對抗生成網絡里,就能更好地幫助算法模型認識到文檔的哪些特征能更好地表征所屬類別的特點。所以在模型訓練過程中,把一些反例輸入模型,讓算法在反例輸入的情況下,對抗反例數據,提高自己的學習能力。(4)基于卷積神經網絡的算法基于卷積神經網絡的算法可以實現對圖像數據的有效分析和處理。對于一幅圖像來說,可以將其分成m×n個像素或者m×n個小格子。最簡單的方法就是認為這幅圖像一共有m×n個特征(每個像素或小格子是一個特征)。如果圖像比較大,圖像就被建模為高維特征對象,相應的處理算法需要面對高維數據,運算量大,對算力的要求高,導致效率受到限制。因此,考慮如何對高維數據進行抽象,使用一個比較小的矩陣,來表述這幅圖的特征??梢圆捎玫姆椒ㄊ?,把位置臨近的若干個格子聚合起來,例如將每k×k個格子提煉為一個特征(k小于m和n)。通過這樣的處理,就可以把數據特征的維度降低,從而在較低維度數據上進行機器學習模型的訓練。提要:目前已知的多種機器學習算法(如有監(jiān)督的學習、無監(jiān)督的學習、對抗生成網絡算法以及卷積神經網絡算法等)在算法推薦系統(tǒng)均有一定程度的應用。在真實系統(tǒng)中,往往是綜合考慮具體的情況和應用場景,綜合使用幾種算法,以達到更好的效果。(3)基于對抗生成網絡的算法三、移動互聯(lián)網的繁榮2018年8月,中國互聯(lián)網絡信息中心在北京發(fā)布第42次《中國互聯(lián)網絡發(fā)展狀況統(tǒng)計報告》。截至2018年6月30日,中國網民規(guī)模達8.02億,其中手機網民規(guī)模已達7.88億,網民通過手機接入互聯(lián)網的比例高達98.3%。移動互聯(lián)網及其上承載的應用已經廣泛地深入人們衣食住行的方方面面?;ヂ?lián)網以及移動互聯(lián)網業(yè)務的發(fā)展脈絡:1980年到1990年的個人電腦時代,互聯(lián)網上開始出現一些簡單的搜索引擎,回應用戶的網絡導航需求,如雅虎等搜索引擎可以提供靜態(tài)的導航信息。Web1.0時代:1990年到2000年,針對互聯(lián)網上的應用需求,谷歌公司發(fā)布了谷歌搜索引擎,通過分析用戶搜索的信息更好地滿足用戶需求。Web2.0時代:2000年到2010年,基于Web2.0技術出現了語義網絡以及其上的語義搜索技術。臉書等在線社交媒體逐漸興起,用戶可以創(chuàng)造內容并上傳,給互聯(lián)網用戶創(chuàng)造了自我表達和在線連接等新需求。在中國,也出現了微博、微信等新的社交媒體平臺。因此,有人將2010年至2020年階段稱為Web3.0時代。在這一階段,移動互聯(lián)網的業(yè)務品類和流量均呈現大爆發(fā)。大數據及大數據技術平臺提供了對移動互聯(lián)網各種新業(yè)務的有效支持,多種個性化的算法推薦系統(tǒng)也應運而生并廣泛流傳。三、移動互聯(lián)網的繁榮2018年8月,中國互聯(lián)網絡信息中心在北四、用戶習慣的改變從用戶的角度看,智能推薦系統(tǒng)迅速發(fā)展的一個重要原因在于用戶習慣的改變。用戶習慣變化的原因:內容分發(fā)的去中心化。在以往中心化內容分發(fā)的模式下,用戶可見可讀的內容是由數量有限的內容提供方呈現的,用戶可選擇的余地較小,因此,智能推薦系統(tǒng)產生的基礎條件并不具備,也就不存在智能的個性化推薦。大數據基礎上的個性化內容需求。隨著內容非中心分發(fā)形式的發(fā)展,呈獻給用戶的內容品類和數量均在快速增長。由于每個用戶的興趣和關注點各不相同,因此在海量內容池基礎上對內容提出個性化需求具有了數據準備。內容獲取方式的改變。以往的閱讀和觀看習慣通常是用戶主動尋找感興趣的內容,這也被稱為“拉”(pull)模式,即用戶尋找內容。面對海量的內容數據,用戶很難從中選出真正滿足自己興趣和需求的內容,因此出現了算法推薦系統(tǒng),它主動從海量內容中進行過濾篩選,為用戶推送其感興趣的內容,因此也被稱為“推”(push)模式,即系統(tǒng)推送內容給用戶。智能推薦系統(tǒng)和用戶在不斷改變和“馴化”對方,用戶習慣的改變既是這個過程的一個原因,也是其中一個結果。四、用戶習慣的改變從用戶的角度看,智能推薦系統(tǒng)迅速發(fā)展的一個第2節(jié)關聯(lián)規(guī)則推薦算法一、關聯(lián)規(guī)則推薦算法的起源、應用和發(fā)展關聯(lián)規(guī)則推薦算法的起源:關于關聯(lián)規(guī)則算法的起源,人們普遍認為它源于“啤酒和紙尿褲”的故事。在物質條件、技術條件、用戶群體形成和用戶習慣養(yǎng)成的基礎上,想要真正搭建一個算法推薦平臺,需要實現具體的推薦算法。在20世紀80年代,美國連鎖超市沃爾瑪公司有一些銷售人員想對銷售記錄進行分析,以改進商品的銷量。經過數據分析,他們發(fā)現很多銷售小票上都同時出現了“啤酒”和“紙尿褲”這兩樣商品。而直觀上看,“啤酒”和“紙尿褲”是兩種完全不同的商品,其屬性、受眾和使用場景都非常不一樣,其共現似乎與一般的消費行為是相悖的。那么,它們?yōu)槭裁磿l繁地出現在同一次購買記錄里呢?分析人員推論認為,對于有嬰幼兒的家庭,如果由父親去超市進行日用品采購,則紙尿褲通常是列在采購清單的;同時,父親們也順便給自己購買了啤酒,因此導致這兩種看起來不相關的商品能頻繁出現在同一次購買中。針對這樣的發(fā)現,超市排貨架的人員可以進行貨品擺放的調整,把啤酒和紙尿褲放到靠近的位置,來提高兩種商品的銷售額度?!捌【坪图埬蜓潯钡墓适率堑湫偷年P聯(lián)規(guī)則應用的例子。通過計算,對于存在較高關聯(lián)性的若干類產品、項目或內容,可以給相關用戶或者受眾進行推薦,以達到更好的推薦效果。其中,“共同出現”就是一種關聯(lián)規(guī)則。第2節(jié)關聯(lián)規(guī)則推薦算法一、關聯(lián)規(guī)則推薦算法的起源、應用和發(fā)關聯(lián)規(guī)則推薦算法的應用:關聯(lián)規(guī)則推薦(關聯(lián)規(guī)則發(fā)現)也稱“購物籃分析”。購物籃分析的名字沿用了“啤酒和紙尿褲”的案例,目的是想了解用戶究竟會把哪些商品放入自己的購物籃,也就是哪些商品之間更具有相關性。從廣義上講,“購物籃分析”的目的就是研究事物之間的關聯(lián)性和依存性。關聯(lián)規(guī)則分析在金融、搜索引擎算法優(yōu)化以及智能推薦等多個領域均有廣泛的應用。在金融行業(yè)可以考慮理財產品與銀行零售客戶的交叉銷售分析。研究向銀行的哪些零售客戶推薦哪些理財產品能達到產品推薦的最優(yōu)化,這就需要進行銀行零售產品與理財產品的關聯(lián)分析。在搜索引擎算法優(yōu)化領域,用戶在搜索框輸入部分搜索關鍵詞時,搜索引擎即可推薦可能的完整搜索關鍵詞,這樣的過程稱為“搜索詞推薦”。它正是利用了關聯(lián)規(guī)則,在系統(tǒng)中檢索與用戶已經輸入的關鍵詞存在關聯(lián)性的詞語進行搜索關鍵詞補齊。例如,在搜索引擎中輸入“算法”時,因為“工程師”“導論”等詞與“算法”關聯(lián)性高,搜索引擎會嘗試將輸入的搜索關鍵詞補齊為“算法工程師”“算法導論”“算法推薦”等。在算法推薦系統(tǒng)的領域,例如,基于用戶興趣的實時新聞推薦系統(tǒng)就可以應用關聯(lián)規(guī)則的技術對用戶實時推薦其可能感興趣的新聞。即哪些新聞與用戶已讀新聞的關聯(lián)性更高,就將其推送給用戶。因此關聯(lián)規(guī)則推薦的應用場景為,算法試圖發(fā)現不同的商品或者內容之間的關聯(lián)關系,并且根據用戶的喜好,利用這些關系來對這些內容和產品進行打包推薦。關聯(lián)規(guī)則推薦算法的應用:關聯(lián)規(guī)則分析在金融、搜索引擎算法優(yōu)化關聯(lián)規(guī)則推薦算法的發(fā)展:1993年計算機科學家拉凱什·阿格拉瓦(RakeshAgrawal)等人首先提出了關聯(lián)規(guī)則的概念并給出了一個相應的關聯(lián)規(guī)則挖掘算法。由于該算法的性能并不太好,在1994年阿格拉瓦等人提出了著名的Apriori算法,該算法是一個經典的關聯(lián)規(guī)則發(fā)現算法。隨后在學界也有很多研究人員投入對關聯(lián)規(guī)則推薦算法的研究中,提出Apriori算法的改進版本以及其他新的關聯(lián)規(guī)則挖掘算法。著名的華人計算機科學家韓家煒教授也在數據挖掘、關聯(lián)規(guī)則推薦等相關領域做出了杰出貢獻。提要:關聯(lián)規(guī)則推薦算法起源于業(yè)界對于商品銷售相關性的分析研究,其基本原理是,有一定關聯(lián)性(相關性)的商品更容易被消費者同時購買。當前,關聯(lián)規(guī)則分析在算法推薦、搜索引擎乃至金融行業(yè)等多個領域都有廣泛應用。關聯(lián)規(guī)則推薦算法的發(fā)展:1993年計算機科學家拉凱什·阿格拉支持度(Support):在一定時間段內,A和B兩條內容在用戶使用系統(tǒng)閱讀內容時同時出現的概率,即A與B同時被閱讀的概率。以A表示內容A的閱讀數,B表示內容B的閱讀數,計算支持度的公式為:由于用戶的閱讀行為是線性的,即每個用戶在同一時間點只能閱讀一篇文章,因此將總閱讀數N理解為一段時間內所有用戶使用算法推薦系統(tǒng)次數的總和。支持度計算公式中,A∩B表示內容A和B在用戶使用一次算法推薦系統(tǒng)的過程中被閱讀,(A∩B)表示N次總閱讀數中,A和B同時被閱讀的次數。支持度的概念表示兩種內容有多大的可能性被同時閱讀,與集合論中“交集”的概念有相似之處。計算A、B兩個內容同時被閱讀的情況在總體的閱讀量中占多少,就相當于計算集合A(內容A的閱讀次數)與集合B(內容B的閱讀次數)交集部分占總共閱讀量的比例。二、關聯(lián)規(guī)則推薦算法的概念和原理支持度(Support):二、關聯(lián)規(guī)則推薦算法的概念和原理置信度(confidence):用戶讀完內容A之后再讀內容B的條件概率會有多大。計算置信度的公式為:其中,Freq(A∩B)的含義與支持度公式中的相同,表示內容A和B同時被閱讀的次數,Freq(A)則表示內容A被閱讀的次數。從集合的角度理解,圓形A表示閱讀內容A的用戶集合(以及次數),圓形B表示閱讀內容B的用戶集合(以及次數),則置信度考慮的是圖中交集部分C在集合A里的占比有多大,即用戶先讀A再讀B的概率有多大。因此,計算置信度公式的分母就不再是整體的閱讀量而是內容A的閱讀量。如果A和B之間的置信度較大,則表示讀過A內容的用戶會有較大可能去讀B內容,這就是置信度的含義。置信度(confidence):提升度(Lift):用戶先閱讀內容A對用戶閱讀內容B的概率的提升作用。計算公式如下:對公式進行變形,得到Lift=Support(A∩B)/Support(A)/Support(B),改寫后公式的含義為A和B交集的支持度先除以A的支持度再除以B的支持度。Support(A∩B)/Support(A)的含義是讀了內容A之后用戶有多大可能讀內容B(即A對B的影響),于是A對B的影響占內容B的所有閱讀量的比例,即為A對B的提升。提升度用于判斷規(guī)則是否真的有實際價值。即使用規(guī)則后(給閱讀A的用戶推薦B),被推薦內容(B)在其實際閱讀中的次數是否高于內容(B)單獨被閱讀的次數。通俗地講,就是讀了A的用戶去接受推薦閱讀B,占據全部閱讀內容B用戶的比例。相當于在系統(tǒng)中,先給用戶推薦內容A,再為其推薦內容B,是否會對閱讀B的總體用戶數有提升。如果使用規(guī)則導致B的閱讀次數增多,則A與B的關聯(lián)規(guī)則對推薦效果有提升作用。一般來說大于1表明關聯(lián)規(guī)則有效,小于1則說明關聯(lián)規(guī)則的效果不好,這就是提升度這個指標的含義。因此,對于關聯(lián)規(guī)則推薦算法,可以使用支持度、置信度和提升度來衡量關聯(lián)規(guī)則的效果。提升度(Lift):對公式進行變形,得到Lift=Suppo三、關聯(lián)規(guī)則挖掘:Apriori算法使用算法求得關聯(lián)規(guī)則之后,可以用支持度、置信度和提升度來量化地衡量這些規(guī)則。那么如何挖掘出這些規(guī)則呢?下面介紹一個“兩階段”式關聯(lián)規(guī)則挖掘算法。第一階段:從原始資料集中找出所有的高頻項目集合。所以第一步我們要從我們所有已知的資料集合中找出所有的高頻項目。仍然使用支持度來衡量一個由若干項目組成的集合出現的頻率,以一個包含A、B兩個項目的集合S為例,若S的支持度大于等于所設定的最小支持度門檻值,則S就是高頻項目集。算法逐個查找并產生包含1、2、3乃至更多個項目的高頻項目集合,直到無法再找到更長的高頻項目集合為止。第二階段:產生關聯(lián)規(guī)則。例如,高頻項目集合{A,B}產生規(guī)則AB,如果項目A、B之間的置信度大于系統(tǒng)要求的最小置信度,則稱AB為關聯(lián)規(guī)則。所以兩階段算法的過程是,第一步尋找經常一起出現的項目,第二步驗證項目之間的置信度并確認關聯(lián)規(guī)則。三、關聯(lián)規(guī)則挖掘:Apriori算法使用算法求得關聯(lián)規(guī)則之后Apriori算法:基于兩階段算法的思路,阿格拉瓦等人提出了Apriori算法,它是目前最有影響力的關聯(lián)規(guī)則挖掘算法。第一步算法產生頻繁的項集,第二步會產生只包含頻繁項的關聯(lián)規(guī)則,因此重點是頻繁項集和規(guī)則。對于用戶某一次打開算法推薦系統(tǒng)應用的行為,系統(tǒng)記錄如表5-1所示的用戶閱讀數據。例如,用戶閱讀行為001中,相應用戶在本次使用系統(tǒng)時閱讀了編號為1、3、4的這三篇文章;用戶閱讀行為002中,相應用戶閱讀了編號為、3、5的這三篇文章。假設最小支持度定為2。首先檢查長度為1的頻繁項目集合(即包含一個元素的頻繁項目集合)。把表5-1改造為表5-2所示的長度為1的閱讀項目集合。Apriori算法:基于兩階段算法的思路,阿格拉瓦等人提出了集合{1},{2},{3},{5}出現的次數都大于等于最小支持度2。也就是說在表5-1的數據集上,這些文章被閱讀的次數不少于兩次。而集合{4}僅在編號為001的用戶閱讀中出現一次,因此將其排除出頻繁項目,今后長度大于1的集合也不可能包含文章4了。于是生成了長度為1的頻繁項目集合,也就是,只考察一個項目時,哪些長度為1的集合能滿足最小支持度的要求,參見表5-3。對于集合{{1},{2},{3},{5}},在其基礎上可以進一步組合出來長度為2即包含兩個項目的頻繁項目集合。使用組合的方式得出如表5-4所示的可能的長度為2的候選頻繁項目集合。集合{1},{2},{3},{5}出現的次數都大于等于最小對于項目集合{1,2}和{1,5},文章1和2只在003這次閱讀里面共同出現過,文章1和5也只在003這次閱讀里面出現過,兩組的支持度都小于2,因此不可能作為頻繁項目集合,舍棄之。后續(xù)擴展出的長度為3、4、5乃至更多的頻繁項目集合也不可能包含文章1和2或者文章1和5同時出現的情況。及時舍棄不滿足要求的候選頻繁項目集合對于提升算法效率是一個有效的方法。由表5-4長度為2的候選頻繁項目集合,得出包括兩個項目的頻繁項目集合,如表5-5所示。最小支持度為2的前提下,它們是頻繁的。對于項目集合{1,2}和{1,5},文章1和2只在003接下來嘗試生成長度為3的頻繁項集了。把表5-5左列四組數據進行組合,組合出不重復的包含三個元素的集合。例如{1,2,3}、{1,3,5},由于{1,2}和{1,5}的支持度小于2,在它們的基礎上再擴展不可能擴展出頻繁項目集合,因此舍棄之。只有{2,3,5}這三項滿足同時被閱讀的關聯(lián)支持度不小于2,即閱讀行為002和003。因此{2,3,5}是一個頻繁項集。再往后擴展,表5-1示例數據中,不存在長度為4的頻繁項集。只有003這次閱讀涉及4篇文章,編號為1、2、3、5,但是{1,2,3,5}這個集合的支持度僅為1,所以包含4個條目的頻繁項集是不存在的。因此文章2、3、5是頻繁共現的,基于這一規(guī)則,系統(tǒng)就可以進行關聯(lián)推薦。譬如可以給讀了文章2和3的用戶推薦文章5,或者給讀了文章2和5的用戶推薦文章3,等等。在歷史數據的基礎上,Apriori算法按照指定的最小支持度,逐步擴展出長度為1、2、3乃至更多的頻繁項集,直至無法擴展。也就是,首先考察哪些文章會被頻繁地閱讀,然后考察哪兩篇文章在一起會被頻繁地閱讀,再考察哪三篇文章在一起會被頻繁地閱讀,依此類推,逐漸挖掘出同時頻繁出現的數篇文章。在此基礎上,得出關聯(lián)規(guī)則。接下來嘗試生成長度為3的頻繁項集了。把表5-5左列四組數據進關聯(lián)規(guī)則在推薦系統(tǒng)的應用:關聯(lián)規(guī)則挖掘的應用過程是這樣的:首先需要積累用戶的行為數據,否則一切無從談起。在用戶行為數據的基礎上,進行關聯(lián)規(guī)則的挖掘。使用的算法包括Apriori或者其他改進的算法。使用提升度來衡量挖掘出的關聯(lián)規(guī)則是否有用。形成有效規(guī)則之后,即可將其應用到推薦過程中。根據不同用戶的標簽,推薦與他們的標簽存在關聯(lián)關系的內容。由于不同用戶的標簽是不一樣的,因此其被關聯(lián)規(guī)則推薦的內容也是不一樣的,這就實現了個性化推薦。關聯(lián)規(guī)則在推薦系統(tǒng)的應用:關聯(lián)規(guī)則挖掘的應用過程是這樣的:關聯(lián)規(guī)則推薦算法再討論:首先,關聯(lián)規(guī)則推薦算法是從大量數據上進行相關挖掘,因此其計算量較大。但是可以使用離線計算的方式挖掘關聯(lián)規(guī)則,因此計算量大的問題不會對算法的應用造成太大影響。其次,關聯(lián)規(guī)則推薦算法需要采集用戶數據,所以不可避免地就會存在冷啟動和用戶數據稀疏性的問題。對于新用戶或者行為數據較少的用戶,如果想對此類用戶進行關聯(lián)推薦,就會存在數據量不足的問題。另外,系統(tǒng)中的熱門項目,容易存在被過度推薦的問題,這是因為關聯(lián)規(guī)則的挖掘是基于項目的頻繁程度生成的。熱門項目往往會出現在頻繁項目集合中,如果進行調配的話,就會存在熱門項目被過度推薦的“強者愈強”的現象。在真實系統(tǒng)中,通過對熱門項目降低權重,可以一定程度上緩解關聯(lián)規(guī)則推薦中熱門項目被過度推薦的問題。關聯(lián)規(guī)則推薦算法再討論:第3節(jié)推薦算法的評估對于推薦算法來說,存在一些對其進行評估的方法,包括在線評估和離線評估兩種。一、推薦算法的在線評估:AB測試在線評估:在推薦算法系統(tǒng)運行(“在線”)時對系統(tǒng)進行質量的評測。AB測試的方法和目的:AB測試是一種真實的線上測試。在同一時間段內在系統(tǒng)中運行多種被測試方案,這些方案之間只有一個變量不同,因此可以對比這一個變量對于系統(tǒng)的作用。在AB測試中,需要提前設定明確的評價指標體系。AB測試將真實的線上用戶進行隨機分組,對不同分組提供不同的被測試方案。在一次實驗之中,特定用戶只能接觸一個方案。AB測試的目的是通過科學的實驗設計,把用戶分成不同的樣本,通過導流把用戶導向不同的流量中去,通過每一個小流量的測試來獲得具有代表性的實驗結果,然后再試圖把實驗結果推廣到全網運行。第3節(jié)推薦算法的評估對于推薦算法來說,存在一些對其進行評估AB測試應用場景:1.優(yōu)化用戶體驗計算機系統(tǒng)與用戶交互的中介稱為“用戶接口”或“用戶界面”,目前多以圖形用戶界面為主。對于用戶來說,對系統(tǒng)功能最直觀的體驗就是用戶界面是否好用。為了優(yōu)化用戶體驗,可以根據既往的用戶體驗數據構建界面優(yōu)化的假設,并使用AB測試進行驗證,了解界面元素如何影響用戶行為。2.優(yōu)化轉化率在電子商務領域有一個重要的概念“轉化率”,通俗地理解就是用戶的真實購買行為在用戶點擊網上某款商品行為數的占比情況。對于電子商務網站的商家,轉化率的優(yōu)化是一個重要目標。商家可以通過改進用戶的體驗來提高某個目標的轉化率,例如通過AB測試來嘗試和驗證調整標題、圖片等等頁面元素是否可以優(yōu)化轉化率。3.優(yōu)化在線廣告對于在線廣告,可以設計不同的版本投放給多組用戶,統(tǒng)計哪個版本的廣告更能吸引用戶點擊,什么樣的設計能夠把訪客轉化為客戶,達到在線廣告的優(yōu)化。4.優(yōu)化算法以智能推薦算法為例,想要衡量不同的算法對于推薦效果的提升作用,也可以使用AB測試。AB測試應用場景:1.優(yōu)化用戶體驗AB測試的測評指標:1.點擊率點擊率是指在系統(tǒng)推薦給某個用戶的內容中被點擊內容的占比。假設系統(tǒng)一共向某個用戶推薦了n條內容,但是用戶未必全部點擊和查看,令用戶點擊的內容數為m,則在這次測試的過程中,這個用戶的點擊率為點擊率越高,就有越多的系統(tǒng)推薦內容被用戶點擊和閱讀,算法推薦系統(tǒng)的效果就越好。2.轉化率對于商品來說,轉換率是指系統(tǒng)推薦商品的銷售額與總銷售額的比率。這個指標衡量系統(tǒng)的推薦行為有沒有提升總的銷售額。對于內容來說,轉換率就是系統(tǒng)推薦內容的點擊量或閱讀時長與總體的點擊量或者是閱讀時長的比例。如果系統(tǒng)的推薦能夠提高點擊量和閱讀時長,則在總體的點擊量和閱讀時長上,被推薦內容的占比就會更高,轉換率也就更高。則AB測試中對應的一個版本對推薦性能的提高效果更好。也就是說,轉換率越高,推薦效果越好。提要:AB測試對多組用戶提供多個版本的系統(tǒng)進行對比,同一個用戶只能看到一個版本,通過被試用戶的行為數據統(tǒng)計不同版本的優(yōu)劣,選擇點擊率、轉換率等指標更高的版本作為優(yōu)化版本大規(guī)模推廣。AB測試的測評指標:1.點擊率提要:二、推薦算法的離線評估離線評估:準確度指標準確率衡量查得準不準,即算法推薦的內容是不

溫馨提示

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

評論

0/150

提交評論