網易面試總結
分布式訓練模型 ,樹模型並行化訓練問題
gan 你了解幾種,實踐過嗎
生成對抗網路。
bn (batchnormalization)批標準化
bn是用來解決「internal covariate shift」的。(在訓練過程中,隱層的輸入分布老是變來變去,這就是所謂的「internal covariate shift」,internal指的是深層網路的隱層,是發生在網路內部的事情,而不是covariate shift問題只發生在輸入層。),bn通過一定的規範化手段,把每層神經網路任意神經元這個輸入值的分布強行拉回到均值為0方差為1的標準正態分佈。
優點:①不僅僅極大提公升了訓練速度,收斂過程大大加快;②還能增加分類效果,一種解釋是這是類似於dropout的一種防止過擬合的正則化表達方式,所以不用dropout也能達到相當的效果;③另外調參過程也簡單多了,對於初始化要求沒那麼高,而且可以使用大的學習率等。
mobilenet shufflenet resnet densenet 都是幹啥的,實踐過嗎,做過資料總結嗎
霍夫變換
canny運算元 :邊緣檢測演算法
ssd訓練和原理,以及yolo
liner regression回歸和logistic regression區別,推導邏輯回歸(2次)
區別:1) 輸出的區別. linear regression的輸出是連續的,在有限空間可取任意值; logistic regression的輸出期望是離散的,只有有限個數值.
2) 預期目標(label)的區別. linear regression的預期是連續變數,如auto-encoder模型**一張影象; logistir regression的預期是離散的類別.
3) 最小化誤差的方法區別. 採用均方誤差的linear regression對於大的誤差施加二次倍數的懲罰, 而logistic regression把較大的誤差懲罰到乙個漸進的常數.
4) 先驗的區別.liner regression期望擬合訓練資料,通過feature的線性加權來**結果; logistic regression是在訓練乙個最大似然分類器.
推導邏輯回歸(見手推)
id3、c4.5、cart的區別,寫資訊增益、資訊增益率、基尼係數的公式【2次】
區別:1) id3和c4.5用於分類問題,cart既可以用於回歸也可以用於分類.
2) id3,c4.5,和cart都是由特徵選擇,決策樹生成,決策樹剪枝 三者構成.
3) id3,c4.5,和cart都屬於貪心演算法,容易產生過擬合.
4) id3採用資訊增益作為特徵選擇的度量,c4.5採用特徵增益比率,cart採用基尼係數
5) id3和c4.5生成的決策樹可以是多叉的,cart生成的決策樹是二叉樹
6) id3和c4.5的剪枝通過優化損失函式實現,cart的剪枝分為(1)剪枝成子樹序列 (2)通過交叉驗證選取最優子樹。
資訊增益公式:
樹有幾種剪枝的方式,各有什麼優缺點
剪枝方式分類:
1) 預剪枝(提前停止樹的增長,比如根據高度閾值,節點的例項個數,節點**對系統效能的增益,節點例項的特徵向量)
2) 後剪枝(後剪枝是在用訓練集構建好一顆決策樹後,利用測試集進行的操作,將置信度不夠的節點子樹用葉子節點代替,更加常用):rep(錯誤率降低剪枝,自底向上,雖能一定程度上解決過擬合,但偏向於過度修剪),pep(悲觀錯誤剪枝,自頂向下,準確度比較高,但會造成剪枝過度,會出現剪枝失敗的情況),ccp(代價複雜度剪枝,自底向上,複雜度高),ebp(基於錯誤的剪枝)
區別:(1)前閾值的設定很敏感,一點點的變動,會引起整顆樹非常大的變動,不好設定。
(2)前剪枝生成比後剪枝簡潔的樹
(3)一般用後剪得到的結果比較好
解釋一下排序的穩定性,氣泡排序是否穩定(穩定),複雜度多少o(n^2)
gbdt和xgboost區別;adaboost和gbdt區別(2次);隨機森林/adaboost/gbdt的原理,相同點不同點,在訓練和測試階段各是如何進行的; 講一下xgboost;gbdt推導一下,gbdt多分類
gbdt和xgboost區別:本質區別(原始的gbdt演算法基於經驗損失函式的負梯度來構造新的決策樹,只是在決策樹構建完成後再進行剪枝。而xgboost在決策樹構建階段就加入了正則項)
(1)gbdt是機器學習演算法,xgboost是該演算法的工程實現。
(2)在使用cart作為基分類器時,xgboost顯示地加入了正則項來控制模型的複雜度,有利於防止過擬合,從而提高模型的泛化能力。
(3)gbdt在模型訓練時只使用了代價函式的一階導數資訊,xgboost對代價函式進行二階泰勒展開,可以同時使用一階和二階導數
(4)傳統的gbdt採用cart作為基分類器,xgboost支援多種型別的基分類器,比如線性分類器
(5)傳統的gbdt在每輪迭代時使用全部資料,xgboost則採用了與隨機森林相似的策略,支援對資料進行取樣。
(6)傳統的gbdt沒有設計對缺失值處理,xgboost能夠自動學習出缺失值的處理策略。
adaboost和gbdt區別:相同點(重複選擇乙個表現一般的模型並且每次基於先前模型的表現進行調整)
(1) adaboost是通過提高錯分樣本的權重來定位模型的不足;gbdt是通過負梯度來定位模型的不足.
(2) gbdt可以使用更多種類的損失函式.
隨機森林和gbdt的區別:相同點(都由多棵樹組成,都是整合學習,最終結果由多棵樹一起決定)
(1)組成隨機森林的樹可以是分類樹,也可以是回歸樹,但是gbdt只能由回歸樹組成。
(2)組成隨機森林的樹可以並行生成,但是組成gbdt的樹只能序列生成。
(3)對於最終的輸出結果,隨機森林採用多數投票;而gbdt是將所有的結果累加起來,或者加權起來
(4)隨機森林對異常值不敏感,而gbdt對異常值非常敏感(5)隨機森林通過減小方差來提高效能,gbdt通過減小偏差來提高效能
隨機森林和adaboost的區別:相同點(都用bootstrap自助法選取樣本,都要訓練很多棵決策樹)
(1) adaboost後面樹的訓練,其在變數抽樣選取的時候,對於上一棵樹分錯的樣本,抽中的概率會加大。
(2) 隨機森林在訓練每一棵樹的時候,隨機挑選了部分變數作為拆分變數,而不是所有的變數都去作為拆分變數。
(3) 在**新資料時,adaboost中所有的樹加權投票來決定因變數的**值,每棵樹的權重和錯誤率有關;隨機森林按照所有樹中少數服從多數樹的分類值來決定因變數的**值。
隨機森林/adaboost/gbdt原理:隨機森林();adaboost();gbdt()
隨機森林/adaboost/gbdt在訓練和測試階段各是如何進行:隨機森林(訓練時平行計算多棵樹);adaboost(序列訓練,可以實現特徵的並行);gbdt(序列訓練,一次一棵)
過擬合怎麼解決,過擬合的解決方式,從數學角度講一下正則項為什麼能防止過擬合
解決過擬合的方法:增加資料集,減少模型的複雜度,提前終止訓練,正則化,dropout
正則化解決過擬合:
cnn引數量計算cnn卷積核的計算【2次】
如何評價乙個分類器,auc的工程計算方式,roc曲線;auc的意義,roc的繪製方式,auc的優勢(對資料分布平衡資料集可以比較準確的展示乙個方法的效能,p-r曲線)
rf,gbdt, xgboost的區別(xgboost其實相當於牛頓法);rf怎麼解決的過擬合問題,rf的樹會不會限制它的生長(不會),gbdt的樹呢(會),為什麼
l1 和 l2正則的區別
bgd,sgd,mini-bgd的區別
講一下協同過濾的原理
怎麼解決冷啟動問題
怎麼解決稀疏問題
交叉驗證的原理,作用,與直接劃分訓練集和測試集相比的優點
pca的原理,作用 (降維)
svd講一下word2vec;畫出fasttext的網路結構,描述其在分類和embedding時的區別。詳述訓練過程
不平衡資料的解決方式,資料分布改變了怎麼辦
資料異常檢測
熵了解嗎?
優化演算法: 牛頓法和擬牛頓法,過程?
熟悉深度學習嗎?
講一講凸優化 及kkt條件
面試中的演算法題
找出陣列中第k大的數。有幾種方法?時間複雜度分別是多少?
程式設計題:射氣球(leetcode上似乎有原題,各位有興趣自行查詢)。dfs,dp。
求兩個不等長鍊錶的公共節點
手寫**:合併兩個有序鍊錶
2020 8 8網易演算法崗筆試覆盤
數學題dp題 現在有n個物品,每個物品都有乙個價值,現在想將這些物品分給兩個人,要求這兩個人分到的物品價值總和相同 個數可以不同,總價值相同即可 剩下的物品就要扔掉,現在想知道最少需要扔多少價值的物品才能滿足要求分給兩個人。暴力法,時間複雜度為o 3 n o 3 n o 3n import sys ...
網易 大眾 京東演算法工程師崗程式設計題
v先生有一天工作得很晚,回家的時候要穿過一條長度為l的筆直街道,這條街道上有n個路燈。假設這條街起點為0,終點為l,第i個路燈的座標為ai。路燈發光能力以正數d來衡量,其中d表示路燈能夠照亮的街道上的點與路燈的最遠距離,所有路燈發光能力相同。為了讓v先生看清回家的路,路燈必須照亮整天街道,又為了節省...
網易演算法崗2018秋招兩道筆試題
1.小易立方體 每次操作從某塔上取下一塊立方體放到lingyige塔上 其中最高的塔減去最低的塔為不穩定值 輸入 n,k分別為塔數和最大操作次數 輸出 不穩定值,操作次數 每次操作的塔位置 分析 對每次操作暴力遍歷最大值和最小值 最大值 1,最小值 1 邊界條件 直至操作次數num k或者不穩定值為...