算法岗面试知识点总结

目录

一、机器学习知识点

二、深度学习知识点


一、机器学习知识点

1、交叉熵公式,逻辑回归(LR)公式,逻辑回归损失函数,SVM的损失函数

2、逻辑回归(LR)和线性回归的区别

线性回归用来做预测,LR用来做分类;线性回归是来拟合函数,LR是来预测函数;线性回归用最小二乘法来计算参数,LR用最大似然估计来计算参数;线性回归更容易受到异常值的影响,而LR对异常值有较好的稳定性。

3、支持向量机(SVM)及SVM与LR的区别

 SVM:用于解决二分类或者多分类问题,基本模型定义为特征空间上的间隔最大的线性分类器,它的学习策略为最大化分类间隔,构造一个最优化的超平面在空间中分割数据,最终可转化为凸二次规划问题求解。

LR是参数模型,采用损失函数为Logistic Loss;SVM是非参数模型,采用损失函数为Hinge Loss;在学习分类器的时候,SVM只考虑与分类最相关的少数支持向量点,LR的模型相对简单,在进行大规模线性分类时比较方便。

4、机器学习中的距离计算方法

欧式距离,余弦距离,曼哈顿距离,切比雪夫距离

5、SVM硬间隔和软间隔的表达式,SVM使用对偶计算的目的

SVM使用对偶计算的目的有两个:一是方便核函数的引入;二是原问题的求解复杂度与样本的维度相关,而转成对偶问题后只与样本的数量有关。

6、SVM中的核函数

核函数种类:线性核,多项式核,高斯核。

核函数的选择:样本特征多,维数高,线性可分,使用线性核;样本的数量较少,且维数较少时,使用高斯核。

核函数的作用:核函数隐含着一个从低维空间到高维空间的映射,这个映射可以把低维空间中线性不可分的两类点变成线性可分的。

7、生成模型和判别模型的特点,分别有哪些

生成式模型特点:先从数据中学习联合概率分布,然后利用贝叶斯公式求得特征和标签对应的条件概率分布。

判别式模型特点:直接学习条件概率分布,直观的输入什么特征就预测可能的类别;

生成式模型:朴素贝叶斯、HMM、Gaussians(高斯模型)、马尔科夫随机场,LDA

判别式模型:线性回归和逻辑回归(LR),SVM,神经网络,k-近邻,CRF,Boosting

8、分类算法的种类以及应用场景

单一分类方法:LR逻辑回归,SVM支持向量机,DT决策树、NB朴素贝叶斯、NN人工神经网络、K-近邻;

集成学习算法:基于Bagging和Boosting算法思想,RF随机森林,GBDT,Adaboost,XGboost。

9、ID3,C4.5和CART三种决策树的区别

ID3决策树优先选择信息增益大的属性来对样本进行划分,但是这样的分裂节点方法有一个很大的缺点,当一个属性可取值数目较多时,可能在这个属性对应值下的样本只有一个或者很少个,此时它的信息增益将很高,ID3会认为这个属性很适合划分,但实际情况下多属性的取值会使模型的泛化能力较差;

C4.5不采用信息增益作为划分依据,而是采用信息增益率作为划分依据。但是仍不能完全解决以上问题,而是有所改善;

CART树使用gini系数(基尼指数)作为节点的分裂依据。

10、L1和L2正则化的区别

L1是模型各个参数的绝对值之和,L2为各个参数平方和的开方值;L1更趋向于产生少量的特征,其它特征为0,最优的参数值很大概率出现在座标轴上,从而导致产生稀疏的权重矩阵,而L2会选择更多的矩阵,但是这些矩阵趋向于0。

11、损失函数(Loss Function)都有哪些

均方误差损失,交叉熵损失,Hinge损失(SVM),残差损失(CART回归树)

12、K-means算法

K-means算法流程:从数据集中随机选择k个聚类样本作为初始的聚类中心,然后计算数据集中每个样本到这k个聚类中心的距离,并将此样本分到距离最小的聚类中心所对应的类中。将所有样本归类后,对于每个类别重新计算每个类别的聚类中心即每个类中所有样本的质心,重复以上操作直到聚类中心不变为止。

K-means算法存在的缺点:k-means是局部最优的,容易受到初始质心的影响;k值的选取也会直接影响聚类结果,最优聚类的k值应与样本数据本身的结构信息相吻合。

K-means算法中K值得确定:由于K-means一般作为数据预处理,或者用于辅助分类贴标签,所以k一般不会设置很大。可以通过枚举,令k从2到一个固定值如10,在每个k值上重复运行数次k-means(避免局部最优解),并计算当前k的平均轮廓系数,最后选取轮廓系数最大的值对应的k作为最终的集群数目。

13、LDA的原理

LDA是一种基于有监督学习的降维方式,将数据集在低维度的空间进行投影,要使得投影后的同类别的数据点间的距离尽可能的靠近,而不同类别间的数据点的距离尽可能的远。

14、DBSCAN聚类算法

DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一种基于密度的空间聚类算法。

15、推荐算法

协同过滤推荐算法(Collaborative Filtering Recommendation):itemCF,userCF;内容推荐算法,相似性推荐算法,关联规则推荐算法。

16、Bagging和Boosting的区别

Bagging:Random Forest;Boosting:AdaBoost,GBDT,XGBoost

(1)样本选择:Bagging:训练集是在原始集中有放回选取的,从原始集中选出的各轮训练集之间是独立的。Boosting:每一轮的训练集不变,只是训练集中每个样例在分类器中的权重发生变化。而权值是根据上一轮的分类结果进行调整。

(2)样本权重:Bagging:使用均匀取样,每个样本的权重相等。Boosting:根据错误率不断调整样本的权值,错误率越大则权重越大。

(3)预测函数:Bagging:所有预测函数的权重相等。Boosting:每个弱分类器都有相应的权重,对于分类误差小的分类器会有更大的权重。

(4)并行计算:Bagging:各个预测函数可以并行生成。Boosting:各个预测函数只能顺序生成,因为后一个模型参数需要前一轮模型的结果。

17、Adaboost,GBDT ,XGBoost和LightGBM的区别

18、XGBoost原理以及特征重要性计算

19、LightGBM的优势

20、HMM隐马尔可夫模型的参数估计方法

期望最大化(Expectation-Maximum,EM)算法

21、Bootstrap方法

从一个数据集中有放回的抽取N次,每次抽M个,Bagging算法基于Bootstrap

22、防止模型过拟合的方法

(1)早停法(Early Stopping);(2)L1和L2正则化(在模型中添加惩罚函数来防止过拟合);(3)神经网络的Dropout;(4)决策树剪枝;(5)SVM的松弛变量;(6)增加训练样本

23、正负样本不平衡怎么处理,用什么评价指标

24、特征工程相关问题

 

二、深度学习知识点

1、RNN,LSTM和GRU的结构图、原理及计算公式

2、Dropout

在神经网络的训练过程中,对于神经单元按一定的概率将其随机从网络中丢弃,从而达到对于每个mini-batch都是在训练不同网络的效果,防止过拟合。

3、神经网络激活函数的种类,图像,特点,区别和优缺点等

sigmoid,tanh,relu

Relu相比于sigmoid的优点:Sigmoid的导数只有在0的附近时有比较好的激活性,在正负饱和区域的梯度都接近0,会导致梯度弥散。而relu函数在大于0的部分梯度为常数,不会产生梯度弥散现象。Relu函数在负半区导数为0,也就是说这个神经元不会经历训练,就是所谓稀疏性;而且relu函数的导数计算的更快。

4、Batch Normalization的作用

神经网络在训练的时候随着网络层数的加深,激活函数的输入值的整体分布逐渐往激活函数的取值区间上下限靠近,从而导致在反向传播时低层的神经网络的梯度消失。

BN层的作用是把一个batch内的所有数据,从不规范的分布拉到正态分布。这样做的好处是使得数据能够分布在激活函数的敏感区域,敏感区域即为梯度较大的区域,因此在反向传播的时候能够较快反馈误差传播从而使梯度变大加快学习收敛速度避免梯度消失的问题。

5、梯度消失

在神经网络中,当前面隐藏层的学习速率低于后面隐藏层的学习速率,即随着隐藏层数目的增加,分类准确率反而下降了,这种现象叫做消失的梯度问题。

7、训练过程中,若一个模型不收敛,那么是否说明这个模型无效,导致模型不收敛的原因有哪些

并不能说明这个模型无效。

导致模型不收敛的原因可能有数据分类的标注不准确;样本的信息量太大导致模型不足以拟合整个样本空;学习率设置的太大容易产生震,太小会导致不收敛;可能复杂的分类任务用了简单的模型;数据没有进行归一化的操作。

8、图像处理中的锐化和平滑

锐化就是通过增强高频分量来减少图像中的模糊,在增强图像边缘的同时也增加了图像的噪声;平滑与锐化相反,过滤掉高频分量,减少图像的噪声使图片变得模糊。

9、DropConnect原理

防止过拟合方法的一种,与dropout不同的是它不是按概率将隐藏层的节点输出清0,而是对每个节点与之相连的输入权值以一定的概率清0。

10、Attention机制及作用

作用:减少处理高维输入数据的计算负担,结构化的选取输入的子集,从而降低数据的维度。让系统更加容易的找到输入的数据中与当前输出信息相关的有用信息,从而提高输出的质量。帮助类似于decoder这样的模型框架更好的学到多种内容模态之间的相互关系。

11、Adam

Adam 算法和传统的随机梯度下降不同。随机梯度下降保持单一的学习率(即 alpha)更新所有的权重,学习率在训练过程中并不会改变。而 Adam 通过计算梯度的一阶矩估计和二阶矩估计而为不同的参数设计独立的自适应性学习率。

12、LSTM和GRU可以解决RNN的梯度消失问题

RNN由于网络较深,后面层的输出误差很难影响到前面层的计算,RNN的某一单元主要受它附近单元的影响。而LSTM因为可以通过阀门记忆一些长期的信息,相应的也就保留了更多的梯度。而GRU也可通过重置和更新两个阀门保留长期的记忆,也相对解决了梯度消失的问题。

13、GAN(Generative adversarial network)生成对抗网络的思想

GAN用一个生成模型和一个判别模型,判别模型用于判断给定的图片是不是真实的图片,生成模型自己生成一张图片和想要的图片很像,开始时两个模型都没有训练,然后两个模型一起进行对抗训练,生成模型产生图片去欺骗判别模型,判别模型去判别真假,最终两个模型在训练过程中,能力越来越强最终达到稳态。

14、Seq2seq模型

Seq2seq属于encoder-decoder结构的一种,利用两个RNN,一个作为encoder一个作为decoder。Encoder负责将输入序列压缩成指定长度的向量,这个向量可以看作这段序列的语义,而decoder负责根据语义向量生成指定的序列。

15、神经网络用过哪些优化器(Optimizer)

SGD(随机梯度下降),BGD(批量梯度下降),MBGD(小批量梯度下降),Momentum,Nesterov,Adagrad,RMSprop,Adadelta,Adam

16、传统数字图像处理常用方法

(1)图像变换:由于图像阵列很大,直接在空间域中进行处理,涉及计算量很大。因此,往往采用各种图像变换的方法,如傅立叶变换、沃尔什变换、离散余弦变换等间接处理技术,将空间域的处理转换为变换域处理,不仅可减少计算量,而且可获得更有效的处理(如傅立叶变换可在频域中进行数字滤波处理)。目前新兴研究的小波变换在时域和频域中都具有良好的局部化特性,它在图像处理中也有着广泛而有效的应用。

(2)图像编码压缩:图像编码压缩技术可减少描述图像的数据量(即比特数),以便节省图像传输、处理时间和减少所占用的存储器容量。压缩可以在不失真的前提下获得,也可以在允许的失真条件下进行。编码是压缩技术中最重要的方法,它在图像处理技术中是发展最早且比较成熟的技术。

(3)图像增强和复原:图像增强和复原的目的是为了提高图像的质量,如去除噪声,提高图像的清晰度等。图像增强不考虑图像降质的原因,突出图像中所感兴趣的部分。如强化图像高频分量,可使图像中物体轮廓清晰,细节明显;如强化低频分量可减少图像中噪声影响。图像复原要求对图像降质的原因有一定的了解,一般讲应根据降质过程建立“降质模型”,再采用某种滤波方法,恢复或重建原来的图像。

(4)图像分割:图像分割是数字图像处理中的关键技术之一。图像分割是将图像中有意义的特征部分提取出来,其有意义的特征有图像中的边缘、区域等,这是进一步进行图像识别、分析和理解的基础。虽然目前已研究出不少边缘提取、区域分割的方法,但还没有一种普遍适用于各种图像的有效方法。因此,对图像分割的研究还在不断深入之中,是目前图像处理中研究的热点之一。

(5)图像描述:图像描述是图像识别和理解的必要前提。作为最简单的二值图像可采用其几何特性描述物体的特性,一般图像的描述方法采用二维形状描述,它有边界描述和区域描述两类方法。对于特殊的纹理图像可采用二维纹理特征描述。随着图像处理研究的深入发展,已经开始进行三维物体描述的研究,提出了体积描述、表面描述、广义圆柱体描述等方法。

(6)图像分类(识别):图像分类(识别)属于模式识别的范畴,其主要内容是图像经过某些预处理(增强、复原、压缩)后,进行图像分割和特征提取,从而进行判决分类。图像分类常采用经典的模式识别方法,有统计模式分类和句法(结构)模式分类,近年来新发展起来的模糊模式识别和人工神经网络模式分类在图像识别中也越来越受到重视。

17、图像的频率,低频,高频以及图像补全方法

图像的频率:灰度值变化剧烈程度的指标,是灰度在平面空间上的梯度。

低频:低频就是颜色缓慢地变化,也就是灰度缓慢地变化,就代表着那是连续渐变的一块区域,这部分就是低频。对于一幅图像来说,除去高频的就是低频了,也就是边缘以内的内容为低频,而边缘内的内容就是图像的大部分信息,即图像的大致概貌和轮廓,是图像的近似信息。

高频:高频就是频率变化快。图像中什么时候灰度变化快?就是相邻区域之间灰度相差很大,这就是变化得快。图像中,一个影像与背景的边缘部位,通常会有明显的差别,也就是说变化那条边线那里,灰度变化很快,也即是变化频率高的部位。因此,图像边缘的灰度值变化快,就对应着频率高,即高频显示图像边缘。图像的细节处也是属于灰度值急剧变化的区域,正是因为灰度值的急剧变化,才会出现细节。

图像补全:Region Filling and Object Removal by Exemplar-Based Image Inpainting

18、TensorFlow的工作原理

Tensorflow是用数据流图来进行数值计算的,而数据流图是描述有向图的数值计算过程。在有向图中,节点表示为数学运算,边表示传输多维数据,节点也可以被分配到计算设备上从而并行的执行操作。

19、手写一下TensorFlow的二分类代码

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章