百面機器學習筆記 4

2022-07-29 04:24:12 字數 3218 閱讀 4858

roc曲線

question:如何計算auc?

answer:首先,auc是指roc曲線下的面積大小,該值能夠量化地反映基於roc曲線衡量出的模型效能。計算auc值只需要沿著roc橫軸做積分就可以了。 由於roc曲線一般都處於y=x這條直線的上方(如果不是的話,只要把模型**的 概率反轉成1−p就可以得到乙個更好的分類器),所以auc的取值一般在0.5~1之 間。auc越大,說明分類器越可能把真正的正樣本排在前面,分類效能越好。

question:roc曲線相比p-r(曲線有什麼特點?

answer:相比 p-r曲線,roc曲線有乙個特點,當正負樣本的分布發生變化時,roc曲線的形狀 能夠基本保持不變,而p-r曲線的形狀一般會發生較劇烈的變化。 

可以看出,p-r曲線發生了明顯的變化,而roc曲線形狀基本不變。這個特點 讓roc曲線能夠盡量降低不同測試集帶來的干擾,更加客觀地衡量模型本身的性 能。這有什麼實際意義呢?在很多實際問題中,正負樣本數量往往很不均衡。比 如,計算廣告領域經常涉及轉化率模型,正樣本的數量往往是負樣本數量的1/1000 甚至1/10000。若選擇不同的測試集,p-r曲線的變化就會非常大,而roc曲線則 能夠更加穩定地反映模型本身的好壞。所以,roc曲線的適用場景更多,被廣泛 用於排序、推薦、廣告等領域。但需要注意的是,選擇p-r曲線還是roc曲線是因 實際問題而異的,如果研究者希望更多地看到模型在特定資料集上的表現,p-r曲 線則能夠更直觀地反映其效能。

余弦距離的應用

question:為什麼一些場景中要使用余弦相似度而不是歐式距離?

answer:對於兩個向量a和b,其餘弦相似度定義為

在一些場景,例如word2vec中,其向量的模長是經過歸一化的,此時歐氏距 離與余弦距離有著單調的關係,即

其中|| a−b ||2表示歐氏距離,cos(a,b)表示余弦相似度,(1−cos(a,b))表示余弦距 離。在此場景下,如果選擇距離最小(相似度最大)的近鄰,那麼使用余弦相似 度和歐氏距離的結果是相同的。

question:

余弦距離是否是乙個嚴格定義的距離?

answer:

首先看距離的定義:在乙個集合中,如果每一對元素均可唯一確定乙個實數,使得三條 距離公理(正定性,對稱性,三角不等式)成立,則該實數可稱為這對元素之間 的距離。余弦距離滿足正定性和對稱性,但是不滿足三角不等式,因此它並不是嚴格定義的距離。

a/b測試陷阱

answer:

(1)離線評估無法完全消除模型過擬合的影響,因此,得出的離線評估結果 無法完全替代線上評估結果。

(2)離線評估無法完全還原線上的工程環境。一般來講,離線評估往往不會 考慮線上環境的延遲、資料丟失、標籤資料缺失等情況。因此,離線評估的結果 是理想工程環境下的結果。

(3)線上系統的某些商業指標在離線評估中無法計算。離線評估一般是針對 模型本身進行評估,而與模型相關的其他指標,特別是商業指標,往往無法直接 獲得。比如,上線了新的推薦演算法,離線評估往往關注的是roc曲線、p-r曲線等 的改進,而線上評估可以全面了解該推薦演算法帶來的使用者點選率、留存時長、pv 訪問量等的變化。這些都要由a/b測試來進行全面的評估。

question:

如何進行線上a/b測試?

answer:

進行a/b測試的主要手段是進行使用者分桶,即將使用者分成實驗組和對照組,對 實驗組的使用者施以新模型,對對照組的使用者施以舊模型。在分桶的過程中,要注 意樣本的獨立性和取樣方式的無偏性,確保同乙個使用者每次只能分到同乙個桶 中,在分桶過程中所選取的user_id需要是乙個隨機數,這樣才能保證桶中的樣本 是無偏的。

question:

如何劃分實驗組和對照組? (新開發了模型a,但是現有使用者使用的是模型b,問怎麼劃分,能驗證模型a)

answer:

根據user_id劃分為試驗組和對照組,分別使用模型a,模型b,才能驗證模型a的效果.

模型評估的方法

question:

在模型評估過程中,有哪些主要的驗證方法,說出優缺點。

answer:

(1) holdout 檢驗是最簡單也是最直接的驗證方法,它將原始的樣本集合隨機劃分 成訓練集和驗證集兩部分。比方說,對於乙個點選率**模型,我們把樣本按照 70%~30% 的比例分成兩部分,70% 的樣本用於模型訓練;30% 的樣本用於模型 驗證,包括繪製roc曲線、計算精確率和召回率等指標來評估模型效能。 holdout 檢驗的缺點很明顯,即在驗證集上計算出來的最後評估指標與原始分 組有很大關係。為了消除隨機性,研究者們引入了「交叉檢驗」的思想。

(2) k-fold交叉驗證:首先將全部樣本劃分成k個大小相等的樣本子集;依次遍歷 這k個子集,每次把當前子集作為驗證集,其餘所有子集作為訓練集,進行模型的 訓練和評估;最後把k次評估指標的平均值作為最終的評估指標。在實際實驗 中,k經常取10。 留一驗證:每次留下1個樣本作為驗證集,其餘所有樣本作為測試集。樣本總數為n,依次對n個樣本進行遍歷,進行n次驗證,再將評估指標求平均值得到最終 的評估指標。在樣本總數較多的情況下,留一驗證法的時間開銷極大。事實上, 留一驗證是留p驗證的特例。留p驗證是每次留下p個樣本作為驗證集,而從n個元 素中選擇p個元素有 種可能,因此它的時間開銷更是遠遠高於留一驗證,故而很 少在實際工程中被應用。

補充:不管是holdout檢驗還是交叉檢驗,都是基於劃分訓練集和測試集的方法進行 模型評估的。然而,當樣本規模比較小時,將樣本集進行劃分會讓訓練集進一步 減小,這可能會影響模型訓練效果。

(3) 自助法是基於自助取樣法的檢驗方法。對於總數為n的樣本集合,進行n次有 放回的隨機抽樣,得到大小為n的訓練集。n次取樣過程中,有的樣本會被重複採 樣,有的樣本沒有被抽出過,將這些沒有被抽出的樣本作為驗證集,進行模型驗 證,這就是自助法的驗證過程。

question: 

在自助法的取樣過程中,對n個樣本進行n次自助抽樣,當n趨於無窮大時, 最終有多少資料從未被選擇過?

因此,當樣本數很大時,大約有36.8%的樣本從未被選擇過,可作為驗證集。

百面機器學習

目錄 第一章 特徵工程 1.1特徵歸一化 1.2高維組合特徵的處理 特徵工程 對原始資料進行一系列工程處理,將其提煉為特徵。作為輸入給演算法和模型使用。本質上,特徵工程是乙個表示和展現資料的過程。特徵工程旨在去除原始資料中的雜誌。結構化資料 類似於資料庫中的乙個表,每乙個行列都有清晰的定義,包含數值...

百面機器學習筆記 特徵工程

特徵工程筆記 為了消除資料特徵之間的量綱影響,我們需要對特徵進行歸一化處理,使得不同指標之間具有可比性。特徵歸一化 normalization 使各指標處於同一數值量級,以便進行分析。1 線性函式歸一化 min max scaling 它對原始資料進行線性變換,使結果對映到 0,1 的範圍,實現對原...

百面機器學習一

特徵歸一化常見的有兩種,一種是線性函式歸一化,一種是零均值歸一化。線性函式歸一化 min max scaling 對原始資料進行線性變換,將結果對映到 0,1 的範圍,歸一化公式如下 x no rm x xmi nxma x xm in x frac x xnorm xma x x min x xm...