Eu sei que o k-means não é supervisionado e é usado para agrupar etc, e que o k-NN é supervisionado. Mas eu queria saber diferenças concretas entre os dois?
86
Eu sei que o k-means não é supervisionado e é usado para agrupar etc, e que o k-NN é supervisionado. Mas eu queria saber diferenças concretas entre os dois?
Respostas:
Estes são métodos completamente diferentes. O fato de ambos terem a letra K em seu nome é uma coincidência.
K-means é um algoritmo de agrupamento que tenta particionar um conjunto de pontos em conjuntos K (agrupamentos), de modo que os pontos em cada agrupamento tendem a estar próximos um do outro. Não é supervisionado porque os pontos não têm classificação externa.
K vizinhos mais próximos é um algoritmo de classificação (ou regressão) que, para determinar a classificação de um ponto, combina a classificação dos K pontos mais próximos. É supervisionado porque você está tentando classificar um ponto com base na classificação conhecida de outros pontos.
fonte
Conforme observado por Bitwise em sua resposta , k-means é um algoritmo de agrupamento. Se se trata de k-vizinhos mais próximos (k-NN), a terminologia é um pouco confusa:
no contexto da classificação, é um algoritmo de classificação, como também observado na resposta acima mencionada
em geral, é um problema , para o qual existem várias soluções (algoritmos)
Portanto, no primeiro contexto, dizer "classificador k-NN" pode realmente significar vários algoritmos concretos subjacentes que resolvem o problema do k-NN, e seu resultado é interpretado para a finalidade da classificação.
Essas são duas coisas diferentes, mas você pode achar interessante que o algoritmo k-means seja um dos vários métodos possíveis para solucionar o problema do k-NN (Marius Muja e David G. Lowe, "Vizinhos mais próximos aproximados com configuração automática de algoritmo" , em Conferência Internacional sobre Teoria e Aplicações da Visão Computacional (VISAPP'09), 2009 PDF )
fonte
Você pode ter um k-means supervisionado. Você pode criar centróides (como em k-means) com base nos dados rotulados. Nada para você. Se você quiser melhorar isso, o espaço euclidiano e a distância euclidiana podem não fornecer os melhores resultados. Você precisará escolher seu espaço (poderia ser o espaço Riemanniano, por exemplo) e definir a distância entre os pontos (e até definir um "ponto"). Os dois últimos são tópicos de pesquisa e também dependem do tipo (propriedades) de dados (sinal) que você possui.
fonte
O K-means pode criar as informações do cluster para nós vizinhos, enquanto o KNN não pode encontrar o cluster para um determinado nó vizinho.
fonte
k Os meios podem ser usados como a fase de treinamento antes do knn ser implantado no estágio de classificação real. K significa cria as classes representadas pelo centróide e pelo rótulo da classe das amostras pertencentes a cada classe. O knn usa esses parâmetros e o número k para classificar uma nova amostra invisível e atribuí-la a uma das k classes criadas pelo algoritmo K significa
fonte