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估计可得结果是从第四个袋子中取得的最高。
最新文章
- java解析命令行参数(common-cli)练习
- Icacls 在windows目录文件授权中的应用
- android学习日记22--Animation动画简介
- 10.5 noip模拟试题
- C++对C语言的非面向对象特性扩充(3)
- hdu 3572 Task Schedule (dinic算法)
- 探讨C++ 变量生命周期、栈分配方式、类内存布局、Debug和Release程序的区别
- iOS UIWebView 加载进度条的使用-WKWebView的使用,更新2017.6.26
- IdentityServer(14)- 使用EntityFramework Core配置和操作数据
- styled-components解决全局样式'injectGlobal' 废除的问题
- [Swift]LeetCode1027. 最长等差数列 | Longest Arithmetic Sequence
- 文件下载及header方法介绍
- Mysql InnoDB 数据更新/删除导致锁表
- 移动端UL列表无法平滑向下滚动问题
- java设计模式学习
- Dictionary 对象
- 恶意代码分析实战-PE资源提取
- 关于UI设计中的交互软件Axure7.0运用
- (一)MySQL登录与退出
- oracel存储过程编写 以及plsql存储过程的debug
热门文章
- [转]slf4j 与log4j 日志管理
- @1-5使用pandas保存豆瓣短评数据
- 查询数据库中的表格---通过构造方法将数据存入到List集合中---遍历进行输出
- maven install 找不到符号问题
- mybatis3.2初学感悟
- Django 文章标签功能
- 基于Web Service的客户端框架搭建一:C#使用Http Post方式传递Json数据字符串调用Web Service
- 如何将frm文件导入MySql数据库
- Lecture 5
- 2018.12.17 bzoj3667: Rabin-Miller算法(Pollard-rho)