机器学习面试题目.doc

上传人:h**** 文档编号:871437 上传时间:2018-11-03 格式:DOC 页数:17 大小:77.51KB
下载 相关 举报
机器学习面试题目.doc_第1页
第1页 / 共17页
机器学习面试题目.doc_第2页
第2页 / 共17页
机器学习面试题目.doc_第3页
第3页 / 共17页
机器学习面试题目.doc_第4页
第4页 / 共17页
机器学习面试题目.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、1、有监督学习和无监督学习的区别有监督学习:对具有标记的训练样本进行学习,以尽可能对训练样本集外的数据进行分类预测。 (LR,SVM,BP,RF,GBDT)无监督学习:对未标记的样本进行训练学习,比发现这些样本中的结构知识。(KMeans,DL)2、正则化正则化是针对过拟合而提出的,以为在求解模型最优的是一般优化最小的经验风险,现在在该经验风险上加入模型复杂度这一项(正则化项是模型参数向量的范数) ,并使用一个rate 比率来权衡模型复杂度与以往经验风险的权重,如果模型复杂度越高,结构化的经验风险会越大,现在的目标就变为了结构经验风险的最优化,可以防止模型训练过度复杂,有效的降低过拟合的风险。

2、奥卡姆剃刀原理,能够很好的解释已知数据并且十分简单才是最好的模型。 过拟合如果一味的去提高训练数据的预测能力,所选模型的复杂度往往会很高,这种现象称为过拟合。所表现的就是模型训练时候的误差很小,但在测试的时候误差很大。产生的原因过拟合原因:1. 样本数据的问题。样本数量太少;抽样方法错误,抽出的样本数据不能有效足够代表业务逻辑或业务场景。比如样本符合正态分布,却按均分分布抽样,或者样本数据不能代表整体数据的分布;样本里的噪音数据干扰过大2. 模型问题模型复杂度高 、参数太多决策树模型没有剪枝权值学习迭代次数足够多(Overtraining),拟合了训练数据中的噪声和训练样例中没有代表性的特征.

3、解决方法1. 样本数据方面。增加样本数量,对样本进行降维,添加验证数据抽样方法要符合业务场景清洗噪声数据2. 模型或训练问题控制模型复杂度,优先选择简单的模型,或者用模型融合技术。利用先验知识,添加正则项。L1 正则更加容易产生稀疏解、L2 正则倾向于让参数 w 趋向于 0. 4、交叉验证不要过度训练,最优化求解时,收敛之前停止迭代。 决策树模型没有剪枝权值衰减5、泛化能力泛化能力是指模型对未知数据的预测能力6、生成模型和判别模型1. 生成模型:由数据学习联合概率分布 P(X,Y),然后求出条件概率分布 P(Y|X)作为预测的模型,即生成模型:P(Y|X)= P(X,Y)/ P(X)。 (朴素

4、贝叶斯、 Kmeans)生成模型可以还原联合概率分布 p(X,Y),并且有较快的学习收敛速度,还可以用于隐变量的学习2. 判别模型:由数据直接学习决策函数 Y=f(X)或者条件概率分布 P(Y|X)作为预测的模型,即判别模型。 (k 近邻、决策树、 SVM)直接面对预测,往往准确率较高,直接对数据在各种程度上的抽象,所以可以简化模型7、线性分类器与非线性分类器的区别以及优劣如果模型是参数的线性函数,并且存在线性分类面,那么就是线性分类器,否则不是。常见的线性分类器有:LR,贝叶斯分类,单层感知机、线性回归常见的非线性分类器:决策树、RF、GBDT、多层感知机SVM 两种都有(看线性核还是高斯核

5、)线性分类器速度快、编程方便,但是可能拟合效果不会很好非线性分类器编程复杂,但是效果拟合能力强8、特征比数据量还大时,选择什么样的分类器?线性分类器,因为维度高的时候,数据一般在维度空间里面会比较稀疏,很有可能线性可分对于维度很高的特征,你是选择线性还是非线性分类器?理由同上对于维度极低的特征,你是选择线性还是非线性分类器?非线性分类器,因为低维空间可能很多特征都跑到一起了,导致线性不可分1. 如果 Feature 的数量很大,跟样本数量差不多,这时候选用 LR 或者是 Linear Kernel 的SVM2. 如果 Feature 的数量比较小,样本数量一般,不算大也不算小,选用 SVM+G

6、aussian Kernel3. 如果 Feature 的数量比较小,而样本数量很多,需要手工添加一些 feature 变成第一种情况9、 ill-condition 病态问题训练完的模型测试样本稍作修改就会得到差别很大的结果,就是病态问题(这简直是不能用啊)10、 L1 和 L2 正则的区别,如何选择 L1 和 L2 正则http:/blog.csdn.NET/xbmatrix/article/details/61624196他们都是可以防止过拟合,降低模型复杂度L1 是在 loss function 后面加上 模型参数的 1 范数(也就是|xi|)L2 是在 loss function 后

7、面加上 模型参数的 2 范数(也就是 sigma(xi2)) ,注意 L2 范数的定义是 sqrt(sigma(xi2),在正则项上没有添加 sqrt 根号是为了更加容易优化L1 会产生稀疏的特征L2 会产生更多地特征但是都会接近于 0L1 会趋向于产生少量的特征,而其他的特征都是 0,而 L2 会选择更多的特征,这些特征都会接近于 0。L1 在特征选择时候非常有用,而 L2 就只是一种规则化而已。L1 求解最小角回归算法:LARS 算法11、越小的参数说明模型越简单过拟合的,拟合会经过曲面的每个点,也就是说在较小的区间里面可能会有较大的曲率,这里的导数就是很大,线性模型里面的权值就是导数,所

8、以越小的参数说明模型越简单。12、为什么一些机器学习模型需要对数据进行归一化?http:/ 有可能提高精度。一些分类器需要计算样本之间的距离(如欧氏距离) ,例如 KNN。如果一个特征值域范围非常大,那么距离计算就主要取决于这个特征,从而与实际情况相悖(比如这时实际情况是值域范围小的特征更重要)3) 逻辑回归等模型先验假设数据服从正态分布。哪些机器学习算法不需要做归一化处理?概率模型不需要归一化,因为它们不关心变量的值,而是关心变量的分布和变量之间的条件概率,如决策树、rf。而像 adaboost、gbdt、xgboost、svm、lr、KNN、KMeans 之类的最优化问题就需要归一化。特征

9、向量的归一化方法线性函数转换,表达式如下:y=(x-MinValue)/(MaxValue-MinValue)对数函数转换,表达式如下:y=log10 (x)反余切函数转换 ,表达式如下:y=arctan(x)*2/PI减去均值,乘以方差:y=(x-means)/ variance标准化与归一化的区别简单来说,标准化是依照特征矩阵的列处理数据,其通过求 z-score 的方法,将样本的特征值转换到同一量纲下。归一化是依照特征矩阵的行处理数据,其目的在于样本向量在点乘运算或其他核函数计算相似性时,拥有统一的标准,也就是说都转化为“单位向量” 。规则为 l2 的归一化公式如下:13、特征向量的缺失

10、值处理1. 缺失值较多.直接将该特征舍弃掉,否则可能反倒会带入较大的 noise,对结果造成不良影响。2. 缺失值较少,其余的特征缺失值都在 10%以内,我们可以采取很多的方式来处理:1) 把 NaN 直接作为一个特征,假设用 0 表示;2) 用均值填充;3) 用随机森林等算法预测填充 随机森林如何处理缺失值(http:/charleshm.github.io/2016/03/Random-Forest-Tricks/)方法一(na.roughfix)简单粗暴,对于训练集,同一个 class 下的数据,如果是分类变量缺失,用众数补上,如果是连续型变量缺失,用中位数补。方法二(rfImpute

11、)这个方法计算量大,至于比方法一好坏?不好判断。先用 na.roughfix补上缺失值,然后构建森林并计算 proximity matrix,再回头看缺失值,如果是分类变量,则用没有缺失的观测实例的 proximity 中的权重进行投票。如果是连续型变量,则用proximity 矩阵进行加权平均的方法补缺失值。然后迭代 4-6 次,这个补缺失值的思想和KNN 有些类似 12。随机森林如何评估特征重要性(http:/charleshm.github.io/2016/03/Random-Forest-Tricks/)衡量变量重要性的方法有两种,Decrease GINI 和 Decrease Ac

12、curacy:1) Decrease GINI: 对于回归问题,直接使用 argmax(VarVarLeftVarRight)作为评判标准,即当前节点训练集的方差 Var 减去左节点的方差 VarLeft 和右节点的方差 VarRight。2) Decrease Accuracy:对于一棵树 Tb(x),我们用 OOB 样本可以得到测试误差 1;然后随机改变 OOB 样本的第 j 列:保持其他列不变,对第 j 列进行随机的上下置换,得到误差 2。至此,我们可以用误差 1-误差 2 来刻画变量 j 的重要性。基本思想就是,如果一个变量 j 足够重要,那么改变它会极大的增加测试误差;反之,如果改变

13、它测试误差没有增大,则说明该变量不是那么的重要。14、优化 Kmeans使用 kd 树或者 ball tree(这个树不懂 )将所有的观测实例构建成一颗 kd 树,之前每个聚类中心都是需要和每个观测点做依次距离计算,现在这些聚类中心根据 kd 树只需要计算附近的一个局部区域即可KMeans 初始类簇中心点的选取k-means+算法选择初始 seeds 的基本思想就是:初始的聚类中心之间的相互距离要尽可能的远。1. 从输入的数据点集合中随机选择一个点作为第一个聚类中心2. 对于数据集中的每一个点 x,计算它与最近聚类中心( 指已选择的聚类中心 )的距离 D(x)3. 选择一个新的数据点作为新的聚

14、类中心,选择的原则是:D(x)较大的点,被选取作为聚类中心的概率较大4. 重复 2 和 3 直到 k 个聚类中心被选出来5. 利用这 k 个初始的聚类中心来运行标准的 k-means 算法15、解释对偶的概念一个优化问题可以从两个角度进行考察,一个是 primal 问题,一个是 dual 问题,就是对偶问题,一般情况下对偶问题给出主问题最优值的下界,在强对偶性成立的情况下由对偶问题可以得到主问题的最优下界,对偶问题是凸优化问题,可以进行较好的求解,SVM 中就是将 primal 问题转换为 dual 问题进行求解,从而进一步引入核函数的思想。16、如何进行特征选择?特征选择是一个重要的数据预处

15、理过程,主要有两个原因:一是减少特征数量、降维,使模型泛化能力更强,减少过拟合;二是增强对特征和特征值之间的理解常见的特征选择方式:1. 去除方差较小的特征2. 正则化。1 正则化能够生成稀疏的模型。L2 正则化的表现更加稳定,由于有用的特征往往对应系数非零。3. 随机森林,对于分类问题,通常采用基尼不纯度或者信息增益,对于回归问题,通常采用的是方差或者最小二乘拟合。一般不需要 feature engineering、调参等繁琐的步骤。它的两个主要问题,1 是重要的特征有可能得分很低(关联特征问题) ,2 是这种方法对特征变量类别多的特征越有利(偏向问题) 。4. 稳定性选择。是一种基于二次抽

16、样和选择算法相结合较新的方法,选择算法可以是回归、SVM 或其他类似的方法。它的主要思想是在不同的数据子集和特征子集上运行特征选择算法,不断的重复,最终汇总特征选择结果,比如可以统计某个特征被认为是重要特征的频率(被选为重要特征的次数除以它所在的子集被测试的次数) 。理想情况下,重要特征的得分会接近 100%。稍微弱一点的特征得分会是非 0 的数,而最无用的特征得分将会接近于0。 17、数据预处理1. 缺失值,填充缺失值 fillna:i. 离散:None,ii. 连续:均值。iii. 缺失值太多,则直接去除该列2. 连续值:离散化。有的模型(如决策树)需要离散值3. 对定量特征二值化。核心在

17、于设定一个阈值,大于阈值的赋值为 1,小于等于阈值的赋值为 0。如图像操作4. 皮尔逊相关系数,去除高度相关的列#correlation matrixcorrmat = df_train.corr()f, ax = plt.subplots(figsize=(12, 9)sns.heatmap(corrmat, vmax=.8, square=True);1. 去除噪声点。通过 matplotlib.scatter 函数图示某一特征与预测特征的点分布图,明显看出噪声点,去除即可#bivariate analysis saleprice/grlivareavar = GrLivAreadata

18、= pd.concat(df_trainSalePrice, df_trainvar, axis=1)data.plot.scatter(x=var, y=SalePrice, ylim=(0,800000);df_train.sort_values(by = GrLivArea, ascending = False):2df_train = df_train.drop(df_traindf_trainId = 1299.index)df_train = df_train.drop(df_traindf_trainId = 524.index)1. 标签编码,把字符类别特征编码成数值类型,如红

19、绿蓝编码为 0、1、22. 归一化。将数据按比例缩放,使这些数据落入到一个较小的特定的区间之内。最小最大缩放:当使用基于距离的算法时,我们必须尝试将数据缩放,这样较不重要的特征不会因为自身较大的范围而主导目标函数。如 KNN。在逻辑回归中,每个特征都被分配了权重或系数(Wi)。如果某个特征有相对来说比较大的范围,而且其在目标函数中无关紧要,那么逻辑回归模型自己就会分配一个非常小的值给它的系数,从而中和该特定特征的影响优势,而基于距离的方法,如 KNN,没有这样的内置策略,因此需要缩放。Z-score 标准化:很多的机器学习技巧/模型(例如 L1,L2 正则项,向量空间模型 -Vector Sp

20、ace Model,欧几里得距离测量的 KNN、k-均值、SVM、感知器、神经网络、线性判别分析、主成分分析)都基于这样的假设:所有的属性取值都差不多是以 0 为均值且取值范围相近的,标准化数据帮助我们提高预测模型的精度。备注:在缩放和标准化中二选一是个令人困惑的选择,你必须对数据和要使用的学习模型有更深入的理解,才能做出决定。对于初学者,你可以两种方法都尝试下并通过交叉验证精度来做出选择。18、什么是偏差与方差?泛化误差可以分解成偏差的平方加上方差加上噪声。偏差度量了学习算法的期望预测和真实结果的偏离程度,刻画了学习算法本身的拟合能力,方差度量了同样大小的训练集的变动所导致的学习性能的变化,

21、刻画了数据扰动所造成的影响,噪声表达了当前任务上任何学习算法所能达到的期望泛化误差下界,刻画了问题本身的难度。偏差和方差一般称为bias 和 variance,一般训练程度越强,偏差越小,方差越大,泛化误差一般在中间有一个最小值,如果偏差较大,方差较小,此时一般称为欠拟合,而偏差较小,方差较大称为过拟合。偏差:方差:解决 bias 和 Variance 问题的方法:交叉验证High bias 解决方案:Boosting、复杂模型(非线性模型、增加神经网络中的层) 、更多特征High Variance 解决方案:agging、简化模型、降维19、采用 EM 算法求解的模型有哪些,为什么不用牛顿法

22、或梯度下降法?用 EM 算法求解的模型一般有 GMM 或者协同过滤,k-means 其实也属于 EM。EM 算法一定会收敛,但是可能收敛到局部最优。由于求和的项数将随着隐变量的数目指数上升,会给梯度计算带来麻烦。20、 SVM、LR、决策树的对比?模型复杂度:SVM 支持核函数,可处理线性非线性问题;LR 模型简单,训练速度快,适合处理线性问题;决策树容易过拟合,需要进行剪枝损失函数:SVM hinge loss; LR L2 正则化; adaboost 指数损失数据敏感度:SVM 添加容忍度对 outlier 不敏感,只关心支持向量,且需要先做归一化; LR对远点敏感数据量:数据量大就用 L

23、R,数据量小且特征少就用 SVM 非线性核21、 GBDT 和随机森林的区别?随机森林采用的是 bagging 的思想,bagging 又称为 bootstrap aggreagation,通过在训练样本集中进行有放回的采样得到多个采样集,基于每个采样集训练出一个基学习器,再将基学习器结合。随机森林在对决策树进行 bagging 的基础上,在决策树的训练过程中引入了随机属性选择。传统决策树在选择划分属性的时候是在当前节点属性集合中选择最优属性,而随机森林则是对结点先随机选择包含 k 个属性的子集,再选择最有属性,k 作为一个参数控制了随机性的引入程度。另外,GBDT 训练是基于 Boostin

24、g 思想,每一迭代中根据错误更新样本权重,因此是串行生成的序列化方法,而随机森林是 bagging 的思想,因此是并行化方法。22、 xgboost 怎么给特征评分?在训练的过程中,通过 Gini 指数选择分离点的特征,一个特征被选中的次数越多,那么该特征评分越高。python view plain copy print?1. # feature importance 2. print(model.feature_importances_) 3. # plot 4. pyplot.bar(range(len(model.feature_importances_), model.feature_

25、importances_) 5. pyplot.show() 6. = 7. # plot feature importance 8. plot_importance(model) 9. pyplot.show() # feature importanceprint(model.feature_importances_)# plotpyplot.bar(range(len(model.feature_importances_), model.feature_importances_)pyplot.show()=# plot feature importanceplot_importance(m

26、odel)pyplot.show()23、什么是 OOB?随机森林中 OOB 是如何计算的,它有什么优缺点?bagging 方法中 Bootstrap 每次约有 1/3 的样本不会出现在 Bootstrap 所采集的样本集合中,当然也就没有参加决策树的建立,把这 1/3 的数据称为袋外数据 oob(out of bag), 它可以用于取代测试集误差估计方法。袋外数据(oob)误差的计算方法如下:对于已经生成的随机森林,用袋外数据测试其性能, 假设袋外数据总数为 O,用这 O 个袋外数据作为输入,带进之前已经生成的随机森林分类器, 分类器会给出 O 个数据相应的分类, 因为这 O 条数据的类型是

27、已知的 ,则用正确的分类与随机森林分类器的结果进行比较 ,统计随机森林分类器分类错误的数目,设为 X,则袋外数据误差大小=X/O;这已经经过证明是无偏估计的,所以在随机森林算法中不需要再进行交叉验证或者单独的测试集来获取测试集误差的无偏估计。24、解释置信区间置信区间不能用贝叶斯学派的概率来描述,它属于频率学派的范畴。真值要么在,要么不在。由于在频率学派当中,真值是一个常数,而非随机变量(后者是贝叶斯学派) ,所以我们不对真值做概率描述。比如,95%置信区间,并不是真值在这个区间内的概率是 95%,而应该为 100 次随机抽样中构造的 100 个区间如果 95 次包含了参数真值,那么置信度为9

28、5%。25、监督学习一般使用两种类型的目标变量:标称型和数值型标称型:标称型目标变量的结果只在有限目标集中取值,如真与假(标称型目标变量主要用于分类)数值型:数值型目标变量则可以从无限的数值集合中取值,如 0.100,42.001 等 (数值型目标变量主要用于回归分析)26、为什么说朴素贝叶斯是高偏差低方差?它简单的假设了各个特征之间是无关的,是一个被严重简化了的模型。所以,对于这样一个简单模型,大部分场合都会 bias 部分大于 variance 部分,也就是高偏差,低方差1.什么是机器学习机器学习是为了应对系统程序设计,属于计算机科学类的学科,它能根据经验进行自动学习和提高。例如:一个由程

29、序操纵的机器人,它能根据从传感器搜集到的数据,完成一系列的任务和工作。它能根据数据自动地学习应用程序。2.机器学习与数据挖掘的区别机器语言是指在没有明确的程序指令的情况下,给予计算机学习能力,使它能自主的学习、设计和扩展相关算法。数据挖掘则是一种从非结构化数据里面提取知识或者未知的、人们感兴趣的图片。在这个过程中应用了机器学习算法。3.什么是机器学习的过度拟合现象在机器学习中,当一个统计模型首先描述随机误差或噪声,而不是自身的基本关系时,过度拟合就会出现。当一个模型是过于复杂,过拟合通常容易被发现,因为相对于训练数据类型的数量,参数的数量过于五花八门。那么这个模型由于过度拟合而效果不佳。4.过

30、度拟合产生的原因由于用于训练模型的标准并不等同于判断模型效率的标准,这导致了产生过度拟合的可能性。5.如何避免过度拟合当你使用较小的数据集进行机器学习时,容易产生过度拟合,因此使用较大的数据量能避免过度拟合现象。但是,当你不得不使用小型数据集进行建模时,可以使用被称为交叉验证的技术。在这种方法中数据集被分成两节,测试和训练数据集,测试数据集只测试模型,而在训练数据集中,数据点被用来建模。在该技术中,一个模型通常是被给定有先验知识的数据集(训练数据集)进行训练,没有先验知识的数据集进行测试。交叉验证的思想是:在训练阶段,定义一个数据集用来测试模型。6.什么是感应式的机器学习?感应机器学习涉及由实

31、践进行学习的过程,能从一组可观测到的例子的尝试推导出普遍性规则。7.什么是机器学习的五个流行的算法?1. 决策树 2. 神经网络(反向传播)3. 概率网络 4.最邻近法 5. 支持向量机8.机器学习有哪些不同的算法技术?在机器学习不同类型的算法技术是:1. 监督学习 2.非监督学习 3. 半监督学习 4. 转导推理(Transduction)5. 学习推理(Learning to Learn) 。9.在机器学习中,建立假设或者模型的三个阶段指的是什么?1.建模 2.模型测试 3.模型应用。10.什么是监督学习的标准方法?监督学习的标准方法是将一组示例数据的分成训练数据集和测试数据集。11.什么

32、是训练数据集和测试数据集?在类似于机器学习的各个信息科学相关领域中,一组数据被用来发现潜在的预测关系,称为“训练数据集” 。训练数据集是提供给学习者的案例,而试验数据集是用于测试由学习者提出的假设关系的准确度。12.下面列出机器学习的各种方法?机器学习的各种方法如下“1.概念与分类学习(Concept Vs Classification Learning) 。2.符号与统计学习(Symbolic Vs Statistical Learning) 。3.归纳与分析学习(Inductive Vs Analytical Learning) 。13.非机器学习有哪些类型?人工智能、规则推理。14.什么是非监督学习的功能?1.求数据的集群 2. 求出数据的低维表达 3. 查找数据有趣的方向 4. 有趣的坐标和相关性 5.发现显著的观测值和数据集清理15.什么是监督学习的功能?1.分类、2.语音识别 3.回归 4.时间序列预测 5. 注释字符串16.什么是算法独立的机器学习?机器学习在基础数学领域独立于任何特定分类器或者学习算法,被称为算法独立的机器学

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 参考答案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。