ML & DM
集成學(xué)習(xí) 模型融合 ensemble
EM
EM算法的目標(biāo)是找出有隱性變量的概率模型的最大可能性解,它分為兩個過程E-step和M-step蛙粘,E-step通過最初假設(shè)或上一步得出的模型參數(shù)得到后驗概率俯渤,M-step重新算出模型的參數(shù)挚躯,重復(fù)這個過程直到目標(biāo)函數(shù)值收斂赐劣。
PageRank
使用了馬爾可夫模型倡怎,用圖模型表示各個網(wǎng)頁趟薄,并且網(wǎng)頁轉(zhuǎn)移符合馬爾可夫鏈 。簡單說來就是求Markov轉(zhuǎn)移概率矩陣魄藕,通過迭代求該矩陣的最大特征值 只是為了收斂和穩(wěn)定, 加入了阻尼因子. .
http://blog.jobbole.com/71431/
[ 轉(zhuǎn)載 ]PageRank算法簡介及Map-Reduce實現(xiàn)
KNN
1.優(yōu)點:
1)簡單内列,易于理解,易于實現(xiàn)背率,無需估計參數(shù)话瞧,無需訓(xùn)練。
2)作為非線性分類器寝姿,可以區(qū)分非線性因素
3)特別適合于多分類問題(multi-modal,對象具有多個類別標(biāo)簽)交排, kNN比SVM的表現(xiàn)要好。
2.缺點:
1)該算法在分類時有個主要的不足是饵筑,當(dāng)樣本不平衡時埃篓,如一個類的樣本容量很大,而其他類樣本容量很小時根资,有可能導(dǎo)致當(dāng)輸入一個新樣本時架专,該樣本的K個鄰居中大容量類的樣本占多數(shù)。
2)該方法的另一個不足之處是計算量較大,因為對每一個待分類的文本都要計算它到全體已知樣本的距離,才能求得它的K個最近鄰點尔艇。
3)可理解性差,無法給出像決策樹那樣的規(guī)則。
4)類別評分不是規(guī)則化的案狠。
3.改進(jìn)策略:
針對以上算法的不足服傍,算法的改進(jìn)方向主要分成了分類效率和分類效果兩方面。
分類效率:事先對樣本屬性進(jìn)行約簡骂铁,刪除對分類結(jié)果影響較小的屬性吹零,快速的得出待分類樣本的類別。該算法比較適用于樣本容量比較大的類域的自動分類拉庵,而那些樣本容量較小的類域采用這種算法比較容易產(chǎn)生誤分灿椅。
分類效果:采用權(quán)值的方法(和該樣本距離小的鄰居權(quán)值大)來改進(jìn),
KNN樹钞支?
決策樹(ID3與C4.5區(qū)別,剪枝),NB(推導(dǎo)),
LR(推導(dǎo),梯度下降,牛頓法,擬牛頓法),
SVM(推導(dǎo),核函數(shù),與LR的區(qū)別),
SVM與LR的區(qū)別
兩種方法都是常見的分類算法,從目標(biāo)函數(shù)來看,區(qū)別在于邏輯回歸采用的是logistical loss,svm采用的是hinge loss(折葉損失).這兩個損失函數(shù)的目的都是增加對分類影響較大的數(shù)據(jù)點的權(quán)重,減少與分類關(guān)系較小的數(shù)據(jù)點的權(quán)重.SVM的處理方法是只考慮support vectors,也就是和分類最相關(guān)的少數(shù)點,去學(xué)習(xí)分類器.而邏輯回歸要考慮所有的數(shù)據(jù)茫蛹。通過非線性映射,大大減小了離分類平面較遠(yuǎn)的點的權(quán)重,相對提升了與分類最相關(guān)的數(shù)據(jù)點的權(quán)重.兩者的根本目的都是一樣的.此外,根據(jù)需要,兩個方法都可以增加不同的正則化項,如l1,l2等等.所以在很多實驗中,兩種算法的結(jié)果是很接近的.
但是邏輯回歸相對來說模型更簡單,好理解,實現(xiàn)起來,特別是大規(guī)模線性分類時比較方便.而SVM的理解和優(yōu)化相對來說復(fù)雜一些.但是SVM的理論基礎(chǔ)更加牢固,有一套結(jié)構(gòu)化風(fēng)險最小化的理論基礎(chǔ),雖然一般使用的人不太會去關(guān)注.還有很重要的一點,SVM轉(zhuǎn)化為對偶問題后,分類只需要計算與少數(shù)幾個支持向量的距離,這個在進(jìn)行復(fù)雜核函數(shù)計算時優(yōu)勢很明顯,能夠大大簡化模型和計算
svm 更多的屬于非參數(shù)模型,而logistic regression 是參數(shù)模型,本質(zhì)不同.其區(qū)別就可以參考參數(shù)模型和非參模型的區(qū)別就好了.
logic 能做的 svm能做,但可能在準(zhǔn)確率上有問題,svm能做的logic有的做不了。
LR需要調(diào)參烁挟,而樸素貝葉斯不需要婴洼。
EnsembleLearning(RF,GBDT,XGBoost原理,區(qū)別,實現(xiàn))
聚類(kmeans的原理,缺點,改進(jìn))
CF(itemCF,userCF)
文本處理(tf-idf)
word2vec
相似度/距離
用處:推薦系統(tǒng)協(xié)同過濾計算用戶和物品的相似度
http://wakemeup.space/?p=89
其他VC維
VC維(Vapnik-Chervonenkis Dimension)的概念是為了研究學(xué)習(xí)過程一致收斂的速度和推廣性,
由統(tǒng)計學(xué)理論定義的有關(guān)函數(shù)集學(xué)習(xí)性能的一個重要指標(biāo)撼嗓。
傳統(tǒng)的定義是:對一個指示函數(shù)集柬采,如果存在H個樣本能夠被函數(shù)集中的函數(shù)按所有可能的2的H次方種形式分開欢唾,
則稱函數(shù)集能夠把H個樣本打散;函數(shù)集的VC維就是它能打散的最大樣本數(shù)目H粉捻。
若對任意數(shù)目的樣本都有函數(shù)能將它們打散礁遣,則函數(shù)集的VC維是無窮大,
有界實函數(shù)的VC維可以通過用一定的閾值將它轉(zhuǎn)化成指示函數(shù)來定義肩刃。
VC維反映了函數(shù)集的學(xué)習(xí)能力祟霍,VC維越大則學(xué)習(xí)機(jī)器越復(fù)雜(容量越大),
遺憾的是树酪,目前尚沒有通用的關(guān)于任意函數(shù)集VC維計算的理論浅碾,只對一些特殊的函數(shù)集知道其VC維。
例如在N維空間中線性分類器和線性實函數(shù)的VC維是N+1续语。
EM算法
KL距離
svm 對偶
SVM里面的對偶就是約束規(guī)劃里面的對偶垂谢,因為SVM的求解就是約束規(guī)劃問題,最優(yōu)化里面比較簡單的是無約束規(guī)劃問題疮茄,約束規(guī)劃問題要轉(zhuǎn)化為無約束問題滥朱,一般是拉格朗日乘子法,同時整個問題需要滿足KKT條件力试,轉(zhuǎn)化以后就是一個先求max后求min的問題徙邻,它和先求min后求max是對偶問題,一半來說對偶問題的解就是原問題的解畸裳,不過有特殊情況缰犁,這個對SVM可以不考慮!我的理解就是這樣怖糊,希望能幫到你
關(guān)聯(lián)規(guī)則 /關(guān)聯(lián)分析 Apriori
關(guān)聯(lián)分析中的極大頻繁項集帅容;FP增長算法
Apriori算法是一種關(guān)聯(lián)規(guī)則的基本算法,是挖掘關(guān)聯(lián)規(guī)則的頻繁項集算法伍伤,也稱“購物籃分析”算法并徘,是“啤酒與尿布”案例的代表。
算法步驟:
1)依據(jù)支持度找出所有頻繁項集扰魂。
Apriori算法是發(fā)現(xiàn)頻繁項集的一種方法麦乞。Apriori算法的兩個輸入?yún)?shù)分別是最小支持度和數(shù)據(jù)集。該算法首先會生成所有單個元素的項集列表劝评。接著掃描數(shù)據(jù)集來查看哪些項集滿足最小支持度要求姐直,那些不滿足最小支持度的集合會被去掉。然后蒋畜,對剩下來的集合進(jìn)行組合以生成包含兩個元素的項集简肴。接下來,再重新掃描交易記錄百侧,去掉不滿足最小支持度的項集砰识。該過程重復(fù)進(jìn)行直到所有項集都被去掉能扒。為了生成所有頻繁項集,使用了遞歸的方法辫狼。
2)依據(jù)置信度產(chǎn)生關(guān)聯(lián)規(guī)則初斑。
關(guān)聯(lián)分析的目標(biāo)包括兩項:發(fā)現(xiàn)頻繁項集和發(fā)現(xiàn)關(guān)聯(lián)規(guī)則。首先需要找到頻繁項集膨处,然后才能獲得關(guān)聯(lián)規(guī)則(計算關(guān)聯(lián)規(guī)則的可信度需要用到頻繁項集的支持度)见秤。
頻繁項集(frequent item sets)是經(jīng)常出現(xiàn)在一塊兒的物品的集合。
關(guān)聯(lián)規(guī)則(association rules)暗示兩種物品之間可能存在很強(qiáng)的關(guān)系真椿。
支持度(support)被定義為數(shù)據(jù)集中包含該項集的記錄所占的比例鹃答。
可信度或置信度(confidence)是針對關(guān)聯(lián)規(guī)則來定義的。規(guī)則{尿布}?{啤酒}的可信度被定義為”支持度({尿布,啤酒})/支持度({尿布})”突硝,由于{尿布,啤酒}的支持度為3/5测摔,尿布的支持度為4/5,所以”尿布?啤酒”的可信度為3/4解恰。這意味著對于包含”尿布”的所有記錄锋八,我們的規(guī)則對其中75%的記錄都適用。
是經(jīng)典的關(guān)聯(lián)規(guī)則數(shù)據(jù)挖掘算法护盈。
1.優(yōu)點:
1)簡單挟纱、易理解。
2)數(shù)據(jù)要求低腐宋。
2.缺點:
1)在每一步產(chǎn)生候選項目集時循環(huán)產(chǎn)生的組合過多紊服,沒有排除不應(yīng)該參與組合的元素。
2)每次計算項集的支持度時胸竞,都對數(shù)據(jù)庫中的全部記錄進(jìn)行了一遍掃描比較欺嗤,如果是一個大型的數(shù)據(jù)庫時,這種掃描會大大增加計算機(jī)的I/O開銷撤师。
3.改進(jìn):
特殊到一般:先發(fā)現(xiàn)極大頻繁項集剂府,其子集一定滿足:
從寬度優(yōu)先到深度優(yōu)先拧揽。
1)利用建立臨時數(shù)據(jù)庫的方法來提高Apriori算法的效率剃盾。
2)Fp-tree 算法。以樹形的形式來展示淤袜、表達(dá)數(shù)據(jù)的形態(tài)痒谴;可以理解為水在不同河流分支的流動過程。
3)事務(wù)數(shù)據(jù)集列表使用垂直數(shù)據(jù)分布铡羡。水平數(shù)據(jù)布局改為垂直數(shù)據(jù)布局积蔚,壓縮TID列表防止內(nèi)存裝不下
特征提取
排序特征、離散特征烦周、計數(shù)特征尽爆、one hot怎顾、交叉特征
[特征工程] [特征提取][特征構(gòu)造]構(gòu)造特征的一些思路和角度
特征選擇
見 結(jié)合Scikit-learn介紹幾種常用的特征選擇方法
另外 特征線性相關(guān)度高的特征刪除(>0.95) 可簡約模型
[特征工程]特征選擇
線性分類器與非線性分類器的區(qū)別及優(yōu)勢
特征比數(shù)據(jù)量還大時,選擇什么樣的分類器
對于維度很高的特征漱贱,你是選擇線性分類器還是非線性分類器槐雾。
對于維度很低的特征,你是選擇線性分類器還是非線性分類器幅狮。
線性分類器與非線性分類器的理解(區(qū)別募强、特點、優(yōu)勢)
經(jīng)驗風(fēng)險最小化與結(jié)構(gòu)風(fēng)險最小化
結(jié)構(gòu)風(fēng)險 = 經(jīng)驗風(fēng)險+正則化項
什么是過擬合崇摄?原因擎值?怎么解決?
優(yōu)化方法BFGS推導(dǎo)
LDA
HMM
CRF
L1,L2正則區(qū)別,L1為什么能保證稀疏泵肄,L1,L2哪個效果好捆交? 正則化 范數(shù)
L1范數(shù)(L1 norm)是指向量中各個元素絕對值之和,也有個美稱叫“稀疏規(guī)則算子”(Lasso regularization)腐巢。
比如 向量A=[1品追,-1,3]冯丙, 那么A的L1范數(shù)為 |1|+|-1|+|3|.
簡單總結(jié)一下就是:
L1范數(shù): 為x向量各個元素絕對值之和肉瓦。
L2范數(shù): 為x向量各個元素平方和的
Lp范數(shù): 為x向量各個元素絕對值p次方和.
在支持向量機(jī)學(xué)習(xí)過程中,L1范數(shù)實際是一種對于成本函數(shù)求解最優(yōu)的過程胃惜,因此泞莉,L1范數(shù)正則化通過向成本函數(shù)中添加L1范數(shù),使得學(xué)習(xí)得到的結(jié)果滿足稀疏化船殉,從而方便人類提取特征鲫趁。
L1為什么能保證稀疏: L1函數(shù)是一次的,其導(dǎo)數(shù)恒定不變利虫,在零點附近導(dǎo)數(shù)較大導(dǎo)致取得最優(yōu)解時很多特征會沿著剃度下降到0挨厚,但是L2函數(shù)是二次函數(shù),其導(dǎo)數(shù)在零點附近接近于0糠惫,因此梯度下降是一般不會下降到0點
L1范數(shù)可以使權(quán)值稀疏疫剃,方便特征提取。
L2范數(shù)可以防止過擬合硼讽,提升模型的泛化能力巢价。
L1,L2哪個效果好?:看你需要干嘛 L1 用于1)特征選擇(Feature Selection)并使得模型更好解釋,且簡化模型運輸
L2范數(shù)可以防止過擬合壤躲,提升模型的泛化能力城菊。L2對較大的W系數(shù)有更大的懲罰(平方)因此一般泛化能力效果更好更常見。L2正則化會讓系數(shù)的取值變得平均碉克。對于關(guān)聯(lián)特征役电,這意味著他們能夠獲得更相近的對應(yīng)系數(shù)。還是以Y=X1+X2為例棉胀,假設(shè)X1和X2具有很強(qiáng)的關(guān)聯(lián)法瑟,如果用L1正則化,不論學(xué)到的模型是Y=X1+X2還是Y=2X1唁奢,懲罰都是一樣的霎挟,都是2alpha。但是對于L2來說麻掸,第一個模型的懲罰項是2alpha酥夭,但第二個模型的是4*alpha〖狗埽可以看出熬北,系數(shù)之和為常數(shù)時,各系數(shù)相等時懲罰是最小的诚隙,所以才有了L2會讓各個系數(shù)趨于相同的特點讶隐。
為什么加上這么一個項就可以了呢,我們先來引入奧卡姆剃刀原理:在所有可能選擇的模型中久又,能夠很好地解釋已知數(shù)據(jù)并且十分簡單的模型才是最好的模型巫延,也就是應(yīng)該選擇的模型。 現(xiàn)在地消,讓我們通過一張圖來看下這項是怎l2 norm 使得權(quán)值衰減炉峰,并防止某些過大的W,(用最少的w去擬合)——奧卡姆剃刀
(from prml)
正則化項本質(zhì)上是一種先驗信息脉执,整個最優(yōu)化問題從貝葉斯觀點來看是一種貝葉斯最大后驗估計疼阔,其中正則化項對應(yīng)后驗估計中的先驗信息,損失函數(shù)對應(yīng)后驗估計中的似然函數(shù)半夷,兩者的乘積即對應(yīng)貝葉斯最大后驗估計的形式婆廊,如果你將這個貝葉斯最大后驗估計的形式取對數(shù),即進(jìn)行極大似然估計玻熙,你就會發(fā)現(xiàn)問題立馬變成了損失函數(shù)+正則化項的最優(yōu)化問題形式否彩。
(1) 避免出現(xiàn)過擬合(over-fitting)疯攒。經(jīng)驗風(fēng)險最小化 + 正則化項 = 結(jié)構(gòu)風(fēng)險最小化嗦随。
(2) 從模型求解上看,正則化提供了一種唯一解的可能。光用最小二乘擬合可能出現(xiàn)無數(shù)組解枚尼,加個L1或L2正則化項能有唯一解贴浙。
word2vec原理,怎么實現(xiàn)的署恍,損失函數(shù)是什么崎溃,有沒看過源碼?
把詞當(dāng)做特征盯质,那么Word2vec就可以把特征映射到 K 維向量空間袁串,可以為文本數(shù)據(jù)尋求更加深層次的特征表示 。其基本思想是 通過訓(xùn)練將每個詞映射成 K 維實數(shù)向量(K 一般為模型中的超參數(shù))呼巷,通過詞之間的距離(比如 cosine 相似度囱修、歐氏距離等)來判斷它們之間的語義相似度.其采用一個 三層的神經(jīng)網(wǎng)絡(luò) ,輸入層-隱層-輸出層王悍。有個核心的技術(shù)是 根據(jù)詞頻用Huffman編碼 破镰,使得所有詞頻相似的詞隱藏層激活的內(nèi)容基本一致,出現(xiàn)頻率越高的詞語压储,他們激活的隱藏層數(shù)目越少鲜漩,這樣有效的降低了計算的復(fù)雜度。這個三層神經(jīng)網(wǎng)絡(luò)本身是 對語言模型進(jìn)行建模 集惋,但也同時 獲得一種單詞在向量空間上的表示 孕似,而這個副作用才是Word2vec的真正目標(biāo)。
損失函數(shù):softmax 交叉熵?fù)p失
(這里問了很久刮刑,比較深入)
xgboost和gbdt區(qū)別
xgb比gbdt好的地方:
二階泰勒展開
節(jié)點分?jǐn)?shù)懲罰
增益計算不同鳞青,gbdt是gini,xgb是優(yōu)化推導(dǎo)公式
1.正則化
xgboost在代價函數(shù)里加入了正則項为朋,用于控制模型的復(fù)雜度臂拓。正則項里包含了樹的葉子節(jié)點個數(shù)、每個葉子節(jié)點上輸出的score的L2模的平方和习寸。從Bias-variance tradeoff角度來講胶惰,正則項降低了模型的variance,使學(xué)習(xí)出來的模型更加簡單霞溪,防止過擬合孵滞,這也是xgboost優(yōu)于傳統(tǒng)GBDT的一個特性。
2.并行處理
xgboost工具支持并行鸯匹。boosting不是一種串行的結(jié)構(gòu)嗎?怎么并行的坊饶?注意xgboost的并行不是tree粒度的并行,xgboost也是一次迭代完才能進(jìn)行下一次迭代的(第t次迭代的代價函數(shù)里包含了前面t-1次迭代的預(yù)測值)殴蓬。xgboost的并行是在特征粒度上的匿级。我們知道蟋滴,決策樹的學(xué)習(xí)最耗時的一個步驟就是對特征的值進(jìn)行排序(因為要確定最佳分割點),xgboost在訓(xùn)練之前痘绎,預(yù)先對數(shù)據(jù)進(jìn)行了排序津函,然后保存為block結(jié)構(gòu),后面的迭代中重復(fù)地使用這個結(jié)構(gòu)孤页,大大減小計算量尔苦。這個block結(jié)構(gòu)也使得并行成為了可能,在進(jìn)行節(jié)點的分裂時行施,需要計算每個特征的增益允坚,最終選增益最大的那個特征去做分裂,那么各個特征的增益計算就可以開多線程進(jìn)行蛾号。
3.靈活性
xgboost支持用戶自定義目標(biāo)函數(shù)和評估函數(shù)屋讶,只要目標(biāo)函數(shù)二階可導(dǎo)就行。
4.缺失值的處理
對于特征的值有缺失的樣本须教,xgboost可以自動學(xué)習(xí)出它的分裂方向
5.剪枝
XGBoost 先從頂?shù)降捉⑺锌梢越⒌淖訕涿笊購牡椎巾敺聪蜻M(jìn)行剪枝。比起GBM轻腺,這樣不容易陷入局部最優(yōu)解
6.內(nèi)置交叉驗證
xgb.cv() 是不是感覺很方便
7.可以自定義目標(biāo)函數(shù)評價函數(shù)乐疆,方便特殊問題
描述一下mapreduce的過程
stacking bagging boosting 介紹,與偏差方差關(guān)系
hadoop,spark,分布式計算,sql
關(guān)系型數(shù)據(jù)庫,非關(guān)系型數(shù)據(jù)庫,
當(dāng)前主流的關(guān)系型數(shù)據(jù)庫有Oracle贬养、DB2挤土、Microsoft SQL Server、Microsoft Access误算、MySQL等仰美。
非關(guān)系型數(shù)據(jù)庫有 NoSql、Cloudant儿礼。
在關(guān)系型數(shù)據(jù)庫中咖杂,導(dǎo)致性能欠佳的最主要因素是多表的關(guān)聯(lián)查詢,以及復(fù)雜的數(shù)據(jù)分析類型的復(fù)雜SQL報表查詢蚊夫。為了保證數(shù)據(jù)庫的ACID特性诉字,我們必須盡量按照其要求的范式進(jìn)行設(shè)計,關(guān)系型數(shù)據(jù)庫中的表都是存儲一些格式化的數(shù)據(jù)結(jié)構(gòu)知纷,每個元組字段的組成都一樣壤圃,即使不是每個元組都需要所有的字段,但數(shù)據(jù)庫會為每個元組分配所有的字段琅轧,這樣的結(jié)構(gòu)可以便于表與表之間進(jìn)行連接等操作伍绳,但從另一個角度來說它也是關(guān)系型數(shù)據(jù)庫性能瓶頸的一個因素。
非關(guān)系型數(shù)據(jù)庫提出另一種理念乍桂,他以鍵值對存儲冲杀,且結(jié)構(gòu)不固定效床,每一個元組可以有不一樣的字段,每個元組可以根據(jù)需要增加一些自己的鍵值對漠趁,這樣就不會局限于固定的結(jié)構(gòu),可以減少一些時間和空間的開銷忍疾。使用這種方式闯传,用戶可以根據(jù)需要去添加自己需要的字段,這樣卤妒,為了獲取用戶的不同信息甥绿,不需要像關(guān)系型數(shù)據(jù)庫中,要對多表進(jìn)行關(guān)聯(lián)查詢则披。僅需要根據(jù)id取出相應(yīng)的value就可以完成查詢共缕。但非關(guān)系型數(shù)據(jù)庫由于很少的約束,他也不能夠提供想SQL所提供的where這種對于字段屬性值情況的查詢士复。并且難以體現(xiàn)設(shè)計的完整性图谷。他只適合存儲一些較為簡單的數(shù)據(jù),對于需要進(jìn)行較復(fù)雜查詢的數(shù)據(jù)阱洪,SQL數(shù)據(jù)庫顯得更為合適便贵。
偽代碼實現(xiàn):LR、梯度下降冗荸、最小二乘承璃、KNN、Kmeans;
基本知識:
監(jiān)督與非監(jiān)督區(qū)別蚌本;
監(jiān)督:輸入的數(shù)據(jù)有明確的標(biāo)識盔粹,可建立模型做預(yù)測,多用于分類和回歸程癌。
非監(jiān)督:數(shù)據(jù)并不被特別標(biāo)識舷嗡,需要建立模型得出數(shù)據(jù)的內(nèi)在結(jié)構(gòu),多用于聚類嵌莉。
生成模型和判別模型區(qū)別 像貝葉斯咬崔,lda 、pLSA 等就是生成模型烦秩,計算過概率分布之類的
生成模型:由數(shù)據(jù)學(xué)習(xí)聯(lián)合概率密度分布P(X,Y)垮斯,求出條件概率分布P(Y|X)作為預(yù)測的模型,即生成模型P(Y|X)=P(X,Y)/P(X)只祠,再利用它分類兜蠕。
判別模型:由數(shù)據(jù)直接學(xué)習(xí)決策函數(shù)y=f(x)或者條件概率分布P(Y|X)作為預(yù)測的模型∨浊蓿基本思想是有限樣本條件下建立判別函數(shù)熊杨,不考慮樣本的產(chǎn)生模型曙旭,直接研究預(yù)測模型。
典型的判別模型包括K近鄰晶府、感知機(jī)桂躏、決策樹、支持向量機(jī)等川陆。
由生成模型可以得到判別模型剂习,但由判別模型得不到生成模型。生成模型學(xué)習(xí)聯(lián)合概率分布P(X,Y),而判別模型學(xué)習(xí)條件概率分布P(Y|X)较沪。
算法的優(yōu)缺點以及相應(yīng)解決方案:k-means, KNN, apriori
算法原理:LR鳞绕、KNN、k-means尸曼、apriori们何、ID3(C45,CART)、SVM控轿、神經(jīng)網(wǎng)絡(luò)冤竹,協(xié)同過濾,em算法
from bryan
常見問題:
1)svm算法的原理茬射、如何組織訓(xùn)練數(shù)據(jù)贴见、如何調(diào)節(jié)懲罰因子、如何防止過擬合躲株、svm的泛化能力片部、增量學(xué)習(xí)
2)神經(jīng)網(wǎng)絡(luò)參數(shù)相關(guān)。比如霜定,參數(shù)的范圍档悠?如何防止過擬合?隱藏層點的個數(shù)多了怎樣少了怎樣望浩?什么情況下參數(shù)是負(fù)數(shù)辖所?
3)為什么要用邏輯回歸?LR CTR
從訓(xùn)練角度來說:首先LR的分布式優(yōu)化SGD發(fā)展比較成熟磨德,你線上訓(xùn)練肯定要用到許多機(jī)器缘回,算法要可分布。
從在線預(yù)測CTR的角度來說:LR的預(yù)測也可以在特征級別并行典挑,因為他是一個線性模型酥宴,這有什么好處呢?比如說你預(yù)測一次點擊行為用到十億個特征您觉,其中9億個特征可能更新很不頻繁拙寡,或者對更新不敏感,你可能為了性能要做緩存琳水。對于LR來說肆糕,你可以把這9億個特征和權(quán)重的點乘緩存下來般堆。這樣每次計算的時候就少了很多內(nèi)存搬運和CPU時間消耗。如果是決策樹做這種優(yōu)化就困難很多诚啃。比如說淘寶淮摔,商品的特征更新是很慢的,或者說一時半會不更新也不至于怎么樣始赎,那你緩存下來和橙,用戶玩命刷淘寶首頁的時候每次實際計算的是那一億對更新比較敏感的特征的數(shù)值。
當(dāng)然天下沒有免費的午餐极阅,LR的缺點就是模型本身的表達(dá)能力很弱胃碾,需要構(gòu)造非常棒的特征組合才能達(dá)到好的效果涨享,好消息是這只需要堆人力就好了筋搏。而且緩存的機(jī)制設(shè)計也有些復(fù)雜,需要一些toolkit+對模型和業(yè)務(wù)的理解才能把性能優(yōu)化到很好厕隧。
另外gbdt 當(dāng)然是好的奔脐,但點擊率預(yù)估的特征需要經(jīng)過一些tricky的處理后才能用到上面,也會吃掉更多的機(jī)器資源吁讨。
4)決策樹算法是按什么來進(jìn)行分類的?
5) 樸素貝葉斯公式
p(y|x)=p(x|y)p(y)/p(x) 髓迎,p(x)=∑k (y=ck) ∏P(xi|y=ck)
也即 p(x)p(y|x)=p(x|y)p(y)
實質(zhì)是根據(jù)先驗概率分布 P(y) 和條件概率分布P(X|Y),學(xué)習(xí)到聯(lián)合概率分布P(X,Y) 然后得到P(Y|X) 。是一種生成模型建丧。
期望風(fēng)險最小化 f(x) = argmaxP(y=ck|X=x)
極大似然估計
學(xué)習(xí)過程 1. 先學(xué)先驗概率分布 p(y=ck) 2. 再學(xué)給定某分類ck下的條件概率p(xj=aj | y=ck)
拉普拉斯平滑
避免了0概率問題(即樣本很少時如果某個量x排龄,在觀察樣本庫(訓(xùn)練集)中沒有出現(xiàn)過,會導(dǎo)致整個實例的概率結(jié)果是0)翎朱,而且對于文本訓(xùn)練計算整個文檔的概率如果一個詞為0會導(dǎo)致整個文本概率為0橄维,不合理!拴曲,分子和分母都分別加上一個常數(shù)争舞,
- 講em算法
7)svm中rbf核函數(shù)與高斯和函數(shù)的比較
8)說一下SVM的實現(xiàn)和運用過程
9)談?wù)凞NN
10)簡單說說決策樹分析
推薦系統(tǒng)中基于svd方法
PCA 與 SVD
[推薦系統(tǒng)] SVD 與 SVD++
https://zhuanlan.zhihu.com/p/25801478
特征值分解是一個提取矩陣特征很不錯的方法,但是它只是對方陣而言的澈灼,在現(xiàn)實的世界中竞川,我們看到的大部分矩陣都不是方陣,奇異值分解是一個能適用于任意的矩陣的一種分解的方法:
奇異值:奇異值往往對應(yīng)著矩陣中隱含的重要信息叁熔,且重要性和奇異值大小正相關(guān)委乌。每個矩陣!都可以表示為一系列秩為1的“小矩陣”之和,而奇異值則衡量了這些“小矩陣”對于的權(quán)重荣回。用于PCA SVD福澡,得到三個矩陣的物理意義,并實現(xiàn)壓縮
對物品進(jìn)行推薦驹马,某些用戶買了某些東西革砸,要來算出除秀,物品跟物品之間的相識度,這是很常見的推薦問題算利,用 SVD 算法册踩,在 python中numpy 的 linalg 可以計算矩陣的 SVD。分解完矩陣就可以用距離算法或者其他效拭,可以求出相識性暂吉。
2.SVD應(yīng)用于推薦系統(tǒng)
數(shù)據(jù)集中行代表用戶user,列代表物品item缎患,其中的值代表用戶對物品的打分慕的。基于SVD的優(yōu)勢在于:用戶的評分?jǐn)?shù)據(jù)是稀疏矩陣挤渔,可以用SVD將原始數(shù)據(jù)映射到低維空間中肮街,然后計算物品item之間的相似度,可以節(jié)省計算資源判导。
整體思路:先找到用戶沒有評分的物品嫉父,然后再經(jīng)過SVD“壓縮”后的低維空間中,計算未評分物品與其他物品的相似性眼刃,得到一個預(yù)測打分绕辖,再對這些物品的評分從高到低進(jìn)行排序,返回前N個物品推薦給用戶擂红。
具體代碼如下仪际,主要分為5部分:
第1部分:加載測試數(shù)據(jù)集;
第2部分:定義三種計算相似度的方法(余弦昵骤、歐式树碱、皮爾遜)
第3部分:通過計算奇異值平方和的百分比來確定將數(shù)據(jù)降到多少維才合適,返回需要降到的維度涉茧;
第4部分:在已經(jīng)降維的數(shù)據(jù)中赴恨,基于SVD得到的相似度對用戶未打分的物品進(jìn)行評分預(yù)測,返回未打分物品的預(yù)測評分值伴栓;
第5部分:產(chǎn)生前N個評分值高的物品伦连,返回物品編號以及預(yù)測評分值。
優(yōu)勢在于:用戶的評分?jǐn)?shù)據(jù)是稀疏矩陣钳垮,可以用SVD將數(shù)據(jù)映射到低維空間惑淳,然后計算低維空間中的item之間的相似度,對用戶未評分的item進(jìn)行評分預(yù)測饺窿,最后將預(yù)測評分高的item推薦給用戶歧焦。
12)SVM有哪些優(yōu)勢,(x,y,z)三個特征如何用徑向基核函數(shù)抽取第四維特征
13)userCF和ItemCF在實際當(dāng)中如何使用,提供具體操作,以及它們的優(yōu)勢(推薦系統(tǒng))
14)如何用Logic regression建立一個廣告點擊次數(shù)預(yù)測模型
15)舉一個適合采用層次分析法的例子
隨機(jī)森林的學(xué)習(xí)過程
隨機(jī)森林中的每一棵樹是如何學(xué)習(xí)的
隨機(jī)森林學(xué)習(xí)算法中CART樹的基尼指數(shù)是什么
27)支持向量機(jī)绢馍、圖模型向瓷、波爾茨曼機(jī),內(nèi)存壓縮舰涌、紅黑樹猖任、并行度
28) 如何搭建一個推薦平臺,給出具體的想法瓷耙,
29) 實現(xiàn)一個中文輸入法
30) k-meanshift的機(jī)制朱躺,能不能用偽碼實現(xiàn)
31)實現(xiàn)最小二乘法。
經(jīng)常會問到的問題搁痛,經(jīng)典算法推導(dǎo)(加分項)长搀,原理,各個損失函數(shù)之間區(qū)別鸡典,使用場景源请,如何并行化,有哪些關(guān)鍵參數(shù)比如LR,SVM,RF,KNN轿钠,EM巢钓,Adaboost,PageRank病苗,GBDT疗垛,Xgboost,HMM硫朦,DNN贷腕,推薦算法,聚類算法咬展,等等機(jī)器學(xué)習(xí)領(lǐng)域的算法泽裳,這些基本都會被問到
XGB和GBDT區(qū)別與聯(lián)系也會經(jīng)常問到:https://www.zhihu.com/question/41354392/answer/128008021?group_id=773629156532445184
哪些優(yōu)化方法,隨機(jī)梯度下降破婆,牛頓擬牛頓原理生成模型涮总,判別模型線性分類和非線性分類各有哪些模型SVM核技巧原理,如何選擇核函數(shù)特征選擇方法有哪些(能說出來10種以上加分)常見融合框架原理祷舀,優(yōu)缺點瀑梗,bagging,stacking裳扯,boosting抛丽,為什么融合能提升效果信息熵和基尼指數(shù)的關(guān)系(信息熵在x=1處一階泰勒展開就是基尼指數(shù))如何克服過擬合,欠擬合L0饰豺,L1亿鲜,L2正則化(如果能推導(dǎo)絕對是加分項,一般人最多能畫個等高線冤吨,L0是NP問題)
模型的穩(wěn)定性
越簡單越穩(wěn)定
cv的方差作為穩(wěn)定性評估
t檢驗 卡方檢驗
單樣本T檢驗是檢驗?zāi)硞€變量的總體均值和某指定值之間是否存在顯著差異蒿柳。T檢驗的前提是樣本總體服從
正態(tài)分布饶套。
卡方擬合性檢驗是檢驗單個多項分類名義型變量各分類間的實際觀測次數(shù)與理論次數(shù)之間是否一致的問題
,其零假設(shè)是觀測次數(shù)與理論次數(shù)之間無差異垒探。
語言
Python類繼承凤跑,內(nèi)存管理
python 提高運行效率的一些方法
推薦系統(tǒng)的一些
SVD SVD++
其他
Java垃圾回收
TCP、HTTP叛复、socket的區(qū)別
五層協(xié)議及對應(yīng)層的協(xié)議,TCP/UDP區(qū)別,IP地址子網(wǎng)掩碼網(wǎng)絡(luò)號那些會計算,TCp的擁塞控制,TCP的三次握手四次釋放,http/https的區(qū)別
八大排序(能在五分鐘內(nèi)手寫,快排,歸并,堆比較常見),數(shù)組,字符串(最大子串之類的),二叉樹(二叉樹遍歷,遞歸非遞歸5分鐘內(nèi)手寫),圖(不太常見,深度優(yōu)先廣度優(yōu)先得懂)
數(shù)據(jù)挖掘在游戲應(yīng)用
408
簡述數(shù)據(jù)庫操作的步驟
建立數(shù)據(jù)庫連接仔引、打開數(shù)據(jù)庫連接、建立數(shù)據(jù)庫命令褐奥、運行數(shù)據(jù)庫命令咖耘、保存數(shù)據(jù)庫命令、關(guān)閉數(shù)據(jù)庫連接撬码。
概率論的知識
對深度學(xué)習(xí)的了解和理解
看過的書籍
推薦系統(tǒng)實戰(zhàn)儿倒、數(shù)學(xué)之美、機(jī)器學(xué)習(xí)實戰(zhàn)呜笑、機(jī)器學(xué)習(xí)夫否、統(tǒng)計學(xué)習(xí)方法、數(shù)據(jù)挖掘?qū)д?/p>