96.你有哪些deep learning(rnn、cnn)調參的經驗?
參考111.隨機森林如何處理缺失值方法一(na.roughfix)簡單粗暴,對於訓練集,同乙個class下的資料,如果是分類變數缺失,用眾數補上,如果是連續型變數缺失,用中位數補。
方法二(rfimpute)這個方法計算量大,至於比方法一好壞?不好判斷。先用na.roughfix補上缺失值,然後構建森林並計算proximity matrix,再回頭看缺失值,如果是分類變數,則用沒有陣進行加權平均的方法補缺失值。然後迭代4-6次,這個補缺失值的思想和knn有些類似1缺失的觀測例項的proximity中的權重進行投票。如果是連續型變數,則用proximity矩2。
112.隨機森林如何評估特徵重要性衡量變數重要性的方法有兩種,decrease gini 和 decrease accuracy:
1) decrease gini: 對於回歸問題,直接使用argmax(varvarleftvarright)作為評判標準,即當前節點訓練集的方差var減去左節點的方差varleft和右節點的方差varright。
2) decrease accuracy:對於一棵樹tb(x),我們用oob樣本可以得到測試誤差1;然後隨機改變oob樣本的第j列:保持其他列不變,對第j列進行隨機的上下置換,得到誤差2。至此,我們可以用誤差1-誤差2來刻畫變數j的重要性。基本思想就是,如果乙個變數j足夠重要,那麼改變它會極大的增加測試誤差;反之,如果改變它測試誤差沒有增大,則說明該變數不是那麼的重要。
113.優化kmeans使用kd樹或者ball tree
將所有的觀測例項構建成一顆kd樹,之前每個聚類中心都是需要和每個觀測點做依次距離計算,現在這些聚類中心根據kd樹只需要計算附近的乙個區域性區域即可。
114.kmeans初始類簇中心點的選取k-means++演算法選擇初始seeds的基本思想就是:初始的聚類中心之間的相互距離要盡可能的遠。
1. 從輸入的資料點集合中隨機選擇乙個點作為第乙個聚類中心
2. 對於資料集中的每乙個點x,計算它與最近聚類中心(指已選擇的聚類中心)的距離d(x)
3. 選擇乙個新的資料點作為新的聚類中心,選擇的原則是:d(x)較大的點,被選取作為聚類中心的概率較大
4. 重複2和3直到k個聚類中心被選出來
5. 利用這k個初始的聚類中心來執行標準的k-means演算法
115.解釋對偶的概念
乙個優化問題可以從兩個角度進行考察,乙個是primal 問題,乙個是dual 問題,就是對偶問題,一般情況下對偶問題給出主問題最優值的下界,在強對偶性成立的情況下由對偶問題可以得到主問題的最優下界,對偶問題是凸優化問題,可以進行較好的求解,svm中就是將primal問題轉換為dual問題進行求解,從而進一步引入核函式的思想。
116.如何進行特徵選擇?特徵選擇是乙個重要的資料預處理過程,主要有兩個原因:一是減少特徵數量、降維,使模型泛化能力更強,減少過擬合;二是增強對特徵和特徵值之間的理解
常見的特徵選擇方式:
1. 去除方差較小的特徵
2. 正則化。1正則化能夠生成稀疏的模型。l2正則化的表現更加穩定,由於有用的特徵往往對應係數非零。
3. 隨機森林,對於分類問題,通常採用基尼不純度或者資訊增益,對於回歸問題,通常採用的是方差或者最小二乘擬合。一般不需要feature engineering、調參等繁瑣的步驟。它的兩個主要問題,1是重要的特徵有可能得分很低(關聯特徵問題),2是這種方法對特徵變數類別多的特徵越有利(偏向問題)。
4. 穩定性選擇。是一種基於二次抽樣和選擇演算法相結合較新的方法,選擇演算法可以是回歸、svm或其他類似的方法。它的主要思想是在不同的資料子集和特徵子集上執行特徵選擇演算法,不斷的重複,最終彙總特徵選擇結果,比如可以統計某個特徵被認為是重要特徵的頻率(被選為重要特徵的次數除以它所在的子集被測試的次數)。理想情況下,重要特徵的得分會接近100%。稍微弱一點的特徵得分會是非0的數,而最無用的特徵得分將會接近於0。
128.觀察增益gain, alpha和gamma越大,增益越小?
@antz:xgboost尋找分割點的標準是最大化gain. 考慮傳統的列舉每個特徵的所有可能分割點的貪心法效率太低,xgboost實現了一種近似的演算法。大致的思想是根據百分位法列舉幾個可能成為分割點的候選者,然後從候選者中計算gain按最大值找出最佳的分割點。它的計算公式分為四項, 可以由正則化項引數調整(lamda為葉子權重平方和的係數, gama為葉子數量):
189.以下幾種模型方法屬於判別式模型(discriminative model)的有()
常見的判別式模型有:logistic regression(logistical 回歸)
linear discriminant analysis(線性判別分析)
supportvector machines(支援向量機)
boosting(整合學習)
conditional random fields(條件隨機場)
linear regression(線性回歸)
neural networks(神經網路)
常見的生成式模型有:gaussian mixture model and othertypes of mixture model(高斯混合及其他型別混合模型)
hidden markov model(隱馬爾可夫)
*****bayes(樸素貝葉斯)
aode(平均單依賴估計)
latent dirichlet allocation(lda主題模型)
restricted boltzmann machine(限制波茲曼機)
生成式模型是根據概率乘出結果,而判別式模型是給出輸入,計算出結果。
194.在hmm中,如果已知觀察序列和產生觀察序列的狀態序列,那麼可用以下哪種方法直接進行引數估計()
a.em演算法
b.維特比演算法
c.前向後向演算法
d.極大似然估計
正確答案:d
em演算法: 只有觀測序列,無狀態序列時來學習模型引數,即baum-welch演算法
維特比演算法: 用動態規劃解決hmm的**問題,不是引數估計
前向後向演算法:用來算概率
極大似然估計:即觀測序列和相應的狀態序列都存在時的監督學習演算法,用來估計引數
注意的是在給定觀測序列和對應的狀態序列估計模型引數,可以利用極大似然發估計。如果給定觀測序列,沒有對應的狀態序列,才用em,將狀態序列看不不可測的隱資料。
機器學習ML DL NLP CV面試學習書單
書籍 西瓜書 統計學習 最重要 深度學習 機器學習實戰 劍指 offer 百面機器學習 hulu 乙份中外結合的 machine learning 自學計畫 20萬 50萬 100萬的演算法工程師,區別在哪?1 ml基礎 必學 吳恩達 機器學習 筆記專案實戰 實戰 張伯倫 上交博士 林軒田機器學習資...
機器學習面試題
答 設計乙個分類模型,首先要給它設定乙個學習目標。在支援向量機中,這個目標是max margin 在adaboost中,目標是優化乙個指數損失函式。那麼在logistic regression lr 中,這個目標是什麼呢?最大化條件似然度。考慮乙個二值分類問題,訓練資料是一堆 特徵,標記 組合,x1...
機器學習面試(實習)總結
演算法題 機器學習題 機器學習相關的主要是問我一些簡歷上我寫的相關的機器學習演算法問題,問的最多的是邏輯回歸,必須達到可以手推的地步,其實這個也不複雜,手推倒也不難。另乙個就是kmeans演算法,一般我就說說原理,不會寫演算法,有讓寫決策樹的演算法的 偽 我是把邏輯回歸,svm,決策樹這幾個比較基本...