期望最大化算法(Expectation Maximum, EM)
来源:互联网 发布:维秘2017网络直播 编辑:程序博客网 时间:2024/05/29 11:04
本算法根据《数据挖掘概念与技术》第三版(韩家炜)中的期望最大化算法(Expectation Maximum, EM)的步骤来实现的,
EM算法属于基于概率模型的聚类的一种,它的主要步骤分为两步:
期望步:给定当前的簇中心,每个对象都被指派到簇中心离该对象最近的簇。
最大化步:给定簇指派,对于每个簇,算法调整其中心,使得指派到该簇的对象到该新中心的距离之和最小化。
EM算法的主程序如下:
%%%% 采用期望最大化进行模糊聚类 ,EMclc;clear;%加载文件fileID = fopen('D:\matlabFile\EM\EM.txt');DS=textscan(fileID,'%f %f');fclose(fileID);%将数据转换为矩阵格式Dataset=cat(2,DS{1},DS{2});% the count of fuzzy clusteringp=2;if p<size(Dataset,1) % 任意选择聚类中心点 c_id=randperm(size(Dataset,1)); c_id=c_id(1:p);% c_id=[1 2]; % 初始化p的中心点 centers=Dataset(c_id',:); % 限定最小值 min_limit=5; flag=1; while flag % 计算隶属度矩阵 M=MembershipDegree(centers,Dataset); % 计算新的中心点 centers_new=Maximization(M,Dataset); d=0; for i=1:size(centers_new,1) d=d+sqrt((centers_new(i,1)-centers(i,1))^2+(centers_new(i,2)-centers(i,2))^2); end if d<min_limit flag=0; else centers=centers_new; end end end
MembershipDegree函数文件如下:
function result=MembershipDegree(centers,points)M=zeros(1,size(centers,1));for i=1:size(points,1) point=points(i,:); flag=0; for j=1:size(centers,1) center=centers(j,:); if isequal(point,center) flag=1; break; end end mm=[]; if flag mm=zeros(1,size(centers,1)); mm(1,j)=1; else for j=1:size(centers,1) center=centers(j,:); mm(1,j)=(center(1,1)-point(1,1))^2+(center(1,2)-point(1,2))^2; end mm=mm/sum(mm); end M(i,:)=mm;endresult=M;end
Maximization函数如下:
function result=Maximization(M,points)centers=zeros(1,2);for i=1:size(M,2) a=sum(M(:,i).^2); b=M(:,i).^2; x=sum(b.*points(:,1))/a; y=sum(b.*points(:,2))/a; centers(i,:)=[x,y];endresult=centers;end
测试数据格式如下,注意要将下列数据保存txt格式,与书上的数据保持一致:
3 34 109 614 818 1121 7
阅读全文
0 0
- 期望最大化算法(Expectation Maximum, EM)
- <zz>EM(Expectation Maximization)期望最大化算法
- Expectation-Maximum(EM算法)
- Expectation Maximization-EM(期望最大化)-算法以及源码
- Expectation Maximization-EM(期望最大化)-算法以及源码
- 期望最大化(EM)算法
- 期望最大化算法EM
- EM 期望最大化算法
- EM-期望最大化算法
- soledede--期望最大化(EM)算法
- maximum likelihood estimation( 极大似然估计 ) - 无完整数据的参数估计 --- Expectation Maximization ( 期望最大化 ) 算法
- 期望最大化(EM)算法(讲的很好)
- 期望最大化(EM)算法(讲的很好)
- EM(期望最大化)算法(1):初探原理
- EM算法(期望最大化)——理论部分
- EM算法(期望最大化)——应用:GMM
- EM(Expectation-Maximization)算法
- EM(Expectation Maximization)算法
- 案例:Spark基于用户的协同过滤算法
- 【Scikit-Learn 中文文档】聚类
- 一维高斯分布
- 【Scikit-Learn 中文文档】双聚类
- 数据结构实验之图论二:图的深度遍历
- 期望最大化算法(Expectation Maximum, EM)
- PHP Trait实现Singleton单例模式
- cocos扩展—PNG8,PNG24,PNG32区别
- caffe安装教程Ubuntu 16.04(CPU)(libopencv-dev错误)
- 绝对路径和相对路径
- 图像处理 二维高斯分布
- 深度解析插入排序与归并排序
- 小米否认明年IPO;美拍被爆有未成年人脱衣直播;SpaceX再推迟重型火箭发射丨价值早报
- 动态上传视频