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估计可得结果是从第四个袋子中取得的最高。

Tencent interview的更多相关文章

  1. C++ 虚函数相关

    多态 C++的封装.继承和多态三大特性,封装没什么好说的,就是把事务属性和操作抽象成为类,在用类去实例化对象,从而对象可以使用操作/管理使用它的属性. 至于继承,和多态密不可分.基类可以进行派生,而派 ...

  2. Pramp mock interview (4th practice): Matrix Spiral Print

    March 16, 2016 Problem statement:Given a 2D array (matrix) named M, print all items of M in a spiral ...

  3. WCF学习系列二---【WCF Interview Questions – Part 2 翻译系列】

    http://www.topwcftutorials.net/2012/09/wcf-faqs-part2.html WCF Interview Questions – Part 2 This WCF ...

  4. WCF学习系列一【WCF Interview Questions-Part 1 翻译系列】

    http://www.topwcftutorials.net/2012/08/wcf-faqs-part1.html WCF Interview Questions – Part 1 This WCF ...

  5. Amazon Interview | Set 27

    Amazon Interview | Set 27 Hi, I was recently interviewed for SDE1 position for Amazon and got select ...

  6. Java Swing interview

    http://www.careerride.com/Swing-AWT-Interview-Questions.aspx   Swing interview questions and answers ...

  7. adobe air类app 接入腾讯开放平台移动游戏使用带tencent包名前缀的问题

    作者:Panda Fang 出处:http://www.cnblogs.com/lonkiss/p/4209159.html 原创文章,转载请注明作者和出处,未经允许不可用于商业营利活动 ------ ...

  8. Pramp - mock interview experience

    Pramp - mock interview experience   February 23, 2016 Read the article today from hackerRank blog on ...

  9. 【Codeforces 738A】Interview with Oleg

    http://codeforces.com/contest/738/problem/A Polycarp has interviewed Oleg and has written the interv ...

随机推荐

  1. Linux入门命令1

    查询及帮助 man查看命令帮助,命令的词典,显示Unix联机参考手册的页面 info从Info参考系统中显示文件 help查看Linux内置命令的帮助,比如cd命令. whatis 为指定命令显示一行 ...

  2. NC 5系查询引擎做报表

    在集团下打开查询引擎管理节点,选中查询设计,鼠标移动到创建,点击文件夹 文件夹名字按需求起,创好文件夹后选中该文件夹后鼠标移动到创建,点击对象. 按需求起好编码和名称 都创建好后,点击SQL手工设计 ...

  3. Python 反射机制

    Python的反射机制 Python的反射机制,就是反射就是通过字符串的形式,导入模块:通过字符串的形式,去模块寻找指定函数,并执行.利用字符串的形式去对象(模块)中操作(查找/获取/删除/添加)成员 ...

  4. Mysql遇到的坑

    2018-04-09 这个虽然跟粗心有关,但是Mysql没报错是哪般? select sum(play_count) from tb_user_login where user_id = 61 and ...

  5. netsharp.weixin和sdk的配置信息管理

    一.微信公众号后台配置 即在微信公众号后台配置类似如下的url:http://121.40.86.55/wx?oid=gh_befcc6d4c40d 这种情况下会执行WeixinServlet类的do ...

  6. hbase 无法打开60010网页

    在hbase-site.xml中添加如下节点 <property> <name>hbase.master.info.port</name> <value> ...

  7. openssl pem文件的读取

    准备工作 生成私钥文件(里面已包含公钥) openssl genrsa -out private.pem 1024 从私钥文件中提取公钥 openssl rsa -in private.pem -pu ...

  8. 带token的get和post方法

    GET和POST传值失败,多半是传输的字符串和URL的事 public static string ExcuteGetToken(string serviceUrl, string ReqInfo, ...

  9. jsvascript null,undefined,undeclared的区别

    1.undefined表示"缺少值",就是此处应该有一个值,但是还没有定义,转为数值时为NaN.典型用法是: (1)变量被声明了,但没有赋值时,就等于undefined. (2) ...

  10. c# 通过按钮获取文件夹和打开磁盘文件

    Button控件获取文件夹: FolderBrowserDialog fileDialog = new FolderBrowserDialog(); if (fileDialog.ShowDialog ...