Multilabel logistische Regression

8

Gibt es eine Möglichkeit, mithilfe der logistischen Regression mehrfach beschriftete Daten zu klassifizieren? Mit mehrfach beschriftet meine ich Daten, die gleichzeitig zu mehreren Kategorien gehören können.

Ich möchte diesen Ansatz verwenden, um einige biologische Daten zu klassifizieren.

user721975
quelle
1
Sie scheinen eine multinomiale logistische Regression zu beschreiben. Es gibt hier viele Themen, die dieses Thema diskutieren: stats.stackexchange.com/search?q=multinomial+logistic
Makro
3
Oder meinen Sie damit, dass ein einzelnes Datum zu mehr als einer Kategorie gehören kann?
Onestop
@onestop: Ja, ich meinte, dass ein Datenpunkt zu einer beliebigen Anzahl von Kategorien gleichzeitig gehören kann.
user721975
@macro: Multinomiale Multi-Label-logistische Regression :-)
user721975
Schauen Sie sich die ökonometrische Literatur an, z. B. McFadden.
Frank Harrell

Antworten:

11

Ich bin mir im Prinzip nicht sicher, ob diese Techniken immer noch als logistische Regression bezeichnet werden.

Tatsächlich kann sich Ihre Frage auf zwei unabhängige Erweiterungen der üblichen Klassifikatoren beziehen:

  1. Sie können verlangen, dass die Summe aller Mitgliedschaften für jeden Fall eins ist ("geschlossene Welt" = der übliche Fall)
    oder diese Einschränkung aufheben (manchmal als "Ein-Klassen-Klassifikatoren" bezeichnet).
    Dies kann von mehreren unabhängigen LR-Modellen trainiert werden, obwohl es sich um eine Klasse handelt Probleme sind oft schlecht gestellt (diese Klasse gegen alle Arten von Ausnahmen, die in alle Richtungen liegen könnten) und dann ist LR nicht besonders gut geeignet.

  2. partielle Klassenmitgliedschaft: Jeder Fall gehört , mit der Mitgliedschaft für jede Klasse, in Fuzzy - Clusteranalyse auf ähnliche Mitgliedschaften: es sei angenommen , sind 3 - Klassen A, B, C. Dann kann eine Probe als Zugehörigkeit zur Klasse B bezeichnet werden. Dies kann auch als Zugehörigkeitsvektor [ A = 0 , B = 1 , C = 0 ] geschrieben werden . In dieser Notation wären die Teilmitgliedschaften zB [ A = 0,05 , B =[0,1]nclasses
    [A=0,B=1,C=0] usw.[A=0.05,B=0.95,C=0]

    • Je nach Problem können unterschiedliche Interpretationen gelten (Fuzzy-Mitgliedschaften oder Wahrscheinlichkeiten):

      • Fuzzy: Ein Fall kann zur Hälfte zur Klasse A und zur Hälfte zur Klasse C gehören: [0,5, 0, 0,5]
      • Wahrscheinlichkeit: Die Referenz (z. B. ein Experte, der Stichproben klassifiziert) ist zu 80% sicher, dass sie zur Klasse A gehört, sagt jedoch, dass eine Wahrscheinlichkeit von 20% besteht, dass es sich um Klasse C handelt, während sichergestellt ist, dass es sich nicht um Klasse B handelt (0%): [0,8, 0 0,2].
      • eine andere Wahrscheinlichkeit: Stimmen des Expertengremiums: 4 von 5 Experten sagen "A", 1 sagt "C": wieder [0,8, 0, 0,2]
    • zur Vorhersage sind zB die posterioren Wahrscheinlichkeiten nicht nur möglich, sondern tatsächlich ziemlich häufig

    • Es ist auch möglich, dies für das Training zu verwenden
    • und sogar Validierung

    • Die ganze Idee dabei ist, dass es für Grenzfälle möglicherweise nicht möglich ist, sie eindeutig einer Klasse zuzuordnen.

    • Ob und wie Sie eine weiche Vorhersage (z. B. hintere Wahrscheinlichkeit) zu einem "normalen" Klassenlabel "verhärten" möchten, das einer 100% igen Mitgliedschaft in dieser Klasse entspricht, liegt ganz bei Ihnen. Sie können das Ergebnis für mittlere hintere Wahrscheinlichkeiten sogar "mehrdeutig" zurückgeben. Was sinnvoll ist, hängt von Ihrer Anwendung ab.

In R zB, nnet:::multinomdas Teil von MASS ist, werden solche Daten für das Training akzeptiert. Hinter den Kulissen wird ein ANN mit logistischem Sigmoid und ohne versteckte Schicht verwendet.
Ich habe ein Paket softclassvalfür den Validierungsteil entwickelt.

Ein-Klassen-Klassifikatoren werden in Richard G. Brereton: Chemometrics for Pattern Recognition, Wiley, 2009, ausführlich erläutert .

Wir geben eine detailliertere Diskussion der Teilmitgliedschaften in diesem Artikel: Claudia Beleites, Kathrin Geiger, Matthias Kirsch, Stephan B. Sobottka, Gabriele Schackert und Reiner Salzer: Raman-spektroskopische Einstufung von Astrozytomgeweben: Verwendung weicher Referenzinformationen. Anal Bioanal Chem., 2011. 400 (9), S. 2801-2816

cbeleites unzufrieden mit SX
quelle
Können Sie das näher erläutern?
user721975
@ user721975: War immer noch dabei ...
cbeleites unzufrieden mit SX
Danke für deine Antwort. Wenn ich Sie richtig verstehe, bedeutet Option 1, dass Sie eine Reihe von binären (1 gegen alle) LR-Klassifikatoren erstellen. Ich glaube nicht, dass ich Option 2 bekomme. Bitten Sie mich, ein einzelnes LR zu erstellen, das die Wahrscheinlichkeitsverteilung über alle Klassen ergibt? Die Frage ist dann, wie ich entscheide, welchen Klassen die Daten zugewiesen werden sollen. Eine Art Schwellenwert? Welches / wie?
user721975
@ user721975: Teil 1: Ja. Teil 2: Ich werde die Antwort bearbeiten, um klarer zu werden.
cbeleites unglücklich mit SX
@ user721975: (2) "single" LR ist etwas mehrdeutig: Zumindest wenn es mehr als 2 Klassen gibt, hätten Sie ein multinomiales Modell. Vielleicht müssen Sie uns mehr über Ihre Bewerbung erzählen, um detailliertere Antworten zu erhalten.
cbeleites unglücklich mit SX
1

Eine einfache Möglichkeit, eine Mehrfachetikettenklassifizierung mit einem Mehrklassenklassifizierer (z. B. eine multinomiale logistische Regression) durchzuführen, besteht darin, jede mögliche Zuordnung von Etiketten einer eigenen Klasse zuzuweisen. Wenn Sie beispielsweise eine binäre Klassifizierung mit mehreren Labels durchführen und 3 Labels haben, können Sie diese zuweisen

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

23=8

n2n

Wenn Sie darüber hinausgehen und von anderen vorgeschlagen wurden, sollten Sie sich wahrscheinlich strukturierte Vorhersagealgorithmen wie bedingte Zufallsfelder ansehen.

Alt
quelle
0

Dieses Problem hängt auch mit dem kostensensitiven Lernen zusammen, bei dem die Vorhersage eines Etiketts für eine Probe Kosten verursachen kann. Bei Mustern mit mehreren Etiketten sind die Kosten für diese Etiketten niedrig, während die Kosten für andere Etiketten höher sind.

Sie können sich dieses Tutorial ansehen, das Sie auch hier finden .

Asche
quelle