图像处理CV/ML/DL 面试题整理(一)

 

最近看到了一篇很不错的博客,里面列了一些面试问题汇总,但是排版比较不容易看,而且原作者没有提供完整的答案,在此就基于原作者的思路,完善一下其内容。

原博客地址:https://blog.csdn.net/meyh0x5vDTk48P2/article/details/79179164

原作者的文章将文章分为三个部分,分别是机器学习,深度学习,opencv相关。

一、机器学习方面

(1)LR与SVM的区别

本质区别是loss函数的不同:

 

上面是LR的,下面是SVM的loss函数,可以看到,最明显的是SVM的loss函数自带L2正则化;其次,SVM的优化方向是让支持向量距离分界面的距离最大化,而LR的优化方向是让分类准确率最大化。其实当时我第一感觉LR用的就是交叉熵来做的loss,后来发现还真是。

如果改变样本的内容,LR的决策面是会相应改变的,而对于SVM来说,如果改变的样本是非支持向量的话,决策面是不受影响的

详细内容可看:https://www.cnblogs.com/zhizhan/p/5038747.html

(2)生成模型与判别模型的区别

生成模型主要有NB,马尔可夫,判别模型主要是LR,SVM,KNN

简单的讲,生成模型就是要先求得联合概率,再利用贝叶斯公式去反推,哪个类别最有可能产生这个样本。判别模型则不需要求取联合概率,直接通过分析样本特征,找到最符合其特征的类别。

(3)LR为什么用sigmoid函数,这个函数有什么优点和缺点?为什么不用其他函数?(sigmoid是伯努利分布的指数族形式)

因为sigmoid函数非常接近与一个阶跃函数,所以采用sigmoid函数来作为激活函数。

优点:非常接近与理想阶跃函数,且可以求导

缺点:可能发生梯度消失,收敛缓慢

sigmoid函数本身就是由逻辑回归的损失函数指数族分布形式推演过来的,并不能完全说是LR选择了sigmoid,应该是LR产生了sigmoid。

(4)SVM的过程?Boost算法?

以SMO算法为例,因为有约束:正负支持向量的alpha之和为0,那么在对alpha进行调整时,就必须成对的进行优化,确定两个alpha应该进行调整的前提时:1.两个alpha必须在间隔边界之外。2.并且没有经过区间化处理或者不在边界上。

整个算法流程是:1)遍历所有样本,选择两个可以被优化的alpha,并进行优化,如果无法优化则跳出。2)重复第1步,如果在一次遍中,没有优化任一alpha,则记循环次数加1。3)如果循环次数大于最大循环次数,则退出循环,返回alpha和b。

boost算法:

通俗的讲,boost的思想就是用多个弱分类器来构造一个强分类器,那么怎么构造呢,假如针对一个数据集set,我们有一个分类器1号,它对set中的样本有分类正确的也有分类错误的,那么我门再拿出来那部分错误的样本去训练2号分类器,以此类推直到没有分类错误的样本或者弱分类器个数足够多了才停止。

之后,在分类中,我们通过将不同分类器的输出结果加权求和作为最终结果,其权值就是与对应分类器在数据集set上分类正确率epsilom有关的:

\frac{1}{2}\ln \left ( \frac{1-\varepsilon }{\varepsilon }\right )

(5)决策树过拟合有哪些解决方法

剪枝,即把一些相关属性合并为一个大类,减少分叉

(6)L1与L2正则

L1正则会导致参数稀疏化,而L2正则会导致参数的值偏小,可以由下图很明显的看出来:

该处引用他人的图片来直观看出,黄蓝区域的交点即为最优解,图1是L2正则化的二维展现,可以看到交点大概率在边上,这样w1,w2都不会为0,而且都较小。图2是L1正则化的二维展现,可以看到交点位于坐标轴上,这样就会导致w2不为0,w1为0,进而导致了系数的稀疏化。

(7)LR在特征较多时可以进行怎样的优化?

如果是离线的话,L1正则可以有稀疏解,batch大点应该也有帮助,在线的解决思路有ftrl,rds,robots,还有阿里的mlr。当然还可以用gbdt,fm,ffm做一些特性选择和组合应该也有效果。

(8)机器学习里面的聚类和分类模型有哪些?

分类:LR、SVM、KNN、决策树、RandomForest、GBDT

回归:non-Linear regression、SVR(支持向量回归-->可用线性或高斯核(RBF))、随机森林

聚类:Kmeans、层次聚类、GMM(高斯混合模型)、谱聚类

(9)kmeans的分类过程,用kmeans的数据有什么样的分布(高斯分布),loss函数是啥?

分类过程:Kmeans中初始k个中心点(Kmeans对中心点的选取比较敏感)的选取方法:a、随机选取k个初始的样本中心点(b、直接选取k个样本点),然后计算每个样本到k个选定的样本中心点的距离;再比较待聚类样本到初始样本点的距离,将待聚类的样本指定为距离较近的各个类别(离哪个近,就归为哪一类);最后重新计算聚类中心:;重复迭代。直到聚类中心不再改变以及各样本到其中心的距离和不再大幅变化时即聚类收敛。

loss函数就是各样本点到其当前确定的类别中心的距离和

(10)逻辑回归和线性回归的损失函数

逻辑回归应用于分类所以loss函数使用交叉熵函数

线性回归应用于回归所以loss函数使用平方误差函数

(11)正则化为什么能防止过拟合

过拟合的时候,拟合函数的系数往往非常大,为什么?如下图所示,过拟合,就是拟合函数需要顾忌每一个点,最终形成的拟合函数波动很大。在某些很小的区间里,函数值的变化很剧烈。这就意味着函数在某些小区间里的导数值(绝对值)非常大,由于自变量值可大可小,所以只有系数足够大,才能保证导数值很大。

而L2正则化是通过约束参数的范数使其不要太大,所以可以在一定程度上减少过拟合情况。

而L1正则化是通过简化模型的复杂度来防止过拟合。

(12)什么是坐标轴下降法

用来解决loss function对参数不可导时(此时梯度下降算法不再有效),求取参数更新量的方法

坐标轴下降法和梯度下降法具有同样的思想,都是沿着某个方向不断迭代,但是梯度下降法是沿着当前点的负梯度方向进行参数更新,而坐标轴下降法是沿着坐标轴的方向。

(13)什么是学习率褪火 (衰减)

每学习多少次都会将学习率减少

(14)多分类问题转二分类方法

组合多个二分类器来实现多分类器,方法如下:

a.一对多法(one-versus-rest,简称OVR SVMs)。训练时依次把某个类别的样本归为一类,其他剩余的样本归为另一类,这样k个类别的样本就构造出了k个SVM。分类时将未知样本分类为具有最大分类函数值的那类。

b.一对一法(one-versus-one,简称OVO SVMs或者pairwise)。其做法是在任意两类样本之间设计一个SVM,因此k个类别的样本就需要设计k(k-1)/2个SVM。当对一个未知样本进行分类时,最后得 票最多的类别即为该未知样本的类别。

c.层次支持向量机(H-SVMs)。层次分类法首先将所有类别分成两个子类,再将子类进一步划分成两个次级子类,如此循环,直到得到一个单独的类别为止。

(15)跳出局部极小值方法

优化方法,如momentum updata、Adam等;调整学习率

(16)线性回归、广义线性回归

广义线性回归的联结函数可以有不同的选择。

线性回归和逻辑回归都是在确定输出分布的情况下,从广义线性模型中推导出来的,比如逻辑回归的输出符合二项0-1分布,所以选择了sigmoid作为联结函数。

(17)最小二乘误差及其概率解释

概率用于在已知一些参数的情况下,预测接下来的观测所得到的结果,而似然性 则是用于在已知某些观测所得到的结果时,对有关事物的性质的参数进行估计。找到使得数据集出现的概率最大时的参数,就称为极大似然估计

所以,之前讲的一般的最小二乘法实际上是在假设误差项满足高斯分布且独立同分布的情况下,使似然性最大化。

(18)LDA(二类、多类)

LDA是一种监督学习的降维技术,也就是说它的数据集的每个样本是有类别输出的。这点和PCA不同。PCA是不考虑样本类别输出的无监督降维技术。LDA的思想可以用一句话概括,就是“投影后类内方差最小,类间方差最大”。什么意思呢? 我们要将数据在低维度上进行投影,投影后希望每一种类别数据的投影点尽可能的接近,而不同类别的数据的类别中心之间的距离尽可能的大。

 

上图提供了两种投影方式,哪一种能更好的满足我们的标准呢?从直观上可以看出,右图要比左图的投影效果好,因为右图的黑色数据和蓝色数据各个较为集中,且类别之间的距离明显。左图则在边界处数据混杂。以上就是LDA的主要思想了,当然在实际应用中,我们的数据是多个类别的,我们的原始数据一般也是超过二维的,投影后的也一般不是直线,而是一个低维的超平面。

(19)类别不平衡解决方法

扩大数据集、欠采样、过采样、使用新标准评价、采用其他分类方法

(20)模型融合方法

bagging、随机森林、ADABOOST、 Gradient Boosting Tree

前面两种是综合多个模型的结果;后面两个是重复训练。

前面是将对同一数据集训练好的模型的输出结果按一定权值做加权和,来作为最后输出。

后面是利用弱分类器组合强分类器,在训练每一个弱分类器时均注重之前已有的弱分类器不能正确分类的部分样本,并最后做加权融合。

(21)SVM核函数

核函数主要是将线性不可分的数据映射到高位空间再进行分类

高斯核作为最常用的核函数,其缺点在于:容易过拟合,需要较大的样本集,泛化能力弱

(22)特征选择方法

特征选择的原因:

特征存在冗余(特征相关度太高)、掺杂了噪声(特征对预测结果有负影响)

L1正则化是截断效应(实现稀疏,把不相关的特征的系数变成0);L2正则化是缩放效应,使最后得到的参数很小

(23)交叉熵

相对熵又称KL散度,如果我们对于同一个随机变量 x 有两个单独的概率分布 P(x) 和 Q(x),我们可以使用 KL 散度(Kullback-Leibler (KL) divergence)来衡量这两个分布的差异。

在机器学习中,P是真实分布,Q是训练出的模型,那么使用KL散度既可以衡量两个模型的差异,作为训练的loss函数,由于KL散度中的前一部分−H(y)−H(y)不变,故在优化过程中,只需要关注交叉熵就可以了。所以一般在机器学习中直接用用交叉熵做loss,评估模型。

(24)最大熵模型、EM(Expectation Maximization)算法

最大熵原则:

对于一个随机事件的概率分布进行预测时,预测应当满足全部已知的约束,而对未知的情况下不做任何主观的假设,在这种情况下,概率分布是最均匀的,预测的风险性最小,因此得到的概率分布的熵最大。

这里EM算法的流程借用他人的流程图,这样看来并不好理解,所以我们以kmean算法的实现为例,在实现kmean聚类前,我们首先要假设出k个聚类中心,这就是上图中的隐变量Z,再结合Z就可以给当前样本的类别theta赋初值,然后通过计算类别平均中心来更新Z,theta,当Z不再有变化也就是theta不再有变化时,聚类就完成了。

相似的使用EM算法来完成的还有GMM聚类,不同于Kmean的是,GMM是使用k个c维高斯分布分别去包围k个类别的样本,而Kmean应该是用k个圆来包围。

(25)过拟合,欠拟合

欠拟合(under fitting):参数过少,不足以表达数据的特征

过拟合(over fitting):参数过多,过渡拟合数据,泛化能力差(训练时的准确率很好,但测试的时候就很差)

 

 

 

 

 


 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值