Regressão logística de vários rótulos

8

Existe uma maneira de usar a regressão logística para classificar dados com várias etiquetas? Por rótulos múltiplos, quero dizer dados que podem pertencer a várias categorias simultaneamente.

Eu gostaria de usar essa abordagem para classificar alguns dados biológicos.

user721975
fonte
1
Você parece estar descrevendo regressão logística multinomial. Há muitos tópicos aqui que discutir este tema: stats.stackexchange.com/search?q=multinomial+logistic
Macro
3
Ou você quer dizer que um único dado pode pertencer a mais de uma categoria?
onestop
@ onestop: Sim, eu quis dizer que um ponto de dados pode pertencer a qualquer número de categorias simultaneamente.
user721975
@macro: Regressão logística multinomial com vários rótulos :-) #
user721975
Veja a literatura sobre econometria, por exemplo, McFadden.
Frank Harrell

Respostas:

11

Princípio, sim - não tenho certeza de que essas técnicas ainda sejam chamadas de regressão logística.

Na verdade, sua pergunta pode se referir a duas extensões independentes dos classificadores comuns:

  1. Você pode exigir que a soma de todas as associações de cada caso seja uma ("mundo fechado" = o caso usual)
    ou descartar essa restrição (às vezes chamada de "classificadores de uma classe").
    Isso poderia ser treinado por vários modelos independentes de LR, embora uma classe os problemas costumam ser mal colocados (essa classe vs. todos os tipos de exceções que podem estar em todas as direções) e, em seguida, o LR não é particularmente adequado.

  2. associações parciais de classe: cada caso pertence à associação de cada classe, semelhante às associações na análise de cluster nebuloso: Suponha que existam 3 classes A, B, C. Em seguida, uma amostra pode ser rotulado como pertencente à classe B. Isso também pode ser escrito como vetor de associação . Nesta notação, as associações parciais seriam, por exemplo, etc.[0,1]nclasses
    [ A = 0,05 , B = 0,95 , C = 0 ][A=0,B=1,C=0][A=0.05,B=0.95,C=0]

    • diferentes interpretações podem ser aplicadas, dependendo do problema (associações difusas ou probabilidades):

      • difusa: um caso pode pertencer metade à classe A e metade à classe C: [0.5, 0, 0.5]
      • probabilidade: a referência (por exemplo, um especialista em classificar amostras) tem 80% de certeza de que pertence à classe A, mas diz que existe uma chance de 20% de ser da classe C e ter certeza de que não é da classe B (0%): [0.8, 0 0,2].
      • outra probabilidade: votos dos membros do painel de especialistas: 4 de 5 especialistas dizem "A", 1 diz "C": novamente [0,8, 0, 0,2]
    • para previsão, por exemplo, as probabilidades posteriores não são apenas possíveis, mas na verdade bastante comuns

    • também é possível usar isso para treinamento
    • e até validação

    • A idéia é que, para casos limítrofes, pode não ser possível atribuí-los sem ambiguidade a uma classe.

    • Se e como você deseja "endurecer" uma previsão suave (por exemplo, probabilidade posterior) em um rótulo de classe "normal" que corresponda a 100% de associação a essa classe depende inteiramente de você. Você pode até retornar o resultado "ambíguo" para probabilidades posteriores intermediárias. O que é sensato depende da sua aplicação.

Em R, por exemplo, nnet:::multinomque faz parte do MASS, esses dados são aceitos para treinamento. Uma RNA com sigmóide logístico e sem nenhuma camada oculta é usada nos bastidores.
Eu desenvolvi o pacote softclassvalpara a parte de validação.

Classificadores de uma classe são bem explicados em Richard G. Brereton: Chemometrics for Pattern Recognition, Wiley, 2009.

Apresentamos uma discussão mais detalhada das associações parciais neste artigo: Claudia Beleites, Kathrin Geiger, Matthias Kirsch, Stephan B Sobottka, Gabriele Schackert e Reiner Salzer: classificação espectroscópica Raman de tecidos de astrocitoma: usando informações de referência suaves. Anal Bioanal Chem, 2011, vol. 400 (9), pp. 2801-2816

cbeleites descontentes com o SX
fonte
Você pode elaborar?
user721975
@ user721975: ainda estava fazendo isso ...
cbeleites infeliz com SX
Obrigado pela sua resposta. Se bem entendi, a opção 1 significa que você constrói uma série de classificadores LR binários (1 contra todos). Acho que não recebo a opção 2. Você está me pedindo para criar um LR sinlge que ofereça distribuição de probabilidade em todas as classes? A questão então é como eu decido a quais classes atribuir os dados? Algum tipo de limiar? Qual / como?
user721975
@ user721975: parte 1: sim. parte 2: editarei a resposta para ficar mais claro.
cbeleites descontente com SX
@ user721975: (2) a LR "única" é um pouco ambígua: pelo menos se houver mais de duas classes, você teria um modelo multinomial. Talvez você precise nos contar mais sobre sua inscrição para obter respostas mais detalhadas.
Cbeleites descontente com SX
1

Uma maneira simples de fazer a classificação de vários rótulos com um classificador de várias classes (como a regressão logística multinomial) é atribuir cada atribuição possível de rótulos à sua própria classe. Por exemplo, se você estivesse fazendo uma classificação binária de várias etiquetas e tivesse três etiquetas, poderá atribuir

[0 0 0] = 0
[0 0 1] = 1
[0 1 0] = 2

e assim por diante, resultando em classes.23=8

O problema mais óbvio com essa abordagem é que você pode acabar com um grande número de classes, mesmo com um número relativamente pequeno de rótulos (se você tiver rótulos, precisará de classes). Você também não será capaz de prever as atribuições de etiquetas que não estão presentes no seu conjunto de dados e fará um uso bastante ruim dos dados, mas se você tiver muitos dados e uma boa cobertura das possíveis atribuições de etiquetas , essas coisas podem não importar.2 nn2n

Indo além disso e do que foi sugerido por outros, é provável que você queira examinar algoritmos de previsão estruturados, como campos aleatórios condicionais.

alto
fonte
0

Esse problema também está relacionado ao aprendizado sensível aos custos, em que a previsão de um rótulo para uma amostra pode ter um custo. Para amostras com vários rótulos, os custos para esses rótulos são baixos, enquanto o custo para outros rótulos é maior.

Você pode dar uma olhada neste tutorial, que também pode encontrar os slides correspondentes aqui .

Cinza
fonte