MATLAB é um pacote de software padrão da indústria para a análise de uma variedade de dados técnicos e científicos. Um objetivo subjacente de muitos métodos analíticos é reconhecer padrões nos dados subjacentes. Muitas vezes isso envolve a divisão de dados em grupos distintos ou clusters. Um algoritmo de agrupamento usado frequentemente é difusa c -means clustering, desenvolvido por Dunn em 1973 e melhorado por Bezdek em 1981. Visão geral
difusa c -means clustering, ou FCM , pontos de dados pode pertencer a mais de um cluster. Um algoritmo iterativo minimiza uma função objetivo de encontrar a associação do cluster ideal para cada ponto dos dados que estão sendo agrupados. Iteração do algoritmo de agrupamento irá parar quando a função objetivo chega a um ponto mínimo ou sela local. FCM pode ser combinado com outros algoritmos de busca , a fim de garantir um resultado ótimo
Função Objetivo
A função objetivo FCM J_M é igual a: .
soma (i = 1 ... N) [ soma (j = 1 ... C) [ u_ij ^ m norma ( x_i - c_j ) ^ 2 ] ]
A função objetivo é considerada sobre os valores reais m de entre 1 e infinito positivo . O valor u_ij é a associação do x_i ponto de dados no cluster jth , centrado em c_j
Algoritmo
O algoritmo de otimização FCM tem quatro etapas. :
1. Inicializar o U_0 matriz = [ u_ij ] .2 . Calcular os centros dos grupos C_K = [ c_j ] de u_k , onde k é um número inteiro igual iteração do algorithm.3 . Atualização U_ (k +1) a partir do novo C_k.4 . Calcule o valor de J_k . Se a nova parada causada J_k a aumentar, parar , caso contrário, volte para o passo 2.
MATLAB Use
MATLAB implementa difusa c- means clustering no fcm function () . A caixa de ferramentas Lógica Fuzzy é necessário para o uso do fcm () função. A sintaxe de chamada é :
[centros , U , objFun ] = fcm ( meus_dados , n_clusters ) ;
A variável my_data é a entrada de dados , onde cada linha representa um ponto de dados. A variável n_clusters é o número de clusters para agrupar os dados. A saída centros é a matriz de centros de cluster ideais. U é a partição ou filiação matriz difusa ideal. A variável objFun é o valor final da função objetivo .