维中的


24

给定数据点,每个数据点具有特征,标记为,其他标记为。每个特征随机取的值(均匀分布)。存在可以分裂两个类别的超平面的概率是多少?d Ñ / 2 0 Ñ / 2 1 [ 0 1 ]ndn/20n/21[0,1]

让我们首先考虑最简单的情况,即。d=1


3
这是一个非常有趣的问题。我认为这可以根据两类点的凸包是否相交来重新表述-尽管我不知道这是否使问题更直接。
Don Walpola

显然,这将是和的相对大小的。考虑最简单的情况w /,如果,则w /真正连续的数据(即不舍入到小数点后一位),它们可以线性分离的概率为。OTOH,。ndd=1n=21limn  Pr(linearly separable)0
gung-恢复莫妮卡

您还应该阐明超平面是否需要“平坦”(或者在2d型情况下是否可能是抛物线)。在我看来,这个问题强烈暗示着平坦性,但是这可能应该明确说明。
gung-恢复莫妮卡

4
@gung我认为“超平面”一词明确表示“平坦”,这就是为什么我将标题编辑为“线性可分离”的原因。显然,任何没有重复项的数据集原则上都是非线性可分离的。
变形虫说恢复莫妮卡

1
@gung恕我直言,“平面超平面”是一种胸膜。如果您认为“超平面”可以弯曲,那么“平面”也可以弯曲(以适当的度量单位)。
变形虫说恢复莫妮卡

Answers:


4

假设数据中不存在重复项。

如果nd+1,则概率为Pr=1

对于(n,d)其他组合,请参见下图:

在此处输入图片说明

我生成了该图,以模拟OP中指定的输入和输出数据。由于Hauck-Donner效应,线性可分离性被定义为逻辑回归模型中的收敛失败。

我们可以看到增加的概率降低。实际上,我们可以拟合一个将与关联的模型结果是:nn,dp

P(n,d)=11+e(5.829444.58261×n+1.37271×d0.0235785×n×d)

在此处输入图片说明


情节代码(朱莉娅):

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"))

有关与(在Julia中)的模型的代码:(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。为什么要登录(n)而不是n?黄黑边界在上图看来对我来说是一条直线,但在第二图上似乎是弯曲的。可能是因为log(n)吗?不确定。
变形虫说恢复莫妮卡

@amoeba我改了。我还包括了交互,因为它可以解释和之间边界的逐渐加宽(这就是我之前尝试对数的原因)。p=1p=0
Firebug
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.