【校招面经】机器学习与数据挖掘常见面试题整理 part4

五十一、Hinge loss

Hinge loss 的叫法来源于其损失函数的图形,为一个折线,通用的函数表达式为:

L(mi)=max(0,1−mi(w))

 

表示如果被正确分类,损失是0,否则损失就是 1−mi(w) 。

Hinge Loss

在机器学习中,Hing 可以用来解 间距最大化 的问题,最有代表性的就是SVM 问题,最初的SVM 优化函数如下:argminw,ζ12||w||2+C∑iζist.∀yiwTxi≥1−ζiζi≥0

 

五十二、HMM中涉及的算法

1. 前向、后向算法解决的是一个评估问题,即给定一个模型,求某特定观测序列的概率,用于评估该序列最匹配的模型 2. 维特比算法解决的是给定 一个模型和某个特定的输出序列,求最可能产生这个输出的状态序列。如通过海藻变化(输出序列)来观测天气(状态序列)

3. Baum-Welch算法解决的是一个模型训练问题,即参数估计,是一种无监督的训练方法,主要通过EM迭代实现

*1 评估问题: 前向算法 

*2 解码问题: Viterbi算法 

*3 学习问题: Baum-Welch算法(向前向后算法)

*1 评估问题: 前向算法 

*2 解码问题: Viterbi算法 

*3 学习问题: Baum-Welch算法(向前向后算法)

 

A、B:前向、后向算法解决的是一个评估问题,即给定一个模型,求某特定观测序列的概率,用于评估该序列最匹配的模型。 C:Baum-Welch算法解决的是一个模型训练问题,即参数估计,是一种无监督的训练方法,主要通过EM迭代实现; D:维特比算法解决的是给定 一个模型和某个特定的输出序列,求最可能产生这个输出的状态序列。如通过海藻变化(输出序列)来观测天气(状态序列),是预测问题,通信中的解码问题。

 

前向、后向算法解决的是一个评估问题,即给定一个模型,求某特定观测序列的概率,用于评估该序列最匹配的模型。

Baum-Welch算法解决的是一个模型训练问题,即参数估计,是一种无监督的训练方法,主要通过EM迭代实现;

维特比算法解决的是给定 一个模型和某个特定的输出序列,求最可能产生这个输出的状态序列。如通过海藻变化(输出序列)来观测天气(状态序列),是预测问题,通信中的解码问题。

 

来源:https://www.nowcoder.com/questionTerminal/dc4e7ad7e9634b65b56f2541a580eba0

EM算法: 只有观测序列,无状态序列时来学习模型参数,即Baum-Welch算法

维特比算法: 用动态规划解决HMM的预测问题,不是参数估计

前向后向:用来算概率

极大似然估计:即观测序列和相应的状态序列都存在时的监督学习算法,用来估计参数v

 

 

 

  自然语言处理技术离不开隐马尔可夫理论。书中几个例子搞得我头晕眼花了,仔细研究后把思路整理一下,画成简单的示意图,希望能帮助大家理解。 

  

模型实例

  假设 S 是天气状况的集合,分别是“晴天”、"多云"、“下雨”, 

  其初始概率分布为,

晴天

多云

下雨

0.63

0.17

0.20

  其状态转移概率矩阵为:

-

0.500

0.375

0.125

0.250

0.125

0.625

0.250

0.375

0.325

  假设有一位盲人住在海边,他不能通过直接观察天气的状态来预报天气。但他有一些水藻,因此可以利用水藻的干湿来预报天气。水藻的干湿与天气状况之间的关系如下表:

-

干燥

稍干

潮湿

湿透

0.60

0.20

0.15

0.05

0.25

0.25

0.25

0.25

0.05

0.10

0.35

0.50

问题1:求解观察序列的概率

  针对上述模型,我们求p(干燥,潮湿,湿透)。思路很简单:

  1. 确定隐状态的初始概率分布,这是已知的,参见下图第一列。
  2. 根据隐状态到观测结果“干燥”的发射概率(参见下图第一列到第二列的箭头标注),计算得到“干燥”这个观测结果时,三个隐状态的概率,参见下图第二列。
  3. 根据隐状态之间的转移概率,重新确定在观测到“干燥”结果后的第二天,隐状态的概率分布,参见下图第三列。图中,我只标注了“晴”的计算过程,其他两天气则省略没画,建议自己亲自计算一下,验证一下。

这里写图片描述

  这个时候再往下计算,方法就和第一步一样了,不再罗嗦了。

问题2:由观察序列确定隐状态序列

  我们观察到了“干燥、潮湿、湿透”,那么实际天气变化的序列应该是什么呢?会是凭直觉猜测的“晴、阴、雨”这个序列吗? 

  解决这个问题的关键是,如何计算p(晴阴雨|干燥 潮湿 湿透)?我画了一张图,只要把黑色路径上标注的初始概率、转移概率、发射概率连乘起来,就得到这条路经的概率。 

这里写图片描述

  ok,现在问题变成了如何从开始到结束找到一条概率最大的路径。问题转化成了路径最优化问题,可以用动态规划方法解决,我不想再啰嗦了,剩下的任务大家自行解决吧。

问题3:HMM参数估计

  假设隐马尔可夫模型的观测序列是“干燥,潮湿,湿透,…”,那么,隐马尔可夫模型的参数A,B,π 如何设置,才能使这个观测序列出现的概率最大?这就是所谓的隐马尔可夫模型参数估计问题。 

  参照上图,从起点到终点共计27条路径,把这些路径的概率全部加起来,就是“干燥,潮湿,湿透”发生的概率。如果图中箭头随对应的概率全部为未知,可以想想,最终的结果就可以用这些参数表示。因此问题可描述为,这些参数取何值时,所求概率最大。 

  

上图中的实例, 计算观察序列的概率应该不需要遍历27条路径,这样复杂度太高了。这个问题大家自行考虑吧。

  转移概率矩阵和发射概率矩阵在多个环节重复出现,让我联想起卷积神经网络的卷积层设计,扯得有点远。但是,这个概率网络求解整体过程的确与神经网络类似。 

  一个不好的消息是,没办法用公式求解此最优化问题。一个稍好一点的消息是,可以用梯度下降法,求局部极小解,这简直是废话。还有一个稍好点的消息,Baum-Welch算法可以解决此问题,思路类似EM算法,思路也很简单,

Baum-Welch算法

  比如,先假设状态序列为已知,参见下表。呵呵,和EM算法套路一样,如果不了解建议看看我写的《简析EM算法(最大期望算法)》

t

观察值

晴朗

多云

下雨

1

干燥

1

0

0

2

潮湿

0

1

0

3

湿透

1

0

0

4

潮湿

0

0

1

5

干燥

0

1

0

6

潮湿

1

0

0

7

湿透

0

0

1

   

  状态的出现次数为0或1,和EM算法是完全一样的套路。如果出现100次"晴朗" 

,其中对应70次“干燥”,则可以估计“晴朗”向“干燥”发射概率为70/100=0.7,如此类推,可以求出模型中的所有概率值。 

  现在的问题是,状态出现的次数是不知道的。依据EM算法思路,可以随机给模型参数赋值(当然要保证数据的合理性)。比如,根据“晴朗”、“阴天”、“下雨”向“干燥”的发射概率,把状态出现次数1按比例分配给三个状态。这样就可以按照上面的方法重新计算模型的参数了。如此类推,直到模型参数收敛为止。 

  状态转移概率,也可以统计出来。比如从上表1、2两行可以得到“晴天”到“多云”转移累计计数1次。在EM算法中,这个计数可能变成了用小数表示的模糊计数,不过没关系,一样可以得到这个累计计数。 

  初始概率计算也是同样道理,用模糊计数方法可以帮助估计概率分布。

 

五十三、CRF与HMM和MEMM的比较

CRF 的优点:特征灵活,可以容纳较多的上下文信息,能够做到全局最优

CRF 的缺点:速度慢 CRF没有HMM那样严格的独立性假设条件,因而可以容纳任意的上下文信息。特征设计灵活(与ME一样) ————与HMM比较 由于CRF计算全局最优输出节点的条件概率,它还克服了最大熵马尔可夫模型标记偏置(Label-bias)的缺点。 ­­————与MEMM比较 CRF是在给定需要标记的观察序列的条件下,使用维特比算法,计算整个标记序列的联合概率分布,而不是在给定当前状态条件下,定义下一个状态的状态分布。————与ME比较

 

五十四、EM算法、HMM、CRF

(1)EM算法 

  EM算法是用于含有隐变量模型的极大似然估计或者极大后验估计,有两步组成:E步,求期望(expectation);M步,求极大(maxmization)。本质上EM算法还是一个迭代算法,通过不断用上一代参数对隐变量的估计来对当前变量进行计算,直到收敛。 

  注意:EM算法是对初值敏感的,而且EM是不断求解下界的极大化逼近求解对数似然函数的极大化的算法,也就是说EM算法不能保证找到全局最优值。对于EM的导出方法也应该掌握。 

(2)HMM算法 

  隐马尔可夫模型是用于标注问题的生成模型。有几个参数(π,A,B):初始状态概率向量π,状态转移矩阵A,观测概率矩阵B。称为马尔科夫模型的三要素。 

马尔科夫三个基本问题:

  • 概率计算问题:给定模型和观测序列,计算模型下观测序列输出的概率。–》前向后向算法
  • 学习问题:已知观测序列,估计模型参数,即用极大似然估计来估计参数。–》Baum-Welch(也就是EM算法)和极大似然估计。
  • 预测问题:已知模型和观测序列,求解对应的状态序列。–》近似算法(贪心算法)和维比特算法(动态规划求最优路径)

(3)条件随机场CRF 

  给定一组输入随机变量的条件下另一组输出随机变量的条件概率分布密度。条件随机场假设输出变量构成马尔科夫随机场,而我们平时看到的大多是线性链条随机场,也就是由输入对输出进行预测的判别模型。求解方法为极大似然估计或正则化的极大似然估计。 

  之所以总把HMM和CRF进行比较,主要是因为CRF和HMM都利用了图的知识,但是CRF利用的是马尔科夫随机场(无向图),而HMM的基础是贝叶斯网络(有向图)。而且CRF也有:概率计算问题、学习问题和预测问题。大致计算方法和HMM类似,只不过不需要EM算法进行学习问题。

(4)HMM和CRF对比 

  其根本还是在于基本的理念不同,一个是生成模型,一个是判别模型,这也就导致了求解方式的不同。 

 

五十五、CRF与HMM

CRF就像一个反向的隐马尔可夫模型(HMM),两者都是用了马尔科夫链作为隐含变量的概率转移模型,只不过HMM使用隐含变量生成可观测状态,其生成概率有标注集统计得到,是一个生成模型;而CRF反过来通过可观测状态判别隐含变量,其概率亦通过标注集统计得来,是一个判别模型。由于两者模型主干相同,其能够应用的领域往往是重叠的,但在命名实体、句法分析等领域CRF更胜一筹。当然你并不必须学习HMM才能读懂CRF,但通常来说如果做自然语言处理,这两个模型应该都有了解。 

 

五十六、LR正则化与数据先验分布的关系

作者:Charles Xiao

链接:https://www.zhihu.com/question/23536142/answer/90135994

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

先抛给大家一个结论:从贝叶斯的角度来看,正则化等价于对模型参数引入 先验分布 。

一. Linear Regression

我们先看下最原始的Linear Regression:

\begin{align*}  & p(\epsilon^{(i)})  = \frac{1}{\sqrt{2\pi}\delta}exp\left(  -\frac{(\epsilon^{(i)})^2}{2\delta^2} \right)\\  \Rightarrow & p(y^{(i)}|x^{(i)};\theta) = \frac{1}{\sqrt{2\pi}\delta}exp\left( -\frac{(y^{(i)} - w^Tx^{(i)})^2}{2\delta^2}  \right) \end{align*}

 

 

由最大似然估计(MLE):

 

\begin{align*} L(w) & = p(\vec{y}|X;w)\\ & = \prod_{i=1}^{m} p(y^{(i)}|x^{(i)};\theta)\\ & = \prod_{i=1}^{m} \frac{1}{\sqrt{2\pi}\delta}exp\left( -\frac{(y^{(i)} - w^Tx^{(i)})^2}{2\delta^2}  \right) \end{align*}

 

 

取对数:

 

\begin{align*} l(w) & = \log L(w)\\ & =\log \prod_{i=1}^{m} \frac{1}{\sqrt{2\pi}\delta}exp\left( -\frac{(y^{(i)} - w^Tx^{(i)})}{2\delta^2}  \right)\\ & = \sum_{i=1}^{m} \log \frac{1}{\sqrt{2\pi}\delta}exp\left( -\frac{(y^{(i)} - w^Tx^{(i)})^2}{2\delta^2}  \right)\\ & = m \log \frac{1}{\sqrt{2\pi}\delta} - \frac{1}{\delta^2}\cdot \frac{1}{2} \sum_{i=1}^{m} (y^{(i)} - w^Tx^{(i)})^2 \end{align*}

 

 

即:

 

w_{MLE} = \arg \underset{w}{\min} \sum_{i=1}^{m} (y^{(i)} - w^Tx^{(i)})^2

 

 

这就导出了我们原始的 least-squares 损失函数,但这是在我们对参数 w 没有加入任何先验分布的情况下。在数据维度很高的情况下,我们的模型参数很多,模型复杂度高,容易发生过拟合。

 

比如我们常说的 “small n, large p problem”。(我们一般用 n 表示数据点的个数,用 p 表示变量的个数 ,即数据维度。当

p\gg n

的时候,不做任何其他假设或者限制的话,学习问题基本上是没法进行的。因为如果用上所有变量的话, p 越大,通常会导致模型越复杂,但是反过来 n 又很小,于是就会出现很严重的 overfitting 问题。

这个时候,我们可以对参数 w 引入先验分布,降低模型复杂度。

 

二. Ridge Regression

我们对参数 w 引入协方差为

\alpha

的零均值高斯先验。

\begin{align*} L(w) & = p(\vec{y}|X;w)p(w)\\ & = \prod_{i=1}^{m} p(y^{(i)}|x^{(i)};\theta)p(w)\\ & = \prod_{i=1}^{m} \frac{1}{\sqrt{2\pi}\delta}exp\left( -\frac{(y^{(i)} - w^Tx^{(i)})^2}{2\delta^2}  \right)\prod_{j=1}^{n}\frac{1}{\sqrt{2\pi\alpha}}exp\left( -\frac{(w^{(j)})^2}{2\alpha}  \right)\\ & = \prod_{i=1}^{m} \frac{1}{\sqrt{2\pi}\delta}exp\left( -\frac{(y^{(i)} - w^Tx^{(i)})^2}{2\delta^2}  \right)\frac{1}{\sqrt{2\pi\alpha}}exp\left( -\frac{w^Tw}{2\alpha}  \right) \end{align*}

 

 

取对数:

 

\begin{align*} l(w) & = \log L(w)\\ & = m \log \frac{1}{\sqrt{2\pi}\delta}+ n \log \frac{1}{\sqrt{2\pi\alpha}} - \frac{1}{\delta^2}\cdot \frac{1}{2} \sum_{i=1}^{m} (y^{(i)} - w^Tx^{(i)})^2 - \frac{1}{\alpha}\cdot \frac{1}{2} w^Tw\\  \Rightarrow & w_{MAP_{Guassian}} = \arg \underset{w}{\min} \left( \frac{1}{\delta^2}\cdot \frac{1}{2} \sum_{i=1}^{m} (y^{(i)} - w^Tx^{(i)})^2 + \frac{1}{\alpha}\cdot \frac{1}{2} w^Tw \right)  \end{align*}

 

 

等价于:

 

J_R(w) = \frac{1}{n}\lVert y- w^TX \rVert_2 + \lambda \lVert w \rVert_2

 

 

这不就是 Ridge Regression 吗?

 

看我们得到的参数,在零附近是不是很密集,老实说 ridge regression 并不具有产生稀疏解的能力,也就是说参数并不会真出现很多零。假设我们的预测结果与两个特征相关,L2正则倾向于综合两者的影响,给影响大的特征赋予高的权重;而L1正则倾向于选择影响较大的参数,而舍弃掉影响较小的那个。实际应用中 L2正则表现往往会优于 L1正则,但 L1正则会大大降低我们的计算量。

 

Typically ridge or ℓ2 penalties are **much better** for minimizing prediction error rather than ℓ1 penalties. The reason for this is that when two predictors are highly correlated, ℓ1 regularizer will simply pick one of the two predictors. In contrast, the ℓ2 regularizer will keep both of them and jointly shrink the corresponding coefficients a little bit. Thus, while the ℓ1 penalty can certainly reduce overfitting, you may also experience a loss in predictive power.

那现在我们知道了,对参数引入 高斯先验 等价于L2正则化。

 

三. LASSO

上面我们对 w 引入了高斯分布,那么拉普拉斯分布(Laplace distribution)呢?

注:LASSO - least absolute shrinkage and selection operator.

 

我们看下拉普拉斯分布长啥样:

 

f(x\mid\mu,b) = \frac{1}{2b} \exp \left( -\frac{|x-\mu|}{b} \right)

 

 

关于拉普拉斯和正态分布的渊源,大家可以参见 正态分布的前世今生。

重复之前的推导过程我们很容易得到:

 

w_{MAP_{Laplace}} = \arg \underset{w}{\min} \left( \frac{1}{\delta^2}\cdot \frac{1}{2} \sum_{i=1}^{m} (y^{(i)} - w^Tx^{(i)})^2 + \frac{1}{b^2}\cdot \frac{1}{2} \lVert w \rVert_1 \right)

 

 

该问题通常被称为 LASSO (least absolute shrinkage and selection operator) 。LASSO 仍然是一个 convex optimization 问题,不具有解析解。它的优良性质是能产生稀疏性,导致 w 中许多项变成零。

再次总结下,对参数引入 拉普拉斯先验 等价于 L1正则化。

 

四. Elastic Net

可能有同学会想,既然 L1和 L2正则各自都有自己的优势,那我们能不能将他们 combine 起来?

 

可以,事实上,大牛早就这么玩过了。

 

因为lasso在解决之前提到的“small n, large p problem”存在一定缺陷。

 

这个我们就直接给结果了,不推导了哈。(好麻烦的样子。。。逃)

 

\hat{\beta} = \arg \underset{\beta}{\min} \lVert y - X\beta \rVert_2 + \lambda_2 \lVert \beta \rVert_2 + \lambda_1 \lVert \beta \rVert_1

 

 

 

五. 总结

正则化参数等价于对参数引入 先验分布,使得 模型复杂度 变小(缩小解空间),对于噪声以及 outliers 的鲁棒性增强(泛化能力)。整个最优化问题从贝叶斯观点来看是一种贝叶斯最大后验估计,其中 正则化项 对应后验估计中的 先验信息,损失函数对应后验估计中的似然函数,两者的乘积即对应贝叶斯最大后验估计的形式。

[1]: Bias 和 Variance

[2]: 《A Few useful things to Know About machine Learning》读后感

[3]: What is the difference between L1 and L2 regularization?

[4]: Bayesian Linear Regression

[5]: Bayesian statistics and regularization

[6]: 最大似然估计和最小二乘法怎么理解? - 计算机

[7]: Sparsity and Some Basics of L1 Regularization

 

五十七、拉普拉斯分布

from:https://blog.csdn.net/pipisorry/article/details/39076957

在概率论与统计学中,拉普拉斯分布是以皮埃尔-西蒙·拉普拉斯的名字命名的一种连续概率分布.由于它可以看作是两个不同位置的指数分布背靠背拼接在一起,所以它也叫作双指数分布.两个相互独立同概率分布指数随机变量之间的差别是按照指数分布的随机时间布朗运动,所以它遵循拉普拉斯分布. 

    如果随机变量的概率密度函数为 

    

  

    那么它就是拉普拉斯分布.记为:

其中,

是位置参数,

是尺度参数. 

    

 

    它的累积分布函数为: 

    

 

    逆分布函数为 

    

 

    数字特征:

 

五十八、异常值(outlier)的判别与剔除

在处理实验数据的时候,我们常常会遇到个别数据值偏离预期或大量统计数据值结果的情况,如果我们把这些数据值和正常数据值放在一起进行统计,可能会影响实验结果的正确性,如果把这些数据值简单地剔除,又可能忽略了重要的实验信息。这里重要的问题是如何判断异常值,然后将其剔除。判断和剔除异常值是数据处理中的一项重要任务,目前的一些方法还不是十分完善,有待进一步研究和探索。

异常值outlier:指样本中的个别值,其数值明显偏离它(或他们)所属样本的其余观测值,也称异常数据,离群值

目前人们对异常值的判别与剔除主要采用物理判别法和统计判别法两种方法。

所谓物理判别法就是根据人们对客观事物已有的认识,判别由于外界干扰、人为误差等原因造成实测数据值偏离正常结果,在实验过程中随时判断,随时剔除。

统计判别法是给定一个置信概率,并确定一个置信限,凡超过此限的误差,就认为它不属于随机误差范围,将其视为异常值剔除。当物理识别不易判断时,一般采用统计识别法。

对于多次重复测定的数据值,异常值常用的统计识别与剔除法有:

拉依达准则法(3δ):简单,无需查表。测量次数较多或要求不高时用。是最常用的异常值判定与剔除准则。但当测量次数《=10次时,该准则失效。

如果实验数据值的总体x是服从正态分布的,则

异常值(outlier)的判别与剔除(rejection)

式中,μ与σ分别表示正态总体的数学期望和标准差。此时,在实验数据值中出现大于μ+3σ或小于μ—3σ数据值的概率是很小的。因此,根据上式对于大于μ+3σ或小于μ—3σ的实验数据值作为异常值,予以剔除。具体计算方法参见http://202.121.199.249/foundrymate/lessons/data-analysis/13/131.htm

在这种情况下,异常值是指一组测定值中与平均值的偏差超过两倍标准差的测定值。与平均值的偏差超过三倍标准差的测定值,称为高度异常的异常值。在处理数据时,应剔除高度异常的异常值。异常值是否剔除,视具体情况而定。在统计检验时,指定为检出异常值的显著性水平α=0.05,称为检出水平;指定为检出高度异常的异常值的显著性水平α=0.01,称为舍弃水平,又称剔除水平(reject level)。

标准化数值(Z-score)可用来帮助识别异常值。Z分数标准化后的数据服从正态分布。因此,应用Z分数可识别异常值。我们建议将Z分数低于-3或高于3的数据看成是异常值。这些数据的准确性要复查,以决定它是否属于该数据集。

肖维勒准则法(Chauvenet):经典方法,改善了拉依达准则,过去应用较多,但它没有固定的概率意义,特别是当测量数据值n无穷大时失效。

狄克逊准则法(Dixon):对数据值中只存在一个异常值时,效果良好。担当异常值不止一个且出现在同侧时,检验效果不好。尤其同侧的异常值较接近时效果更差,易遭受到屏蔽效应。

罗马诺夫斯基(t检验)准则法:计算较为复杂。

格拉布斯准则法(Grubbs):和狄克逊法均给出了严格的结果,但存在狄克逊法同样的缺陷。朱宏等人采用数据值的中位数取代平均值,改进得到了更为稳健的处理方法。有效消除了同侧异常值的屏蔽效应。国际上常推荐采用格拉布斯准则法。

 

 

 

 

数据挖掘分析面试题 数据挖掘分析面试题全文共16页,当前为第1页。数据挖掘分析面试题全文共16页,当前为第1页。2011Alibaba数据分析师(实习)试题解析 数据挖掘分析面试题全文共16页,当前为第1页。 数据挖掘分析面试题全文共16页,当前为第1页。 一、异常是指什么?请列举1种识别连续型变量异常方法? 异常(Outlier) 是指样本的个别,其数明显偏离所属样本的其余观测。在数理统计里一般是指一组观测与平均的偏差超过两倍标准差的测定。 Grubbs' test(是以Frank E.Grubbs命名的),又叫maximumnormed residual test,是一种用于单变量数据集异常识别的统计检测,它假定数据集来自正态分布的总体。 未知总体标准差σ,在五种检验法,优劣次序为:t检验法、格拉布斯检验法、峰度检验法、狄克逊检验法、偏度检验法。 二、什么是聚类分析?聚类算法有哪几种?请选择一种详细描述其计算原理和步骤。 聚类分析(clusteranalysis)是一组将研究对象分为相对同质的群组(clusters)的统计分析技术。聚类分析也叫分类分析(classification analysis)或数分类(numerical taxonomy)。聚类与分类的不同在于,聚类所要求划分的类是未知的。 聚类分析计算方法主要有: 层次的方法(hierarchical method)、划分方法partitioning method)、基于密度的方法(density-based method)、基于网格的方法(grid-based method)、基于模型的方法(model-based method)等。其,前两种算法是利用统计学定义的距离进行度量。 k-means 算法的工作过程说明如下:首先从n个数据对象任意选择 k 个对象作为初始聚类心;而对于所剩下其它对象,则根据它们与这些聚类心的相似度(距离),分别将它们分配给与其最相似的(聚类心所代表的)聚类;然后再计算每个所获新聚类的聚类心(该聚类所有对象的均);不断重复这一过程直到标准测度函数开始收敛为止。一般都采用均方差作为标准测度函数. k个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。 其流程如下: (1)从 n个数据对象任意选择 k 个对象作为初始聚类心;      (2)根据每个聚类对象的均心对象),计算每个对象与这些心对象的距离;并根据最小距离重新对相应对象进行划分;   (3)重新计算每个(有变化)聚类的均心对象); (4)循环(2)、(3)直到每个聚类不再发生变化为止(标准测量函数收敛)。 优 点:本算法确定的K 个划分到达平方误差最小。当聚类是密集的,且类与类之间区别明显时,效果较好。对于处理大数据集,这个算法是相对可伸缩和高效的,计算的复杂度为 O(NKt),其N是数据对象的数目,t是迭代的次数。一般来说,K<<N,t<<N 。 缺点:1. K 是事先给定的,但非常难以选定;2. 初始聚类心的选择对聚类结果有较大的影响。 三、根据要求写出SQL 表A结构如下: Member_ID (用户的ID,字符型) Log_time (用户访问页面时间,日期型(只有一天的数据)) URL (访问的页面地址,字符型) 要求:提取出每个用户访问的第一个URL(按时间最早),形成一个新表(新表名为B,表结构和表A一致) create table B as select Member_ID,min(Log_time), URL from A group by Member_ID ; 四、销售数据分析 以下是一家B2C电子商务网站的一周销售数据,该网站主要用户群是办公室女性,销售额主数据挖掘分析面试题全文共16页,当前为第2页。数据挖掘分析面试题全文共16页,当前为第2页。要集在5种产品上,如果你是这家公司的分析师, a) 从数据,你看到了什么问题?你觉得背后的原因是什么? b) 如果你的老板要求你提出一个运营改进计划,你会怎么做? 表如下:一组每天某网站的销售数据 数据挖掘分析面试题全文共16页,当前为第2页。 数据挖掘分析面试题全文共16页,当前为第2页。 a) 从这一周的数据可以看出,周末的销售额明显偏低。这其的原因,可以从两个角度来看:站在消费者的角度,周末可能不用上班,因而也没有购买该产品的欲望;站在产品的角度来看,该产品不能在周末的时候引起消费者足够的注意力。 b) 针对该问题背后的两方面原因,我的运营改进计划也分两方面:一是,针对消费者周末没有购买欲望的心理,进行引导提醒消费者周末就应该准备好该产品;二是,通过该产品的一些类似于打折促销等活动来提升该产品在周末的人气和购买力。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值