I dati linearmente non separabili possono essere appresi utilizzando funzionalità polinomiali con regressione logistica?


8

So che Polynomial Logistic Regressionpuò facilmente imparare un dato tipico come la seguente immagine: Mi chiedevo se anche i seguenti due dati possono essere appresi usando o no.
prima immagine
Polynomial Logistic Regression


inserisci qui la descrizione dell'immagine
inserisci qui la descrizione dell'immagine

Immagino di dover aggiungere ulteriori spiegazioni. Assumi la prima forma. Se aggiungiamo funzionalità polinomiali extra per questo input 2-D (come x1 ^ 2 ...) possiamo prendere un limite decisionale che può separare i dati. Supponiamo che scelga X1 ^ 2 + X2 ^ 2 = b. Questo può separare i dati. Se aggiungo funzionalità extra otterrò una forma ondulata (forse un cerchio ondulato o ellissi ondulate) ma non riesco ancora a separare i dati del secondo grafico, vero?


1
Forse è un errore, ma stai implicitamente chiedendo informazioni sulla classificazione, non sulla regressione ...
Emre,

1
@Emre in realtà sto chiedendo della regressione logistica polinomiale, hai ragione :)
Media

1
Dove l'hai letto? Intendevi regressione logistica multinomiale ?
Emre

1
Non conosco la statica , ma non ho mai sentito parlare della regressione logistica polinomiale nelle statistiche . Penso che dovresti esaminare la regressione logistica del kernel se sei interessato a limiti di classe non lineari.
Emre,

1
Non vi è alcun riferimento alla regressione logistica polinomiale . O qualsiasi altro tipo di regressione logistica.
Emre,

Risposte:


7

Sì, in teoria l'estensione polinomiale alla regressione logistica può approssimare qualsiasi limite di classificazione arbitraria. Questo perché un polinomio può approssimare qualsiasi funzione (almeno dei tipi utili ai problemi di classificazione), e questo è dimostrato dal teorema di Stone-Weierstrass .

Se questa approssimazione sia pratica per tutte le forme al contorno è un'altra questione. Potresti cercare meglio altre funzioni di base (ad es. Serie di Fourier o distanza radiale dai punti di esempio) o altri approcci del tutto (ad es. SVM) quando sospetti una forma di contorno complessa nello spazio delle caratteristiche. Il problema con l'utilizzo di polinomi di ordine elevato è che il numero di funzioni polinomiali che è necessario utilizzare aumenta in modo esponenziale con il grado del polinomio e il numero di funzioni originali.

Potresti creare un polinomio per classificare XOR. 510xy potrebbe essere un inizio se si utilizza 1 e 1 come input binari, questo input mappa (x,y) per produrre come segue:

(1,1):5(1,1):5(1,1):5(1,1):5

Passandolo nella funzione logistica dovresti avere valori abbastanza vicini a 0 e 1.

Simile alle tue due aree circolari è una semplice curva a otto:

a(x2y2bx4+c)

dove a,b e csono costanti. Puoi ottenere due aree chiuse disgiunte definite nel tuo classificatore - sui lati opposti diy asse, scegliendo a,b e cappropriatamente. Ad esempio, provaa=1,b=0.05,c=1 per ottenere una funzione che si separa chiaramente in due picchi intorno x=3 e x=3:

due classi separate

La trama mostrata proviene da uno strumento online su academo.org ed è perx2y20.05x41>0 - la classe positiva indicata come valore 1 nel grafico sopra, ed è in genere dove 11+ez>0.5 in regressione logistica o semplicemente z>0

Un ottimizzatore troverà i valori migliori, che dovresti solo usare 1,x2,y2,x4 come termini di espansione (sebbene si noti che questi termini specifici sono limitati alla corrispondenza della stessa forma di base riflessa attorno a y asse - in pratica si vorrebbe avere più termini fino al polinomio di quarto grado per trovare gruppi disgiunti arbitrari in un classificatore).

Infatti qualsiasi problema che puoi risolvere con una rete neurale profonda - di qualsiasi profondità - puoi risolvere con una struttura piatta usando la regressione lineare (per problemi di regressione) o la regressione logistica (per problemi di classificazione). È "solo" una questione di trovare la giusta espansione delle funzionalità. La differenza è che le reti neurali tenteranno di scoprire direttamente l'espansione di una funzionalità funzionante, mentre l'ingegnerizzazione delle funzionalità utilizzando polinomi o qualsiasi altro schema è un duro lavoro e non è sempre ovvio come iniziare: considera ad esempio come potresti creare approssimazioni polinomiali a ciò che neurale convoluzionale le reti fanno per le immagini? Sembra impossibile È probabile che sia anche estremamente poco pratico. Ma esiste.


sei sicuro del primo paragrafo? le forme non convesse possono davvero essere apprese usando i polinomi?
Media

1
@NeilSlater Ho risolto il cerchio sopra. Anche XOR è facile: basta aggiungere un termine per "xy".
Emre,

1
@Emre: grazie. Penso che essere purista, tuttavia, |x|non è permesso, poiché è una non linearità diversa.
Neil Slater

1
Perché fermarsi ai polinomi? Non è come se prendessimo le derivate degli input, quindi usa qualsiasi funzione tu voglia.
Emre,

1
@Emre Sì, ho già suggerito nella domanda che altre funzioni potrebbero essere utili. Tuttavia, penso che il punto dell'OP usando il termine "Regressione logistica polinomiale" sia che si intende usare solo i polinomi. Penso che ci siano alcune librerie che eseguiranno l'espansione polinomiale automatica delle funzionalità per l'uso con ottimizzatori altrimenti lineari.
Neil Slater,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.