Sim, porque o armazenamento em cluster também pode sofrer um problema de ajuste excessivo. Por exemplo, o número crescente de clusters sempre "aumenta o desempenho".
Aqui está uma demonstração usando o cluster K-Means:
A função objetivo do K-means é (detalhes da notação podem ser encontrados aqui )
J=∑i=1k∑j=1n∥x(j)i−cj∥2
Com esse objetivo, o inferior significa modelo "melhor".J
Suponha que tenhamos os seguintes dados (dados da íris), escolher o número do cluster como será sempre "melhor" do que escolher o número do cluster como . A escolha de clusters será melhor que clusters. Podemos continuar nessa trilha e acabar com o custo : basta tornar o número do cluster igual ao número dos pontos de dados e colocar todo o centro do cluster nos pontos correspondentes.4354J=0
d=iris[,c(3,4)]
res4=kmeans(d, 4,nstart=20)
res3=kmeans(d, 3,nstart=20)
par(mfrow=c(1,2))
plot(d,col=factor(res4$cluster),
main=paste("4 clusters J=",round(res4$tot.withinss,4)))
plot(d,col=factor(res3$cluster),
main=paste("3 clusters J=",round(res3$tot.withinss,4)))
Se adiarmos os dados para teste, isso nos impedirá de ajustar demais. O mesmo exemplo, suponha que estamos escolhendo grupos de números grandes e colocando todos os centros de cluster nos pontos de dados de treinamento. O erro de teste será grande, porque os pontos de dados de teste não se sobrepõem aos dados de treinamento.