Como encontrar pesos para uma medida de dissimilaridade

9

Quero aprender (deduzir) os pesos dos atributos para a minha medida de dissimilaridade que posso usar para agrupar.

Tenho alguns exemplos de pares de objetos que são "semelhantes" (devem estar no mesmo cluster), bem como alguns exemplos ( c i , d i ) de pares de objetos que "não são semelhantes "(não deve estar no mesmo cluster). Cada objeto tem uma série de atributos: se você quiser, podemos pensar em cada objeto como um d -dimensional vetor de características, onde cada recurso é um inteiro não-negativo. Existem técnicas para usar exemplos de objetos semelhantes / diferentes para estimar a partir deles pesos ótimos para uma medida de dissimilaridade?(ai,bi)(ci,di)d

Se ajudar, no meu aplicativo, provavelmente seria razoável se concentrar em aprender uma medida de dissimilaridade que seja uma norma L2 ponderada:

d(x,y)=jαj(x[j]y[j])2.

onde os pesos não são conhecidos e devem ser aprendidos. (Ou, algum tipo de medida ponderada de similaridade de cosseno também pode ser razoável.) Existem bons algoritmos para aprender os pesos α j de tal medida, dados os exemplos? Ou existem outros métodos para aprender uma medida de similaridade / dissimilaridade que devo considerar?αjαj

Infelizmente, o número de dimensões é muito grande (milhares ou mais; é derivado de recursos de palavras-chave). No entanto, tenho muitas dezenas de milhares de exemplos. Depois, tenho centenas de milhares de objetos que quero agrupar, por isso é importante generalizar a partir dos exemplos para aprender uma boa métrica de dissimilaridade.

Entendo que isso se enquadra na rubrica de agrupamento semi-supervisionado e parece que pode ser do tipo "adaptação de similaridade", mas não consegui encontrar descrições claras de algoritmos a serem usados ​​para esse fim.

DW
fonte
Problema muito interessante. Se eu acertar o seu problema, você recebe uma matriz principalmente vazia com seus elementos que codificam similaridade ou dissimilaridade em pares. Alguns elementos são preenchidos, mas a maioria está ausente. Eu tentaria preencher essa matriz primeiro (por exemplo, usando suposições de baixa patente, por exemplo).
Vladislavs Dovgalecs
@xeon, essa seria uma abordagem, mas ignora os recursos. Minha hipótese é que alguns recursos são altamente relevantes e outros não são relevantes, e que observar a diferença entre os recursos relevantes fornece uma métrica razoável de dissimilaridade - mas como a encontramos? Apenas tentar concluir a matriz, conforme sugerido, ignora essa estrutura e, portanto, não tira o máximo proveito dos dados que temos.
DW
Qual é o seu objetivo final? Não é apenas aprender a métrica da distância, certo? Você quer categorizar os pontos de dados, não é?
Vladislavs Dovgalecs
11
Acho que há coisas que você não esclareceu muito claramente. Todo o conjunto de pares de exemplos forma uma matriz binária completa (1 = semelhante; 0 = diferente) ou falta alguma informação sobre as células? A matriz é "não contraditória" - ou seja, os objetos de exemplo são particionados em classes não sobrepostas? Além disso, observe que nenhum método de aprendizagem pode (ou deve ser usado para) aconselhá-lo sobre o tipo de medida (como a norma L2 ou L1, por exemplo), porque essa escolha é teórica (depende de tipos de atributos, conceituação de característica espaço, método de agrupamento que você usará então).
ttnphns
Isso é muito amplo para ser razoavelmente respondido aqui. Há uma grande quantidade de literatura dedicada tanto ao recurso de ponderação, seleção e ao aprendizado de funções a distância. Acho que já vi até uma conferência sobre aprendizado de similaridade!
QuIT - Anony-Mousse

Respostas:

6

Esse é um grande problema em algumas áreas do aprendizado de máquina. Não estou tão familiarizado com o assunto quanto gostaria, mas acho que isso deve ajudá-lo a começar.

L2

David J. Harris
fonte
QA
Não vejo por que você não pôde incluir essa restrição. Não tenho certeza se o modelo resultante tem um nome, no entanto.
David J. Harris
1

ai1/wi

Em outras palavras, você está perguntando sobre pré-processamento e dimensionamento de dados. Isso é amplo demais para ser bem respondido em uma única pergunta. Olhe para:

  • seleção de recursos
  • recurso de ponderação
  • normalização
  • redução de dimensionalidade
  • outras técnicas de projeção
  • outras funções de distância
  • "aprendendo a classificar"

Há uma quantidade enorme de literatura e até faixas de conferência dedicadas a isso. Alguns métodos para você começar:

Possui QUIT - Anony-Mousse
fonte