美团点评2017校招笔试真题-算法工程师B
美团点评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项想表达什么,增加训练的时间么?。对新用户进行推荐,要么想办法获得用户更多的信息,以获得用户喜好,要么进行基于大家都喜欢的物品进行推荐。