【发布时间】:2013-03-31 12:38:03
【问题描述】:
从Invalid probability model for large support vector machines using ksvm in R跟进:
我正在使用 R 中的 kernlab 包中的 ksvm 训练 SVM。我想使用概率模型,但在 sigmoid 拟合期间我收到以下错误消息:
line search fails -1.833726 0.5772808 5.844462e-05 5.839508e-05 -1.795008e-08
-1.794263e-08 -2.096847e-12
发生这种情况时,prob.model(m) 的结果值是所有概率的向量,而不是拟合在这些概率上的 sigmoid 函数的预期参数。是什么导致了这个错误,我该如何防止它?搜索错误消息没有结果。
可重现的例子:
load(url('http://roelandvanbeek.nl/files/df.rdata'))
ksvm(label~value,df[1:1000],C=10,prob.model=TRUE)->m
prob.model(m) # works as it should, prints a list containing one named list
# the below, non-working problem, unfortunately takes an hour due to the large
# sample size
ksvm(label~value,df,C=10,prob.model=TRUE)->m # line search fails
prob.model(m) # just a vector of values
【问题讨论】:
-
你解决了吗?
-
没有。我确实发现它也发生在较小的数据集上,但还没有找到一致的解释。通常,减少或增加观察次数可以解决问题,这会增加其性质的不规则性......
-
@roelandvanbeek,当我尝试为我的数据集绘制学习曲线时,我看到了问题,但是当我仅针对某些拆分 70/30 运行时,它没有显示问题?这就是你所说的减少或增加观察的意思吗?