在模型評估時,我們往往會參照一些效能指標,最基本的如準確率和召回率。看過西瓜書的同學應該對下面這張**很熟悉:
這張表其實很好記憶,橫著看(actual:p和actual:n)代表實際所屬的類別;豎著看(predicted:p和predicted:n)代表**的型別。如果實際和**都一樣,那就是真正例(tp)和真反例(tn),對應**的主對角線。如果實際是反例卻**成了正例,那就是假正例(fp),注意,這都是與實際的標籤(actual)來對比的,同理可推出fn。
在了解了**的意義之後,就很好解釋準確率(p)和召回率(r)了:
準確率p是評估你**的準不准(看**列),而召回率r是看你找的全不全(看實際行)。如果處理平衡資料集用這些效能指標還好說,但是一旦你的資料集不平衡,那麼這些指標可參考的價值就不那麼具備參考性了。舉個例子:對於乙個二分類問題,如果其中90%是正樣本,只有10%是負樣本的話,而我的模型就是全部輸出為正樣本的分類器,那麼準確率依然高達90%,但是這樣並沒有意義。所以提出了ap的概念。
所謂的ap,其實就是平均準確率。這裡的平均是相對於不同驗證集而言的。
假設我們想要訓練乙個貓咪分類器,如果是基於畫素點級別的,那麼就可以將它轉換為乙個二分類任務,判斷這個畫素點是不是屬於貓的。這樣,我們可以得到屬於貓咪的畫素點的準確率
所謂的map,其實就是對m個類別的ap取平均值,對於上文講的貓咪分類器,其實就是乙個二分類器,它的map就等於正樣本的準確率與負樣本的準確率的平均值,多分類任務也可以如法炮製。
相比於p,r,map這個效能指標對於資料不平衡問題就靠譜很多。還是拿之前舉的例子來說:90%的正樣本,10%的負樣本,如果採用全部輸出為正的分類器,那麼p正=0.9,p負=0,而map=0.45.
管中窺豹 機器學習之我見
人工智慧領域顯然是這兩年技術的熱點區域,特別是機器學習 深度學習 各種神經網路技術,更是火的一塌糊塗。這些技術都被冠以智慧型的高帽,讓人望而生畏。不過,我突然發現乙個有意思的現象。當你對乙個 三 四歲的小孩提問時,他會思考一下,然後要麼告訴你他的理解,要麼回答你不知道。可是,如果提問的物件是各種所謂...
深度學習之我見
2006年hinton等人提出深度學習的概念 是人工智慧這幾年最大的突破的原因。這裡一句話概括下什麼是深度學習 輸入乙個物件,通過逐層進行多維度運算,最後輸入結果 深度學習其實是相對專家系統而言,之前的判斷是通過用大量 如果 就 if then 規則定義的,自上而下的思路。深度學習是仿照人工神經網路...
R語言學習之我見
作為乙個學習r語言兩年的乙個過來人,跌跌撞撞,走過一些彎路,也有一些自己方法,我認為學r語言可以這樣學習 1 環境 2 基本資料結構 向量字串 陣列矩陣 資料框因子列表表 邏輯運算 3 迴圈 for迴圈 repeat迴圈 while迴圈 4 函式 函式基本語法 遞迴函式 管道函式 5 基本視覺化繪圖...