机器学习面试题

1.svm算法的原理、如何组织训练数据、如何调节惩罚因子、如何防止过拟合、svm的泛化能力、增量学习
SVM算法原理:通过学习一个超平面来进行二分类,这个超平面可以用函数f(x)=W*X+b,当f(x)等于0时,X便是位于超平面上的点,大于0小于0分别对应着1类和-1类(标签可变),超平面的确定标准就是这个超平面到数据点之间有着最大间隔(函数间隔,几何间隔),一般都使用几何间隔,几何间隔就是点到超平面之间的距离
函数间隔:
这里写图片描述
几何间隔:
这里写图片描述
这里写图片描述
目标函数:在约束条件下的优化问题
这里写图片描述
使用拉格朗日法求解:
这里写图片描述
如何组织训练数据:输入数据就根据各自实际问题,输入特则向量,维度不定,标签一般为1和-1(不定,只要是二分类就好,1和-1计算的时候更方便)
如何调节惩罚因子:
这里写图片描述
松弛变量是对离散点而言,允许离散点偏离到超平面距离的量,惩罚因子(C)是它的系数(事先设置),相当于设置了一个权重,有时可能对于正类和负类设置两个惩罚因子(C1和C2),调节过程就是调参过程,只能通过实验调参,一般设成10,100之间
如何防止过拟合:
通过松弛变量来忽略离散点(噪音),松弛变量和W,b一样,都是代价函数的变量,求解的时候都是通过求导求极值
SVM的泛化能力:
为了增强泛化能力也是通过构造松弛变量和惩罚因子来实现
增强学习:
(2)神经网络参数相关。比如,参数的范围?如何防止过拟合?隐藏层点的个数多了怎样少了怎样?什么情况下参数是负数?
神经网络算法原理:http://blog.csdn.net/walilk/article/details/50278697
神经网络的参数包括:神经元间的权值W,层间偏置b,激活函数(非线性函数,一般使用sigmoid函数,激活函数的引入可以让神经网络逼近任意函数,从而学习出复杂的激活函数,因为一般的分类任务不是线性可分)
代价函数(一般使用交叉熵):
这里写图片描述
交叉熵的作用实际上就是计算目标值和输出值之间的差值,来不断拟合至目标值
如何防止过拟合:过拟合一般表现,再训练集上效果很好,测试集上效果不好,一般有precious,recall指标。解决这个问题的方法一般有cross validation,正则化(L1和L2,具体可见这篇博客),early stop(就是当发现训练集的accuracy不在变化或者变化很小的时候就停止训练),剪枝(针对树模型而言),一般使用较多的为前两种
隐藏层点的个数:
过多:会导致模型的参数规模过大,训练时间长,而且会造成过拟合
过少:会导致参数规模过小,造成欠拟合
什么情况下参数是个负数:本人认为,出现负数应该是正常表现,权值的范围应该是[-1,1],负数表明这个特征(节点值)对下一个神经元(结点)是起着抑制作用。
(3)为什么使用逻辑回归?
逻辑回归主要是用来做二分类,输入特征值,输出的是预测的类别。它的原理就是特征乘以各自权值,得到的我们称之为分数,然后经过sigmoid函数转换成概率,我们的目标是求分为正类的概率值最大,然后对这个概率取log,前面加个负号,然后就是求最小值了。使用LR模型主要是因为原理简单,易于上手,而且经过试验证明,它的效果还是不错的。
(4)决策树算法是按照设么进行分类的(分裂结点)?
ID3:以信息增益(熵的差值,熵越小,越好)为度量,实际上就是分裂前的熵减去分裂后的熵,偏向多值性
C4.5:以信息增益率为度量,计算方法为:信息增益除以分裂信息(详见这篇http://blog.csdn.net/u013714645/article/details/73693409
CART:以基尼指数为度量,公式如下
这里写图片描述
(5)朴素贝叶斯公式:
贝叶斯定理是关于随机事件A和随机事件B的条件概率的一则定理,具体可以看这篇http://www.cnblogs.com/leoo2sk/archive/2010/09/17/naive-bayesian-classifier.html
(6)讲EM算法
(7)svm中rbf核函数与高斯核函数的比较
1)RBF核函数(径向基内核)可以将样本映射到一个更高维的空间,
2)与多项式内核相比,RBF需要确定的参数少,核函数参数的多少直接影响函数的复杂度。
(8)说一下SVM的实现和运用过程
(9)谈谈DNN
(10)简单说说决策树分析
(11)推荐系统中基于svd方法
(12)SVM有哪些优势,(x,y,z)三个特征如何用径向基核函数抽取第四维特征
通常定义为空间中任一点x到某一中心xc之间欧氏距离的单调函数 , 可记作
k(||x-xc||), 其作用往往是局部的 , 即当x远离xc时函数取值很小。(待更新)
(13)userCF和ItemCF在实际当中如何使用,提供具体操作,以及它们的优势(推荐系统)
(14)如何用Logic regression建立一个广告点击次数预测模型
分为线下训练和线上测试
线下训练:获取广告的点击日志,提取特征,模型求解,模型验证等获取线下训练模型
线上测试:要经历扩展匹配、广告粗选、CTR计算等步骤,取出CTR中最高的10个广告返回给前端
(15)举一个适合采用层次分析法的例子
(16)
(17)关联分析中的极大频繁项集;FP增长算法
关联分析:目标找到频繁项集和关联规则(支持度和可信度)
Apriori原理:如果某个项集是频繁的,那么他的所有子集也是频繁的
逆否命题:如果一个项集是非频繁项集,那么它的所有超集(父集)也是非频繁项集

19)特征比数据量还大时,选择什么样的分类器

20)对于维度很高的特征,你是选择线性还是非线性分类器

21) 对于维度极低的特征,你是选择线性还是非线性分类器

22) 如何解决过拟合问题
主要使用L1和L2正则化,cross validation,树剪枝等
23) L1和L2正则的区别,如何选择L1和L2正则
正则化项即罚函数,该项对模型向量进行“惩罚”,从而避免单纯最小二乘问题的过拟合问题。训练的目的是最小化目标函数,则C越小,意味着惩罚越小,分类间隔也就越小,分类错误也就越少。
正则化项本质上是一种先验信息,整个最优化问题从贝叶斯观点来看是一种贝叶斯最大后验估计,其中正则化项对应后验估计中的先验信息,损失函数对应后验估计中的似然函数,两者的乘积即对应贝叶斯最大后验估计的形式,如果你将这个贝叶斯最大后验估计的形式取对数,即进行极大似然估计,你就会发现问题立马变成了损失函数+正则化项的最优化问题形式。
(1) 避免出现过拟合(over-fitting)。经验风险最小化 + 正则化项 = 结构风险最小化。
(2) 从模型求解上看,正则化提供了一种唯一解的可能。光用最小二乘拟合可能出现无数组解,加个L1或L2正则化项能有唯一解。
L1范数是指向量中各个元素绝对值之和,用于特征选择;
L1正则化将系数的l1范数作为惩罚项加到损失函数上。
L2范数是指向量各元素的平方和然后求平方根,用于 防止过拟合,提升模型的泛化能力。
L2正则化将系数向量的L2范数添加到了损失函数中。L2惩罚项中系数是二次方的。
L1与L2区别:使用L1可以得到稀疏的权值;用L2可以得到平滑的权值。
L1优点是能够获得sparse模型,对于large-scale的问题来说这一点很重要,因为可以减少存储空间。缺点是加入L1后目标函数在原点不可导,需要做特殊处理。
L2优点是实现简单,能够起到正则化的作用。缺点就是L1的优点:无法获得sparse模型。
实际上L1也是一种妥协的做法,要获得真正sparse的模型,要用L0正则化。
24) 随机森林的学习过程
随机森林是指利用多棵树对样本进行训练并预测的一种分类器。在机器学习中,随机森林是一个包含多个决策树的分类器,并且其输出类别是由每个树输出的类别的众数而定的。
25) 随机森林中的每一棵树是如何学习的
1.有放回的抽样,生成子数据集,其样本数和原样本数相同
2.利用子数据集来构建子决策树
26) 随机森林学习算法中CART树的基尼指数是什么

27)支持向量机、图模型、波尔茨曼机,内存压缩、红黑树、并行度

28) 如何搭建一个推荐平台,给出具体的想法,
29) 实现一个中文输入法

30) k-meanshift的机制,能不能用伪码实现
31)实现最小二乘法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值