AI笔试面试题库:文末附赠最新升级版的《名企AI面试100题》电子书

即日起机器学习防止过拟合,小七将从7月线上题库中筛选出机器学习、深度学习、计算机视觉、自然语言处理、推荐系统等领域的面试题,为大家连载,随时查看复习。你正在找工作。(欢迎大家每天打卡学习)

由于篇幅有限,本文不会加载每个问题的参考答案,而是会提取一些摘要。如需完整分析,请参阅题库链接。如有任何问题,请在题库链接下随时留言、讨论、更正。

AI笔试面试题库:

文末附《名企AI面试100题》电子书最新升级版

1、请详细解释支持向量机(SVM)的原理

支持向量机,因其英文名称support vector machine,一般被称为SVM。一般来说,它是一个二分类模型。其基本模型被定义为特征空间中间隔最大的线性分类器。它的学习策略是区间的最大化,最终可以转化为一个凸二次规划问题的解。

2、哪些机器学习算法不需要归一化?

在实际应用中,需要一个归一化的模型:

1.基于距离计算的模型:KNN。

2.梯度下降求解的模型:线性回归、逻辑回归、支持向量机、神经网络。

但是树模型不需要归一化,因为它们不关心变量的值,而是关心变量的分布和变量之间的条件概率,比如决策树、随机森林。

3、为什么树结构不需要归一化?

因为数值缩放不影响分割点的位置,所以不影响树模型的结构。

根据特征值排序,排序顺序不变,那么它们所属的分支和分裂点不会不同。而且,树模型不能进行梯度下降,因为树模型(回归树)是通过寻找最优分裂点来建立最优点的,所以树模型是一步,步点是不可引导的,并且有没有推导的意义,也不需要归一化。

4、在k-means或者kNN中,我们经常使用欧几里得距离来计算最近邻之间的距离,有时还有曼哈顿距离,请比较这两个距离的区别

欧几里得距离是两个或多个点之间距离的最常见表示,也称为欧几里得度量,在欧几里得空间中定义。

5、数据归一化(或归一化,注意归一化和归一化是不同的)的原因

如果能归一化,最好不要归一化。数据归一化的原因是因为每个维度的维度不同。并且需要根据情况进行规范化。

有的模型在各个维度缩放不均后,最优解与原来的不等价(如SVM),需要进行归一化处理。

有的模型缩放和原来是等价的,比如:LR不需要归一化,但在实践中机器学习防止过拟合,模型参数往往是迭代求解的。如果目标函数太平坦(想象一个非常平坦的高斯模型),迭代算法将不会收敛。,所以最好对数据进行归一化。

6、请简述一个完整的机器学习项目的流程

抽象成数学问题

识别问题是进行机器学习的第一步。机器学习的训练过程通常是一件非常耗时的事情,随机尝试的时间成本非常高。

这里的抽象是一个数学问题,意思是我们明确我们可以得到什么样的数据,目标是分类还是回归还是聚类问题,如果不是,是否归类为某一类问题。

检索数据

数据为机器学习结果设置了一个上限,算法只是尽可能地接近这个上限。

数据必须具有代表性,否则不可避免地会过拟合。

而且,对于分类问题,数据倾斜不应该太严重,不同类别的数据数量不应该有几个数量级的差距。

而且,还有对数据量级、多少样本、多少特征的评估,可以估计内存消耗的程度,判断内存是否可以放在训练过程中。如果爱不释手,就得考虑改进算法或者使用一些降维技术。如果数据量太大,就要考虑分布式。

特征预处理和特征选择

好的数据需要能够提取好的特征才能真正有效。

7、逻辑回归为什么要离散特征

正如七月在线老师所说:

①非线性!非线性!非线性!Logistic回归属于广义线性模型,表达能力有限;将单变量离散化为N后,每个变量都有单独的权重,相当于在模型中引入了非线性,可以提高模型的表达能力,增加拟合;离散 容易增减特征,容易在模型上快速迭代;

② 快!高速!高速!稀疏向量内积乘法速度快,计算结果易于存储和扩展;

③ 鲁棒性!鲁棒性!鲁棒性!离散化后的特征对异常数据具有很强的鲁棒性:比如年龄>30的特征为1,否则为0。如果特征不离散化,异常数据“年龄300”会对模型;

④ 方便的交叉和特征组合:离散化后可以进行特征交叉,从M+N变量变为M*N变量,进一步引入非线性,提高表达能力;

⑤ 稳定性:特征离散化后,模型会更加稳定。例如,如果将用户的年龄离散化,则以20-30为区间,不会因为用户的年龄大一岁而成为完全不同的人。当然,与区间相邻的样本会正好相反,所以如何划分区间是见仁见智的;

⑥ 简化模型:特征离散化后,起到简化逻辑回归模型的作用,降低模型过拟合的风险。

8、LR简介

@rickjin:从头到脚谈论 LR。建模、现场数学推导、各解原理、正则化、LR与maxent模型的关系。能记住答案的人很多,一问逻辑细节就一头雾水。

原理没问题吧?然后问项目,怎么做并行化,有几种并行化方法,你看过哪些开源实现。是的,那就准备接受吧,顺便问问LR车型的发展历程。

9、如何解决过拟合

过拟合就是过拟合,其直观的表现如下图所示。随着训练过程的进行,模型的复杂度增加,训练数据上的误差逐渐减小,但验证集上的误差逐渐增大——因为训练好的网络过拟合训练集,但在训练集上不起作用训练集以外的数据,称为泛化性能差。泛化性能是评估训练效果的主要目标。没有很好的概括,就等于反了,一切都是无用的。

10、LR和SVM的关系和区别分析

LR和SVM都可以处理分类问题,一般用来处理线性二分类问题(多分类问题在改进的情况下可以处理)

区别:

1、LR是参数模型,svm是非参数模型,linear和rbf是线性可分和不可分数据的区别;

2、从目标函数的角度来看,区别在于逻辑回归使用逻辑损失,而SVM使用铰链损失。这两个损失函数的目的是增加对分类影响较大的数据点的权重,减少与分类相关性较小的数据点的权重。

3、SVM的处理方式是只考虑支持向量,即与分类最相关的几个点,来学习分类器。逻辑回归通过非线性映射大大降低了远离分类平面的点的权重,相对增加了与分类最相关的数据点的权重。

4、逻辑回归模型比较简单易懂,特别是对于大规模线性分类。SVM的理解和优化比较复杂。SVM转化为对偶问题后,分类只需要从几个支持向量中计算距离即可。这在复杂核函数计算中具有明显的优势,可以大大简化模型和计算。.

5、什么逻辑可以svm可以做,但是准确性可能会有问题,有些svm可以做的逻辑不能。

11、什么是熵

从名字上看,熵给人一种很神秘的感觉,不知道是什么。其实熵的定义很简单,就是用来表示随机变量的不确定性。之所以给人一种神秘的感觉,大概是因为为什么会选择这样的名字,以及如何使用它。

熵的概念起源于物理学,用于衡量热力学系统的无序程度。在信息论中,熵是对不确定性的度量。

12、说说梯度下降

1 什么是梯度下降

一种算法经常出现在机器学习的优化问题中,即梯度下降。那么梯度下降究竟是什么?

维基百科给出的定义是梯度下降法(Gradient descent)是一种一阶优化算法,也俗称最速下降法。要使用梯度下降来找到函数的局部最小值,必须在与函数上当前点对应的梯度(或近似梯度)的相反方向上,对指定步距处的点执行迭代搜索。反之,如果在梯度的正方向上迭代进行搜索,就会逼近函数的局部极大点;这个过程称为梯度上升。

13、牛顿法和梯度下降法有什么区别?

牛顿法

牛顿法是一种近似求解实数场和复数场方程的方法。该方法利用函数f(x)的泰勒级数的前几项求方程f(x)=0的根。牛顿法最大的特点是它的收敛速度非常快。

14、熵的定义,联合熵,条件熵,相对熵,互信息

为了更好地理解,需要理解的概率的必要知识是:

大写字母X代表随机变量,小写字母x代表随机变量X的具体值;

P(X)表示随机变量X的概率分布,P(X,Y)表示随机变量X和Y的联合概率分布,P(Y|X)表示当随机变量Y的条件概率随机变量 X 是已知分布的;

p(X = x) 表示随机变量X取特定值的概率,简写为p(x);

p(X = x, Y = y)表示联合概率,简写为p(x,y),p(Y = y|X = x)表示条件概率,简写为p(y|x),有: p(x,y) = p(x) * p(y|x)。

15、说说你知道的核函数

16、什么是拟牛顿法?

拟牛顿法是求解非线性优化问题最有效的方法之一。它是由美国阿贡国家实验室的物理学家 WC Davidon 在 1950 年代提出的。Davidon设计的算法被认为是当时非线性优化领域最具创新性的发明之一。很快,R. Fletcher 和 MJD Powell 证明了这种新算法比其他方法更快、更可靠,使非线性优化学科一夜之间实现了跨越式发展。

拟牛顿法的本质思想是改进牛顿法每次都需要求解复Hessian矩阵的逆矩阵的缺陷。它使用一个正定矩阵来逼近Hessian矩阵的逆矩阵,从而简化了运算的复杂度。拟牛顿法和最速下降法一样,只要求在每次迭代时都知道目标函数的梯度。通过测量梯度的变化,构建了一个足以产生超线性收敛的目标函数模型。这类方法在很大程度上优于最速下降法,尤其是对于困难问题。

17、kmeans的复杂度?

时间复杂度:O(tKmn),其中t是迭代次数,K是聚类数,m是记录数(也可以认为是样本数),n是维度

空间复杂度:O((m+K)n),其中K是聚类数,m是记录数(也可以认为是样本数),n是维度

18、请谈谈随机梯度下降的问题和挑战?

那么如何优化随机梯度法呢?详情请点击:论文公开课第一期:梯度下降等各种优化算法详解(含视频和PPT下载)(链接:ask.julyedu.com/question/7913)

19、介绍一下共轭梯度法?

共轭梯度法是介于梯度下降法(最速下降法)和牛顿法之间的一种方法。它只需要使用一阶导数信息,但克服了梯度下降法收敛慢的缺点,避免了需要牛顿法。共轭梯度法的缺点是存储和计算 Hessian 矩阵并求逆,它不仅是求解大型线性方程组最有用的方法之一,也是求解大型非线性优化最有效的算法之一。在各种优化算法中,共轭梯度法是非常重要的一种。它的优点是需要存储量小,渐进收敛,稳定性高,不需要任何外部参数。

20、对于所有的优化问题,有没有可能找到比目前已知的更好的算法?

没有免费的午餐定理:

对于训练样本(黑点),不同的算法A/B在不同的测试样本(白点)中的表现是不同的,也就是说:对于一个学习算法A,如果在某些问题上比学习算法B好,那么肯定有B优于A的一些问题。

即:对于所有问题,无论学习算法 A 多么聪明,学习算法 B 多么笨拙,它们都具有相同的预期性能。

然而,没有免费的午餐定理。假设所有问题发生的概率相同。在实际应用中,不同的场景会有不同的问题分布。因此,在优化算法时,分析具体问题是算法优化的核心。

21、什么是最大熵

熵是随机变量不确定性的度量。不确定性越大,熵值越大;如果随机变量退化为一个固定值,则熵为0。如果没有外部干扰,随机变量总是趋于无序,经过足够的稳定演化时间,应该能够达到最大熵.

为了准确估计随机变量的状态,我们一般习惯性地最大化熵,认为在所有可能的概率模型(分布)中,熵最大的模型是最好的模型。换言之,在已知部分知识的前提下,对未知分布最合理的推论是与已知知识相符的最不确定或随机的推论。原则是承认已知(知识),对未知不做任何事情。假设,没有任何偏见

22、LR与线性回归的区别与联系

LR行业一般指的是逻辑回归(Logistic Regression)而不是线性回归(Linear Regression)。LR 对线性回归的实数范围的输出值应用一个 sigmoid 函数,使值收敛到 0~1 的范围内,其目标函数也由差的平方变化。sum函数变成对数损失函数,提供优化所需的导数(sigmoid函数是softmax函数的二元特例,其导数都是函数值的f*(1-f)形式) .

请注意,LR常用于解决二元0/1分类问题,但与线性回归耦合太紧,不知不觉也被命名为回归(马甲无处不在)。如果需要多变量分类,将 sigmoid 替换为著名的 softmax。

23、简单说说有监督学习和无监督学习的区别

监督学习:在标记的训练样本上学习,尽可能对训练样本集之外的数据进行分类预测。(LR、SVM、BP、RF、GBDT)

无监督学习:对未标记的样本进行训练和学习,而不是在这些样本中发现结构知识。(K均值,PCA)

24、请问(决策树、随机森林、Boosting、Adaboot)GBDT和xgBoost有什么区别?

集成学习的集成对象是学习者。Bagging 和 Boosting 属于两种集成学习方法。Bagging 方法通过替换采样相同数量的样本来训练每个学习器,然后集成在一起(简单投票);Boosting 方法使用所有样本(可调整权重)依次训练每个学习器,迭代地集成(平滑加权)。

决策树是最常用的学习器,其学习过程是从根开始构建树,即如何决定叶子节点的分裂。ID3/C4.5决策树使用信息熵计算最优分割,CART决策树使用基尼指数计算最优分割,xgboost决策树使用二阶泰勒展开系数计算最优分割.

25、机器学习中的正则化究竟是什么意思?

正则化经常出现在各种文章或材料中。例如,一般的目标函数包含以下两个

其中,误差/损失函数鼓励我们的模型尽可能地拟合训练数据,这样最终的模型就会有更少的偏差。正则化项鼓励更简单的模型。因为模型简单的时候,有限数据的拟合结果的随机性比较小,不容易过拟合,使得最终模型的预测更加稳定。

但是一直没有好的文章来阐明什么是正则化?

说到正则化,我们不得不从过拟合的问题说起。

26、说说常见的损失函数?

对于给定的输入 X,对应的输出 Y 由 f(X) 给出,这个输出的预测值 f(X) 可能与真实值 Y 一致也可能不一致(要知道有时损失或错误是不可避免的) ,使用损失函数来衡量预测误差的程度。损失函数,表示为 L(Y, f(X)),衡量模型的预测值 f(x) 与真实值 Y 的不一致程度。

27、xgboost为什么要使用泰勒展开,有什么好处?

xgboost使用一阶和二阶偏导数,二阶导数有利于更快更准确的梯度下降。使用泰勒展开得到函数的二阶导数形式作为自变量,可以选择损失函数的具体形式。,叶子分裂优化计算只能依靠输入数据的值来进行,这本质上将损失函数的选择与模型算法/参数选择的优化分开了。这种解耦增加了xgboost的适用性,使得按需选择Loss函数成为可能,可以用于分类或回归。

28、协方差和相关有什么区别?

相关性是协方差的标准化格式。协方差本身很难比较。例如:如果我们计算薪水($)和年龄(年)的协方差,由于这两个变量有不同的度量,我们会得到不同的协方差,无法比较。

29、xgboost如何找到最优特征?有没有更换?

xgboost 给出训练过程中每个特征的增益分数,会选择增益最大的特征作为分裂的依据,从而在模型训练时记住每个特征的重要性——从根到叶子中间节点涉及到一定特征的个数,作为特征的重要性排名。

30、谈谈谈判的刻板印象和生成模型?

判别法:直接从数据中学习决策函数Y=f(X),或者以条件分布概率P(Y|X)作为预测模型,即判别模型。

生成方法:从数据中学习联合概率密度分布函数P(X,Y),然后得到条件概率分布P(Y|X)作为预测模型,即生成模型。

判别模型可以从生成模型得到,但是生成模型不能从判别模型得到。

常见的判别模型有:K-最近邻、SVM、决策树、感知器、线性判别分析(LDA)、线性回归、传统神经网络、逻辑回归、boosting、条件随机场

常见的生成模型有:朴素贝叶斯、隐马尔可夫模型、高斯混合模型、文档主题生成模型(LDA)、受限玻尔兹曼机

31、线性分类器和非线性分类器的区别及优缺点

线性和非线性基于模型参数和输入特征;例如,如果输入x,模型y=ax+ax^2是非线性模型,如果输入是x和X^2,模型是线性的。

线性分类器具有良好的可解释性和较低的计算复杂度。缺点是模型的拟合效果比较弱。

非线性分类器拟合能力强,但缺点是数据量不足,容易过拟合,计算复杂度高,可解释性不好。

常见的线性分类器有:LR、贝叶斯分类、单层感知器、线性回归

常见非线性分类器:决策树、RF、GBDT、多层感知器

SVM 两者都有(参见线性核或高斯核)

32、L1和L2的区别

L1范数(L1 norm)是指针中每个元素的绝对值之和,也称为“Lasso正则化”。

例如向量A=[1,-1,3],则A的L1范数为|1|+|-1|+|3|。

一个简短的总结是:

L1范数:是x向量的每个元素的绝对值之和。

L2范数:它是x向量的每个元素的平方和的1/2次方。L2 范数也称为欧几里得范数或 Frobenius 范数

Lp范数:是x向量的每个元素的绝对值之和与p次方的1/p次方

33、L1 和 L2 正则先验服从什么分布?

面试中,L1和L2正则先验服从什么分布,L1是拉普拉斯分布,L2是高斯分布。

34、逻辑回归的简单介绍?

逻辑回归(Logistic Regression)是机器学习中的一种分类模型。由于算法简单高效,在实践中得到广泛应用。

例如,在实际工作中,我们可能会遇到以下问题:

预测用户是否会点击特定项目

确定用户的性别

预测用户是否会购买给定类别

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论