机器学习面试算法精简回答(1)(纯手ma)

感知机

问:什么是感知机?
感知机是根据输入的特征向量x对其进行分类的线性判别模型
问:感知机的学习策略和学习算法
它的学习策略是极小化它的损失函数(所有误分类点到分离超平面距离之和)
它的学习算法可以用先随机选取初值,然后用随机梯度下降法,随便选取训练集中数据,若误分类,则更新权重,运行至无误分类点为止

支持向量机

问:什么是支持向量机
支持向量机是一种二分类模型,它的基本模型是一个几何间隔最大的线性分类器,间隔最大就是它和感知机之间的区别,间隔最大化,可以当作求解一个凸二次规划的问题,也等价于合页损失函数的最小值求解问题。
问:如果训练数据近似线性可分或者线性不可分怎么办
如果训练数据近似现行可分的话,可以用软间隔最大化,来学习一个分类器,线性不可分的话,可以用核技巧来训练一个分类器
问:什么是核技巧,有哪些核函数,为什么引入核函数后可以达到分类效果。
核函数包括线性核函数、多项式核函数、以及高斯核函数等等,引入核函数后,将本来在低维度的特征映射到了高维度(维度高越高的话,数据越有可能被区分开),这样表现在低维度就是分类成功了。(可以用反证法证得,最大分隔超平面唯一)
问:有约束求解原问题和拉格朗日求解有什么区别
有约束求解,约束条件复杂;拉格朗日求解,函数式复杂,感觉就是复杂度进行了转移。拉格朗日对偶化是凸优化问题,只有一个全局最优点(KKT条件是为了和原问题等价的一些条件)
问:硬间隔SVM和软间隔有什么区别
软间隔引入了惩罚参数和松弛变量,C越大,对误分类点的惩罚力度越大,因此,C正无穷时,相当于硬间隔,会过拟合。
问:支持向量机的支持向量是什么
线性可分模型中,支持向量是间隔边界上的向量
基本线性可分中,支持向量分为:分离超平面上的向量、分离超平面间隔边界上的向量、间隔边界和分离超平面之间的向量
问:支持向量机的优点和缺点
优点:最后的决策函数只由少数的支持向量决定,复杂度就较低
泛化能力较强,在小样本集上分类效果较好。
缺点:对缺失值敏感,核函数的选择比较复杂,解决多分类问题困难,对大规模训练样本难以实施
问:介绍一下高斯核函数
定义核为exp(-||x-z||2/2t2)
这表明离中心点越近,越接近1,越远就越接近0。T不能太小,不然可能造成过拟合。

逻辑回归和最大熵模型

问:简单介绍一下逻辑回归模型
逻辑回归一种线性回归模型,它的判别函数是sigmoid函数,通过极大似然函数的方法,运用梯度下降法来求解参数,进而达到二分类的目的。因为如果和线性回归用一样的代价函数的话,会得到非凸函数,就有很多个局部最小值。
问:什么是最大熵模型
一些模型集合中条件熵最大的模型被称为最大熵模型。它的学习问题可以从有约束的原问题转化为无约束的拉格朗日对偶化问题。用迭代尺度法和拟牛顿法可以对模型进行优化。

朴素贝叶斯

问:请介绍一下朴素贝叶斯算法
这是基于贝叶斯定理和特征条件独立性假设的分类方法。用极大似然估计或者贝叶斯估计方法估计先验概率,条件概率。它的模型是输入x,输出后验概率最大的类。(后验概率最大化等价与0-1损失函数的经验风险最小化),朴素贝叶斯是一个生成模型。

K近邻法

问:请简单介绍一下K近邻法
给定x,在训练集中找出与x最邻近的k个点,然后按一定规则决定x的类别。
问:k近邻中K值如何选择
选的太小,会导致过拟合,选的太大,会使近似误差增大,使不相似的训练实例也起预测作用
问:什么是kd树,它有什么用
Kd树对k维空间中的实例点进行储存,从而可以进行快速的搜索,它是二叉树,构造kd树,就是不断的垂直于坐标轴的超平面将k维空间进行切分,构造一系列k维超矩阵区域。

决策树

问:简单介绍一下什么是决策树
分类决策树是基于特征对实例进行分类的树形结构,也可以表示特征条件下的条件概率分布。决策树的构建是一个递归的过程,它的学习算法包括三个部分:特征选择,树的生成,树的剪枝。
问:决策树算法有哪几种,他们有什么区别:
他们的特征选择的方法不一样,分别为信息增益(经验熵和经验条件熵之差),信息增益率和基尼系数
问:id3算法有什么缺点
它的特征选择会选择子类别较多的特征
问:怎么进行剪枝
剪枝分为预剪枝和后剪枝,预剪枝就是在对每个节点在划分前先进行评估,若当前的划分不能带来泛化性能的提升,则停止划分,并将当前节点标记为叶节点。
后剪枝就是自底部向上对非叶节点进行考察,若替换成叶节点可以带来泛化能力提升,则替换。预剪枝留树规模小,可能会欠拟合。
问:决策树的损失函数怎么度量
像是一个正则化的极大似然函数

提升方法

问:简单介绍一下adaboost
Adaboost是一个加法模型,通过将一些弱分类器组合在一起,形成一个强分类器。它通过迭代每次学习一个基本分类器,每次提高前一轮分类器被错误分类数据的权值,降低正确分类数据的权值。最后将基本分类器组合起来,给分类误差大的分类器小权值。(可以证明,adaboost的训练误差是指数下降的)

EM算法

问:简单介绍一下EM算法
EM算法是一种迭代算法,常常用于含有隐变量的概率模型参数的极大似然估计,或极大化后验概率估计。由两步组成,E步通过原有参数的估计值,去构造最大似然函数,似然函数有一个下界,M步去极大化那个下界从而求出新的参数。这样一直迭代直到参数的变化小到一定的幅度。

隐马尔科夫模型

问:什么是隐马尔科夫模型
它是关于时序的概率模型,描述由一个隐藏的马尔科夫链随机生成不可观测的状态随机序列,再由各个状态生成一个观测而产生观测随机序列的过程。序列每一个位置又可以看作一个时刻。它由初始概率分布、状态转移概率分布以及观测概率分布确定。
问:简述它的概率计算问题
用前向算法计算观察序列的概率
问:简述它的学习问题
可以用EM算法。把状态序列当作隐变量,构造完全数据的对树似然函数,然后去求解最大化这个最大化的似然函数,得到新的参数,迭代进行。
问:简述它的预测问题
给定模型和观测序列,让你求最有可能的状态序列。用了维比特算法,有点类似动态规划,先从前往后求出最大的概率并保存对应的前一个节点,然后进行回溯。

聚类方法

问:简单介绍一下聚类算法
它包括层次聚类和k均值聚类等等,对给定的样本,根据他们特征的相似度或距离归到若干个类中。
问:说一下聚合聚类和K均值聚类之间的区别
聚合聚类是每次将两个类间距离最小的类合并,构造成一个新类;k均值是先确定k个类中心,然后根据距离或相似度将样本点分配,最后计算均值获得新的类中心。
问:怎么选择k均值中的k值
聚类质量可以用类的平均直径来衡量,因此可以构建不同K值下平均直径的曲线,用肘部法则来选择合适的K值。

奇异值分解

问:什么是奇异值分解
奇异值分解是一种矩阵的分解方法,将一个矩阵分解为正交矩阵、对角线矩阵、正交矩阵的形式。它包括紧奇异值分解和截断奇异值分解。截断奇异值分解比原始矩阵低秩。
ATA的特征向量构成V矩阵,特征值的平方根构成对角线矩阵,U矩阵的前半部分由A*vj/特征值的平方根构成,后部分是、ATx = 0 的解。

主成分分析

问:什么是主成分分析
利用正交变换,将线性相关变量的数据转化为少数几个线性无关的数据,实现降维。
问:样本主成分分析的大致步骤
先将数据进行规范化处理,然后计算相关矩阵,之后求解特征方程,求出特征向量α,若取k个主成分,新的向量就是y = α*x
问:为什么分解时要选择前k个最大的特征值对应的特征向量
因为在分解的时候要最大程度的和原有样本矩阵近似,也就是说要保留最大的方差,选取前k个最大的特征值,可以保留最大的方差。

潜在语义分析

问:简单介绍一下潜在语义分析
主要用于文本的话题分析,通过矩阵分解发现文本和单词基于话题的关系。(因为单单用单词文本矩阵不能考虑一词多义性等情况)
问:潜在语义分析有哪些方法,它们的大致实施怎么样
奇异值分解算法,将奇异值分解得到的左矩阵作为话题空间,对角线矩阵和右矩阵的乘积作为文本在话题空间的表示。
非负矩阵分解算法,X = WH,初始化后并对W每一列数据进行归一化,之后用梯度下降法对损失||X-WH||2进行最优化求解。

概率潜在语义分析(PLSA)

问:什么是概率潜在语义分析
它是一种利用概率生成模型对文本集合进行话题分析的无监督学习方法
问:它的策略和算法是什么
它的学习策略是观测数据的极大似然函数,然后用EM算法来迭代学习模型的参数。E步求Q函数,M步,将Q函数极大化,求出新的参数。

马尔科夫链蒙特卡洛法

问:简单介绍一下马尔科夫蒙特卡洛法
蒙特卡洛法是从概率模型的随机抽样进行近似数值计算的方法。加上马尔科夫链之后就是以马尔科夫链为模型的蒙特卡洛法。
问:马尔科夫链有什么性质
未来的状态只与现在的状态相关,和过去的状态无关。状态转移概率和时间无关。
问:它的基本步骤是什么
首先构造一个马尔科夫链,使其有平稳分布p(x),之后,从空间中一点x0出发进行遍历,产生样本点,确定m,n,求m号样本到n号样本之间的均值。
问:吉布斯抽样和和metro-hastings抽样区别
吉布斯抽样没有拒绝,接受概率为1,而第二种会产生拒绝,吉布斯抽样每一次迭代依次按照满条件概率分布依次对各个变量进行抽样。

潜在狄利克雷分配

问:什么是潜在狄利克雷分配?
LDA是含有隐变量的概率图模型,它的文本集合生成过程:先随机生成一个文本的话题分布,然后再文本的每个位置,依据该文本的概率分布随机生成一个话题,依据该话题的单词分布随机生成一个单词,直至文本的最后一个位置。通常用吉布斯抽样法或者蒙特卡洛法进行求解。

综合

问:什么是过拟合,怎么解决它?
过拟合指训练出来的模型偏差小,方差大。决策树中用剪枝的方法,LR回归中增加正则项,SVM中采用软间隔,加入惩罚参数和松弛变量,采用交叉验证的方法,取交叉验证误差最小的,神经网络中可以采用随机失活的方法。

问:L1和L2正则化有什么区别?
L1正则化加上所有参数绝对值之和,L2正则化加上所有参数平方和然后再求平方根。
L1正则化会生成一个稀疏矩阵(多边形和等值线去相交),L2正则化可以防止过拟合。
问:如果样本中正负样本失衡怎么办?
SVM可以去掉那些离分界线较远的样本,采用过抽样和欠抽样的方法。
问:什么是LDA(线性判别分析)
将高维的特征映射到低维,使类间的距离尽可能大,类之内的距离尽可能小(用于无监督中的降维)。
问:什么是相关性?
相关性是协方差的标准形式,如果计算工资和年龄的协方差,这两个变量之间有不同的度量,因此引入相关性。
问:归一化和标准化之间有什么区别?
归一化,是使样本数据落在0-1之间;标准化,是进行缩放,将数值映射到某个数值区间。

问:怎么取衡量分类器的好坏?
精度(TP/预测为真的数量)、召回率(TP/所有是真的数量)、F1值(2/F1=1/精度+1/召回率)、ROC曲线(以伪阳性率为X轴,真阳性率为Y轴的坐标系表示的平面)、AUC(Roc曲线下的面积)
问:为什么要对逻辑回归离散化
离散化后计算简单,使模型泛化能力增强,降低过拟合风险,也可以简化模型

问:简单介绍一下Bagging和随机森林,说说它有什么优点?
用bootstrap的方法从从样本中重采样,每次对采样出来的样本建立一个基本分类器,重复m次,建立m个分类器,用投票的法则确定最后属于哪一个类,随机森林用决策树做基本分类器,每次选出k个特征进行组合。优点是可以并行进行计算,泛化能力较强。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值