美團點評2017校招筆試真題-算法工程師B
1.以下關於經典的k-means聚類的說法哪個是錯誤的?
A:k-means聚類算法是全局收斂的
B:k-means的聚類結果和初始聚類中心點的選取有關
C:k-means聚類算法的時間復雜度是O(NKT),其中N為樣本個數,K為聚類團數量,T為迭代次數
D:k-means聚類算法無法自動確定聚類團數量
正確答案: A
時間復雜度O(tkn)是線性的,t是循環次數,k是聚類的個數,n是數據點的個數。
用戶需事先指定聚類數目k。算法對異常值十分敏感。對初始種子敏感。
如果K-means算法是全局收斂的,那么從不同的聚類中心迭代都會得到同一個聚類結果;但是我們都知道不同的聚類中心迭代結果不一樣,反證K-means不是全局收斂的。
2. 以下兩種描述分別對應哪兩種對分類算法的評價標准?
① 美團推薦的餐廳有多少是用戶喜歡的 Precision
② 用戶喜歡的餐廳有多少被美團推薦了 Recall
precision是精確性的度量,表示被分為正例的示例中實際為正例的比例,
precision=TP/(TP+FP);
recall是覆蓋面的度量,度量有多個正例被分為正例,
recall=TP/(TP+FN)=TP/P=sensitive,可以看到召回率與靈敏度是一樣的。
3. 下列說正確的是?
A:回歸函數A和B,如果A比B更簡單,則A幾乎一定會比B在測試集上表現更好
B:梯度下降有時會陷於局部極小值,但EM算法不會
C:在AdaBoost算法中,所有被錯分的樣本的權重更新比例相同
D:當訓練數據較少時更難發生過擬合
正確答案: C
A項:若A與B均是高偏差模型(high bias),即欠擬合,但是B的欠擬合程度比A小,那么模型B會比A復雜,就會比A更好地擬合訓練數據。
B項:EM算法是通過不斷求解下界的極大化逼近求解對數似然函數極大化的算法(統計學習方法,p160),但EM算法不能保證找到全局最優解。
C項正確。
D項:對過擬合的一種解釋:學習的模型復雜度,比實際數據的復雜度要高,欠擬合或者過擬合指模型本身和真實數據實際復雜度的關系,與訓練數據的多少無關。
4. 邏輯回歸的損失函數是?
邏輯回歸模型預估的是樣本屬於某個分類的概率,其損失函數(Cost Function)可以像線型回歸那樣,以均方差來表示;也可以用對數、概率等方法。損失函數本質上是衡量”模型預估值“到“實際值”的距離,選取好的“距離”單位,可以讓模型更加准確。
5. 如下表是用戶是否使用某產品的調查結果。
UID 性別 地區 學歷 收入 用戶是否使用調查產品
1 男 北方 博士 低 是
2 女 北方 本科 中 否
3 男 南方 本科 高 否
4 女 北方 研究生 中 是
請計算性別、地區、學歷、收入中對用戶是否使用調查產品信息增益最大的屬性(Log23≈0.63)
A:性別 B:地區 C:學歷 D:收入
正確答案: C
信息增益,即互信息,g(A,D)=H(D)-H(D|A)。表示特征A所能透露的關於集合D的信息量(熵)的多少。這個題沒必要真正去算,觀察數據,我們可以發現在已知學歷的情況下,對分類結果的判斷是最明確的。所以我們能判定學歷對用戶是否使用產品的信息增益最大。
6. 美團點評是大家吃喝玩樂的生活好幫手: 比如大家搜索”7天連鎖酒店”,會返回一系列相關的結果。如果要識別這句話的商家核心詞-“7天”,以下哪種方法識別商家核心詞准確率最低,不能直接使用?
A:通過分析用戶搜索日志,人工制定模板或規則來識別
B:標注一些數據,抽取特征,用CRF訓練出模型來識別
C:使用word2vec訓練詞向量,對詞聚類,根據詞屬於的類別來識別
D:人工整理商家核心詞詞表,按是否命中詞表里的詞來識別
正確答案: C
首先,如果有人工干預,即通過一定的人力來進行人工識別和標注,肯定會大大提升識別准確率。然后再說一下詞向量,通過word2vec訓練出來的詞向量是文本中出現的每一個詞的向量表示,然后對詞進行聚類,首先聚類是個非監督學習方法啊,沒有人工標注你怎么能知道哪個類別和商家核心詞匯有關?再者,對詞向量聚類之后,得到的是一堆堆的近義詞類別,比如七天、九天、六天、天天、周天可能會被聚成一類,但很明顯這一大堆詞根本都沒有足夠的特征來區分是不是屬於商家核心詞。
7. 同事去美團上班,自己開車,滴滴拼車,滴滴快車,騎滑板車的概率分別是0.3,0.2,0.1,0.4,各種方式遲到的概率分別1/4,1/3,1/12,0,下列語句中正確的是
A:如果他准點,那么騎滑板車的概率大於等於0.5
B:單人出行(自己開車或者滴滴快車)准點機會比滴滴拼車要低
C:如果他遲到,自己開車的概率是0.5
D:如果他准點,使用滴滴的概率等於自己開車的概率
正確答案: C D
P(開車) = 0.3 P(拼車) = 0.2 P(快車) = 0.1 P(滑板) = 0.4
P(遲到|開車)=1/4 P(遲到|拼車)=1/3P(遲到|快車)=1/12P(遲到|滑板)=0
P(准時|開車)=3/4 P(准時|拼車)=2/3P(准時|快車)=11/12P(准時|滑板)=1
P(遲到)=0.3*1/4 + 0.2*1/3 + 0.1*1/12 + 0.4*0 = 9/60
P(准時)=1-P(遲到) = 51/60
則:A選項:P(滑板|准點) = P(滑板)*P(准時|滑板)/P(准點)=0.4*1/(51/60) =24/51<0.5
B選項:P(開車|准時) = P(開車)*P(准時|開車)/P(准時)=0.3*(3/4)/(51/60)=27/102
P(快車|准時) = P(快車)*P(准時|快車)/P(准時)=0.1*(11/12)/(51/60)=11/102
P(拼車|准時) = P(拼車)*P(准時|拼車)/P(准時)=0.2*(2/3)/(51/60)=16/102
可知,B選項錯誤
C選項:P(開車|遲到) = P(開車)*P(遲到|開車)/P(遲到)=0.3*(1/4)/(9/60) = 0.5
D選項:P(快車|准時) = P(快車)*P(准時|快車)/P(准時)=0.1*(11/12)/(51/60)=11/102
P(拼車|准時) = P(拼車)*P(准時|拼車)/P(准時)=0.2*(2/3)/(51/60)=16/102
P(開車|准時) = P(開車)*P(准時|開車)/P(准時)=0.3*(3/4)/(51/60)=27/102
可知P(快車|准時)+P(拼車|准時)=P(開車|准時)
8. 機器學習中能夠用於指導特征選擇的指標
A:信息增益 B:信息增益率 C:基尼系數 D:信息熵
正確答案: A B C D 你的答案: A B C (錯誤)
信息熵的差就是信息增益,直接比較信息熵的大小,選取對應信息熵最小的特征,就相當於找到信息增益最大的項了,所以也算吧
9. 使用協同過濾做電影推薦,使系統可以對新用戶輸出結果的操作是:
A:使用內容特征計算電影之間的相似度
B:增加更長時間的訓練數據
C:使用電影點擊之外的數據計算用戶相似度,例如用戶背景信息
D:使用熱門電影推薦結果補充個性化推薦結果
正確答案: C D
電影間相似度以用戶對不同電影的評分為基礎進行計算,新用戶沒有看過任何電影,所以即使知道電影間的相似性信息也無法基於此對用戶進行推薦;沒懂B項想表達什么,增加訓練的時間么?。對新用戶進行推薦,要么想辦法獲得用戶更多的信息,以獲得用戶喜好,要么進行基於大家都喜歡的物品進行推薦。