16.为什么朴素贝叶斯如此"朴素"?
对于贝叶斯定理:
P
(
c
∣
x
)
=
P
(
c
)
P
(
x
∣
c
)
/
P
(
x
)
P(c|x) = P(c)P(x|c)/P(x)
P(c∣x)=P(c)P(x∣c)/P(x)
P
(
c
)
是
类
的
先
验
概
率
P(c)是类的先验概率
P(c)是类的先验概率:样本空间中各类样本所占的比例。训练集包含充足的独立同分布样本时,
P
(
c
)
P(c)
P(c)可通过各类样本出现的概率来进行估计。
P
(
x
∣
c
)
是
样
本
x
对
于
类
标
记
c
的
类
条
件
概
率
或
称
为
似
然
P(x|c)是样本x对于类标记c的类条件概率或称为似然
P(x∣c)是样本x对于类标记c的类条件概率或称为似然: 它涉及所有属性的联合概率,直接根据样本出现的频率来估计将会遇到严重的困难。通俗理解:如果样本有5个属性,每个属性都是 有 或者 没 二值的。所有属性的联合概率就是:满足a也满足b,c,d,e的概率,这样计算就会有
2
5
个
可
能
。
现
实
中
,
属
性
越
大
,
问
题
越
严
重
。
2^5个可能。现实中,属性越大,问题越严重。
25个可能。现实中,属性越大,问题越严重。常用策略:极大似然估计。
**对于朴素贝叶斯:**进行了属性条件独立性的假设,即分类的特征在类确定的条件下都是条件独立的。换句话说:假设每个属性独立的对分类结果发生影响。
回答:因为它假定所有的特征在数据集中的作用是同样重要和独立的。正如我们所知,这个假设在现实世界中是很不真实的,因此,说朴素贝叶斯真的很“朴素”。但特征相关性很小的实际情况还是很多的, 所以这个模型仍然能够工作得很好。
17.请大致对比下plsa和LDA的区别。
18.请简要说说EM算法.
19.KNN中的K是如何选取的?
1.如果选择较小的K值,就相当于用较小的领域中的训练实例进行预测,“学习”近似误差会减小,只有与输入实例较近或相似的训练实例才会对预测结果起作用,与此同时带来的问题是“学习”的估计误差会增大,换句话说,K值的减小就意味着整体模型变得复杂,容易发生过拟合;
2.如果选择较大的K值,就相当于用较大领域中的训练实例进行预测,其优点是可以减少学习的估计误差,但缺点是学习的近似误差会增大。这时候,与输入实例较远(不相似的)训练实例也会对预测器作用,使预测发生错误,且K值的增大就意味着整体的模型变得简单。
3.K=N,则完全不足取,因为此时无论输入实例是什么,都只是简单的预测它属于在训练实例中最多的累,模型过于简单,忽略了训练实例中大量有用信息。
在实际应用中,K值一般取一个比较小的数值,例如采用交叉验证法(简单来说,就是一部分样本做训练集,一部分做测试集)来选择最优的K值。
20.机器学习中,为何要经常对数据做归一化
机器学习模型被互联网行业广泛应用,如排序(参见:排序学习实践)、推荐、反作弊、定位(参见:基于朴素贝叶斯的定位算法)等。一般做机器学习应用的时候大部分时间是花费在特征处理上,其中很关键的一步就是对特征数据进行归一化,为什么要归一化呢?
1.归一化后加快了梯度下降求最优解的速度;我们在面对多维的问题的时候,我们需要保证这些特征都具有相近的尺度,这将帮助梯度下降更好的收敛.
2.归一化有可能提高精度。
为什么能提高梯度下降的速度?
如下图所示,蓝色的圈圈图代表的是两个特征的等高线。其中左图两个特征X1和X2的区间相差非常大,X1区间[0,2000],X2区间是[1,5],其所形成的等高线非常尖。当使用梯度下降法寻求最优解时,很有可能走“之字型”路线(垂直等高线走),从而导致需要迭代很多次才能收敛;
而右图对两个原始特征进行了归一化,其对应的等高线显得很圆,在梯度下降进行求解时能较快的收敛。
因此如果机器学习模型使用梯度下降法求最优解时,归一化往往非常有必要,否则很难收敛甚至不能收敛。
提高精度
一些分类器需要计算样本之间的距离(如欧氏距离),例如KNN。如果一个特征值域范围非常大,那么距离计算就主要取决于这个特征,从而与实际情况相悖(比如这时实际情况是值域范围小的特征更重要)。(标准化欧式距离)