Qual é a probabilidade de que

24

Dados n pontos de dados, cada um com d recursos, n/2 são rotulados como 0 0 , o outro n/2 é rotulado como 1 . Cada recurso recebe um valor de [0 0,1] aleatoriamente (distribuição uniforme). Qual é a probabilidade de existir um hiperplano que possa dividir as duas classes?

Vamos considerar o caso mais fácil primeiro, ou seja, d=1 .

Xing Shi
fonte
3
Esta é uma pergunta realmente interessante. Eu acho que isso pode ser reformulado em termos de se os cascos convexos das duas classes de pontos se cruzam ou não - embora eu não saiba se isso torna o problema mais direto ou não.
Don Walpola
Isso claramente será uma função das magnitudes relativas de & d . Considere o caso mais fácil w / d = 1 , se n = 2 , em seguida, com dados verdadeiramente contínuos (ou seja, sem arredondamento para nenhuma casa decimal), a probabilidade de que eles possam ser linearmente separados é 1 . OTOH, lim n Pr (separável linearmente) 0 . ndd=1n=21limn  Pr(linearly separable)0
gung - Restabelece Monica
Você também deve esclarecer se o hiperplano precisa ser "plano" (ou se poderia ser, digamos, uma parábola em uma situação do tipo ). Parece-me que a pergunta implica fortemente achatamento, mas isso provavelmente deve ser declarado explicitamente. 2d
gung - Restabelece Monica
4
@gung Acho que a palavra "hiperplano" implica inequivocamente "planicidade", por isso editei o título para dizer "linearmente separável". Claramente, qualquer conjunto de dados sem duplicatas pode ser, em princípio, não linearmente separável.
Ameba diz Reinstate Monica
1
@gung IMHO "hiperplano plano" é um pleonasmo. Se você argumentar que o "hiperplano" pode ser curvado, o "plano" também pode ser curvado (em uma métrica apropriada).
Ameba diz Reinstate Monica

Respostas:

4

Supondo que não haja duplicatas nos dados.

Se nd+1 , a probabilidade é Pr=1 .

Para outras combinações de (n,d) , consulte o seguinte gráfico:

insira a descrição da imagem aqui

Gerei esse gráfico simulando dados de entrada e saída conforme especificado no OP. Separabilidade linear foi definida como falha de convergência em um modelo de regressão logística, devido ao efeito Hauck-Donner .

nn,dp

P(n,d)=11+e-(5.82944-4.58261×n+1,37271×d-0,0235785×n×d)

insira a descrição da imagem aqui


Código para o enredo (em 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"))
Firebug
fonte
+1. Por que log (n) e não n? O limite amarelo-preto parece uma linha reta para mim na figura superior, mas aparece dobrado na segunda figura. Talvez seja por causa do log (n)? Não tenho certeza.
Ameba diz Reinstate Monica
p=1p=0 0