机器学习数据挖掘常见面试题,

上月就弃坑了,谁知道又投份简历让我去面试,我是真的不想搞这些东西了,心累.

如何判断函数是凸函数?

设f是定义域为实数的函数,如果定义域内对于所有的实数x,f的二阶导大于等于0,称f是凸函数。

当x是向量时,如果其海森矩阵A是半正定的(H>=0),f也是凸函数。

如果f的二阶导大于0或者H>0,那么称f是严格凸函数。

反之,如果二阶导小于0或者x是向量时,其海森矩阵小于0,f为凹函数

LR 与 SVM 的相同和不同

相同点

1都是分类算法,都是监督学习算法(有标签),

2都是判别模型(不用计算联合概率分布的模型KNN、SVM、LR,生成模型先计算联合概率p(Y,X)然后通过贝叶斯公式转化为条件概率,朴素贝叶斯,隐马尔可夫模型)

3广为人之,且应用广泛

不同点

1支持向量机只考虑超平面附近的点--支持向量,而逻辑回归考虑所有的数据(远离的点对边界线的确定也起作用)

2损失函数不同,LR用对数损失函数,SVM用合页损失函数

3解决非线性问题,SVM引入核函数,而LR不解决非线性问题.因为LR所有点都参与决策,那么计算量太大,而SVM只有少数的支持向量参与计算

4SVM要经过数据的归一化,依赖于数据的距离测度,LR没有这个问题

随机森林和GBDT区别

1)随机森林采用的bagging思想,而GBDT采用的boosting思想。
2)组成随机森林的树可以是分类树,也可以是回归树;而GBDT只能由回归树组成。
3)组成随机森林的树可以并行生成;而GBDT只能是串行生成。
4)对于最终的输出结果而言,随机森林采用多数投票等;而GBDT则是将所有结果累加起来,或者加权累加起来。
5)随机森林对异常值不敏感;GBDT对异常值非常敏感。
6)随机森林对训练集一视同仁;GBDT是基于权值的弱分类器的集成。
7)随机森林是通过减少模型方差提高性能;GBDT是通过减少模型偏差提高性能。

方差与偏差:

偏差指的是算法的期望预测与真实值之间的偏差程度,反映了模型本身的拟合能力;Bagging每个样本上训练出来的模型取平均值,减小了偏差,并行算法有这种作用

方差度量了同等大小的训练集的变动导致学习性能的变化,刻画了数据扰动所导致的影响。Boosting是迭代算法,每一次迭代都根据上一次迭代的预测结果对样本进行加权,所以随着迭代进行,误差会越来越小,所以模型的 方差会不断减小

如何进行特征选择?

特征是否发散:如果一个特征不发散,例如方差接近于0,也就是说样本在这个特征上基本上没有差异,这个特征对于样本的区分并没有什么用。

特征与目标的相关性:与目标相关性高的特征,应该优先选择。

根据特征选择的形式分为以下几种:

Filter(过滤法):按照发散性或者相关性对各个特征进行评分,设定阈值或者待选择阈值的个数,选择特征。

Wrapper(包装法):根据目标函数(通常是预测效果),每次选择若干特征,或者排除若干特征。

Embedded(嵌入法):先使用某些机器学习的算法和模型进行训练,得到各个特征的权值系数,根据系数从大到小选择特征。类似于Filter方法,但是是通过训练来确定特征的优劣。

聚类算法中的距离度量有哪些

欧氏距离:可以简单的描述为多维空间的点点之间的几何距离

曼哈顿距离:如果欧式距离看成是多维空间对象点点的直线距离,那么曼哈顿距离就是计算从一个对象到另一个对象所经过的折线距离

参考:  LR与SVM的异同  https://www.cnblogs.com/zhizhan/p/5038747.html

         RF和GBDT区别  https://blog.csdn.net/blank_tj/article/details/82453535

         方差与偏差 https://blog.csdn.net/zrh_CSDN/article/details/80934338

        特征选择   https://blog.csdn.net/datoutong_/article/details/78813233

猜你喜欢

转载自blog.csdn.net/sinat_41132860/article/details/84075690