演算法指標網
㈠ 【search】概述搜索排序演算法的評價指標MAP,NDCG,MRR
【原文地址已失效,故粘貼於此】
By Eletva, eletva.com
我們知道,每個演算法都有其評估的手段,藉此用以指導當前演算法模型的好壞,搜索rank是一個相對而言比較常見又比較特殊的場景,因為最後我們需要評估的是一個序列的好壞,是各個個體的相互關系,而不是大部分機器學習演算法那樣評估的是每個個體的處理好壞。因此,要深入了解搜索rank的機制,那麼首先要知道我們是怎樣來評估一種排序演算法是好的演算法,而另一種是不好的。本文中提到了三種評估的方式,都是有各自的試用場景。
因為搜索的意思形態不一樣,可能採取的評估指標也可能會隨之變化,以下提到的評估手段都可能是當用或者復用,要適當變之。。。
1. MAP(mean average precision):
MAP的衡量標准比較單一,q(query,搜索詞)與d(doc,檢索到的doc)的關系非0即1,核心是利用q對應的相關的d出現的位置來進行排序演算法准確性的評估,比如q1對應相關的d排名是1,2,5,7(假設q1有4個相關d),那麼對於q1的ap(average precision)的計算就是(1/1+2/2+3/5+4/7)/4=ap1,對於q2的排序結果結果中與之相關的d的排名是2,3,6(假設q2有5個相關d),那麼對於q2的ap就是(1/2+2/3+3/6+0+0)/5=ap2,那麼這個排序演算法的MAP就是(ap1+ap2)/2
MAP 是反映系統在全部相關文檔上性能的單值指標。系統檢索出來的相關文檔越靠前(rank 越高),MAP就應該越高。如果系統沒有返回相關文檔,則准確率默認為0。
這里注意的是,在利用MAP的評估的時候,需要知道:1. 每個q有多少個相關的d; 2. 排序結果中這些d的位置 3. 相關的定義
延展:或許這個MAP可以進行部分改進,相關定義的部分可以考慮用0-1之間的系數來確定,而到實際使用中可以用ctr,gmv這些指標進行替換
2. 對於NDCG(Normalized Discounted Cumulative Gain)的理解
N指的是歸一化,D指的是衰減率,C指的累加,G指的是熵,其實這個公式的關鍵就是就是熵,再多了三個形容詞:歸一化的,帶有衰減函數的,再帶有累加的熵即是了
仔細看一下上面的公司,停頓兩分鍾就可以體會其中的含義了
1)公式中最核心的Gain用一個指數函數來表示了,這與一般的信息熵的概念有些不一樣,可能指代表著一個信息量的關系的變化,也許這說明熵是可以以任意形式出現的,anyway,這個還要再研究一下
2)那麼接下去就是帶有衰減因子的G,也就是DG了,用來表示與位置的衰減關系,因為排名越往後,那麼說明越被點擊的可能越小,因此越往後的衰減因子越小,實際操作中有很多衰減因子的定義函數,比如C*1/log(1+j),上式子是指C為1的特殊形式, 其中C一般還會取值log2之類的一些經驗值,這個都可以根據實際情況來進行變化(不過,我們應該清楚的認識到因為)
3)接著,就是累加,將帶有衰減因子的熵進行累加,每個排名處進行累加
4)最後,是歸一化,用當前的CDG/MAX,MAX即是理想狀態下的CDG,那麼就進行了歸一化處理
總結:這里的相關性體現在Gain的計算處,r將相關性分成了多個檔位,這里可以用實際操作中需要的指標去代替
3. MRR(mean reciprocal rank),倒數排序法
這個是最簡單的一個,因為他的評估假設是基於唯一的一個相關結果,比如q1的最相關是排在第3位,q2的最相關是在第4位,那麼MRR=(1/3+1/4)/2,MRR方法主要用於定址類檢索(Navigational Search)或問答類檢索(Question Answering)
--------------------------------------------------------------------------------------------
另外談到兩個常見的演算法指標的一些比較本質的東西,一個是Precision(准確率)與Recall(召回率)的關系,另一個是F-Measure,一個用來衡量P與R的指標
P與R之間的關系有些符合其齊夫定律,召回率和准確率分別反映了檢索系統的兩個最重要的側面,而這兩個側面又相互制約。因為大規模數據集合中,如果期望檢索到更多相關的文檔,必然需要「放寬」檢索標准,因此會導致一些不相關結果混進來,從而使准確率受到影響。類似的,期望提高准確率,將不相關文檔盡量去除時,務必要執行更「嚴格」的檢索策略,這樣也會使一些相關的文檔被排除在外,使召回率下降。
F-Measure:公式是基於P與R的調和平均數,1/[(1-lamda)*1/p+lamda*1/r), 一般lamda會取0.5,表示p與r的平衡,這里使用調和平均數而不是通常的幾何平均或算術平均,原因是調和平均數強調較小數值的重要性,能敏感的反映小數字的變化,因此更適合用來反映演算法效果。因為常常,一個指標比多個指標能夠方便快捷的定位好壞。
㈡ 演算法的評價指標包括什麼
一、企業網站評價原則
1、企業網站評價的動態性:由於企業網站本身是一個動態交互的信息平台,因此其評價體系就應當從動態角度出發。
2、企業網站評價的差異性:由於不同行業、不同企業、不同發展階段,其評價標準是不同的。因此在具體的評價過程中,也應當視具體情況具體分析。
3、企業網站評價的整體性:由於企業網站本身的原因,決定了在評價標准中既有可以量化的標准,又有不可量化的標准。因此在評價中,應當遵從整體性的原則。
二、企業網站評價的指標體系
(一)整體評價
1、域名和URL:域名是Internet上的一個伺服器或一個網路系統的名字,在Internet上,沒有同樣的域名,因此,域名具有唯一性。域名是由英文26個字母和10個阿拉伯數字以及橫杠"-"(減號)組成。URL——(Universal Resource Locator)通用資源定位器。一個恰當、精煉的域名對於網站的發展是十分重要的。同時,獨立域名是十分重要的一項指標。
2、鏈接有效性:在企業網站中,鏈接有效性佔有及其重要的地位。無效鏈接會直接影響用戶對網站本身的信任度。在指標評價過程中,鏈接的完備性是也一項十分重要的指標。
3、下載時間:調查顯示,一個網頁的打開時間超過20秒會引起瀏覽者的厭惡感。中國在2002年以撥號方式上網的計算機為1480萬台,占總上網計算機的71% 。因此在實際的評價中,網頁的載入速度應當以撥號方式來進行測評;同時為了簡化評價復雜程度,在實測的過程中,僅考慮首頁的下載時間。
4、網站認證:作為一個合法的企業網站,不僅應當提供工商認證,同時還要提供CA認證。對於某些特定行業,還應該提供各種相應認證。
5、符合網路倫理:所謂網路倫理,是Internet上一種特有的商業道德——即充分尊重用戶的個人意願和個人隱私,對用戶不能有任何的強迫行為。如不首先發送商業信息,不經過授權的修改、公布訪問者的個人資料和信息,或對用戶訪問提出要求和條件。
6、聯系方式:在首頁和網站的各個鏈接上,都需要體統十分詳盡的聯系方式。不但要提供電子郵件、電話、傳真;還要提供公司地址、郵編以及聯系人姓名。
7、更新:網站提供內容和頁面設計的不斷更新;以提高網站的信任度。更為重要的是,最好應當註明網站的最後一次更新時間。
(二)網站設計
1、風格與布局:網站內的所有頁面應當遵從統一的風格。包括統一色彩、統一主題、統一語氣和人稱、統一圖片效果。同時在頁面布局方面,應當加強視覺效果,加強文案的可視性和可讀性。
2、美工與字體:網頁色彩應當均衡,要突現可讀性;同時切忌將所有顏色都用到,一般要求色彩要控制在3種以內。由於中國大陸漢字系統採用GB編碼方式,而台灣地區漢字採用BIG5編碼,而歐美用戶則沒有安裝任何支持漢字的系統;鑒於此,定位於國際性質的網站應當針對不同的目標訪問者,設計不同的字體或語言。
3、動畫與聲音:在頁面上應該慎用動畫和聲音,更不能濫用。因為一方面會影響下載速度,另一方面可能會招致用戶的厭惡和抵觸情緒。
(三)內容提供
1、有用信息
(1) 網站的長期發展是取決於能否長期為訪問者提供有用的信息,這個也是網站自身發展的需要。
(2) 准確性:信息資源與數據是否切實可信。如果涉及一些關於信息來源與知識產權的信息,要註明出處與來源。
2、交互性內容
(1) 提供雙向交流:網站雙向交流的欄目不需要很多,但是作為一個企業網站來說,應當設立如,論壇、留言版、郵件列表之類的欄目;以供瀏覽者留下他們的信息。有調查表明,提供雙向交流站點較簡單地留下一個E-mail地址更有親和力。
(2) FAQ』s:Frequently Asked Questions——常見問題解答;因為企業網站經常收到用戶關於某一方面問題的來信,,應當設立一個常見問題解答,既方面訪問者,也可以節約網站時間和成本。
3、內容頁面長度:網頁內容頁面的長度以不超過3個屏幕高度為佳,因此將篇幅過長的文檔分隔成數篇較小的頁面,可以增加網站的親和力;如果基於特殊理由,應在長頁面上加上一些書簽,以使用戶快速查詢。
(四)網站推廣與其他
1、搜索引擎中的排名:Meta的使用,Meta標簽是紀錄當前頁面信息的元素,如字元解碼、作者、版權、關鍵字等。Meta標簽也提供該伺服器信息,如有效日期和刷新頻率。正是基於Meta的功能,搜索引擎可以自動找到WEB上的信息。
2、適當的關鍵詞:用戶很大程度上搜索目標信息和企業網站習慣於通過搜索引擎。所以一些具有戰略性的關鍵詞是十分重要的
3、其他網站提供的交換鏈接的數量
4、兼容性問題:
(1) 顯示兼容:在800*600、1024*768……解析度條件下能夠顯示正常。
(2) 操作系統兼容:在WINDOWS9.X/ME/NT/2000/XP/2003、Linux、Mac等操作系統中運行正常。
(3) 瀏覽器兼容:在IE(1—6)、Netscape(1—6)、Opera(1—7)等瀏覽器中運行正常。
5、網站服務:
(1) E-mail的自動回復(即時)、E-mail的人工回復(24小時)包括節假日
(2) 電話和傳真回復
(3) 800免費電話的提供
(4) 客戶資料的保留和挖掘
三、企業網站的綜合評價指標體系
企業網站的多指標綜合評價應當包括3方面的內容:一是綜合評價指標體系及其評價標準的建立,這是整個評價工作的前提;二是用定性或定量的方法確定各指標的具體數值,即指標評價值;三是各評價值的綜合,包括綜合演算法和權重的確定、總評價值的計算等。
㈢ 多分類演算法的評估指標
在以往的分類問題求解當中,我們遇到的問題多為二分類問題,我們常用的評估指標有accuracy, precision, recall_score, f1-score, roc_auc_score等。但是在實際生活中,多分類問題也是大量存在的。這一小節,我們就詳細的說明一下多分類問題的評估指標。
我們先來看一下sklearn庫中的二分類的評估指標,以recall_score為例。在recall_score方法中,有一個很重要的參數'average',它的默認值為'binary'。當在默認參數的情況,該評估方法只能求解二分類問題,如果將該評估方法用於多分類問題,則系統會報錯。但'average'同時也向我們提供了其他四個用於解決多分類的問題的參數'micro','macro','weighted','samples'。下面我們以鳶尾花數據集為例來對這四個參數進行逐一說明。
[sklearn.metrics.recall_score](' https://scikit-learn.org/stable/moles/generated/sklearn.metrics.recall_score.html
')
我們以recall_score的計算為例,recall_score的計算公式如下:
為了計算recall_score,我們必須先計算出TP,FN值。我們採用sklearn中的混淆矩陣來計算TP,FN值。
該分類問題的混淆矩陣如下,列為真實類別,行為預測類別:
混淆矩陣(confusion matrix)說明:
TP(True positive):把正例正確地預測為了正例,如把類別0預測為0的個數有16個。
FN(False negative):把正例錯誤地預測為了負列,如把類別1預測為2的個數有5個。
FP(False positive):把負例錯誤地預測為了正例,假設0為正例,錯誤地把1,2預測為0就是FP。
TN(True negative):把負例正確地預測為了負例,假設0為正例,1,2為負例,正確地把1,2預測為1,2就是TN。
對於混淆矩陣,可以這樣理解。第一個字母T/F,表示預測的正確與否;第二個字母P/N,表示預測的結果為正例或者負例。如TP就表示預測對了,預測的結果是正例,那它的意思就是把正例預測為了正例。
Micro:把所有類匯總在一起計算出最終recall值,其計算公式如下:
在使用Micro參數時,其recall_score = (16+13+11)/(16+13+11+5) = 0.89。
使用sklearn.metrics方法計算:
從上述計算結果可以看出,兩者的計算結果是一致的,均為0.89。
Macro:分別計算出每一類的recall值,再取算數平均值,其計算公式如下:
在使用Macro參數時,其recall_score = [16/(16+0+0) + 13/(0+13+5) + 11/(11+0+0)] * 1/3 = 0.91
使用sklearn.metrics方法計算:
從上述計算結果可以看出,macro參數下的recall值為0.91。
Weighted:分別計算每一類的recall值,再乘以各自的權重,然後求和,其計算公式如下:
計算各類的權重:
在使用weighted參數時,其recall_score = 16/(16+0+0) * 0.356 + 13/(0+13+5) * 0.4 + 11/(11+0+0) * 0.244 = 0.89
使用sklearn.metrics方法計算:
從上述計算結果可以看出,weighted參數下的recall值為0.89。
samples應用於多標簽的分類問題,每一個樣本擁有一個以上的標簽。如一個感染病毒性肺炎的患者,就可以說他既屬於病毒性肺炎患者這一類,也可以說他屬於肺炎患者類。
小結:
1.對於多分類演算法的評估,我們需要將sklearn.metrics.recall_score中的'average'參數修改為'micro'或'macro'或者'weighted'。
2.在這個例子當中,我們以recall來舉例,像其他的評估指標precision, roc_auc_score, f1-score都是採用同樣的方法。
文章參考:
[1]. https://zhuanlan.hu.com/p/59862986
㈣ 演算法的評價指標有哪些
1.時間復雜度
演算法的時間復雜度是指執行演算法所需要的時間。一般來說,計算機演算法是問題規模n 的函數f(n),演算法的時間復雜度也因此記做。
T(n)=Ο(f(n))
因此,問題的規模n 越大,演算法執行的時間的增長率與f(n) 的增長率正相關,稱作漸進時間復雜度
2.空間復雜度
演算法的空間復雜度是指演算法需要消耗的內存空間。其計算和表示方法與時間復雜度類似,一般都用復雜度的漸近性來表示。同時間復雜度相比,空間復雜度的分析要簡單得多。
3.正確性
演算法的正確性是評價一個演算法優劣的最重要的標准。
4.可讀性
演算法的可讀性是指一個演算法可供人們閱讀的容易程度。
5.健壯性
健壯性是指一個演算法對不合理數據輸入的反應能力和處理能力,也成為容錯性。
㈤ 演算法的評價指標有哪些
時間復雜度和空間復雜度。
1、時間復雜度
演算法的時間復雜度是指執行演算法所需要的計算工作量。一般來說,計算機演算法是問題規模n 的函數f(n),演算法的時間復雜度也因此記做。
T(n)=Ο(f(n))
因此,問題的規模n 越大,演算法執行的時間的增長率與f(n) 的增長率正相關,稱作漸進時間復雜度(Asymptotic Time Complexity)。
2、空間復雜度
演算法的空間復雜度是指演算法需要消耗的內存空間。其計算和表示方法與時間復雜度類似,一般都用復雜度的漸近性來表示。同時間復雜度相比,空間復雜度的分析要簡單得多。
空間復雜度記做S(n)=O(f(n))。比如直接插入排序的時間復雜度是O(n^2),空間復雜度是O(1) 。而一般的遞歸演算法就要有O(n)的空間復雜度了,因為每次遞歸都要存儲返回信息。一個演算法的優劣主要從演算法的執行時間和所需要佔用的存儲空間兩個方面衡量。
(5)演算法指標網擴展閱讀:
演算法的方法:
1、遞推法
遞推是序列計算機中的一種常用演算法。它是按照一定的規律來計算序列中的每個項,通常是通過計算機前面的一些項來得出序列中的指定項的值。其思想是把一個復雜的龐大的計算過程轉化為簡單過程的多次重復,該演算法利用了計算機速度快和不知疲倦的機器特點。
2、遞歸法
程序調用自身的編程技巧稱為遞歸(recursion)。一個過程或函數在其定義或說明中有直接或間接調用自身的一種方法,它通常把一個大型復雜的問題層層轉化為一個與原問題相似的規模較小的問題來求解,遞歸策略只需少量的程序就可描述出解題過程所需要的多次重復計算,大大地減少了程序的代碼量。遞歸的能力在於用有限的語句來定義對象的無限集合。
一般來說,遞歸需要有邊界條件、遞歸前進段和遞歸返回段。當邊界條件不滿足時,遞歸前進;當邊界條件滿足時,遞歸返回。
注意:
(1) 遞歸就是在過程或函數里調用自身.
(2) 在使用遞歸策略時,必須有一個明確的遞歸結束條件,稱為遞歸出口。
㈥ 評價演算法優劣的指標包括演算法的什麼
1、時間復雜度
演算法的時間復雜度是指執行演算法所需要的計算工作量。一般來說,計算機演算法是問題規模n 的函數f(n),演算法的時間復雜度也因此記做。
2、空間復雜度
演算法的空間復雜度是指演算法需要消耗的內存空間。其計算和表示方法與時間復雜度類似,一般都用復雜度的漸近性來表示。同時間復雜度相比,空間復雜度的分析要簡單得多。
3、正確性
演算法的正確性是評價一個演算法優劣的最重要的標准。
4、可讀性
演算法的可讀性是指一個演算法可供人們閱讀的容易程度。
5、健壯性
健壯性是指一個演算法對不合理數據輸入的反應能力和處理能力,也稱為容錯性。