资源简介
APCLUSTER Affinity Propagation Clustering (Frey/Dueck, Science 2007)
一种基于apcluster affinity propagation 聚类算法,预先输入类别数,可以实现自动聚类
代码片段和文件信息
%APCLUSTER Affinity Propagation Clustering (Frey/Dueck Science 2007)
% [idxnetsimdpsimexpref]=APCLUSTER(sp) clusters data using a set
% of real-valued pairwise data point similarities as input. Clusters
% are each represented by a cluster center data point (the “exemplar“).
% The method is iterative and searches for clusters so as to maximize
% an objective function called net similarity.
%
% For N data points there are potentially N^2-N pairwise similarities;
% this can be input as an N-by-N matrix ‘s‘ where s(ik) is the
% similarity of point i to point k (s(ik) needn?t equal s(ki)). In
% fact only a smaller number of relevant similarities are needed; if
% only M similarity values are known (M < N^2-N) they can be input as
% an M-by-3 matrix with each row being an (ijs(ij)) triple.
%
% APCLUSTER automatically determines the number of clusters based on
% the input preference ‘p‘ a real-valued N-vector. p(i) indicates the
% preference that data point i be chosen as an exemplar. Often a good
% choice is to set all preferences to median(s); the number of clusters
% identified can be adjusted by changing this value accordingly. If ‘p‘
% is a scalar APCLUSTER assumes all preferences are that shared value.
%
% The clustering solution is returned in idx. idx(j) is the index of
% the exemplar for data point j; idx(j)==j indicates data point j
% is itself an exemplar. The sum of the similarities of the data points to
% their exemplars is returned as dpsim the sum of the preferences of
% the identified exemplars is returned in expref and the net similarity
% objective function returned is their sum i.e. netsim=dpsim+expref.
%
% [ ... ]=apcluster(sp‘NAME‘VALUE...) allows you to specify
% optional parameter name/value pairs as follows:
%
% ‘maxits‘ maximum number of iterations (default: 1000)
% ‘convits‘ if the estimated exemplars stay fixed for convits
% iterations APCLUSTER terminates early (default: 100)
% ‘dampfact‘ update equation damping level in [0.5 1). Higher
% values correspond to heavy damping which may be needed
% if oscillations occur. (default: 0.9)
% ‘plot‘ (no value needed) Plots netsim after each iteration
% ‘details‘ (no value needed) Outputs iteration-by-iteration
% details (greater memory requirements)
% ‘nonoise‘ (no value needed) APCLUSTER adds a small amount of
% noise to ‘s‘ to prevent degenerate cases; this disables that.
%
% Copyright (c) B.J. Frey & D. Dueck (2006). This software may be
% freely used and distributed for non-commercial purposes.
% (RUN APCLUSTER WITHOUT ARGUMENTS FOR DEMO CODE)
function [idxnetsimdpsimexpref]=apcluster(spvarargin);
if nargin==0 % display demo
fprintf(‘Affinity Propagation (APCLUSTER) sample/demo code\n\n‘);
fprintf(‘N=100; x=rand(N2); % Create N 2-D data points\n‘);
fprintf(‘M=N*N-N; s=zeros(M3); % Ma
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 11197 2008-10-23 11:11 apcluster.m
----------- --------- ---------- ----- ----
11197 1
- 上一篇:RDif
ramework.NET快速开发框架源码 - 下一篇:忆容器模型设计
评论
共有 条评论