This is an implementation of fuzzy c-means (a.k.a k-means) based on this paper (in Japanese).
c_means.m
is a generic fuzzy c-means source code.
By inputting a fuzzy max function and its gradient function, a specific fuzzy c-means algorithm is performed.
The way of usage may be found in plot_clustering.m
, which shows the result of c_means.m
for data/norm5.mat
data set.
In plot_clustering.m
, set
max_func.val = @max_val;
max_func.grad = @max_grad;
and run
>> plot_clustering
then, we get the result of c-means as follows.
If you want to do the fuzzy c-means with the entropy regularization, set
nu = 10
max_func.val = @(X) entro_val(X,nu);
max_func.grad = @(X) entro_grad(X,nu);
ane run
>> plot_clustering
then, we get the result of c-means as follows.