面試

ML & DM

集成學(xué)習(xí) 模型融合 ensemble

http://wakemeup.space/?p=109

EM

EM算法的目標(biāo)是找出有隱性變量的概率模型的最大可能性解,它分為兩個(gè)過程E-step和M-step,E-step通過最初假設(shè)或上一步得出的模型參數(shù)得到后驗(yàn)概率,M-step重新算出模型的參數(shù),重復(fù)這個(gè)過程直到目標(biāo)函數(shù)值收斂。

PageRank

使用了馬爾可夫模型,用圖模型表示各個(gè)網(wǎng)頁,并且網(wǎng)頁轉(zhuǎn)移符合馬爾可夫鏈 。簡單說來就是求Markov轉(zhuǎn)移概率矩陣,通過迭代求該矩陣的最大特征值 只是為了收斂和穩(wěn)定, 加入了阻尼因子. .
http://blog.jobbole.com/71431/
[ 轉(zhuǎn)載 ]PageRank算法簡介及Map-Reduce實(shí)現(xiàn)

KNN

1.優(yōu)點(diǎn):
1)簡單,易于理解,易于實(shí)現(xiàn),無需估計(jì)參數(shù),無需訓(xùn)練。
2)作為非線性分類器,可以區(qū)分非線性因素
3)特別適合于多分類問題(multi-modal,對象具有多個(gè)類別標(biāo)簽), kNN比SVM的表現(xiàn)要好。
2.缺點(diǎn):
1)該算法在分類時(shí)有個(gè)主要的不足是,當(dāng)樣本不平衡時(shí),如一個(gè)類的樣本容量很大,而其他類樣本容量很小時(shí),有可能導(dǎo)致當(dāng)輸入一個(gè)新樣本時(shí),該樣本的K個(gè)鄰居中大容量類的樣本占多數(shù)。
2)該方法的另一個(gè)不足之處是計(jì)算量較大,因?yàn)閷γ恳粋€(gè)待分類的文本都要計(jì)算它到全體已知樣本的距離,才能求得它的K個(gè)最近鄰點(diǎn)。
3)可理解性差,無法給出像決策樹那樣的規(guī)則。
4)類別評分不是規(guī)則化的。
3.改進(jìn)策略:
針對以上算法的不足,算法的改進(jìn)方向主要分成了分類效率和分類效果兩方面。
分類效率:事先對樣本屬性進(jìn)行約簡,刪除對分類結(jié)果影響較小的屬性,快速的得出待分類樣本的類別。該算法比較適用于樣本容量比較大的類域的自動(dòng)分類,而那些樣本容量較小的類域采用這種算法比較容易產(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(折葉損失).這兩個(gè)損失函數(shù)的目的都是增加對分類影響較大的數(shù)據(jù)點(diǎn)的權(quán)重,減少與分類關(guān)系較小的數(shù)據(jù)點(diǎn)的權(quán)重.SVM的處理方法是只考慮support vectors,也就是和分類最相關(guān)的少數(shù)點(diǎn),去學(xué)習(xí)分類器.而邏輯回歸要考慮所有的數(shù)據(jù)。通過非線性映射,大大減小了離分類平面較遠(yuǎn)的點(diǎn)的權(quán)重,相對提升了與分類最相關(guān)的數(shù)據(jù)點(diǎn)的權(quán)重.兩者的根本目的都是一樣的.此外,根據(jù)需要,兩個(gè)方法都可以增加不同的正則化項(xiàng),如l1,l2等等.所以在很多實(shí)驗(yàn)中,兩種算法的結(jié)果是很接近的.
但是邏輯回歸相對來說模型更簡單,好理解,實(shí)現(xiàn)起來,特別是大規(guī)模線性分類時(shí)比較方便.而SVM的理解和優(yōu)化相對來說復(fù)雜一些.但是SVM的理論基礎(chǔ)更加牢固,有一套結(jié)構(gòu)化風(fēng)險(xiǎn)最小化的理論基礎(chǔ),雖然一般使用的人不太會(huì)去關(guān)注.還有很重要的一點(diǎn),SVM轉(zhuǎn)化為對偶問題后,分類只需要計(jì)算與少數(shù)幾個(gè)支持向量的距離,這個(gè)在進(jìn)行復(fù)雜核函數(shù)計(jì)算時(shí)優(yōu)勢很明顯,能夠大大簡化模型和計(jì)算
svm 更多的屬于非參數(shù)模型,而logistic regression 是參數(shù)模型,本質(zhì)不同.其區(qū)別就可以參考參數(shù)模型和非參模型的區(qū)別就好了.
logic 能做的 svm能做,但可能在準(zhǔn)確率上有問題,svm能做的logic有的做不了。

LR需要調(diào)參,而樸素貝葉斯不需要。

EnsembleLearning(RF,GBDT,XGBoost原理,區(qū)別,實(shí)現(xiàn))

聚類(kmeans的原理,缺點(diǎn),改進(jìn))

http://wakemeup.space/?p=175

CF(itemCF,userCF)
文本處理(tf-idf)

word2vec

相似度/距離

用處:推薦系統(tǒng)協(xié)同過濾計(jì)算用戶和物品的相似度
http://wakemeup.space/?p=89

其他VC維

VC維(Vapnik-Chervonenkis Dimension)的概念是為了研究學(xué)習(xí)過程一致收斂的速度和推廣性,
由統(tǒng)計(jì)學(xué)理論定義的有關(guān)函數(shù)集學(xué)習(xí)性能的一個(gè)重要指標(biāo)。

傳統(tǒng)的定義是:對一個(gè)指示函數(shù)集,如果存在H個(gè)樣本能夠被函數(shù)集中的函數(shù)按所有可能的2的H次方種形式分開,
則稱函數(shù)集能夠把H個(gè)樣本打散;函數(shù)集的VC維就是它能打散的最大樣本數(shù)目H。
若對任意數(shù)目的樣本都有函數(shù)能將它們打散,則函數(shù)集的VC維是無窮大,
有界實(shí)函數(shù)的VC維可以通過用一定的閾值將它轉(zhuǎn)化成指示函數(shù)來定義。
VC維反映了函數(shù)集的學(xué)習(xí)能力,VC維越大則學(xué)習(xí)機(jī)器越復(fù)雜(容量越大),
遺憾的是,目前尚沒有通用的關(guān)于任意函數(shù)集VC維計(jì)算的理論,只對一些特殊的函數(shù)集知道其VC維。
例如在N維空間中線性分類器和線性實(shí)函數(shù)的VC維是N+1。

EM算法
KL距離

svm 對偶

SVM里面的對偶就是約束規(guī)劃里面的對偶,因?yàn)镾VM的求解就是約束規(guī)劃問題,最優(yōu)化里面比較簡單的是無約束規(guī)劃問題,約束規(guī)劃問題要轉(zhuǎn)化為無約束問題,一般是拉格朗日乘子法,同時(shí)整個(gè)問題需要滿足KKT條件,轉(zhuǎn)化以后就是一個(gè)先求max后求min的問題,它和先求min后求max是對偶問題,一半來說對偶問題的解就是原問題的解,不過有特殊情況,這個(gè)對SVM可以不考慮!我的理解就是這樣,希望能幫到你

關(guān)聯(lián)規(guī)則 /關(guān)聯(lián)分析 Apriori

關(guān)聯(lián)分析中的極大頻繁項(xiàng)集;FP增長算法

Apriori算法是一種關(guān)聯(lián)規(guī)則的基本算法,是挖掘關(guān)聯(lián)規(guī)則的頻繁項(xiàng)集算法,也稱“購物籃分析”算法,是“啤酒與尿布”案例的代表。

算法步驟:

1)依據(jù)支持度找出所有頻繁項(xiàng)集。

Apriori算法是發(fā)現(xiàn)頻繁項(xiàng)集的一種方法。Apriori算法的兩個(gè)輸入?yún)?shù)分別是最小支持度和數(shù)據(jù)集。該算法首先會(huì)生成所有單個(gè)元素的項(xiàng)集列表。接著掃描數(shù)據(jù)集來查看哪些項(xiàng)集滿足最小支持度要求,那些不滿足最小支持度的集合會(huì)被去掉。然后,對剩下來的集合進(jìn)行組合以生成包含兩個(gè)元素的項(xiàng)集。接下來,再重新掃描交易記錄,去掉不滿足最小支持度的項(xiàng)集。該過程重復(fù)進(jìn)行直到所有項(xiàng)集都被去掉。為了生成所有頻繁項(xiàng)集,使用了遞歸的方法。

2)依據(jù)置信度產(chǎn)生關(guān)聯(lián)規(guī)則。

關(guān)聯(lián)分析的目標(biāo)包括兩項(xiàng):發(fā)現(xiàn)頻繁項(xiàng)集和發(fā)現(xiàn)關(guān)聯(lián)規(guī)則。首先需要找到頻繁項(xiàng)集,然后才能獲得關(guān)聯(lián)規(guī)則(計(jì)算關(guān)聯(lián)規(guī)則的可信度需要用到頻繁項(xiàng)集的支持度)。

頻繁項(xiàng)集(frequent item sets)是經(jīng)常出現(xiàn)在一塊兒的物品的集合。
關(guān)聯(lián)規(guī)則(association rules)暗示兩種物品之間可能存在很強(qiáng)的關(guān)系。
支持度(support)被定義為數(shù)據(jù)集中包含該項(xiàng)集的記錄所占的比例。
可信度或置信度(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)點(diǎn):
1)簡單、易理解。
2)數(shù)據(jù)要求低。
2.缺點(diǎn):
1)在每一步產(chǎn)生候選項(xiàng)目集時(shí)循環(huán)產(chǎn)生的組合過多,沒有排除不應(yīng)該參與組合的元素。
2)每次計(jì)算項(xiàng)集的支持度時(shí),都對數(shù)據(jù)庫中的全部記錄進(jìn)行了一遍掃描比較,如果是一個(gè)大型的數(shù)據(jù)庫時(shí),這種掃描會(huì)大大增加計(jì)算機(jī)的I/O開銷。
3.改進(jìn):
特殊到一般:先發(fā)現(xiàn)極大頻繁項(xiàng)集,其子集一定滿足:
從寬度優(yōu)先到深度優(yōu)先。
1)利用建立臨時(shí)數(shù)據(jù)庫的方法來提高Apriori算法的效率。
2)Fp-tree 算法。以樹形的形式來展示、表達(dá)數(shù)據(jù)的形態(tài);可以理解為水在不同河流分支的流動(dòng)過程。
3)事務(wù)數(shù)據(jù)集列表使用垂直數(shù)據(jù)分布。水平數(shù)據(jù)布局改為垂直數(shù)據(jù)布局,壓縮TID列表防止內(nèi)存裝不下

特征提取

排序特征、離散特征、計(jì)數(shù)特征、one hot、交叉特征

[特征工程] [特征提取][特征構(gòu)造]構(gòu)造特征的一些思路和角度

特征選擇

結(jié)合Scikit-learn介紹幾種常用的特征選擇方法
另外 特征線性相關(guān)度高的特征刪除(>0.95) 可簡約模型
[特征工程]特征選擇

線性分類器與非線性分類器的區(qū)別及優(yōu)勢

特征比數(shù)據(jù)量還大時(shí),選擇什么樣的分類器

對于維度很高的特征,你是選擇線性分類器還是非線性分類器。

對于維度很低的特征,你是選擇線性分類器還是非線性分類器。

線性分類器與非線性分類器的理解(區(qū)別、特點(diǎn)、優(yōu)勢)

經(jīng)驗(yàn)風(fēng)險(xiǎn)最小化與結(jié)構(gòu)風(fēng)險(xiǎn)最小化

結(jié)構(gòu)風(fēng)險(xiǎn) = 經(jīng)驗(yàn)風(fēng)險(xiǎn)+正則化項(xiàng)

什么是過擬合?原因?怎么解決?

談?wù)勥^擬合(定義、原因、解決)

優(yōu)化方法BFGS推導(dǎo)

LDA

HMM

CRF

L1,L2正則區(qū)別,L1為什么能保證稀疏,L1,L2哪個(gè)效果好? 正則化 范數(shù)

L1范數(shù)(L1 norm)是指向量中各個(gè)元素絕對值之和,也有個(gè)美稱叫“稀疏規(guī)則算子”(Lasso regularization)。
比如 向量A=[1,-1,3], 那么A的L1范數(shù)為 |1|+|-1|+|3|.

簡單總結(jié)一下就是:
L1范數(shù): 為x向量各個(gè)元素絕對值之和。
L2范數(shù): 為x向量各個(gè)元素平方和的
Lp范數(shù): 為x向量各個(gè)元素絕對值p次方和.

在支持向量機(jī)學(xué)習(xí)過程中,L1范數(shù)實(shí)際是一種對于成本函數(shù)求解最優(yōu)的過程,因此,L1范數(shù)正則化通過向成本函數(shù)中添加L1范數(shù),使得學(xué)習(xí)得到的結(jié)果滿足稀疏化,從而方便人類提取特征。
L1為什么能保證稀疏: L1函數(shù)是一次的,其導(dǎo)數(shù)恒定不變,在零點(diǎn)附近導(dǎo)數(shù)較大導(dǎo)致取得最優(yōu)解時(shí)很多特征會(huì)沿著剃度下降到0,但是L2函數(shù)是二次函數(shù),其導(dǎo)數(shù)在零點(diǎn)附近接近于0,因此梯度下降是一般不會(huì)下降到0點(diǎn)
L1范數(shù)可以使權(quán)值稀疏,方便特征提取。
L2范數(shù)可以防止過擬合,提升模型的泛化能力。
L1,L2哪個(gè)效果好?:看你需要干嘛 L1 用于1)特征選擇(Feature Selection)并使得模型更好解釋,且簡化模型運(yùn)輸
L2范數(shù)可以防止過擬合,提升模型的泛化能力。L2對較大的W系數(shù)有更大的懲罰(平方)因此一般泛化能力效果更好更常見。L2正則化會(huì)讓系數(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來說,第一個(gè)模型的懲罰項(xiàng)是2alpha,但第二個(gè)模型的是4*alpha。可以看出,系數(shù)之和為常數(shù)時(shí),各系數(shù)相等時(shí)懲罰是最小的,所以才有了L2會(huì)讓各個(gè)系數(shù)趨于相同的特點(diǎn)。

為什么加上這么一個(gè)項(xiàng)就可以了呢,我們先來引入奧卡姆剃刀原理:在所有可能選擇的模型中,能夠很好地解釋已知數(shù)據(jù)并且十分簡單的模型才是最好的模型,也就是應(yīng)該選擇的模型。 現(xiàn)在,讓我們通過一張圖來看下這項(xiàng)是怎l2 norm 使得權(quán)值衰減,并防止某些過大的W,(用最少的w去擬合)——奧卡姆剃刀
(from prml)

Paste_Image.png

正則化項(xiàng)本質(zhì)上是一種先驗(yàn)信息,整個(gè)最優(yōu)化問題從貝葉斯觀點(diǎn)來看是一種貝葉斯最大后驗(yàn)估計(jì),其中正則化項(xiàng)對應(yīng)后驗(yàn)估計(jì)中的先驗(yàn)信息,損失函數(shù)對應(yīng)后驗(yàn)估計(jì)中的似然函數(shù),兩者的乘積即對應(yīng)貝葉斯最大后驗(yàn)估計(jì)的形式,如果你將這個(gè)貝葉斯最大后驗(yàn)估計(jì)的形式取對數(shù),即進(jìn)行極大似然估計(jì),你就會(huì)發(fā)現(xiàn)問題立馬變成了損失函數(shù)+正則化項(xiàng)的最優(yōu)化問題形式。
(1) 避免出現(xiàn)過擬合(over-fitting)。經(jīng)驗(yàn)風(fēng)險(xiǎn)最小化 + 正則化項(xiàng) = 結(jié)構(gòu)風(fēng)險(xiǎn)最小化。

(2) 從模型求解上看,正則化提供了一種唯一解的可能。光用最小二乘擬合可能出現(xiàn)無數(shù)組解,加個(gè)L1或L2正則化項(xiàng)能有唯一解。

word2vec原理,怎么實(shí)現(xiàn)的,損失函數(shù)是什么,有沒看過源碼?

把詞當(dāng)做特征,那么Word2vec就可以把特征映射到 K 維向量空間,可以為文本數(shù)據(jù)尋求更加深層次的特征表示 。其基本思想是 通過訓(xùn)練將每個(gè)詞映射成 K 維實(shí)數(shù)向量(K 一般為模型中的超參數(shù)),通過詞之間的距離(比如 cosine 相似度、歐氏距離等)來判斷它們之間的語義相似度.其采用一個(gè) 三層的神經(jīng)網(wǎng)絡(luò) ,輸入層-隱層-輸出層。有個(gè)核心的技術(shù)是 根據(jù)詞頻用Huffman編碼 ,使得所有詞頻相似的詞隱藏層激活的內(nèi)容基本一致,出現(xiàn)頻率越高的詞語,他們激活的隱藏層數(shù)目越少,這樣有效的降低了計(jì)算的復(fù)雜度。這個(gè)三層神經(jīng)網(wǎng)絡(luò)本身是 對語言模型進(jìn)行建模 ,但也同時(shí) 獲得一種單詞在向量空間上的表示 ,而這個(gè)副作用才是Word2vec的真正目標(biāo)。

損失函數(shù):softmax 交叉熵?fù)p失

這里寫圖片描述

這里寫圖片描述

(這里問了很久,比較深入)

xgboost和gbdt區(qū)別

xgb比gbdt好的地方:
二階泰勒展開
節(jié)點(diǎn)分?jǐn)?shù)懲罰
增益計(jì)算不同,gbdt是gini,xgb是優(yōu)化推導(dǎo)公式

1.正則化
xgboost在代價(jià)函數(shù)里加入了正則項(xiàng),用于控制模型的復(fù)雜度。正則項(xiàng)里包含了樹的葉子節(jié)點(diǎn)個(gè)數(shù)、每個(gè)葉子節(jié)點(diǎn)上輸出的score的L2模的平方和。從Bias-variance tradeoff角度來講,正則項(xiàng)降低了模型的variance,使學(xué)習(xí)出來的模型更加簡單,防止過擬合,這也是xgboost優(yōu)于傳統(tǒng)GBDT的一個(gè)特性。
2.并行處理
xgboost工具支持并行。boosting不是一種串行的結(jié)構(gòu)嗎?怎么并行的?注意xgboost的并行不是tree粒度的并行,xgboost也是一次迭代完才能進(jìn)行下一次迭代的(第t次迭代的代價(jià)函數(shù)里包含了前面t-1次迭代的預(yù)測值)。xgboost的并行是在特征粒度上的。我們知道,決策樹的學(xué)習(xí)最耗時(shí)的一個(gè)步驟就是對特征的值進(jìn)行排序(因?yàn)橐_定最佳分割點(diǎn)),xgboost在訓(xùn)練之前,預(yù)先對數(shù)據(jù)進(jìn)行了排序,然后保存為block結(jié)構(gòu),后面的迭代中重復(fù)地使用這個(gè)結(jié)構(gòu),大大減小計(jì)算量。這個(gè)block結(jié)構(gòu)也使得并行成為了可能,在進(jìn)行節(jié)點(diǎn)的分裂時(shí),需要計(jì)算每個(gè)特征的增益,最終選增益最大的那個(gè)特征去做分裂,那么各個(gè)特征的增益計(jì)算就可以開多線程進(jìn)行。

3.靈活性
xgboost支持用戶自定義目標(biāo)函數(shù)和評估函數(shù),只要目標(biāo)函數(shù)二階可導(dǎo)就行。
4.缺失值的處理
對于特征的值有缺失的樣本,xgboost可以自動(dòng)學(xué)習(xí)出它的分裂方向
5.剪枝
XGBoost 先從頂?shù)降捉⑺锌梢越⒌淖訕?,再從底到頂反向進(jìn)行剪枝。比起GBM,這樣不容易陷入局部最優(yōu)解
6.內(nèi)置交叉驗(yàn)證
xgb.cv() 是不是感覺很方便
7.可以自定義目標(biāo)函數(shù)評價(jià)函數(shù),方便特殊問題

描述一下mapreduce的過程
stacking bagging boosting 介紹,與偏差方差關(guān)系

hadoop,spark,分布式計(jì)算,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報(bào)表查詢。為了保證數(shù)據(jù)庫的ACID特性,我們必須盡量按照其要求的范式進(jìn)行設(shè)計(jì),關(guān)系型數(shù)據(jù)庫中的表都是存儲(chǔ)一些格式化的數(shù)據(jù)結(jié)構(gòu),每個(gè)元組字段的組成都一樣,即使不是每個(gè)元組都需要所有的字段,但數(shù)據(jù)庫會(huì)為每個(gè)元組分配所有的字段,這樣的結(jié)構(gòu)可以便于表與表之間進(jìn)行連接等操作,但從另一個(gè)角度來說它也是關(guān)系型數(shù)據(jù)庫性能瓶頸的一個(gè)因素。

   非關(guān)系型數(shù)據(jù)庫提出另一種理念,他以鍵值對存儲(chǔ),且結(jié)構(gòu)不固定,每一個(gè)元組可以有不一樣的字段,每個(gè)元組可以根據(jù)需要增加一些自己的鍵值對,這樣就不會(huì)局限于固定的結(jié)構(gòu),可以減少一些時(shí)間和空間的開銷。使用這種方式,用戶可以根據(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è)計(jì)的完整性。他只適合存儲(chǔ)一些較為簡單的數(shù)據(jù),對于需要進(jìn)行較復(fù)雜查詢的數(shù)據(jù),SQL數(shù)據(jù)庫顯得更為合適。

偽代碼實(shí)現(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 等就是生成模型,計(jì)算過概率分布之類的

生成模型:由數(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ù)測的模型?;舅枷胧怯邢迾颖緱l件下建立判別函數(shù),不考慮樣本的產(chǎn)生模型,直接研究預(yù)測模型。
典型的判別模型包括K近鄰、感知機(jī)、決策樹、支持向量機(jī)等。
由生成模型可以得到判別模型,但由判別模型得不到生成模型。生成模型學(xué)習(xí)聯(lián)合概率分布P(X,Y),而判別模型學(xué)習(xí)條件概率分布P(Y|X)。

算法的優(yōu)缺點(diǎn)以及相應(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ù)的范圍?如何防止過擬合?隱藏層點(diǎn)的個(gè)數(shù)多了怎樣少了怎樣?什么情況下參數(shù)是負(fù)數(shù)?

3)為什么要用邏輯回歸?LR CTR
從訓(xùn)練角度來說:首先LR的分布式優(yōu)化SGD發(fā)展比較成熟,你線上訓(xùn)練肯定要用到許多機(jī)器,算法要可分布。

從在線預(yù)測CTR的角度來說:LR的預(yù)測也可以在特征級別并行,因?yàn)樗且粋€(gè)線性模型,這有什么好處呢?比如說你預(yù)測一次點(diǎn)擊行為用到十億個(gè)特征,其中9億個(gè)特征可能更新很不頻繁,或者對更新不敏感,你可能為了性能要做緩存。對于LR來說,你可以把這9億個(gè)特征和權(quán)重的點(diǎn)乘緩存下來。這樣每次計(jì)算的時(shí)候就少了很多內(nèi)存搬運(yùn)和CPU時(shí)間消耗。如果是決策樹做這種優(yōu)化就困難很多。比如說淘寶,商品的特征更新是很慢的,或者說一時(shí)半會(huì)不更新也不至于怎么樣,那你緩存下來,用戶玩命刷淘寶首頁的時(shí)候每次實(shí)際計(jì)算的是那一億對更新比較敏感的特征的數(shù)值。

當(dāng)然天下沒有免費(fèi)的午餐,LR的缺點(diǎn)就是模型本身的表達(dá)能力很弱,需要構(gòu)造非常棒的特征組合才能達(dá)到好的效果,好消息是這只需要堆人力就好了。而且緩存的機(jī)制設(shè)計(jì)也有些復(fù)雜,需要一些toolkit+對模型和業(yè)務(wù)的理解才能把性能優(yōu)化到很好。

另外gbdt 當(dāng)然是好的,但點(diǎn)擊率預(yù)估的特征需要經(jīng)過一些tricky的處理后才能用到上面,也會(huì)吃掉更多的機(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)
實(shí)質(zhì)是根據(jù)先驗(yàn)概率分布 P(y) 和條件概率分布P(X|Y),學(xué)習(xí)到聯(lián)合概率分布P(X,Y) 然后得到P(Y|X) 。是一種生成模型。
期望風(fēng)險(xiǎn)最小化 f(x) = argmaxP(y=ck|X=x)
極大似然估計(jì)
學(xué)習(xí)過程 1. 先學(xué)先驗(yàn)概率分布 p(y=ck) 2. 再學(xué)給定某分類ck下的條件概率p(xj=aj | y=ck)

拉普拉斯平滑

避免了0概率問題(即樣本很少時(shí)如果某個(gè)量x,在觀察樣本庫(訓(xùn)練集)中沒有出現(xiàn)過,會(huì)導(dǎo)致整個(gè)實(shí)例的概率結(jié)果是0),而且對于文本訓(xùn)練計(jì)算整個(gè)文檔的概率如果一個(gè)詞為0會(huì)導(dǎo)致整個(gè)文本概率為0,不合理!,分子和分母都分別加上一個(gè)常數(shù),


Paste_Image.png
  1. 講em算法

7)svm中rbf核函數(shù)與高斯和函數(shù)的比較

8)說一下SVM的實(shí)現(xiàn)和運(yùn)用過程

9)談?wù)凞NN

10)簡單說說決策樹分析

推薦系統(tǒng)中基于svd方法

PCA 與 SVD
[推薦系統(tǒng)] SVD 與 SVD++

https://zhuanlan.zhihu.com/p/25801478
特征值分解是一個(gè)提取矩陣特征很不錯(cuò)的方法,但是它只是對方陣而言的,在現(xiàn)實(shí)的世界中,我們看到的大部分矩陣都不是方陣,奇異值分解是一個(gè)能適用于任意的矩陣的一種分解的方法:

Paste_Image.png
Paste_Image.png

奇異值:奇異值往往對應(yīng)著矩陣中隱含的重要信息,且重要性和奇異值大小正相關(guān)。每個(gè)矩陣!都可以表示為一系列秩為1的“小矩陣”之和,而奇異值則衡量了這些“小矩陣”對于的權(quán)重。用于PCA SVD,得到三個(gè)矩陣的物理意義,并實(shí)現(xiàn)壓縮

對物品進(jìn)行推薦,某些用戶買了某些東西,要來算出,物品跟物品之間的相識度,這是很常見的推薦問題,用 SVD 算法,在 python中numpy 的 linalg 可以計(jì)算矩陣的 SVD。分解完矩陣就可以用距離算法或者其他,可以求出相識性。

2.SVD應(yīng)用于推薦系統(tǒng)

數(shù)據(jù)集中行代表用戶user,列代表物品item,其中的值代表用戶對物品的打分。基于SVD的優(yōu)勢在于:用戶的評分?jǐn)?shù)據(jù)是稀疏矩陣,可以用SVD將原始數(shù)據(jù)映射到低維空間中,然后計(jì)算物品item之間的相似度,可以節(jié)省計(jì)算資源。

整體思路:先找到用戶沒有評分的物品,然后再經(jīng)過SVD“壓縮”后的低維空間中,計(jì)算未評分物品與其他物品的相似性,得到一個(gè)預(yù)測打分,再對這些物品的評分從高到低進(jìn)行排序,返回前N個(gè)物品推薦給用戶。

具體代碼如下,主要分為5部分:

第1部分:加載測試數(shù)據(jù)集;

第2部分:定義三種計(jì)算相似度的方法(余弦、歐式、皮爾遜)

第3部分:通過計(jì)算奇異值平方和的百分比來確定將數(shù)據(jù)降到多少維才合適,返回需要降到的維度;

第4部分:在已經(jīng)降維的數(shù)據(jù)中,基于SVD得到的相似度對用戶未打分的物品進(jìn)行評分預(yù)測,返回未打分物品的預(yù)測評分值;

第5部分:產(chǎn)生前N個(gè)評分值高的物品,返回物品編號以及預(yù)測評分值。

優(yōu)勢在于:用戶的評分?jǐn)?shù)據(jù)是稀疏矩陣,可以用SVD將數(shù)據(jù)映射到低維空間,然后計(jì)算低維空間中的item之間的相似度,對用戶未評分的item進(jìn)行評分預(yù)測,最后將預(yù)測評分高的item推薦給用戶。

12)SVM有哪些優(yōu)勢,(x,y,z)三個(gè)特征如何用徑向基核函數(shù)抽取第四維特征

13)userCF和ItemCF在實(shí)際當(dāng)中如何使用,提供具體操作,以及它們的優(yōu)勢(推薦系統(tǒng))

14)如何用Logic regression建立一個(gè)廣告點(diǎn)擊次數(shù)預(yù)測模型

15)舉一個(gè)適合采用層次分析法的例子

  1. 隨機(jī)森林的學(xué)習(xí)過程

  2. 隨機(jī)森林中的每一棵樹是如何學(xué)習(xí)的

  3. 隨機(jī)森林學(xué)習(xí)算法中CART樹的基尼指數(shù)是什么

27)支持向量機(jī)、圖模型、波爾茨曼機(jī),內(nèi)存壓縮、紅黑樹、并行度

28) 如何搭建一個(gè)推薦平臺,給出具體的想法,
29) 實(shí)現(xiàn)一個(gè)中文輸入法

30) k-meanshift的機(jī)制,能不能用偽碼實(shí)現(xiàn)
31)實(shí)現(xiàn)最小二乘法。

經(jīng)常會(huì)問到的問題,經(jīng)典算法推導(dǎo)(加分項(xiàng)),原理,各個(gè)損失函數(shù)之間區(qū)別,使用場景,如何并行化,有哪些關(guān)鍵參數(shù)比如LR,SVM,RF,KNN,EM,Adaboost,PageRank,GBDT,Xgboost,HMM,DNN,推薦算法,聚類算法,等等機(jī)器學(xué)習(xí)領(lǐng)域的算法,這些基本都會(huì)被問到
XGB和GBDT區(qū)別與聯(lián)系也會(huì)經(jīng)常問到:https://www.zhihu.com/question/41354392/answer/128008021?group_id=773629156532445184
哪些優(yōu)化方法,隨機(jī)梯度下降,牛頓擬牛頓原理生成模型,判別模型線性分類和非線性分類各有哪些模型SVM核技巧原理,如何選擇核函數(shù)特征選擇方法有哪些(能說出來10種以上加分)常見融合框架原理,優(yōu)缺點(diǎn),bagging,stacking,boosting,為什么融合能提升效果信息熵和基尼指數(shù)的關(guān)系(信息熵在x=1處一階泰勒展開就是基尼指數(shù))如何克服過擬合,欠擬合L0,L1,L2正則化(如果能推導(dǎo)絕對是加分項(xiàng),一般人最多能畫個(gè)等高線,L0是NP問題)

模型的穩(wěn)定性

越簡單越穩(wěn)定
cv的方差作為穩(wěn)定性評估

t檢驗(yàn) 卡方檢驗(yàn)

單樣本T檢驗(yàn)是檢驗(yàn)?zāi)硞€(gè)變量的總體均值和某指定值之間是否存在顯著差異。T檢驗(yàn)的前提是樣本總體服從
正態(tài)分布。
卡方擬合性檢驗(yàn)是檢驗(yàn)單個(gè)多項(xiàng)分類名義型變量各分類間的實(shí)際觀測次數(shù)與理論次數(shù)之間是否一致的問題
,其零假設(shè)是觀測次數(shù)與理論次數(shù)之間無差異。

語言

Python類繼承,內(nèi)存管理

python 提高運(yùn)行效率的一些方法

python 提高運(yùn)行效率的一些方法

推薦系統(tǒng)的一些

SVD SVD++

[推薦系統(tǒng)] SVD 與 SVD++

其他

Java垃圾回收
TCP、HTTP、socket的區(qū)別
五層協(xié)議及對應(yīng)層的協(xié)議,TCP/UDP區(qū)別,IP地址子網(wǎng)掩碼網(wǎng)絡(luò)號那些會(huì)計(jì)算,TCp的擁塞控制,TCP的三次握手四次釋放,http/https的區(qū)別
八大排序(能在五分鐘內(nèi)手寫,快排,歸并,堆比較常見),數(shù)組,字符串(最大子串之類的),二叉樹(二叉樹遍歷,遞歸非遞歸5分鐘內(nèi)手寫),圖(不太常見,深度優(yōu)先廣度優(yōu)先得懂)

數(shù)據(jù)挖掘在游戲應(yīng)用

數(shù)據(jù)挖掘在游戲公司應(yīng)用

408

簡述數(shù)據(jù)庫操作的步驟

建立數(shù)據(jù)庫連接、打開數(shù)據(jù)庫連接、建立數(shù)據(jù)庫命令、運(yùn)行數(shù)據(jù)庫命令、保存數(shù)據(jù)庫命令、關(guān)閉數(shù)據(jù)庫連接。

概率論的知識

對深度學(xué)習(xí)的了解和理解

看過的書籍

推薦系統(tǒng)實(shí)戰(zhàn)、數(shù)學(xué)之美、機(jī)器學(xué)習(xí)實(shí)戰(zhàn)、機(jī)器學(xué)習(xí)、統(tǒng)計(jì)學(xué)習(xí)方法、數(shù)據(jù)挖掘?qū)д?/p>

課程

blog

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容