¿Cuál es la probabilidad de que puntos aleatorios en dimensiones sean linealmente separables?

24

Dados puntos de datos, cada uno con d características, n / 2 están etiquetados como 0 , los otros n / 2 están etiquetados como 1 . Cada característica toma un valor de [0,1] al azar (distribución uniforme). ¿Cuál es la probabilidad de que exista un hiperplano que pueda dividir las dos clases?nd0 n / 2 1 [ 0 , 1 ]n/20n/21[0,1]

Consideremos primero el caso más fácil, es decir, d=1 .

Xing Shi
fuente
3
Esta es una pregunta realmente interesante. Creo que esto podría reformularse en términos de si los cascos convexos de las dos clases de puntos se cruzan o no, aunque no sé si eso hace que el problema sea más sencillo o no.
Don Walpola
Esto será claramente una función de las magnitudes relativas de norte & re . Considere el caso más fácil w / re=1 , si norte=2 , entonces w / datos verdaderamente continuos (es decir, sin redondeo a ningún decimal), la probabilidad de que puedan separarse linealmente es 1 . OTOH, limnorte  Pr (linealmente separable)0 0 .
gung - Restablecer Monica
También debe aclarar si el hiperplano debe ser 'plano' (o si podría ser, por ejemplo, una parábola en una situación de tipo 2re ). Me parece que la pregunta implica en gran medida la planitud, pero esto probablemente debería expresarse explícitamente.
gung - Restablecer Monica
44
@gung Creo que la palabra "hiperplano" implica inequívocamente "planitud", por eso edité el título para decir "linealmente separable". Claramente, cualquier conjunto de datos sin lata duplicada es, en principio, no linealmente separable.
ameba dice Reinstate Monica
1
@gung En mi humilde opinión, "hiperplano plano" es un pleonasmo. Si argumenta que "hiperplano" puede ser curvo, entonces "plano" también puede ser curvo (en una métrica apropiada).
ameba dice Reinstate Monica

Respuestas:

4

Suponiendo que no existan duplicados en los datos.

Si nortere+1 , la probabilidad es Pr=1 .

Para otras combinaciones de (norte,re) , vea la siguiente gráfica:

ingrese la descripción de la imagen aquí

Genere este gráfico simulando datos de entrada y salida como se especifica en el OP. La separabilidad lineal se definió como el fracaso de la convergencia en un modelo de regresión logística, debido al efecto Hauck-Donner .

Podemos ver que la probabilidad disminuye al aumentar . De hecho, podríamos ajustar un modelo que relacione con , y este fue el resultado:nortenorte,repags

PAGS(norte,re)=11+mi-(5.82944-4.58261×norte+1.37271×re-0,0235785×norte×re)

ingrese la descripción de la imagen aquí


Código para la trama (en 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"))

Código para el modelo que relaciona con (en Julia):(norte,re)pags

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"))
Firebug
fuente
+1. ¿Por qué log (n) y no n? El límite amarillo-negro me parece una línea recta en la figura superior, pero parece inclinado en la segunda figura. ¿Es quizás por el registro (n)? No es seguro.
ameba dice Reinstate Monica
@amoeba lo cambié. También incluí la interacción, porque podría explicar la ampliación gradual de la frontera entre y (que fue la razón por la que había probado el logaritmo antes). p = 0pags=1pags=0 0
Firebug