??俗話說文虏,“巧婦難為無米之炊”侣诺。在機(jī)器學(xué)習(xí)中殖演,數(shù)據(jù)和特征便是“米”,模型和算法則是“巧婦”年鸳。沒有充足的數(shù)據(jù)趴久、合適的特征,再強(qiáng)大的模型結(jié)構(gòu)也無法得到滿意的輸出搔确。正如一句業(yè)界經(jīng)典的話所說彼棍,“Garbage in,garbage out”膳算。對于一個機(jī)器學(xué)習(xí)問題座硕,數(shù)據(jù)和特征往往決定了結(jié)果的上限,而模型涕蜂、算法的選擇及優(yōu)化則是在逐步接近這個上限华匾。
??特征工程,顧名思義机隙,是對原始數(shù)據(jù)進(jìn)行一系列工程處理蜘拉,將其提煉為特征,作為輸入供算法和模型使用有鹿。從本質(zhì)上來講诸尽,特征工程是一個表示和展現(xiàn)數(shù)據(jù)的過程。在實(shí)際工作中印颤,特征工程旨在去除原始數(shù)據(jù)中的雜質(zhì)和冗余您机,設(shè)計(jì)更高效的特征以刻畫求解的問題與預(yù)測模型之間的關(guān)系。
- 常用的兩種數(shù)據(jù)類型年局。
- 結(jié)構(gòu)化數(shù)據(jù)际看。結(jié)構(gòu)化數(shù)據(jù)類型可以看作關(guān)系型數(shù)據(jù)庫的一張表,每列都有清晰的定義矢否,包含了數(shù)值型仲闽、類別型兩種基本類型;每一行數(shù)據(jù)表示一個樣本的信息僵朗。
- 非結(jié)構(gòu)化數(shù)據(jù)赖欣。非結(jié)構(gòu)化數(shù)據(jù)主要包括文本、圖像验庙、音頻顶吮、視頻數(shù)據(jù),其包含的信息無法用一個簡單的數(shù)值表示粪薛,也沒有清晰的類別定義悴了,并且每條數(shù)據(jù)的大小各不相同。
1.為什么需要對數(shù)值類型的特征做歸一化?
- 為了消除數(shù)據(jù)特征之間的量綱影響湃交,我們需要對特征進(jìn)行歸一化處理熟空,使得不同指標(biāo)之間具有可比性。例如搞莺,分析一個人的身高和體重對健康的影響息罗,如果使用米(m)和千克(kg)作為單位,那么身高特征會在1.6~1.8m的數(shù)值范圍內(nèi)才沧,體重特征會在50~100kg的范圍內(nèi)阱当,分析出來的結(jié)果顯然會傾向于數(shù)值差別比較大的體重特征。想要得到更為準(zhǔn)確的結(jié)果糜工,就需要進(jìn)行特征歸一化處理弊添,使各指標(biāo)處于同一數(shù)值量級,以便進(jìn)行分析捌木。
- 不妨借助隨機(jī)梯度下降的實(shí)例來說明歸一化的重要性油坝。假設(shè)有兩種數(shù)值型特征,x1的取值范圍為
刨裆,x2的取值范圍為
澈圈,在學(xué)習(xí)速率相同的情況下,x1的更新速度會大于x2帆啃,需要較多的迭代才能找到最優(yōu)解瞬女。如果將x1和x2歸一化到相同的數(shù)值區(qū)間后,優(yōu)化目標(biāo)的等值圖會變成圓形努潘,x1和x2的更新速度變得更為一致诽偷,容易更快地通過梯度下降找到最優(yōu)解。
2.常用的歸一化手段有哪些疯坤?
- 對數(shù)值類型的特征做歸一化可以將所有的特征都統(tǒng)一到一個大致相同的數(shù)值區(qū)間內(nèi)报慕。最常用的方法主要有以下兩種。
- 線性函數(shù)歸一化(Min-Max Scaling)压怠。它對原始數(shù)據(jù)進(jìn)行線性變換眠冈,使結(jié)果映射到[0, 1]的范圍,實(shí)現(xiàn)對原始數(shù)據(jù)的等比縮放菌瘫。歸一化公式如下
- 零均值歸一化(Z-Score Normalization)蜗顽。它會將原始數(shù)據(jù)映射到均值為0、標(biāo)準(zhǔn)差為1的分布上雨让。具體來說雇盖,假設(shè)原始特征的均值為μ、標(biāo)準(zhǔn)差為σ宫患,那么歸一化公式定義為
- 線性函數(shù)歸一化(Min-Max Scaling)压怠。它對原始數(shù)據(jù)進(jìn)行線性變換眠冈,使結(jié)果映射到[0, 1]的范圍,實(shí)現(xiàn)對原始數(shù)據(jù)的等比縮放菌瘫。歸一化公式如下
3.哪些算法適合歸一化刊懈,哪些不適合歸一化?
- 數(shù)據(jù)歸一化并不是萬能的娃闲。在實(shí)際應(yīng)用中虚汛,通過梯度下降法求解的模型通常是需要?dú)w一化的,包括線性回歸皇帮、邏輯回歸卷哩、支持向量機(jī)、神經(jīng)網(wǎng)絡(luò)等模型属拾。但對于決策樹模型則并不適用将谊,以C4.5為例,決策樹在進(jìn)行節(jié)點(diǎn)分裂時(shí)主要依據(jù)數(shù)據(jù)集D關(guān)于特征x的信息增益比渐白,而信息增益比跟特征是否經(jīng)過歸一化是無關(guān)的尊浓,因?yàn)闅w一化并不會改變樣本在特征x上的信息增益。
4.在對數(shù)據(jù)進(jìn)行預(yù)處理時(shí)纯衍,應(yīng)該怎樣處理類別型特征栋齿?
- 類別型特征(Categorical Feature)主要是指性別(男、女)襟诸、血型(A瓦堵、B、AB歌亲、O)等只在有限選項(xiàng)內(nèi)取值的特征菇用。類別型特征原始輸入通常是字符串形式,除了決策樹等少數(shù)模型能直接處理字符串形式的輸入陷揪,對于邏輯回歸惋鸥、支持向量機(jī)等模型來說,類別型特征必須經(jīng)過處理轉(zhuǎn)換成數(shù)值型特征才能正確工作悍缠。
- 類別型特征通常三種處理方式:序號編碼(Ordinal Encoding)揩慕、獨(dú)熱編碼(One-hot Encoding)、二進(jìn)制編碼(Binary Encoding)扮休。
- 序號編碼迎卤。序號編碼通常用于處理類別間具有大小關(guān)系的數(shù)據(jù)。例如成績玷坠,可以分為低蜗搔、中、高三檔八堡,并且存在“高>中>低”的排序關(guān)系樟凄。序號編碼會按照大小關(guān)系對類別型特征賦予一個數(shù)值ID,例如高表示為3兄渺、中表示為2缝龄、低表示為1,轉(zhuǎn)換后依然保留了大小關(guān)系。
- 獨(dú)熱編碼叔壤。獨(dú)熱編碼通常用于處理類別間不具有大小關(guān)系的特征瞎饲。例如血型,一共有4個取值(A型血炼绘、B型血嗅战、AB型血、O型血)俺亮,獨(dú)熱編碼會把血型變成一個4維稀疏向量驮捍,A型血表示為(1, 0, 0, 0),B型血表示為(0, 1, 0, 0)脚曾,AB型表示為(0, 0,1, 0)东且,O型血表示為(0, 0, 0, 1)。
- 二進(jìn)制編碼本讥。二進(jìn)制編碼主要分為兩步苇倡,先用序號編碼給每個類別賦予一個類別ID,然后將類別ID對應(yīng)的二進(jìn)制編碼作為結(jié)果囤踩。以A旨椒、B、AB堵漱、O血型為例综慎,A型血的ID為1,二進(jìn)制表示為001勤庐;B型血的ID為2示惊,二進(jìn)制表示為010;以此類推可以得到AB型血和O型血的二進(jìn)制表示愉镰∶追#可以看出,二進(jìn)制編碼本質(zhì)上是利用二進(jìn)制對ID進(jìn)行哈希映射丈探,最終得到0/1特征向量录择,且維數(shù)少于獨(dú)熱編碼,節(jié)省了存儲空間碗降。
- 其他的編碼方式隘竭,比如Helmert Contrast、Sum Contrast讼渊、Polynomial Contrast动看、Backward Difference Contrast等。
- 對于類別取值較多的情況下使用獨(dú)熱編碼需要注意以下問題爪幻。
- 使用稀疏向量來節(jié)省空間菱皆。在獨(dú)熱編碼下须误,特征向量只有某一維取值為1,其他位置取值均為0仇轻。因此可以利用向量的稀疏表示有效地節(jié)省空間京痢,并且目前大部分的算法均接受稀疏向量形式的輸入。
- 配合特征選擇來降低維度拯田。高維度特征會帶來幾方面的問題历造。一是在K近鄰算法中甩十,高維空間下兩點(diǎn)之間的距離很難得到有效的衡量船庇;二是在邏輯回歸模型中,參數(shù)的數(shù)量會隨著維度的增高而增加侣监,容易引起過擬合問題鸭轮;三是通常只有部分維度是對分類、預(yù)測有幫助橄霉,因此可以考慮配合特征選擇來降低維度窃爷。
5.什么是組合特征?如何處理高維組合特征姓蜂?
- 在特征工程中經(jīng)常會把一階離散特征兩兩組合按厘,構(gòu)成高階組合特征。
- 若用戶的數(shù)量為m钱慢、物品的數(shù)量為n逮京,那么需要學(xué)習(xí)的參數(shù)的規(guī)模為m×n。在互聯(lián)網(wǎng)環(huán)境下束莫,用戶數(shù)量和物品數(shù)量都可以達(dá)到千萬量級懒棉,幾乎無法學(xué)習(xí)m×n規(guī)模的參數(shù)。在這種情況下览绿,一種行之有效的方法是將用戶和物品分別用k維的低維向量表示策严。
6.怎樣有效地找到組合特征?
- 一種基于決策樹的特征組合尋找方法饿敲。并且根據(jù)原始輸入和標(biāo)簽(點(diǎn)擊/未點(diǎn)擊)構(gòu)造出了決策樹妻导,于是,每一條從根節(jié)點(diǎn)到葉節(jié)點(diǎn)的路徑都可以看成一種特征組合的方式怀各。滿足該路徑就記為1栗竖,不滿足就記為0。
7.有哪些評估指標(biāo)渠啤?
- 模型評估主要分為離線評估和在線評估兩個階段狐肢。針對分類、排序沥曹、回歸份名、序列預(yù)測等不同類型的機(jī)器學(xué)習(xí)問題碟联,評估指標(biāo)的選擇也有所不同。在諸多的評估指標(biāo)中僵腺,大部分指標(biāo)只能片面地反映模型的一部分性能鲤孵。如果不能合理地運(yùn)用評估指標(biāo),不僅不能發(fā)現(xiàn)模型本身的問題辰如,而且會得出錯誤的結(jié)論普监。
- 準(zhǔn)確率(Accuracy),精確率(Precision)琉兜,召回率(Recall)凯正,均方根誤差(Root Mean Square Error,RMSE)
8.準(zhǔn)確率(Accuracy)的局限性豌蟋?
- 準(zhǔn)確率是指分類正確的樣本占總樣本個數(shù)的比例廊散。準(zhǔn)確率存在明顯的缺陷。比如梧疲,當(dāng)負(fù)樣本占99%時(shí)允睹,分類器把所有樣本都預(yù)測為負(fù)樣本也可以獲得99%的準(zhǔn)確率。所以幌氮,當(dāng)不同類別的樣本比例非常不均衡時(shí)缭受,占比大的類別往往成為影響準(zhǔn)確率的最主要因素。為了解決這個問題该互,可以使用更為有效的平均準(zhǔn)確率(每個類別下的樣本準(zhǔn)確率的算術(shù)平均)作為模型評估的指標(biāo)米者。
- 其實(shí)也不限于指標(biāo)的選擇,即使評估指標(biāo)選擇對了慢洋,仍會存在模型過擬合或欠擬合塘雳、測試集和訓(xùn)練集劃分不合理、線下評估與線上測試的樣本分布存在差異等一系列問題普筹,但評估指標(biāo)的選擇是最容易被發(fā)現(xiàn)败明,也是最可能影響評估結(jié)果的因素。
9.精確率與召回率的權(quán)衡
- 精確率是指分類正確的正樣本個數(shù)占分類器判定為正樣本的樣本個數(shù)的比例太防。召回率是指分類正確的正樣本個數(shù)占真正的正樣本個數(shù)的比例妻顶。
- 在排序問題中,通常沒有一個確定的閾值把得到的結(jié)果直接判定為正樣本或負(fù)樣本蜒车,而是采用Top N返回結(jié)果的Precision值和Recall值來衡量排序模型的性能讳嘱,即認(rèn)為模型返回的Top N的結(jié)果就是模型判定的正樣本,然后計(jì)算前N個位置上的準(zhǔn)確率Precision@N和前N個位置上的召回率Recall@N酿愧。
- 為了綜合評估一個排序模型的好壞沥潭,不僅要看模型在不同Top N下的Precision@N和Recall@N,而且最好繪制出模型的P-R(Precision-Recall)曲線嬉挡。P-R曲線的橫軸是召回率钝鸽,縱軸是精確率汇恤。P-R曲線上的一個點(diǎn)代表著,在某一閾值下拔恰,模型將大于該閾值的結(jié)果判定為正樣本因谎,小于該閾值的結(jié)果判定為負(fù)樣本,此時(shí)返回結(jié)果對應(yīng)的召回率和精確率颜懊。整條P-R曲線是通過將閾值從高到低移動而生成的财岔。原點(diǎn)附近代表當(dāng)閾值最大,因?yàn)殚撝荡螅械臉颖径急慌卸樨?fù)樣本河爹,此時(shí)召回率為0匠璧,精確率的分子和分母都很小,其比值無限的接近于1昌抠。
- 只用某個點(diǎn)對應(yīng)的精確率和召回率是不能全面地衡量模型的性能患朱,只有通過P-R曲線的整體表現(xiàn)鲁僚,才能夠?qū)δP瓦M(jìn)行更為全面的評估炊苫。
- F1 score和ROC曲線也能綜合地反映一個排序模型的性能。F1 score是精準(zhǔn)率和召回率的調(diào)和平均值冰沙。
10.平方根誤差的“意外”侨艾。
- RMSE的計(jì)算公式為
- 構(gòu)建一個回歸模型來預(yù)測某種趨勢,但無論采用哪種回歸模型拓挥,得到的RMSE指標(biāo)都非常高唠梨。然而事實(shí)是,模型在95%的時(shí)間區(qū)間內(nèi)的預(yù)測誤差都小于1%侥啤,取得了相當(dāng)不錯的預(yù)測結(jié)果当叭。那么,造成RMSE指標(biāo)居高不下的最可能的原因是什么盖灸?
- 一般情況下蚁鳖,RMSE能夠很好地反映回歸模型預(yù)測值與真實(shí)值的偏離程度。但在實(shí)際問題中赁炎,如果存在個別偏離程度非常大的離群點(diǎn)(Outlier)時(shí)醉箕,即使離群點(diǎn)數(shù)量非常少,也會讓RMSE指標(biāo)變得很差徙垫〖タ悖回到問題中來,模型在95%的時(shí)間區(qū)間內(nèi)的預(yù)測誤差都小于1%姻报,這說明己英,在大部分時(shí)間區(qū)間內(nèi),模型的預(yù)測效果都是非常優(yōu)秀的吴旋。然而损肛,RMSE卻一直很差寒亥,這很可能是由于在其他的5%時(shí)間區(qū)間內(nèi)存在非常嚴(yán)重的離群點(diǎn)。事實(shí)上荧关,在流量預(yù)估這個問題中溉奕,噪聲點(diǎn)確實(shí)是很容易產(chǎn)生的,比如流量特別小的美劇忍啤、剛上映的美劇或者剛獲獎的美劇加勤,甚至一些相關(guān)社交媒體突發(fā)事件帶來的流量,都可能會造成離群點(diǎn)同波。
- 針對這個問題鳄梅,有什么解決方案呢?可以從三個角度來思考未檩。
- 第一戴尸,如果我們認(rèn)定這些離群點(diǎn)是“噪聲點(diǎn)”的話,就需要在數(shù)據(jù)預(yù)處理的階段把這些噪聲點(diǎn)過濾掉冤狡。
- 第二孙蒙,如果不認(rèn)為這些離群點(diǎn)是“噪聲點(diǎn)”的話,就需要進(jìn)一步提高模型的預(yù)測能力悲雳,將離群點(diǎn)產(chǎn)生的機(jī)制建模進(jìn)去挎峦。
- 第三,可以找一個更合適的指標(biāo)來評估該模型合瓢。關(guān)于評估指標(biāo)坦胶,其實(shí)是存在比RMSE的魯棒性更好的指標(biāo),比如平均絕對百分比誤差(Mean AbsolutePercent Error晴楔,MAPE)顿苇。相比RMSE,MAPE相當(dāng)于把每個點(diǎn)的誤差進(jìn)行了歸一化税弃,降低了個別離群點(diǎn)帶來的絕對誤差的影響纪岁。它定義為
- 選擇合適的評估指標(biāo)的重要性,每個評估指標(biāo)都有其價(jià)值,但如果只從單一的評估指標(biāo)出發(fā)去評估模型钙皮,往往會得出片面甚至錯誤的結(jié)論蜂科;只有通過一組互補(bǔ)的指標(biāo)去評估模型,才能更好地發(fā)現(xiàn)并解決模型存在的問題短条,從而更好地解決實(shí)際業(yè)務(wù)場景中遇到的問題导匣。
11.什么是ROC曲線?
- ROC曲線是Receiver Operating Characteristic Curve的簡稱茸时,中文名為“受試者工作特征曲線”贡定。ROC曲線的橫坐標(biāo)為假陽性率(False Positive Rate,F(xiàn)PR)可都;縱坐標(biāo)為真陽性率(True Positive Rate缓待,TPR)蚓耽。FPR和TPR的計(jì)算方法分別為
上式中,F(xiàn)P是N個負(fù)樣本中被分類器預(yù)測為正樣本的個數(shù),TP是P個正樣本中被分類器預(yù)測為正樣本的個數(shù)旋炒,N是真實(shí)的負(fù)樣本的數(shù)量步悠,P是真實(shí)的正樣本的數(shù)量。
12.如何繪制ROC曲線瘫镇?
- 事實(shí)上鼎兽,ROC曲線是通過不斷移動分類器的“截?cái)帱c(diǎn)”來生成曲線上的一組關(guān)鍵點(diǎn)的,“截?cái)帱c(diǎn)”指的就是區(qū)分正負(fù)預(yù)測結(jié)果的閾值铣除。假設(shè)模型輸出的是預(yù)測樣本為正例的概率谚咬。樣本按照預(yù)測概率從高到低排序。在輸出最終的正例尚粘、負(fù)例之前择卦,我們需要指定一個閾值,預(yù)測概率大于該閾值的樣本會被判為正例郎嫁,小于該閾值的樣本則會被判為負(fù)例秉继。
- 通過動態(tài)地調(diào)整截?cái)帱c(diǎn),從最高的得分開始(實(shí)際上是從正無窮開始行剂,對應(yīng)著ROC曲線的零點(diǎn))秕噪,逐漸調(diào)整到最低得分钳降,每一個截?cái)帱c(diǎn)都會對應(yīng)一個FPR和TPR厚宰,在ROC圖上繪制出每個截?cái)帱c(diǎn)對應(yīng)的位置,直到畫出全部的關(guān)鍵點(diǎn)遂填,再連接關(guān)鍵點(diǎn)即得到最終的ROC曲線铲觉。當(dāng)截?cái)帱c(diǎn)選擇為正無窮時(shí),模型把全部樣本預(yù)測為負(fù)例吓坚,那么FP和TP必然都為0撵幽,F(xiàn)PR和TPR也都為0,因此曲線的第一個點(diǎn)的坐標(biāo)就是(0,0)礁击。
13.如何計(jì)算AUC盐杂?
- AUC指的是ROC曲線下的面積大小,該值能夠量化地反映基于ROC曲線衡量出的模型性能哆窿。計(jì)算AUC值只需要沿著ROC橫軸做積分就可以了链烈。AUC的取值一般在0.5~1之間。AUC越大挚躯,說明分類器越可能把真正的正樣本排在前面强衡,分類性能越好。
14.ROC曲線相比P-R曲線有什么特點(diǎn)码荔?
- 相比P-R曲線漩勤,ROC曲線有一個特點(diǎn)感挥,當(dāng)正負(fù)樣本的分布(正負(fù)樣本的比例)發(fā)生變化時(shí)孽锥,ROC曲線的形狀能夠基本保持不變鬼譬,而P-R曲線的形狀一般會發(fā)生較劇烈的變化。ROC曲線形狀基本不變恨闪。這個特點(diǎn)讓ROC曲線能夠盡量降低不同測試集帶來的干擾究飞,更加客觀地衡量模型本身的性能域蜗。這有什么實(shí)際意義呢?在很多實(shí)際問題中噪猾,正負(fù)樣本數(shù)量往往很不均衡霉祸。若選擇不同的測試集,P-R曲線的變化就會非常大袱蜡,而ROC曲線則能夠更加穩(wěn)定地反映模型本身的好壞丝蹭。。但需要注意的是坪蚁,選擇P-R曲線還是ROC曲線是因?qū)嶋H問題而異的奔穿,如果研究者希望更多地看到模型在特定數(shù)據(jù)集上的表現(xiàn),P-R曲線則能夠更直觀地反映其性能敏晤。
15.為什么在一些場景中要使用余弦相似度而不是歐氏距離贱田?
- 通常將特征表示為向量的形式,所以在分析兩個特征向量之間的相似性時(shí)嘴脾,常使用余弦相似度來表示男摧。余弦相似度的取值范圍是
,相同的兩個向量之間的相似度為1译打。如果希望得到類似于距離的表示耗拓,將1減去余弦相似度即為余弦距離。因此奏司,余弦距離的取值范圍為
乔询,相同的兩個向量余弦距離為0。
- 對于兩個向量A和B韵洋,其余弦相似度定義為
- 余弦相似度即兩個向量夾角的余弦竿刁,關(guān)注的是向量之間的角度關(guān)系,并不關(guān)心它們的絕對大小搪缨。當(dāng)一對文本相似度的長度差距很大食拜、但內(nèi)容相近時(shí),如果使用詞頻或詞向量作為特征勉吻,它們在特征空間中的的歐氏距離通常很大监婶;而如果使用余弦相似度的話,它們之間的夾角可能很小,因而相似度高惑惶。此外煮盼,在文本、圖像带污、視頻等領(lǐng)域僵控,研究的對象的特征維度往往很高,余弦相似度在高維情況下依然保持“相同時(shí)為1鱼冀,正交時(shí)為0报破,相反時(shí)為?1”的性質(zhì),而歐氏距離的數(shù)值則受維度的影響千绪,范圍不固定充易,并且含義也比較模糊。
- 總體來說荸型,歐氏距離體現(xiàn)數(shù)值上的絕對差異盹靴,而余弦距離體現(xiàn)方向上的相對差異。例如瑞妇,統(tǒng)計(jì)兩部劇的用戶觀看行為稿静,用戶A的觀看向量為(0,1),用戶B為(1,0)辕狰;此時(shí)二者的余弦距離很大改备,而歐氏距離很小蔓倍;我們分析兩個用戶對于不同視頻的偏好悬钳,更關(guān)注相對差異,顯然應(yīng)當(dāng)使用余弦距離柬脸。而當(dāng)我們分析用戶活躍度他去,以登陸次數(shù)(單位:次)和平均觀看時(shí)長(單位:分鐘)作為特征時(shí),余弦距離會認(rèn)為(1,10)倒堕、(10,100)兩個用戶距離很近;但顯然這兩個用戶活躍度是有著極大差異的爆价,此時(shí)我們更關(guān)注數(shù)值絕對差異垦巴,應(yīng)當(dāng)使用歐氏距離。
16.余弦距離是否是一個嚴(yán)格定義的距離?
- 余弦距離:將1減去余弦相似度铭段。因此骤宣,余弦距離的取值范圍為
,相同的兩個向量余弦距離為0序愚。公式如下:
- 距離的定義:在一個集合中憔披,如果每一對元素均可唯一確定一個實(shí)數(shù),使得三條距離公理(正定性,對稱性芬膝,三角不等式)成立望门,則該實(shí)數(shù)可稱為這對元素之間的距離。
- 余弦距離滿足正定性和對稱性锰霜,但是不滿足三角不等式筹误,因此它并不是嚴(yán)格定義的距離。
- 正定性:
- 對稱性:
- 三角不等式性:給定
,
因此有
- 正定性:
- 在機(jī)器學(xué)習(xí)領(lǐng)域,被俗稱為距離友存,卻不滿足三條距離公理的不僅僅有余弦距離祷膳,還有KL距離(Kullback-Leibler Divergence),也叫作相對熵屡立,它常用于計(jì)算兩個分布之間的差異钾唬,但不滿足對稱性和三角不等式。
17.在對模型進(jìn)行過充分的離線評估之后侠驯,為什么還要進(jìn)行在線A/B測試抡秆?
- 需要進(jìn)行在線A/B測試的原因如下。
- 離線評估無法完全消除模型過擬合的影響吟策,因此儒士,得出的離線評估結(jié)果無法完全替代線上評估結(jié)果。
- 離線評估無法完全還原線上的工程環(huán)境檩坚。一般來講着撩,離線評估往往不會考慮線上環(huán)境的延遲、數(shù)據(jù)丟失匾委、標(biāo)簽數(shù)據(jù)缺失等情況拖叙。因此,離線評估的結(jié)果是理想工程環(huán)境下的結(jié)果赂乐。
- 線上系統(tǒng)的某些商業(yè)指標(biāo)在離線評估中無法計(jì)算薯鳍。離線評估一般是針對模型本身進(jìn)行評估,而與模型相關(guān)的其他指標(biāo)挨措,特別是商業(yè)指標(biāo)挖滤,往往無法直接獲得。比如浅役,上線了新的推薦算法斩松,離線評估往往關(guān)注的是ROC曲線、P-R曲線等的改進(jìn)觉既,而線上評估可以全面了解該推薦算法帶來的用戶點(diǎn)擊率惧盹、留存時(shí)長乳幸、PV訪問量等的變化。這些都要由A/B測試來進(jìn)行全面的評估钧椰。
18.如何進(jìn)行線上A/B測試粹断?
- 進(jìn)行A/B測試的主要手段是進(jìn)行用戶分桶,即將用戶分成實(shí)驗(yàn)組和對照組演侯,對實(shí)驗(yàn)組的用戶施以新模型姿染,對對照組的用戶施以舊模型。在分桶的過程中秒际,要注意樣本的獨(dú)立性和采樣方式的無偏性悬赏,確保同一個用戶每次只能分到同一個桶中,在分桶過程中所選取的user_id需要是一個隨機(jī)數(shù)娄徊,這樣才能保證桶中的樣本是無偏的闽颇。
19.如何劃分實(shí)驗(yàn)組和對照組?
- 針對系統(tǒng)中的“美國用戶”研發(fā)了一套全新的視頻推薦模型A,而目前正在使用的針對全體用戶的推薦模型是B寄锐。在正式上線之前兵多,工程師們希望通過A/B測試來驗(yàn)證新推薦模型的效果下面有三種實(shí)驗(yàn)組和對照組的劃分方法,請指出哪種劃分方法是正確的橄仆?
- 根據(jù)id個位數(shù)的奇偶性將用戶劃分為實(shí)驗(yàn)組和對照組剩膘,對實(shí)驗(yàn)組施以模型A,對照組施以模型B盆顾;
- 將id個位數(shù)為奇數(shù)且為美國用戶的作為實(shí)驗(yàn)組怠褐,其余用戶為對照組;
- 將id個位數(shù)為奇數(shù)且為美國用戶的作為實(shí)驗(yàn)組您宪,id個位數(shù)為偶數(shù)的用戶作為對照組奈懒。
- 上述3種A/B測試的劃分方法都不正確。正確的做法是將所有美國用戶根據(jù)id個位數(shù)劃分為試驗(yàn)組合對照組宪巨,分別施以模型A和B磷杏,才能夠驗(yàn)證模型A的效果。
20.模型評估的方法
- 在模型評估過程中捏卓,有哪些主要的驗(yàn)證方法极祸,它們的優(yōu)缺點(diǎn)是什么? Holdout檢驗(yàn),交叉驗(yàn)證天吓,自助法(Bootstrap)贿肩,微積分
- Holdout檢驗(yàn)。Holdout 檢驗(yàn)是最簡單也是最直接的驗(yàn)證方法龄寞,它將原始的樣本集合隨機(jī)劃分成訓(xùn)練集和驗(yàn)證集兩部分。Holdout 檢驗(yàn)的缺點(diǎn)很明顯汤功,即在驗(yàn)證集上計(jì)算出來的最后評估指標(biāo)與原始分組有很大關(guān)系物邑。為了消除隨機(jī)性,研究者們引入了“交叉檢驗(yàn)”的思想。
- 交叉檢驗(yàn)色解。k-fold交叉驗(yàn)證:首先將全部樣本劃分成k個大小相等的樣本子集茂嗓;依次遍歷這k個子集,每次把當(dāng)前子集作為驗(yàn)證集科阎,其余所有子集作為訓(xùn)練集述吸,進(jìn)行模型的訓(xùn)練和評估;最后把k次評估指標(biāo)的平均值作為最終的評估指標(biāo)锣笨。在實(shí)際實(shí)驗(yàn)中蝌矛,k經(jīng)常取10。留一驗(yàn)證:每次留下1個樣本作為驗(yàn)證集错英,其余所有樣本作為測試集入撒。因此它的時(shí)間開銷大,故而很少在實(shí)際工程中被應(yīng)用椭岩。
- 自助法茅逮。不管是Holdout檢驗(yàn)還是交叉檢驗(yàn),都是基于劃分訓(xùn)練集和測試集的方法進(jìn)行模型評估的判哥。然而献雅,當(dāng)樣本規(guī)模比較小時(shí),將樣本集進(jìn)行劃分會讓訓(xùn)練集進(jìn)一步減小塌计,這可能會影響模型訓(xùn)練效果挺身。有沒有能維持訓(xùn)練集樣本規(guī)模的驗(yàn)證方法呢?自助法可以比較好地解決這個問題夺荒。自助法是基于自助采樣法的檢驗(yàn)方法瞒渠。對于總數(shù)為n的樣本集合,進(jìn)行n次有放回的隨機(jī)抽樣技扼,得到大小為n的訓(xùn)練集伍玖。n次采樣過程中,有的樣本會被重復(fù)采樣剿吻,有的樣本沒有被抽出過窍箍,將這些沒有被抽出的樣本作為驗(yàn)證集,進(jìn)行模型驗(yàn)證丽旅,這就是自助法的驗(yàn)證過程椰棘。在自助法的采樣過程中,對n個樣本進(jìn)行n次自助抽樣榄笙,當(dāng)n趨于無窮大時(shí)邪狞,大約有36.8%的樣本從未被選擇過,可作為驗(yàn)證集茅撞。
21.降低“過擬合”風(fēng)險(xiǎn)的方法
- 常見的降低過擬合的四種方法帆卓。
- 從數(shù)據(jù)入手巨朦,獲得更多的訓(xùn)練數(shù)據(jù)。使用更多的訓(xùn)練數(shù)據(jù)是解決過擬合問題最有效的手段剑令,因?yàn)楦嗟臉颖灸軌蜃屇P蛯W(xué)習(xí)到更多更有效的特征糊啡,減小噪聲的影響。當(dāng)然吁津,直接增加實(shí)驗(yàn)數(shù)據(jù)一般是很困難的棚蓄,但是可以通過一定的規(guī)則來擴(kuò)充訓(xùn)練數(shù)據(jù)。比如碍脏,在圖像分類的問題上梭依,可以通過圖像的平移、旋轉(zhuǎn)潮酒、縮放等方式擴(kuò)充數(shù)據(jù)睛挚;更進(jìn)一步地,可以使用生成式對抗網(wǎng)絡(luò)來合成大量的新訓(xùn)練數(shù)據(jù)急黎。
- 降低模型復(fù)雜度扎狱。在數(shù)據(jù)較少時(shí),模型過于復(fù)雜是產(chǎn)生過擬合的主要因素勃教,適當(dāng)降低模型復(fù)雜度可以避免模型擬合過多的采樣噪聲淤击。例如,在神經(jīng)網(wǎng)絡(luò)模型中減少網(wǎng)絡(luò)層數(shù)故源、神經(jīng)元個數(shù)等污抬;在決策樹模型中降低樹的深度、進(jìn)行剪枝等绳军。
- 正則化方法印机。給模型的參數(shù)加上一定的正則約束.
- 集成學(xué)習(xí)方法。集成學(xué)習(xí)是把多個模型集成在一起门驾,來降低單一模型的過擬合風(fēng)險(xiǎn)射赛,如Bagging方法
22.降低“欠擬合”風(fēng)險(xiǎn)的方法
- 常見的降低過擬合的四種方法。
- 添加新特征奶是。當(dāng)特征不足或者現(xiàn)有特征與樣本標(biāo)簽的相關(guān)性不強(qiáng)時(shí)楣责,模型容易出現(xiàn)欠擬合。通過挖掘“上下文特征”“ID類特征”“組合特征”等新的特征聂沙,往往能夠取得更好的效果秆麸。在深度學(xué)習(xí)潮流中,有很多模型可以幫助完成特征工程及汉,如因子分解機(jī)沮趣、梯度提升決策樹、Deep-crossing等都可以成為豐富特征的方法坷随。
- 增加模型復(fù)雜度兔毒。簡單模型的學(xué)習(xí)能力較差漫贞,通過增加模型的復(fù)雜度可以使模型擁有更強(qiáng)的擬合能力甸箱。例如育叁,在線性模型中添加高次項(xiàng),在神經(jīng)網(wǎng)絡(luò)模型中增加網(wǎng)絡(luò)層數(shù)或神經(jīng)元個數(shù)等芍殖。
- 減小正則化系數(shù)豪嗽。正則化是用來防止過擬合的,但當(dāng)模型出現(xiàn)欠擬合現(xiàn)象時(shí)豌骏,則需要有針對性地減小正則化系數(shù)龟梦。