Tencent interview
1.常见的聚类算法
1):划分法:k-means
2):基于密度的方法:
2.EM 算法
EM算法是在概率模型中寻找参数的最大似然估计或者最大后验概率的算法,其中概率模型依赖于无法观测的隐藏变量。EM算法经常用在机器学习和计算机视觉的数据聚类领域。
算法步骤:
E步:计算期望,利用对隐藏变量的现有估计值,计算其最大似然估计
M步:最大化在E步上求得的最大似然值来计算参数的值
3.最大似然函数(MLE)和最大后验概率(MAP)
最大似然函数(模型已定,参数未知):已知某个随机样本满足某种概率分布,但是具体的参数不清楚,参数估计就是经过若干次实验,观察其结果,利用结果推出参数的最大值。最大似然估计是建立在这样的思想上:已知某个参数能使这个样本出现的概率最大,我们当然不会选择其他的小概率的样本,所以干脆把这个参数作为估计的真实值。
最大似然估计的一般步骤:
1.写出似然函数
2.对似然函数取对数,并整理
3.求导数,令导数为0,得到似然方程
4.解似然方程,得到的参数即为所求。
最大后验概率:MAP与MLE最大区别是MAP中加入了模型参数本身的概率分布,或者说。MLE中认为模型参数本身的概率的是均匀的,即该概率为一个固定值。
举个例子:
假设有五个袋子,各袋中都有无限量的饼干(樱桃口味或柠檬口味),已知五个袋子中两种口味的比例分别是
樱桃 100%
樱桃 75% + 柠檬 25%
樱桃 50% + 柠檬 50%
樱桃 25% + 柠檬 75%
柠檬 100%
如果只有如上所述条件,那问从同一个袋子中连续拿到2个柠檬饼干,那么这个袋子最有可能是上述五个的哪一个?
我们首先采用最大似然估计来解这个问题,写出似然函数。假设从袋子中能拿出柠檬饼干的概率为p(我们通过这个概率p来确定是从哪个袋子中拿出来的),则似然函数可以写作
由于p的取值是一个离散值,即上面描述中的0,25%,50%,75%,1。我们只需要评估一下这五个值哪个值使得似然函数最大即可,得到为袋子5。这里便是最大似然估计的结果。
上述最大似然估计有一个问题,就是没有考虑到模型本身的概率分布,下面我们扩展这个饼干的问题。
假设拿到袋子1或5的机率都是0.1,拿到2或4的机率都是0.2,拿到3的机率是0.4,那同样上述问题的答案呢?这个时候就变MAP了。我们根据公式
写出我们的MAP函数。
根据题意的描述可知,p的取值分别为0,25%,50%,75%,1,g的取值分别为0.1,0.2,0.4,0.2,0.1.分别计算出MAP函数的结果为:0,0.0125,0.125,0.28125,0.1.由上可知,通过MAP估计可得结果是从第四个袋子中取得的最高。