版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
算法新聞AlgorithmicJournalism算法新聞AlgorithmicJournalism智能推薦算法本章要點關(guān)鍵詞第5章本章圍繞智能推薦算法的起源、發(fā)展、應(yīng)用和評估展開。首先介紹智能推薦系統(tǒng)的發(fā)端,即智能推薦系統(tǒng)得以發(fā)源和發(fā)展的多種前置技術(shù)條件和準備,包括大數(shù)據(jù)技術(shù)、機器學習算法、移動互聯(lián)網(wǎng)的發(fā)展以及用戶特點的變化。接下來,以關(guān)聯(lián)規(guī)則推薦算法為例,具體介紹智能推薦算法的原理和過程、可能的改進及其演進方向。最后介紹如何對推薦算法進行評估,幫助算法推薦系統(tǒng)篩選最合適的算法。智能推薦系統(tǒng)、大數(shù)據(jù)技術(shù)、機器學習算法、關(guān)聯(lián)規(guī)則推薦算法智能推薦算法本章要點關(guān)鍵詞第5章本章圍繞智能推薦算法的起源、第1節(jié)智能推薦系統(tǒng)的發(fā)端目前,接入互聯(lián)網(wǎng)的設(shè)備特別是通過移動互聯(lián)網(wǎng)接入的移動終端設(shè)備之上,各種各樣的應(yīng)用軟件層出不窮。其中一個不容忽視的趨勢就是智能推薦系統(tǒng)正在熱火朝天地發(fā)展和壯大,越來越多的應(yīng)用軟件系統(tǒng)引入智能推薦算法,用以實現(xiàn)更好的個性化內(nèi)容呈現(xiàn)和精準送達。存在怎樣的技術(shù)準備和前置條件來支持這些智能推薦算法以及智能推薦系統(tǒng)呢?有四個主要條件:(1)大數(shù)據(jù)技術(shù)的發(fā)展以及開源大數(shù)據(jù)處理平臺的普及。(2)機器學習算法的突破。(3)移動互聯(lián)網(wǎng)的繁榮發(fā)展。(4)用戶習慣的改變。第1節(jié)智能推薦系統(tǒng)的發(fā)端目前,接入互聯(lián)網(wǎng)的設(shè)備特別是通過移在當前的時間節(jié)點上,大數(shù)據(jù)不論是對于自然科學及人文社會科學,還是對于工業(yè)界,均具有重要意義。從數(shù)據(jù)的產(chǎn)生來看,每一個個體用戶,都是大數(shù)據(jù)的貢獻者,都為海量數(shù)據(jù)的生成提供了源數(shù)據(jù)。一、開源大數(shù)據(jù)處理平臺的普及“大數(shù)據(jù)”從數(shù)據(jù)量級的角度來說到底有多“大”?在辦公領(lǐng)域,以電子郵件系統(tǒng)為例,全球范圍內(nèi)每秒會發(fā)出數(shù)百萬封電子郵件。在視頻分享和推薦領(lǐng)域,YouTube網(wǎng)站的流量數(shù)據(jù)總量超過百億,每天新增總播放時長達數(shù)萬小時的視頻,并且其單日瀏覽量也達數(shù)億甚至數(shù)十億。在社交媒體領(lǐng)域,截至2017年底,新浪微博月閱讀量超百億的垂直領(lǐng)域達25個,微博內(nèi)容存量已超過千億,微博搜索月活躍用戶近1億(參見微博數(shù)據(jù)中心《2017微博用戶發(fā)展報告》)。在電子商務(wù)領(lǐng)域,2018年“雙11”電商購物節(jié)期間,來自商務(wù)部的數(shù)據(jù)顯示,全國網(wǎng)絡(luò)零售交易額超過3000億元。在網(wǎng)絡(luò)應(yīng)用領(lǐng)域,谷歌搜索引擎每天需要處理24PB級別的數(shù)據(jù)。在算法智能推薦系統(tǒng)領(lǐng)域,截至2017年12月,今日頭條系統(tǒng)一共有3億用戶,日活躍用戶量超過3000萬,系統(tǒng)的日均點擊量大概是5億次,每個用戶的平均使用時長為47分鐘。在當前的時間節(jié)點上,大數(shù)據(jù)不論是對于自然科學及人文社會科學,支撐大數(shù)據(jù)的硬件平臺針對海量的數(shù)據(jù),需要相應(yīng)的硬件來完成這些數(shù)據(jù)的采集、存儲和計算。從數(shù)據(jù)體量的角度,目前的大數(shù)據(jù)量級已經(jīng)達到了PB級別。補充:PB是英文Pega
Byte的縮寫,其中B是英文byte的縮寫,即“字節(jié)”。通常,個人電腦硬盤的存儲容量是GB(Giga
Byte,吉字節(jié),又稱“千兆”)級別的,如256GB、512GB等。此處,1GB=1024MB,1MB(Mega
Byte,兆字節(jié),簡稱“兆”)=1024kb,1kb(Kilobyte,千字節(jié))=1024B。由于大數(shù)據(jù)的量級呈現(xiàn)幾何方式的增長,傳統(tǒng)的硬件架構(gòu)已經(jīng)很難滿足需求。巨大的PB級別數(shù)據(jù)量級對于數(shù)據(jù)的采集和存儲都提出了新的要求,通俗地講,就是要求大數(shù)據(jù)系統(tǒng)既能存得下數(shù)據(jù)又能快速讀寫,并且在足夠短的時間里完成計算。通常,存儲系統(tǒng)的升級并不僅僅指存儲容量升級,系統(tǒng)對其他資源也有額外的需求,如I/O帶寬和計算能力。也就是說,為了支持海量數(shù)據(jù)的存儲和計算,需要高性能的計算和存儲設(shè)備完成大數(shù)據(jù)上的分析和計算任務(wù),因此,大數(shù)據(jù)計算系統(tǒng)的硬件會體現(xiàn)出大存儲容量、多主機、多CPU、高速運算、高速I/O、數(shù)百GB內(nèi)存等特點。為了應(yīng)對不斷增長的數(shù)據(jù),目前常見的大數(shù)據(jù)系統(tǒng)擴展方式有縱向擴展和橫向擴展兩種??v向擴展:主要是利用已有的存儲系統(tǒng)架構(gòu),通過不斷增加存儲容量來滿足數(shù)據(jù)增長的需求。橫向擴展:進行系統(tǒng)升級,通過增加獨立的設(shè)備來提高系統(tǒng)的運算能力。支撐大數(shù)據(jù)的硬件平臺針對海量的數(shù)據(jù),需要相應(yīng)的硬件來完成這些大數(shù)據(jù)的軟件計算框架從軟件方面來說,大數(shù)據(jù)系統(tǒng)還需要實現(xiàn)大數(shù)據(jù)的計算框架。從軟件功能的角度,存在存儲”和“計算”這兩種類型的大數(shù)據(jù)計算框架。大數(shù)據(jù)存儲框架(Hadoop+HDFS)目前,開源的大數(shù)據(jù)存儲平臺主要是基于Hadoop平臺實現(xiàn)的。Hadoop是一種分布式系統(tǒng)基礎(chǔ)架構(gòu),用戶可以在不了解分布式底層細節(jié)的情況下,開發(fā)分布式程序,充分利用集群的計算能力進行高速運算和存儲?;贖adoop技術(shù)的大數(shù)據(jù)存儲平臺實現(xiàn)了海量數(shù)據(jù)的分布式存儲,在存儲方面實現(xiàn)了一個分布式的文件存儲系統(tǒng)HDFS,即Hadoop分布式文件系統(tǒng)(Hadoop
distribute
file
system)。針對海量數(shù)據(jù)的分布存儲,可以降低存儲設(shè)備的單點壓力,提高存儲的容錯能力。因此,大數(shù)據(jù)系統(tǒng)的內(nèi)部實現(xiàn)可以由Hadoop平臺加上分布式文件系統(tǒng)來支撐存儲功能。2.大數(shù)據(jù)計算框架(1)離線計算(MapReduce)早期的大數(shù)據(jù)計算框架技術(shù)主要采取離線計算的方式。在運算過程中,首先通過對計算任務(wù)的分解,把數(shù)據(jù)集切分為多個分片;隨后,每一次運算從硬盤加載一部分數(shù)據(jù)分片并分配到集群中不同的機器上進行計算,其中,需要把一些必要的中間結(jié)果保存到硬盤上(HDFS);然后再由后續(xù)的運算模塊把中間結(jié)果讀到內(nèi)存,再進行合并計算,求出結(jié)果后,將其寫到硬盤,完成一次離線的分布式計算。離線計算適用于單次計算任務(wù)對完成時間的要求不高并且單次計算任務(wù)通常不需要反復執(zhí)行的計算場景,如機器學習模型的訓練。大數(shù)據(jù)的軟件計算框架從軟件方面來說,大數(shù)據(jù)系統(tǒng)還需要實現(xiàn)大數(shù)大數(shù)據(jù)的軟件計算框架(2)在線計算(Spark)隨著對計算性能要求的提高,某些在大數(shù)據(jù)集合上的計算也需要達到實時或者準實時的標準。為了實現(xiàn)在線級別的大數(shù)據(jù)計算,可以在Hadoop和HDFS平臺的基礎(chǔ)上搭建Spark計算平臺。Spark是快速通用的大規(guī)模數(shù)據(jù)計算引擎。與離線計算不同的是,在線計算的中間輸出結(jié)果可以保存在內(nèi)存中,從而不再需要讀寫HDFS,有效地減少I/O,提高系統(tǒng)效率,因此Spark能更好地適用于需要重復進行的計算場景。從底層存儲來看,以上離線計算和在線計算的大數(shù)據(jù)框架在存儲層面,都是在Hadoop分布式文件系統(tǒng)上存儲的。二者的區(qū)別在于計算過程是否需要反復讀取硬盤數(shù)據(jù),從而區(qū)分出在線計算和離線計算兩種情況。提要:為了處理和計算來自各行各業(yè)的大數(shù)據(jù),大數(shù)據(jù)的硬件、軟件技術(shù)手段應(yīng)運而生并不斷向前演進,服務(wù)于大數(shù)據(jù)的存儲、分析和價值發(fā)現(xiàn)。大數(shù)據(jù)的軟件計算框架(2)在線計算(Spark)二、機器學習算法的突破機器學習算法的基本原理:機器學習是一門研究算法的學科,簡單地講就是研究如何讓計算機根據(jù)以往的經(jīng)驗去適應(yīng)新的環(huán)境。這里“以往的經(jīng)驗”指的是歷史數(shù)據(jù);“適應(yīng)”指的是通過對歷史數(shù)據(jù)的研究分析,建立一種映射關(guān)系;“新的環(huán)境”是指新產(chǎn)生的需要計算的數(shù)據(jù)。當新數(shù)據(jù)輸入機器學習建立的函數(shù)中時,會產(chǎn)生符合歷史數(shù)據(jù)規(guī)律的新輸出。機器學習本質(zhì)上是研究自學習算法的科學,這些算法用于幫助機器進行自我學習來解決問題。二、機器學習算法的突破機器學習算法的基本原理:案例:假設(shè)我們想訓練一個機器學習模型識別出貓。于是,我們可以提供給機器學習算法一定數(shù)量的已經(jīng)標注為“貓”的圖片,需要盡可能包括正面、側(cè)面、背面等多種角度。對于機器學習算法來說,這些圖片就是已有數(shù)據(jù)中的輸入數(shù)據(jù),我們使用這樣的一些數(shù)據(jù)來訓練動物識別器,而其對應(yīng)的已知輸出數(shù)據(jù)則是對這些圖片所含動物類別的標記,對應(yīng)于此類輸入圖片,機器學習算法已知其標記均為“貓”。機器學習算法會從多張貓的圖片中學習其共性特征,如兩只尖耳朵,兩只眼睛,有毛,有尾巴等等(“尖耳朵”“眼睛”“毛”“尾巴”是為了文字表述方便而闡述的特征,實際上在機器學習算法中它們對應(yīng)的是若干個維度的數(shù)值屬性)。機器學習算法把“貓”的這些特征識別出來,認為滿足這些特征的圖片都是含有貓的圖片,就完成了模擬人類進行歸納總結(jié)的過程。模型訓練好之后,算法再遇到滿足此類特征的圖片,即可識別其為含有貓的圖片,就完成了演繹推理的過程。對于機器學習算法來說,為了提高模型的準確度,需要提供足夠的訓練數(shù)據(jù)。所謂“足夠”,一方面是數(shù)據(jù)量大,另一方面是能覆蓋盡量多的可能性。例如圖中所示三張圖中的貓都是尖耳朵并且有毛的貓,如果全部訓練數(shù)據(jù)都是類似品種的貓的圖片,那么訓練完成后,如果識別算法遇到了折耳貓或是無毛貓的圖片,識別的準確度就會受到影響,不一定能將其正確標注。案例:常見的機器學習算法:下面以一個文本分類的任務(wù)為例,簡要介紹這些機器學習算法。文本分類任務(wù)的已有數(shù)據(jù)是一個新聞?wù)Z料文檔集,包括多篇多種類別的新聞,如體育新聞、財經(jīng)新聞等。(1)無監(jiān)督的機器學習算法(“聚類”算法)針對新聞文本分類任務(wù),算法事先并不知道每一篇新聞文檔的類別是什么,以及共有多少種類別,此時把語料庫的文檔全部送到機器學習算法中,讓它對輸入數(shù)據(jù)進行自學習,區(qū)分并生成若干種可能的新聞文檔類別,這種情況下的機器學習算法就是無監(jiān)督的機器學習。(2)有監(jiān)督的機器學習算法(“分類”算法)與無監(jiān)督的機器學習算法相對。所謂有監(jiān)督的學習是指給算法提供一定數(shù)量的訓練數(shù)據(jù)。此時需要事先標記好一定數(shù)量的新聞文本,即每一篇新聞是什么類型的。在這種情況下,文檔庫中共有多少種新聞類別以及每種新聞的分類是什么都是預先指定好的。因此,這類機器學習算法也稱為“分類”算法,對應(yīng)的模型稱為“分類器”。利用已經(jīng)標記好的新聞文檔及其所屬分類數(shù)據(jù),就可以對分類器進行訓練。在訓練過程中分類器會學習每個類別新聞的特征。當分類器把每一種新聞類別的特征都學習好之后,即完成了對分類器的訓練。隨后,對于新的輸入數(shù)據(jù),即類別未知的新聞文檔,就不需要進行人工的新聞分類了,分類器就可以自動地給新的文檔找到相應(yīng)的類別并對文檔進行類別標記。常見的機器學習算法:(3)基于對抗生成網(wǎng)絡(luò)的算法其原理是,對于已經(jīng)訓練到一定程度的模型,實現(xiàn)者會嘗試輸入一些反例。例如故意標記一篇社會新聞文檔D為國際新聞,如果模型已經(jīng)訓練到足夠準確,那么模型就可以直接識別出文檔D并不是標記的那種類型(國際新聞)。這時候算法模型可以更加專注于了解文檔D為什么不是國際新聞類的新聞,把相關(guān)的特點抽出來,放到對抗生成網(wǎng)絡(luò)里,就能更好地幫助算法模型認識到文檔的哪些特征能更好地表征所屬類別的特點。所以在模型訓練過程中,把一些反例輸入模型,讓算法在反例輸入的情況下,對抗反例數(shù)據(jù),提高自己的學習能力。(4)基于卷積神經(jīng)網(wǎng)絡(luò)的算法基于卷積神經(jīng)網(wǎng)絡(luò)的算法可以實現(xiàn)對圖像數(shù)據(jù)的有效分析和處理。對于一幅圖像來說,可以將其分成m×n個像素或者m×n個小格子。最簡單的方法就是認為這幅圖像一共有m×n個特征(每個像素或小格子是一個特征)。如果圖像比較大,圖像就被建模為高維特征對象,相應(yīng)的處理算法需要面對高維數(shù)據(jù),運算量大,對算力的要求高,導致效率受到限制。因此,考慮如何對高維數(shù)據(jù)進行抽象,使用一個比較小的矩陣,來表述這幅圖的特征??梢圆捎玫姆椒ㄊ牵盐恢门R近的若干個格子聚合起來,例如將每k×k個格子提煉為一個特征(k小于m和n)。通過這樣的處理,就可以把數(shù)據(jù)特征的維度降低,從而在較低維度數(shù)據(jù)上進行機器學習模型的訓練。提要:目前已知的多種機器學習算法(如有監(jiān)督的學習、無監(jiān)督的學習、對抗生成網(wǎng)絡(luò)算法以及卷積神經(jīng)網(wǎng)絡(luò)算法等)在算法推薦系統(tǒng)均有一定程度的應(yīng)用。在真實系統(tǒng)中,往往是綜合考慮具體的情況和應(yīng)用場景,綜合使用幾種算法,以達到更好的效果。(3)基于對抗生成網(wǎng)絡(luò)的算法三、移動互聯(lián)網(wǎng)的繁榮2018年8月,中國互聯(lián)網(wǎng)絡(luò)信息中心在北京發(fā)布第42次《中國互聯(lián)網(wǎng)絡(luò)發(fā)展狀況統(tǒng)計報告》。截至2018年6月30日,中國網(wǎng)民規(guī)模達8.02億,其中手機網(wǎng)民規(guī)模已達7.88億,網(wǎng)民通過手機接入互聯(lián)網(wǎng)的比例高達98.3%。移動互聯(lián)網(wǎng)及其上承載的應(yīng)用已經(jīng)廣泛地深入人們衣食住行的方方面面。互聯(lián)網(wǎng)以及移動互聯(lián)網(wǎng)業(yè)務(wù)的發(fā)展脈絡(luò):1980年到1990年的個人電腦時代,互聯(lián)網(wǎng)上開始出現(xiàn)一些簡單的搜索引擎,回應(yīng)用戶的網(wǎng)絡(luò)導航需求,如雅虎等搜索引擎可以提供靜態(tài)的導航信息。Web1.0時代:1990年到2000年,針對互聯(lián)網(wǎng)上的應(yīng)用需求,谷歌公司發(fā)布了谷歌搜索引擎,通過分析用戶搜索的信息更好地滿足用戶需求。Web2.0時代:2000年到2010年,基于Web2.0技術(shù)出現(xiàn)了語義網(wǎng)絡(luò)以及其上的語義搜索技術(shù)。臉書等在線社交媒體逐漸興起,用戶可以創(chuàng)造內(nèi)容并上傳,給互聯(lián)網(wǎng)用戶創(chuàng)造了自我表達和在線連接等新需求。在中國,也出現(xiàn)了微博、微信等新的社交媒體平臺。因此,有人將2010年至2020年階段稱為Web3.0時代。在這一階段,移動互聯(lián)網(wǎng)的業(yè)務(wù)品類和流量均呈現(xiàn)大爆發(fā)。大數(shù)據(jù)及大數(shù)據(jù)技術(shù)平臺提供了對移動互聯(lián)網(wǎng)各種新業(yè)務(wù)的有效支持,多種個性化的算法推薦系統(tǒng)也應(yīng)運而生并廣泛流傳。三、移動互聯(lián)網(wǎng)的繁榮2018年8月,中國互聯(lián)網(wǎng)絡(luò)信息中心在北四、用戶習慣的改變從用戶的角度看,智能推薦系統(tǒng)迅速發(fā)展的一個重要原因在于用戶習慣的改變。用戶習慣變化的原因:內(nèi)容分發(fā)的去中心化。在以往中心化內(nèi)容分發(fā)的模式下,用戶可見可讀的內(nèi)容是由數(shù)量有限的內(nèi)容提供方呈現(xiàn)的,用戶可選擇的余地較小,因此,智能推薦系統(tǒng)產(chǎn)生的基礎(chǔ)條件并不具備,也就不存在智能的個性化推薦。大數(shù)據(jù)基礎(chǔ)上的個性化內(nèi)容需求。隨著內(nèi)容非中心分發(fā)形式的發(fā)展,呈獻給用戶的內(nèi)容品類和數(shù)量均在快速增長。由于每個用戶的興趣和關(guān)注點各不相同,因此在海量內(nèi)容池基礎(chǔ)上對內(nèi)容提出個性化需求具有了數(shù)據(jù)準備。內(nèi)容獲取方式的改變。以往的閱讀和觀看習慣通常是用戶主動尋找感興趣的內(nèi)容,這也被稱為“拉”(pull)模式,即用戶尋找內(nèi)容。面對海量的內(nèi)容數(shù)據(jù),用戶很難從中選出真正滿足自己興趣和需求的內(nèi)容,因此出現(xiàn)了算法推薦系統(tǒng),它主動從海量內(nèi)容中進行過濾篩選,為用戶推送其感興趣的內(nèi)容,因此也被稱為“推”(push)模式,即系統(tǒng)推送內(nèi)容給用戶。智能推薦系統(tǒng)和用戶在不斷改變和“馴化”對方,用戶習慣的改變既是這個過程的一個原因,也是其中一個結(jié)果。四、用戶習慣的改變從用戶的角度看,智能推薦系統(tǒng)迅速發(fā)展的一個第2節(jié)關(guān)聯(lián)規(guī)則推薦算法一、關(guān)聯(lián)規(guī)則推薦算法的起源、應(yīng)用和發(fā)展關(guān)聯(lián)規(guī)則推薦算法的起源:關(guān)于關(guān)聯(lián)規(guī)則算法的起源,人們普遍認為它源于“啤酒和紙尿褲”的故事。在物質(zhì)條件、技術(shù)條件、用戶群體形成和用戶習慣養(yǎng)成的基礎(chǔ)上,想要真正搭建一個算法推薦平臺,需要實現(xiàn)具體的推薦算法。在20世紀80年代,美國連鎖超市沃爾瑪公司有一些銷售人員想對銷售記錄進行分析,以改進商品的銷量。經(jīng)過數(shù)據(jù)分析,他們發(fā)現(xiàn)很多銷售小票上都同時出現(xiàn)了“啤酒”和“紙尿褲”這兩樣商品。而直觀上看,“啤酒”和“紙尿褲”是兩種完全不同的商品,其屬性、受眾和使用場景都非常不一樣,其共現(xiàn)似乎與一般的消費行為是相悖的。那么,它們?yōu)槭裁磿l繁地出現(xiàn)在同一次購買記錄里呢?分析人員推論認為,對于有嬰幼兒的家庭,如果由父親去超市進行日用品采購,則紙尿褲通常是列在采購清單的;同時,父親們也順便給自己購買了啤酒,因此導致這兩種看起來不相關(guān)的商品能頻繁出現(xiàn)在同一次購買中。針對這樣的發(fā)現(xiàn),超市排貨架的人員可以進行貨品擺放的調(diào)整,把啤酒和紙尿褲放到靠近的位置,來提高兩種商品的銷售額度?!捌【坪图埬蜓潯钡墓适率堑湫偷年P(guān)聯(lián)規(guī)則應(yīng)用的例子。通過計算,對于存在較高關(guān)聯(lián)性的若干類產(chǎn)品、項目或內(nèi)容,可以給相關(guān)用戶或者受眾進行推薦,以達到更好的推薦效果。其中,“共同出現(xiàn)”就是一種關(guān)聯(lián)規(guī)則。第2節(jié)關(guān)聯(lián)規(guī)則推薦算法一、關(guān)聯(lián)規(guī)則推薦算法的起源、應(yīng)用和發(fā)關(guān)聯(lián)規(guī)則推薦算法的應(yīng)用:關(guān)聯(lián)規(guī)則推薦(關(guān)聯(lián)規(guī)則發(fā)現(xiàn))也稱“購物籃分析”。購物籃分析的名字沿用了“啤酒和紙尿褲”的案例,目的是想了解用戶究竟會把哪些商品放入自己的購物籃,也就是哪些商品之間更具有相關(guān)性。從廣義上講,“購物籃分析”的目的就是研究事物之間的關(guān)聯(lián)性和依存性。關(guān)聯(lián)規(guī)則分析在金融、搜索引擎算法優(yōu)化以及智能推薦等多個領(lǐng)域均有廣泛的應(yīng)用。在金融行業(yè)可以考慮理財產(chǎn)品與銀行零售客戶的交叉銷售分析。研究向銀行的哪些零售客戶推薦哪些理財產(chǎn)品能達到產(chǎn)品推薦的最優(yōu)化,這就需要進行銀行零售產(chǎn)品與理財產(chǎn)品的關(guān)聯(lián)分析。在搜索引擎算法優(yōu)化領(lǐng)域,用戶在搜索框輸入部分搜索關(guān)鍵詞時,搜索引擎即可推薦可能的完整搜索關(guān)鍵詞,這樣的過程稱為“搜索詞推薦”。它正是利用了關(guān)聯(lián)規(guī)則,在系統(tǒng)中檢索與用戶已經(jīng)輸入的關(guān)鍵詞存在關(guān)聯(lián)性的詞語進行搜索關(guān)鍵詞補齊。例如,在搜索引擎中輸入“算法”時,因為“工程師”“導論”等詞與“算法”關(guān)聯(lián)性高,搜索引擎會嘗試將輸入的搜索關(guān)鍵詞補齊為“算法工程師”“算法導論”“算法推薦”等。在算法推薦系統(tǒng)的領(lǐng)域,例如,基于用戶興趣的實時新聞推薦系統(tǒng)就可以應(yīng)用關(guān)聯(lián)規(guī)則的技術(shù)對用戶實時推薦其可能感興趣的新聞。即哪些新聞與用戶已讀新聞的關(guān)聯(lián)性更高,就將其推送給用戶。因此關(guān)聯(lián)規(guī)則推薦的應(yīng)用場景為,算法試圖發(fā)現(xiàn)不同的商品或者內(nèi)容之間的關(guān)聯(lián)關(guān)系,并且根據(jù)用戶的喜好,利用這些關(guān)系來對這些內(nèi)容和產(chǎn)品進行打包推薦。關(guān)聯(lián)規(guī)則推薦算法的應(yīng)用:關(guān)聯(lián)規(guī)則分析在金融、搜索引擎算法優(yōu)化關(guān)聯(lián)規(guī)則推薦算法的發(fā)展:1993年計算機科學家拉凱什·阿格拉瓦(RakeshAgrawal)等人首先提出了關(guān)聯(lián)規(guī)則的概念并給出了一個相應(yīng)的關(guān)聯(lián)規(guī)則挖掘算法。由于該算法的性能并不太好,在1994年阿格拉瓦等人提出了著名的Apriori算法,該算法是一個經(jīng)典的關(guān)聯(lián)規(guī)則發(fā)現(xiàn)算法。隨后在學界也有很多研究人員投入對關(guān)聯(lián)規(guī)則推薦算法的研究中,提出Apriori算法的改進版本以及其他新的關(guān)聯(lián)規(guī)則挖掘算法。著名的華人計算機科學家韓家煒教授也在數(shù)據(jù)挖掘、關(guān)聯(lián)規(guī)則推薦等相關(guān)領(lǐng)域做出了杰出貢獻。提要:關(guān)聯(lián)規(guī)則推薦算法起源于業(yè)界對于商品銷售相關(guān)性的分析研究,其基本原理是,有一定關(guān)聯(lián)性(相關(guān)性)的商品更容易被消費者同時購買。當前,關(guān)聯(lián)規(guī)則分析在算法推薦、搜索引擎乃至金融行業(yè)等多個領(lǐng)域都有廣泛應(yīng)用。關(guān)聯(lián)規(guī)則推薦算法的發(fā)展:1993年計算機科學家拉凱什·阿格拉支持度(Support):在一定時間段內(nèi),A和B兩條內(nèi)容在用戶使用系統(tǒng)閱讀內(nèi)容時同時出現(xiàn)的概率,即A與B同時被閱讀的概率。以A表示內(nèi)容A的閱讀數(shù),B表示內(nèi)容B的閱讀數(shù),計算支持度的公式為:由于用戶的閱讀行為是線性的,即每個用戶在同一時間點只能閱讀一篇文章,因此將總閱讀數(shù)N理解為一段時間內(nèi)所有用戶使用算法推薦系統(tǒng)次數(shù)的總和。支持度計算公式中,A∩B表示內(nèi)容A和B在用戶使用一次算法推薦系統(tǒng)的過程中被閱讀,(A∩B)表示N次總閱讀數(shù)中,A和B同時被閱讀的次數(shù)。支持度的概念表示兩種內(nèi)容有多大的可能性被同時閱讀,與集合論中“交集”的概念有相似之處。計算A、B兩個內(nèi)容同時被閱讀的情況在總體的閱讀量中占多少,就相當于計算集合A(內(nèi)容A的閱讀次數(shù))與集合B(內(nèi)容B的閱讀次數(shù))交集部分占總共閱讀量的比例。二、關(guān)聯(lián)規(guī)則推薦算法的概念和原理支持度(Support):二、關(guān)聯(lián)規(guī)則推薦算法的概念和原理置信度(confidence):用戶讀完內(nèi)容A之后再讀內(nèi)容B的條件概率會有多大。計算置信度的公式為:其中,F(xiàn)req(A∩B)的含義與支持度公式中的相同,表示內(nèi)容A和B同時被閱讀的次數(shù),F(xiàn)req(A)則表示內(nèi)容A被閱讀的次數(shù)。從集合的角度理解,圓形A表示閱讀內(nèi)容A的用戶集合(以及次數(shù)),圓形B表示閱讀內(nèi)容B的用戶集合(以及次數(shù)),則置信度考慮的是圖中交集部分C在集合A里的占比有多大,即用戶先讀A再讀B的概率有多大。因此,計算置信度公式的分母就不再是整體的閱讀量而是內(nèi)容A的閱讀量。如果A和B之間的置信度較大,則表示讀過A內(nèi)容的用戶會有較大可能去讀B內(nèi)容,這就是置信度的含義。置信度(confidence):提升度(Lift):用戶先閱讀內(nèi)容A對用戶閱讀內(nèi)容B的概率的提升作用。計算公式如下:對公式進行變形,得到Lift=Support(A∩B)/Support(A)/Support(B),改寫后公式的含義為A和B交集的支持度先除以A的支持度再除以B的支持度。Support(A∩B)/Support(A)的含義是讀了內(nèi)容A之后用戶有多大可能讀內(nèi)容B(即A對B的影響),于是A對B的影響占內(nèi)容B的所有閱讀量的比例,即為A對B的提升。提升度用于判斷規(guī)則是否真的有實際價值。即使用規(guī)則后(給閱讀A的用戶推薦B),被推薦內(nèi)容(B)在其實際閱讀中的次數(shù)是否高于內(nèi)容(B)單獨被閱讀的次數(shù)。通俗地講,就是讀了A的用戶去接受推薦閱讀B,占據(jù)全部閱讀內(nèi)容B用戶的比例。相當于在系統(tǒng)中,先給用戶推薦內(nèi)容A,再為其推薦內(nèi)容B,是否會對閱讀B的總體用戶數(shù)有提升。如果使用規(guī)則導致B的閱讀次數(shù)增多,則A與B的關(guān)聯(lián)規(guī)則對推薦效果有提升作用。一般來說大于1表明關(guān)聯(lián)規(guī)則有效,小于1則說明關(guān)聯(lián)規(guī)則的效果不好,這就是提升度這個指標的含義。因此,對于關(guān)聯(lián)規(guī)則推薦算法,可以使用支持度、置信度和提升度來衡量關(guān)聯(lián)規(guī)則的效果。提升度(Lift):對公式進行變形,得到Lift=Suppo三、關(guān)聯(lián)規(guī)則挖掘:Apriori算法使用算法求得關(guān)聯(lián)規(guī)則之后,可以用支持度、置信度和提升度來量化地衡量這些規(guī)則。那么如何挖掘出這些規(guī)則呢?下面介紹一個“兩階段”式關(guān)聯(lián)規(guī)則挖掘算法。第一階段:從原始資料集中找出所有的高頻項目集合。所以第一步我們要從我們所有已知的資料集合中找出所有的高頻項目。仍然使用支持度來衡量一個由若干項目組成的集合出現(xiàn)的頻率,以一個包含A、B兩個項目的集合S為例,若S的支持度大于等于所設(shè)定的最小支持度門檻值,則S就是高頻項目集。算法逐個查找并產(chǎn)生包含1、2、3乃至更多個項目的高頻項目集合,直到無法再找到更長的高頻項目集合為止。第二階段:產(chǎn)生關(guān)聯(lián)規(guī)則。例如,高頻項目集合{A,B}產(chǎn)生規(guī)則AB,如果項目A、B之間的置信度大于系統(tǒng)要求的最小置信度,則稱AB為關(guān)聯(lián)規(guī)則。所以兩階段算法的過程是,第一步尋找經(jīng)常一起出現(xiàn)的項目,第二步驗證項目之間的置信度并確認關(guān)聯(lián)規(guī)則。三、關(guān)聯(lián)規(guī)則挖掘:Apriori算法使用算法求得關(guān)聯(lián)規(guī)則之后Apriori算法:基于兩階段算法的思路,阿格拉瓦等人提出了Apriori算法,它是目前最有影響力的關(guān)聯(lián)規(guī)則挖掘算法。第一步算法產(chǎn)生頻繁的項集,第二步會產(chǎn)生只包含頻繁項的關(guān)聯(lián)規(guī)則,因此重點是頻繁項集和規(guī)則。對于用戶某一次打開算法推薦系統(tǒng)應(yīng)用的行為,系統(tǒng)記錄如表5-1所示的用戶閱讀數(shù)據(jù)。例如,用戶閱讀行為001中,相應(yīng)用戶在本次使用系統(tǒng)時閱讀了編號為1、3、4的這三篇文章;用戶閱讀行為002中,相應(yīng)用戶閱讀了編號為、3、5的這三篇文章。假設(shè)最小支持度定為2。首先檢查長度為1的頻繁項目集合(即包含一個元素的頻繁項目集合)。把表5-1改造為表5-2所示的長度為1的閱讀項目集合。Apriori算法:基于兩階段算法的思路,阿格拉瓦等人提出了集合{1},{2},{3},{5}出現(xiàn)的次數(shù)都大于等于最小支持度2。也就是說在表5-1的數(shù)據(jù)集上,這些文章被閱讀的次數(shù)不少于兩次。而集合{4}僅在編號為001的用戶閱讀中出現(xiàn)一次,因此將其排除出頻繁項目,今后長度大于1的集合也不可能包含文章4了。于是生成了長度為1的頻繁項目集合,也就是,只考察一個項目時,哪些長度為1的集合能滿足最小支持度的要求,參見表5-3。對于集合{{1},{2},{3},{5}},在其基礎(chǔ)上可以進一步組合出來長度為2即包含兩個項目的頻繁項目集合。使用組合的方式得出如表5-4所示的可能的長度為2的候選頻繁項目集合。集合{1},{2},{3},{5}出現(xiàn)的次數(shù)都大于等于最小對于項目集合{1,2}和{1,5},文章1和2只在003這次閱讀里面共同出現(xiàn)過,文章1和5也只在003這次閱讀里面出現(xiàn)過,兩組的支持度都小于2,因此不可能作為頻繁項目集合,舍棄之。后續(xù)擴展出的長度為3、4、5乃至更多的頻繁項目集合也不可能包含文章1和2或者文章1和5同時出現(xiàn)的情況。及時舍棄不滿足要求的候選頻繁項目集合對于提升算法效率是一個有效的方法。由表5-4長度為2的候選頻繁項目集合,得出包括兩個項目的頻繁項目集合,如表5-5所示。最小支持度為2的前提下,它們是頻繁的。對于項目集合{1,2}和{1,5},文章1和2只在003接下來嘗試生成長度為3的頻繁項集了。把表5-5左列四組數(shù)據(jù)進行組合,組合出不重復的包含三個元素的集合。例如{1,2,3}、{1,3,5},由于{1,2}和{1,5}的支持度小于2,在它們的基礎(chǔ)上再擴展不可能擴展出頻繁項目集合,因此舍棄之。只有{2,3,5}這三項滿足同時被閱讀的關(guān)聯(lián)支持度不小于2,即閱讀行為002和003。因此{2,3,5}是一個頻繁項集。再往后擴展,表5-1示例數(shù)據(jù)中,不存在長度為4的頻繁項集。只有003這次閱讀涉及4篇文章,編號為1、2、3、5,但是{1,2,3,5}這個集合的支持度僅為1,所以包含4個條目的頻繁項集是不存在的。因此文章2、3、5是頻繁共現(xiàn)的,基于這一規(guī)則,系統(tǒng)就可以進行關(guān)聯(lián)推薦。譬如可以給讀了文章2和3的用戶推薦文章5,或者給讀了文章2和5的用戶推薦文章3,等等。在歷史數(shù)據(jù)的基礎(chǔ)上,Apriori算法按照指定的最小支持度,逐步擴展出長度為1、2、3乃至更多的頻繁項集,直至無法擴展。也就是,首先考察哪些文章會被頻繁地閱讀,然后考察哪兩篇文章在一起會被頻繁地閱讀,再考察哪三篇文章在一起會被頻繁地閱讀,依此類推,逐漸挖掘出同時頻繁出現(xiàn)的數(shù)篇文章。在此基礎(chǔ)上,得出關(guān)聯(lián)規(guī)則。接下來嘗試生成長度為3的頻繁項集了。把表5-5左列四組數(shù)據(jù)進關(guān)聯(lián)規(guī)則在推薦系統(tǒng)的應(yīng)用:關(guān)聯(lián)規(guī)則挖掘的應(yīng)用過程是這樣的:首先需要積累用戶的行為數(shù)據(jù),否則一切無從談起。在用戶行為數(shù)據(jù)的基礎(chǔ)上,進行關(guān)聯(lián)規(guī)則的挖掘。使用的算法包括Apriori或者其他改進的算法。使用提升度來衡量挖掘出的關(guān)聯(lián)規(guī)則是否有用。形成有效規(guī)則之后,即可將其應(yīng)用到推薦過程中。根據(jù)不同用戶的標簽,推薦與他們的標簽存在關(guān)聯(lián)關(guān)系的內(nèi)容。由于不同用戶的標簽是不一樣的,因此其被關(guān)聯(lián)規(guī)則推薦的內(nèi)容也是不一樣的,這就實現(xiàn)了個性化推薦。關(guān)聯(lián)規(guī)則在推薦系統(tǒng)的應(yīng)用:關(guān)聯(lián)規(guī)則挖掘的應(yīng)用過程是這樣的:關(guān)聯(lián)規(guī)則推薦算法再討論:首先,關(guān)聯(lián)規(guī)則推薦算法是從大量數(shù)據(jù)上進行相關(guān)挖掘,因此其計算量較大。但是可以使用離線計算的方式挖掘關(guān)聯(lián)規(guī)則,因此計算量大的問題不會對算法的應(yīng)用造成太大影響。其次,關(guān)聯(lián)規(guī)則推薦算法需要采集用戶數(shù)據(jù),所以不可避免地就會存在冷啟動和用戶數(shù)據(jù)稀疏性的問題。對于新用戶或者行為數(shù)據(jù)較少的用戶,如果想對此類用戶進行關(guān)聯(lián)推薦,就會存在數(shù)據(jù)量不足的問題。另外,系統(tǒng)中的熱門項目,容易存在被過度推薦的問題,這是因為關(guān)聯(lián)規(guī)則的挖掘是基于項目的頻繁程度生成的。熱門項目往往會出現(xiàn)在頻繁項目集合中,如果進行調(diào)配的話,就會存在熱門項目被過度推薦的“強者愈強”的現(xiàn)象。在真實系統(tǒng)中,通過對熱門項目降低權(quán)重,可以一定程度上緩解關(guān)聯(lián)規(guī)則推薦中熱門項目被過度推薦的問題。關(guān)聯(lián)規(guī)則推薦算法再討論:第3節(jié)推薦算法的評估對于推薦算法來說,存在一些對其進行評估的方法,包括在線評估和離線評估兩種。一、推薦算法的在線評估:AB測試在線評估:在推薦算法系統(tǒng)運行(“在線”)時對系統(tǒng)進行質(zhì)量的評測。AB測試的方法和目的:AB測試是一種真實的線上測試。在同一時間段內(nèi)在系統(tǒng)中運行多種被測試方案,這些方案之間只有一個變量不同,因此可以對比這一個變量對于系統(tǒng)的作用。在AB測試中,需要提前設(shè)定明確的評價指標體系。AB測試將真實的線上用戶進行隨機分組,對不同分組提供不同的被測試方案。在一次實驗之中,特定用戶只能接觸一個方案。AB測試的目的是通過科學的實驗設(shè)計,把用戶分成不同的樣本,通過導流把用戶導向不同的流量中去,通過每一個小流量的測試來獲得具有代表性的實驗結(jié)果,然后再試圖把實驗結(jié)果推廣到全網(wǎng)運行。第3節(jié)推薦算法的評估對于推薦算法來說,存在一些對其進行評估AB測試應(yīng)用場景:1.優(yōu)化用戶體驗計算機系統(tǒng)與用戶交互的中介稱為“用戶接口”或“用戶界面”,目前多以圖形用戶界面為主。對于用戶來說,對系統(tǒng)功能最直觀的體驗就是用戶界面是否好用。為了優(yōu)化用戶體驗,可以根據(jù)既往的用戶體驗數(shù)據(jù)構(gòu)建界面優(yōu)化的假設(shè),并使用AB測試進行驗證,了解界面元素如何影響用戶行為。2.優(yōu)化轉(zhuǎn)化率在電子商務(wù)領(lǐng)域有一個重要的概念“轉(zhuǎn)化率”,通俗地理解就是用戶的真實購買行為在用戶點擊網(wǎng)上某款商品行為數(shù)的占比情況。對于電子商務(wù)網(wǎng)站的商家,轉(zhuǎn)化率的優(yōu)化是一個重要目標。商家可以通過改進用戶的體驗來提高某個目標的轉(zhuǎn)化率,例如通過AB測試來嘗試和驗證調(diào)整標題、圖片等等頁面元素是否可以優(yōu)化轉(zhuǎn)化率。3.優(yōu)化在線廣告對于在線廣告,可以設(shè)計不同的版本投放給多組用戶,統(tǒng)計哪個版本的廣告更能吸引用戶點擊,什么樣的設(shè)計能夠把訪客轉(zhuǎn)化為客戶,達到在線廣告的優(yōu)化。4.優(yōu)化算法以智能推薦算法為例,想要衡量不同的算法對于推薦效果的提升作用,也可以使用AB測試。AB測試應(yīng)用場景:1.優(yōu)化用戶體驗AB測試的測評指標:1.點擊率點擊率是指在系統(tǒng)推薦給某個用戶的內(nèi)容中被點擊內(nèi)容的占比。假設(shè)系統(tǒng)一共向某個用戶推薦了n條內(nèi)容,但是用戶未必全部點擊和查看,令用戶點擊的內(nèi)容數(shù)為m,則在這次測試的過程中,這個用戶的點擊率為點擊率越高,就有越多的系統(tǒng)推薦內(nèi)容被用戶點擊和閱讀,算法推薦系統(tǒng)的效果就越好。2.轉(zhuǎn)化率對于商品來說,轉(zhuǎn)換率是指系統(tǒng)推薦商品的銷售額與總銷售額的比率。這個指標衡量系統(tǒng)的推薦行為有沒有提升總的銷售額。對于內(nèi)容來說,轉(zhuǎn)換率就是系統(tǒng)推薦內(nèi)容的點擊量或閱讀時長與總體的點擊量或者是閱讀時長的比例。如果系統(tǒng)的推薦能夠提高點擊量和閱讀時長,則在總體的點擊量和閱讀時長上,被推薦內(nèi)容的占比就會更高,轉(zhuǎn)換率也就更高。則AB測試中對應(yīng)的一個版本對推薦性能的提高效果更好。也就是說,轉(zhuǎn)換率越高,推薦效果越好。提要:AB測試對多組用戶提供多個版本的系統(tǒng)進行對比,同一個用戶只能看到一個版本,通過被試用戶的行為數(shù)據(jù)統(tǒng)計不同版本的優(yōu)劣,選擇點擊率、轉(zhuǎn)換率等指標更高的版本作為優(yōu)化版本大規(guī)模推廣。AB測試的測評指標:1.點擊率提要:二、推薦算法的離線評估離線評估:準確度指標準確率衡量查得準不準,即算法推薦的內(nèi)容是不
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年堅持鍛煉契約
- 2025年健身教練服務(wù)買賣合同
- 2025年商業(yè)房地產(chǎn)買賣合同
- 2025年婦產(chǎn)科手術(shù)合同
- 2025年度綠色循環(huán)借款項目實施合同3篇
- 2025版家居用品銷售合同與原材料供應(yīng)商采購協(xié)議
- 二零二五版廣告?zhèn)髅焦酒赣煤贤痉?篇
- 二零二五年度2025版打架事件法律責任承擔與調(diào)解合同3篇
- 2025版實習生勞動合同簽訂與解除操作手冊3篇
- 2025年度健身房裝修合同付款管理模板
- 農(nóng)民工工資表格
- 【寒假預習】專題04 閱讀理解 20篇 集訓-2025年人教版(PEP)六年級英語下冊寒假提前學(含答案)
- 2024年智能監(jiān)獄安防監(jiān)控工程合同3篇
- 幼兒園籃球課培訓
- 統(tǒng)編版(2024新版)七年級《道德與法治》上冊第一單元《少年有夢》單元測試卷(含答案)
- 100道20以內(nèi)的口算題共20份
- 高三完形填空專項訓練單選(部分答案)
- 護理查房高鉀血癥
- 項目監(jiān)理策劃方案匯報
- 《職業(yè)培訓師的培訓》課件
- 建筑企業(yè)新年開工儀式方案
評論
0/150
提交評論