参考答案
EM算法解决问题的思路是使用启发式的迭代方法,既然我们无法直接求出模型分布参数,那么我们可以先猜想隐含参数(EM 算法的E步),接着基于观察数据和猜测的隐含参数一起来极大化对数似然,求解我们的模型参数(EM算法的M步)。由于我们之前的隐含参数是猜测的,所以此时得到的模型参数一般还不是我们想要的结果。我们基于当前得到的模型参数,继续猜测隐含参数(EM算法的E步),然后继续极大化对数似然,求解我们的模型参数(EM算法的M步)。以此类推,不断的迭代下去,直到模型分布参数基本无变化,算法收敛,找到合适的模型参数。
==EM算法说到底就是启发式的迭代算法,既然无法直接求到模型的参数,那就先猜测隐含的参数,根据这个猜测的参数来得出结果,然后用最大化对数似然来求目标参数。(4.21
例如:
先设定男生和女生的身高分布参数(初始值),例如男生的身高分布为N(p=172=52),女生的身高分布为N(2=162,吃=52),当然了,刚开始肯定没那么准;然后计算出每个人更可能属于第一个还是第二个正态分布中的(例如,这个人的身高是180那很明显,他极大可能属于男生),这个是属于Expectation 一步。
我们已经大概地按上面的方法将这200个人分为男生和女生两部分,我们就可以根据之前说的极大似然估计分别对男生和女生的身高分布参数进行估计,这步称为 Maximization。
然后,当我们更新这两个分布的时候,每一个学生属于女生还是男生的概率又变了,那么我们就再需要调整E步。
如此往复,直到参数基本不再发生变化或满足结束条件为止。
答案解析
这道题考验EM算法,EM的意思是“Expectation
Maximization"。只要将EM算法的大致流程描述清楚即可
22.评价指标(广联达)
参考答案
1、混淆矩阵
混淆矩阵是监督学习中的一种可视化工具,主要用于比较分类结果和实例的真实信息。矩阵中的每一行代表实例的预测类别,每一列代表实例的真实类别。
真正(True Positive , TP):被模型预测为正的正样本。
假正(False Positive , FP):被模型预测为正的负样本。
假负(False Negative , FN):被模型预测为负的正样本。
真负(True Negative , TN):被模型预测为负的负样本。
真正率(True Positive Rate,TPR):TPR=TP/(TP+FN),即被预测为正的正样本数 /正样本实际数。
假正率(False Positive Rate,FPR) :FPR=FP/(FP+TN),即被预测为正的负样本数 /负样本实际数。
假负率(False Negative Rate,FNR) :FNR=FN/(TP+FN),即被预测为负的正样本数 /正样本实际数。
真负率(True Negative Rate,TNR):TNR=TN/(TN+FP),即被预测为负的负样本数 /负样本实际数/2
2、准确率(Accuracy)
准确率是最常用的分类性能指标。
Accuracy = (TP+TN)/(TP+FN+FP+TN)
即正确预测的正反例数/总数
3、精确率(Precision)
精确率容易和准确率被混为一谈。其实,精确率只是针对预测正确的正样本而不是所有预测正确的样本。表现为预测出是正的里面有多少真正是正的。可理解为查准率。
Precision = TP/(TP+FP)
即正确预测的正例数/预测正例总数
4、召回率(Recall)
召回率表现出在实际正样本中,分类器能预测出多少。与真正率相等,可理解为查全率。
Recall = TP/(TP+FN),即正确预测的正例数 /实际正例总数
5、F1 score
F值是精确率和召回率的调和值,更接近于两个数较小的那个,所以精确率和召回率接近时,F值最大。很多推荐系统的评测指标就是用F值的。
2/F1 = 1/Precision + 1/Recall
6、AUC
AUC(Area Under Curve)被定义为ROC曲线下的面积(ROC的积分),通常大于0.5小于1。随机挑选一个正样本以及一个负样本,分类器判定正样本的值高于负样本的概率就是 AUC 值。AUC值(面积)越大的分类器,性能越好
答案解析
这道题主要考察机器学习的评价指标,需要将机器学习的常见指标描述出来。
23.表示距离的指标有哪些?(广联达)
参考答案
1.欧氏距离,最常见的两点之间或多点之间的距离表示法,又称之为欧几里得度量,它定义于欧几里得空间中,如点 x = (x1,...,xn) 和 y = (y1,...,yn) 之间的距离为:
2. 曼哈顿距离,我们可以定义曼哈顿距离的正式意义为L1-距离或城市区块距离,也就是在欧几里得空间的固定直角坐标系上两点所形成的线段对轴产生的投影的距离总和。例如在平面上,坐标(x1,y1)的点P1与坐标(x2, y2)的点P2的曼哈顿距离为
要注意的是,曼哈顿距离依赖座标系统的转度,而非系统在座标轴上的平移或映射。
3. 切比雪夫距离,若二个向量或二个点p 、and q,其座标分别为及,则两者之间的切比雪夫距离定义如下:
4. 标准化欧氏距离 (Standardized Euclidean distance
),标准化欧氏距离是针对简单欧氏距离的缺点而作的一种改进方案。标准欧氏距离的思路:既然数据各维分量的分布不一样,那先将各个分量都“标准化”到均值、方差相等。
5. 汉明距离(Hamming distance),两个等长字符串s1与s2之间的汉明距离定义为将其中一个变为另外一个所需要作的最小替换次数。例如字符串“1111”与“1001”之间的汉明距离为2。应用:信息编码(为了增强容错性,应使得编码间的最小汉明距离尽可能大)。
6. 夹角余弦(Cosine) ,几何中夹角余弦可用来衡量两个向量方向的差异,机器学习中借用这一概念来衡量样本向量之间的差异。
24. ROC的了解情况,怎么画ROC(猿辅导)
参考答案
逻辑回归里面,对于正负例的界定,通常会设一个阈值,大于阈值的为正类,小于阈值为负类。如果我们减小这个阀值,更多的样本会被识别为正类,提高正类的识别率,但同时也会使得更多的负类被错误识别为正类。为了直观表示这一现象,引入ROC。根据分类结果计算得到ROC空间中相应的点,连接这些点就形成ROC curve,横坐标为False Positive Rate(FPR假正率),纵坐标为True Positive Rate(TPR真正率)。一般情况下,这个曲线都应该处于(0,0)和(1,1)连线的上方。
ROC曲线中的四个点和一条线: 点(0,1):即FPR=0, TPR=1,意味着FN=0且FP=0,将所有的样本都正确分类。 点(1,0):即FPR=1,TPR=0,最差分类器,避开了所有正确答案。 点(0,0):即FPR=TPR=0,FP=TP=0,分类器把每个实例都预测为负类。 点(1,1):分类器把每个实例都预测为正类。 总之:ROC曲线越接近左上角,该分类器的性能越好。而且一般来说,如果ROC是光滑的,那么基本可以判断没有太大的overfitting
答案解析
==先说一下背景,在逻辑回归里面,对正负样本的界定通常会设定一个阈值,大于阈值的为正,小于阈值的为负。如果我们减小这个阈值,更多的样本就会被识别为正类,这会提高正类的识别率,但是同时也会让更多的负类被错判为正。
为了更加直观的表示这个现象,引入了ROC曲线。ROC曲线主要就是4个点和1条线。4个点分别是(0,0)样本全部划分为负类
(0,1)样本全部判断正确
(1,0)样本全部判断错误
(1,1)样本全部划分为正类
总之,曲线越靠近左上方越好,曲线只要够光滑就代表没有太大过拟合的现象。(4.21
这道题主要是考察ROC的基础知识,需要能够描述ROC的计算方式和如何画出曲线
25.有很多维度的特征怎么来筛选?有什么方法?具体讲一个例子来(拼多多)
参考答案
1.Filter方法(过滤式):对每一维特征打分,即给每一维的特征赋予权重,这样的权重就代表着该特征的重要性,然后依据权重排序。
2.Wrapper方法(包裹式):将子集的选择看作是一个搜索寻优问题,生成不同的组合,对组合进行评价,再与其他的组合进行比较。
3. Embedded方法(嵌入式):在模型既定的情况下学习出对提高模型准确性最好的特征。也就是在确定模型的过程中,挑选出那些对模型的训练有重要意义的特征。
具体的例子:岭回归,在线性回归过程加入了L2正则项。
==这里说的是高维数据,不是说特征数量很多
答案解析
高维数据中的特征筛选方法
机器学习与数据挖掘-7
31.决策树模型用到的xgboost(腾讯)
参考答案
首先,介绍背景(包括项目背景+所用数据集特征+预设目标)。随后根据这个数据集的特征再结合xgb的优势,所以才用xgb(为什么要用xgb)。最后说明用了之后的效果,是否达成了预设目标/达成了其他的目标。
答案解析
需要结合简历上的项目来介绍,包括为什么要用以及用了之后的效果。
32.xgboost的特性(腾讯)
参考答案
梯度下降,利用损失函数的二阶导数作为学习目标,采用牛顿法进行优化。
正则项,利用L2正则来防止过拟合。
树节点分裂方法,不是简单地按照样本个数进行分位,而是以二阶导数值作为权重。
shrinkage(收缩)方法,相当于学习系数eta。对每颗子树都要乘上该系数,防止过拟合。
==这里是一个比较简化精髓的一个回答。XGB的特性就是梯度下降,利用损失函数的二阶导数作为学习目标,采用牛顿法作为优化,加入L2正则来防止过拟合。(4.21
33.为什么选择xgboost而不是其他(腾讯)
参考答案
介绍项目背景(主要是数据集特征),再说明xgb的优点(符合你的项目背景和数据集特征的优点),实在没有符合项目背景的优点可以直接介绍xgb与其他集成学习优势的地方(利用了损失函数的二阶导数,L2正则,缺失值处理等)来说明自己了解这个算法的优点。
34.xgboost的优点(腾讯)
参考答案
1.利用了损失函数的二阶导数,使得最终值逼近真实值。
2.out-of-core, cache-aware优化内存等方法来加速计算。
3.利用L2正则来防止过拟合。
4.shrinkage(收缩)方法,相当于学习系数eta。对每颗子树都要乘上该系数,防止过拟合。
5.缺失值处理:通过枚举所有缺失值在当前节点是进入左子树,还是进入右子树更优来决定一个处理缺失值默认的方向。
6.支持并行处理,提高了处理速度。
答案解析
选3-4个即可
35.xgboost常用的调参参数有哪些(腾讯)
参考答案
1.max_depth:树的最大深度。这个值也是用来避免过拟合的。max_depth越大,模型会学到更具体更局部的样本。 需要使用CV函数来进行调优。
2.eta:学习率。 通过减少每一步的权重,可以提高模型的鲁棒性。
3.n_estimator: 这是生成的最大树的数目,也是最大的迭代次数。
4.objective:定义需要被最小化的损失函数。
5.booster:选择每次迭代的模型
36.研究生项目的面部识别模型,问了我GBM是什么,优缺点;还问了SVM/GBM/XGBoost的共同点和比较;最后问了XGBoost比较GBDT的区别。(招联金融)
参考答案
GBM算法是先根据初始模型计算伪残差,之后建立一个基学习器来解释伪残差,该基学习器是在梯度方向上减少残差。再将基学习器乘上权重系数(学习速率)和原来的模型进行线性组合形成新的模型。这样反复迭代就可以找到一个使损失函数的期望达到最小的模型。
==根据初始模型来计算伪残差,然后建立一个基学习器来解释伪残差
优点:
1.继承了单一决策树的优点,又摒弃了它的缺点;
2.能处理缺失数据;
3.对于噪声数据不敏感;
4.能拟合复杂的非线性关系;
5.精确度较高;
6.通过控制迭代次数能控制过度拟合;
7.计算速度快,性能较优。
缺点:
1.顺序计算;
2.可能会出现过拟合现象;
3.设置参数较多;
4.抗干扰能力不强。
GBM/XGBoost的共同点和比较
相同点:
1.都是采用集成学习boosting的思想。
2.都可以在特征上并行处理。
不同点:
1.XGBoost 使用的是近似算法,先对特征值进行预排序,然后根据二阶梯度进行分桶,能够更精确的找到数据分隔点,但是复杂度较高。LightGBM使用的是 histogram 算法,只需要将数据分割成不同的段即可,不需要进行预先的排序。占用的内存更低,数据分割的复杂度更低。
2.决策树生长策略,XGBoost 采用的是 Level-wise 的树生长策略,LightGBM 采用的是 leaf-wise 的生长策略,以最大信息增益为导向。后者进度更高,容易过拟合,所以要控制最大深度。
3.并行策略对比,XGBoost 的并行主要集中在特征并行上,而 LightGBM 的并行策略分特征并行,数据并行以及投票并行。
XGBoost比较GBDT的区别:
1.GBDT无显式正则化;
2.GBDT仅使用了目标函数一阶泰勒展开,而XGBoost使用了二阶的泰勒展开值,加快收敛速度;
3.XGBoost加入了列采样;
4.XGBoost对缺失值的处理;
5.XGBoost通过预排序的方法来实现特征并行,提高模型训练效率;
6.XGBoost支持分布式计算。
参考答案
SVM是在特征空间上找到最佳的分离超平面,使得训练集上的正负样本间隔最大。是用来解决二分类问题的有监督学习算法,在引入核方法后也可以解决非线性问题。
==简单精髓的回答一下即可,SVM是在特征空间中找到最佳的分离超平面,使训练集上的正负样本间隔最大,用来解决有监督分类问题,引入核方法后可以解决非线性问题。(4.21