連續(xù)特征的離散化:在什么情況下將連續(xù)的特征離散化之后可以獲得更好的效果疮方?
Q:CTR預(yù)估,發(fā)現(xiàn)CTR預(yù)估一般都是用LR巩检,而且特征都是離散的术幔。為什么一定要用離散特征呢?這樣做的好處在哪里梯影?
A:
在工業(yè)界巫员,很少直接將連續(xù)值作為邏輯回歸模型的特征輸入,而是將連續(xù)特征離散化為一系列0甲棍、1特征交給邏輯回歸模型简识,這樣做的優(yōu)勢(shì)有以下幾點(diǎn):
0、 離散特征的增加和減少都很容易,易于模型的快速迭代七扰。(離散特征的增加和減少奢赂,模型也不需要調(diào)整,重新訓(xùn)練是必須的颈走,相比貝葉斯推斷方法或者樹模型方法迭代快)
1膳灶、稀疏向量?jī)?nèi)積乘法運(yùn)算速度快,計(jì)算結(jié)果方便存儲(chǔ)立由,容易擴(kuò)展轧钓;
2、離散化后的特征對(duì)異常數(shù)據(jù)有很強(qiáng)的魯棒性:比如一個(gè)特征是年齡>30是1拆吆,否則0聋迎。如果特征沒有離散化,一個(gè)異常數(shù)據(jù)“年齡300歲”會(huì)給模型造成很大的干擾枣耀;離散化后年齡300歲也只對(duì)應(yīng)于一個(gè)權(quán)重霉晕,如果訓(xùn)練數(shù)據(jù)中沒有出現(xiàn)特征"年齡-300歲",那么在LR模型中捞奕,其權(quán)重對(duì)應(yīng)于0牺堰,所以,即使測(cè)試數(shù)據(jù)中出現(xiàn)特征"年齡-300歲",也不會(huì)對(duì)預(yù)測(cè)結(jié)果產(chǎn)生影響颅围。特征離散化的過程伟葫,比如特征A,如果當(dāng)做連續(xù)特征使用院促,在LR模型中筏养,A會(huì)對(duì)應(yīng)一個(gè)權(quán)重w,如果離散化,那么A就拓展為特征A-1常拓,A-2渐溶,A-3...,每個(gè)特征對(duì)應(yīng)于一個(gè)權(quán)重,如果訓(xùn)練樣本中沒有出現(xiàn)特征A-4弄抬,那么訓(xùn)練的模型對(duì)于A-4就沒有權(quán)重茎辐,如果測(cè)試樣本中出現(xiàn)特征A-4,該特征A-4也不會(huì)起作用。相當(dāng)于無效掂恕。但是拖陆,如果使用連續(xù)特征,在LR模型中懊亡,y = w*a,a是特征依啰,w是a對(duì)應(yīng)的權(quán)重,比如a代表年齡,那么a的取值范圍是[0..100]店枣,如果測(cè)試樣本中,出現(xiàn)了一個(gè)測(cè)試用例孔飒,a的取值是300灌闺,顯然a是異常值,但是w*a還是有值坏瞄,而且值還非常大桂对,所以,異常值會(huì)對(duì)最后結(jié)果產(chǎn)生非常大的影響鸠匀。
3蕉斜、邏輯回歸屬于廣義線性模型,表達(dá)能力受限缀棍;單變量離散化為N個(gè)后宅此,每個(gè)變量有單獨(dú)的權(quán)重,相當(dāng)于為模型引入了非線性爬范,能夠提升模型表達(dá)能力父腕,加大擬合;在LR模型中青瀑,特征A作為連續(xù)特征對(duì)應(yīng)的權(quán)重是Wa璧亮。A是線性特征,因?yàn)閥 = Wa*A,y對(duì)于A的導(dǎo)數(shù)就是Wa,如果離散化后斥难,A按區(qū)間離散化為A_1,A_2,A_3枝嘶。那么y = w_1*A_1+w_2*A_2+w_3*A_3.那么y對(duì)于A的函數(shù)就相當(dāng)于分段的線性函數(shù),y對(duì)于A的導(dǎo)數(shù)也隨A的取值變動(dòng)哑诊,所以群扶,相當(dāng)于引入了非線性。
4镀裤、 離散化后可以進(jìn)行特征交叉竞阐,加入特征A 離散化為M個(gè)值,特征B離散為N個(gè)值暑劝,那么交叉之后會(huì)有M*N個(gè)變量馁菜,進(jìn)一步引入非線性,提升表達(dá)能力铃岔;
5、特征離散化后峭火,模型會(huì)更穩(wěn)定毁习,比如如果對(duì)用戶年齡離散化,20-30作為一個(gè)區(qū)間卖丸,不會(huì)因?yàn)橐粋€(gè)用戶年齡長(zhǎng)了一歲就變成一個(gè)完全不同的人纺且。當(dāng)然處于區(qū)間相鄰處的樣本會(huì)剛好相反,所以怎么劃分區(qū)間是門學(xué)問稍浆;按區(qū)間離散化载碌,劃分區(qū)間是非常關(guān)鍵的猜嘱。
6、特征離散化以后嫁艇,起到了簡(jiǎn)化了邏輯回歸模型的作用朗伶,降低了模型過擬合的風(fēng)險(xiǎn)。(當(dāng)使用連續(xù)特征時(shí)步咪,一個(gè)特征對(duì)應(yīng)于一個(gè)權(quán)重论皆,那么,如果這個(gè)特征權(quán)重較大猾漫,模型就會(huì)很依賴于這個(gè)特征点晴,這個(gè)特征的一個(gè)微小變化可能會(huì)導(dǎo)致最終結(jié)果產(chǎn)生很大的變化,這樣子的模型很危險(xiǎn)悯周,當(dāng)遇到新樣本的時(shí)候很可能因?yàn)閷?duì)這個(gè)特征過分敏感而得到錯(cuò)誤的分類結(jié)果粒督,也就是泛化能力差,容易過擬合禽翼。而使用離散特征的時(shí)候屠橄,一個(gè)特征變成了多個(gè),權(quán)重也變?yōu)槎鄠€(gè)捐康,那么之前連續(xù)特征對(duì)模型的影響力就被分散弱化了仇矾,從而降低了過擬合的風(fēng)險(xiǎn)。)
李沐曾經(jīng)說過:模型是使用離散特征還是連續(xù)特征解总,其實(shí)是一個(gè)“海量離散特征+簡(jiǎn)單模型” 同 “少量連續(xù)特征+復(fù)雜模型”的權(quán)衡贮匕。既可以離散化用線性模型,也可以用連續(xù)特征加深度學(xué)習(xí)花枫。就看是喜歡折騰特征還是折騰模型了刻盐。通常來說,前者容易劳翰,而且可以n個(gè)人一起并行做敦锌,有成功經(jīng)驗(yàn);后者目前看很贊佳簸,能走多遠(yuǎn)還須拭目以待乙墙。
http://www.zhihu.com/question/28641663/answer/41653367
機(jī)器學(xué)習(xí)中,有哪些特征選擇的工程方法生均?
特征選擇是特征工程中的重要問題(另一個(gè)重要的問題是特征提忍搿),坊間常說:數(shù)據(jù)和特征決定了機(jī)器學(xué)習(xí)的上限马胧,而模型和算法只是逼近這個(gè)上限而已汉买。由此可見,特征工程尤其是特征選擇在機(jī)器學(xué)習(xí)中占有相當(dāng)重要的地位佩脊。機(jī)器學(xué)習(xí)做得好不好蛙粘,被數(shù)據(jù)和模型共同影響垫卤,比如說,數(shù)據(jù)本身不可分出牧,那么SVM等分類算法再牛逼穴肘,也不能完全正確分開。數(shù)據(jù)集本身是有內(nèi)在特性的崔列,數(shù)據(jù)集本身的特征決定了機(jī)器學(xué)習(xí)的上限梢褐。所以,一個(gè)機(jī)器學(xué)習(xí)算法可能在數(shù)據(jù)集A上效果很好赵讯,但在數(shù)據(jù)集B上效果很差盈咳,這是很正常的現(xiàn)象,因?yàn)閿?shù)據(jù)集A和B的內(nèi)在特性不一樣边翼。我以前學(xué)別人使用GBDT提取特征鱼响,別人使用GBDT提取特征,可以使分類效果提升组底,但是丈积,我使用了GBDT提特征,并沒有使效果提升债鸡。因?yàn)閿?shù)據(jù)集特性不一樣江滨。所以,數(shù)據(jù)集的特性決定了算法能達(dá)到效果的上限厌均。
通常而言唬滑,特征選擇是指選擇獲得相應(yīng)模型和算法最好性能的特征集,工程上常用的方法有以下:
1.計(jì)算每一個(gè)特征與響應(yīng)變量的相關(guān)性:工程上常用的手段有計(jì)算皮爾遜系數(shù)和互信息系數(shù)棺弊,皮爾遜系數(shù)只能衡量線性相關(guān)性而互信息系數(shù)能夠很好地度量各種相關(guān)性晶密,但是計(jì)算相對(duì)復(fù)雜一些,好在很多toolkit里邊都包含了這個(gè)工具(如sklearn的MINE)模她,得到相關(guān)性之后就可以排序選擇特征了.(其實(shí)就是計(jì)算輸出關(guān)于輸入的導(dǎo)數(shù)稻艰,如果某個(gè)特征很大程度上影響了輸出,那么該特征就會(huì)比較重要)侈净。
2. 構(gòu)建單個(gè)特征的模型尊勿,通過模型的準(zhǔn)確性為特征排序,借此來選擇特征畜侦,另外元扔,記得JMLR'03上有一篇論文介紹了一種基于決策樹的特征選擇方法,本質(zhì)上是等價(jià)的夏伊。當(dāng)選擇到了目標(biāo)特征之后,再用來訓(xùn)練最終的模型吻氧;
3.?通過L1正則項(xiàng)來選擇特征:L1正則方法具有稀疏解的特性溺忧,因此天然具備特征選擇的特性咏连,但是要注意,L1沒有選到的特征不代表不重要鲁森,原因是兩個(gè)具有高相關(guān)性的特征可能只保留了一個(gè)祟滴,如果要確定哪個(gè)特征重要應(yīng)再通過L2正則方法交叉檢驗(yàn);
4. 訓(xùn)練能夠?qū)μ卣鞔蚍值念A(yù)選模型:RandomForest和Logistic Regression等都能對(duì)模型的特征打分歌溉,通過打分獲得相關(guān)性后再訓(xùn)練最終模型垄懂;
5. 通過特征組合后再來選擇特征:如對(duì)用戶id和用戶特征最組合來獲得較大的特征集再來選擇特征,這種做法在推薦系統(tǒng)和廣告系統(tǒng)中比較常見痛垛,這也是所謂億級(jí)甚至十億級(jí)特征的主要來源草慧,原因是用戶數(shù)據(jù)比較稀疏,組合特征能夠同時(shí)兼顧全局模型和個(gè)性化模型匙头,這個(gè)問題有機(jī)會(huì)可以展開講漫谷。
6. 通過深度學(xué)習(xí)來進(jìn)行特征選擇:目前這種手段正在隨著深度學(xué)習(xí)的流行而成為一種手段,尤其是在計(jì)算機(jī)視覺領(lǐng)域蹂析,原因是深度學(xué)習(xí)具有自動(dòng)學(xué)習(xí)特征的能力舔示,這也是深度學(xué)習(xí)又叫unsupervisedfeature learning的原因。從深度學(xué)習(xí)模型中選擇某一神經(jīng)層的特征后就可以用來進(jìn)行最終目標(biāo)模型的訓(xùn)練了电抚。
http://www.zhihu.com/question/34271604
在廣告LR模型中惕稻,為什么要做特征組合?
在業(yè)界蝙叛,LR模型之所以很受歡迎俺祠,主要是因?yàn)長(zhǎng)R模型本質(zhì)是對(duì)數(shù)線性模型,實(shí)現(xiàn)簡(jiǎn)單甥温,易于并行锻煌,大規(guī)模擴(kuò)展方便,迭代速度快姻蚓,同時(shí)使用的特征比較好解釋宋梧,預(yù)測(cè)輸出在0與1之間契合概率模型。(模型的可解釋性舉例狰挡,比如A-B的權(quán)重比較大捂龄,A代表用戶,B代表物品加叁,那么可以認(rèn)為A是對(duì)B比較感興趣的)但是倦沧,線性模型對(duì)于非線性關(guān)系缺乏準(zhǔn)確刻畫,特征組合正好可以加入非線性表達(dá)它匕,增強(qiáng)模型的表達(dá)能力展融。另外,廣告LR中豫柬,基本特征可以認(rèn)為是用于全局建模告希,組合特征更加精細(xì)扑浸,是個(gè)性化建模,因?yàn)樵谶@種大規(guī)模離散LR中燕偶,單對(duì)全局建模會(huì)對(duì)部分用戶有偏喝噪,對(duì)每一用戶建模又?jǐn)?shù)據(jù)不足易過擬合同時(shí)帶來模型數(shù)量爆炸,所以基本特征+組合特征兼顧了全局和個(gè)性化指么。比如特征向量中酝惧,有用戶A,B伯诬,C晚唇,物品E,F,G」昧基本的特征A,B.C.E.F.G對(duì)應(yīng)的權(quán)重缺亮,對(duì)應(yīng)的是每個(gè)對(duì)象的偏置權(quán)重,但如果A偏好E,B偏好F桥言,那么組合特征A-E,B-F就是對(duì)用戶的個(gè)性進(jìn)行建模萌踱,組合特征A-E,B-F的權(quán)重就是代表A對(duì)E的喜好,和B-F的喜好号阿。