Qual è la probabilità che punti casuali in dimensioni siano linearmente separabili?


24

Dati punti dati, ognuno con caratteristiche, sono etichettati come , l'altro sono etichettati come . Ogni caratteristica prende un valore da modo casuale (distribuzione uniforme). Qual è la probabilità che esista un iperpiano che può dividere le due classi?ndn/20n/21[0,1]

Consideriamo prima il caso più semplice, ovvero .d=1


3
Questa è una domanda davvero interessante. Penso che questo possa essere riformulato in termini di intersezione o meno degli scafi convessi delle due classi di punti, anche se non so se ciò renda il problema più semplice o meno.
Don Walpola,

Questa sarà chiaramente una funzione delle magnitudini relative di & . Considera il caso più semplice w / , se , quindi con dati veramente continui (ovvero, nessun arrotondamento a una cifra decimale), la probabilità che possano essere separati linearmente è . OTOH, . ndd=1n=21limn  Pr (separabile linearmente)0
gung - Ripristina Monica

Dovresti anche chiarire se l'iperpiano deve essere 'piatto' (o se potrebbe essere, diciamo, una parabola in una situazione di tipo ). Mi sembra che la domanda implichi fortemente la piattezza, ma questo dovrebbe probabilmente essere dichiarato esplicitamente. 2d
gung - Ripristina Monica

4
@gung Penso che la parola "iperpiano" implichi inequivocabilmente "piattezza", ecco perché ho modificato il titolo per dire "separabile linearmente". Chiaramente qualsiasi set di dati senza duplicati può in linea di principio essere separabile in modo non lineare.
ameba dice Reinstate Monica il

1
@gung IMHO "hyperplane piatto" è un pleonasmo. Se si sostiene che "iperpiano" può essere curvo, anche "piatto" può anche essere curvo (in una metrica appropriata).
ameba dice Reinstate Monica il

Risposte:


4

Supponendo che non esistano duplicati nei dati.

Se , la probabilità è .nd+1Pr=1

Per altre combinazioni di , vedere il diagramma seguente:(n,d)

inserisci qui la descrizione dell'immagine

Ho generato questo diagramma simulando i dati di input e output come specificato nel PO. La separabilità lineare è stata definita come fallimento della convergenza in un modello di regressione logistica, a causa dell'effetto Hauck-Donner .

nn,dp

P(n,d)=11+e-(5,82,944 mila-4,58,261 mila×n+1,37,271 mila×d-0.0235785×n×d)

inserisci qui la descrizione dell'immagine


Codice per la trama (in Julia):

using GLM

ds = 10; #number of dimensions to be investigated
ns = 100 #number of examples to be investigated
niter = 1000; #number of iterations per d per n
P = niter * ones(Int64, ds, ns); #starting the number of successes

for d in 1:ds
    for n in (d+1):ns
        p = 0 #0 hits
        for i in 1:niter
            println("Dimensions: $d; Samples: $n; Iteration: $i;")
            try #we will try to catch errors in the logistic glm, these are due to perfect separability
                X = hcat(rand((n,d)), ones(n)); #sampling from uniform plus intercept
                Y = sample(0:1, n)  #sampling a binary outcome
                glm(X, Y, Binomial(), LogitLink())
            catch
                p = p+1 #if we catch an error, increase the count
            end
        end
        P[d,n] = p
    end
end

using Plots

gui(heatmap(P./niter, xlabel = "Number of Samples", ylabel = "Number of Dimensions", title = "Probability of linear separability"))

(n,d)p

probs = P./niter
N = transpose(repmat(1:ns, 1, ds))
D = repmat(1:ds, 1, ns)

fit = glm(hcat(log.(N[:]), D[:], N[:].*D[:], ones(ds*ns)), probs[:], Binomial(), LogitLink())
coef(fit)
#4-element Array{Float64,1}:
# -4.58261
#  1.37271
# -0.0235785
#  5.82944

gui(heatmap(reshape(predict(fit), ds, ns), xlabel = "Number of Samples", ylabel = "Number of Dimensions", title = "Fit of probability of linear separability"))

+1. Perché accedere (n) e non n? Il confine giallo-nero mi sembra una linea retta nella figura in alto, ma appare piegato nella seconda figura. È forse a causa del registro (n)? Non sono sicuro.
ameba dice Reinstate Monica il

p=1p=0
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.