Questions tagged «svm»

支持向量机是指“一组相关的监督学习方法,用于分析数据和识别模式,用于分类和回归分析。”

2
如何通过反向传播训练SVM?
我想知道是否可以使用反向传播训练SVM(例如,将其简化为线性模型)? 目前,我处于障碍之中,因为我只能考虑将分类器的输出编写为 F(X ; θ ,b )= SGN (θ ·&X - (b + 1 ))= SGN (克(x ; θ ,b ))f(x;θ,b)=sgn(θ⋅x−(b+1))=sgn(g(x;θ,b)) f(\mathbf{x};\theta,b) = \text{sgn}(\theta\cdot\mathbf{x} - (b+1)) = \text{sgn}(g(\mathbf{x};\theta,b)) 因此,当我们尝试计算“向后传递”(传播错误)时,我们得到 因为的导数是 sgn(x)dsgn(x)∂Ë∂X= ∂Ë∂F(x ; θ ,b )∂F(x ; θ ,b )X= ∂Ë∂F(x ; θ ,b )∂SGN (克(x ; θ ,b ))∂G(x …



3
RBF SVM用例(对比逻辑回归和随机森林)
具有径向基函数内核的支持向量机是一种通用的监督分类器。 虽然我知道这些SVM的理论基础及其优点,但我不知道它们是首选方法的情况。那么,RBF SVM是否比其他ML技术优越呢?(无论是在得分方面,还是其他方面-诸如健壮性,入门容易性,可解释性等) 我在问,因为我的默认方法围绕逻辑回归(也许有些交互作用),随机森林和一些神经网络。我做ML的所有朋友(有些是Kaggle赢家)都不是SVM用户(但这可能是我所在社区的产物,或者是他们处理的问题)。

1
ReLU激活的单层神经网络等于SVM?
假设我有一个简单的单层神经网络,具有n个输入和一个输出(二进制分类任务)。如果我将输出节点中的激活函数设置为S型函数,则结果将是Logistic回归分类器。 在相同的情况下,如果将输出激活更改为ReLU(整流线性单位),那么结果结构是否与SVM相同或相似? 如果不是,为什么?

1
如何将简单的感知器内核化?
带有非线性边界的分类问题不能通过简单的感知器来解决。以下R代码出于说明目的,并且基于Python中的此示例): nonlin <- function(x, deriv = F) { if (deriv) x*(1-x) else 1/(1+exp(-x)) } X <- matrix(c(-3,1, -2,1, -1,1, 0,1, 1,1, 2,1, 3,1), ncol=2, byrow=T) y <- c(0,0,1,1,1,0,0) syn0 <- runif(2,-1,1) for (iter in 1:100000) { l1 <- nonlin(X %*% syn0) l1_error <- y - l1 l1_delta <- l1_error * …

1
有哪些方法可以调整图形内核SVM超参数?
我有一些数据存在于图。顶点属于两个类别之一Ÿ 我 ∈ { - 1 ,1 },我很感兴趣,训练的SVM两个类之间进行区分。这样做的一个适当的内核是扩散核,其中,是拉普拉斯的和是调谐参数。G=(V,E)G=(V,E)G=(V,E)yi∈{−1,1}yi∈{−1,1}y_i\in\{-1,1\}K=exp(−βL),K=exp⁡(−βL),K=\exp(-\beta L),LLLGGGββ\beta 调整SVM需要选择超参数,因此我必须调整按照惯例,我们对这个问题使用交叉验证,但是在这里似乎不合适,因为从删除顶点改变整个图,甚至可能增加连接的组件的数量!如果连接的组件的数量发生变化,则某些顶点将变得无法与其他顶点联系,并且我们将面临与开始时非常不同的数据集。也就是说,我们不仅会丢失已删除的顶点,而且还会丢失关于图形中与该顶点相邻的所有其他顶点信息。θ=(β,C).θ=(β,C).\theta=(\beta, C).iiiGGGiiijjj 交叉验证的基本概念是,我们想近似模型在被提供新数据时的性能。在标准问题中,省略某些测试数据不会更改其余训练数据的值。但是,对于图形数据,不清楚模型在CV设置中看到“新”数据的含义。省略顶点或边可能会完全更改数据。例如,设想的图表这是一个 -star曲线图,其中一个顶点有边缘顶点,和所有其他顶点具有1个边缘。省略中心顶点以构造训练数据S=(VS,ES)S=(VS,ES)S=(V_S,E_S)kkkkkkkkkS∗S∗S^*将完全断开图形,并且内核矩阵将是对角的!但是当然可以在提供的训练数据上训练模型。尚不清楚的是,然后测试所得模型的样本外性能意味着什么。是否可以重新计算的内核矩阵,并提供该矩阵以进行预测?S∗S∗S^*SSS 或者,是否可以从整体上计算的内核矩阵开始,并根据需要省略行和列以产生用于估计SVM的内核矩阵?这提出了自己的概念性问题,因为在S中包含中心节点意味着每个顶点都可以从其他每个顶点到达,并且内核矩阵密集。这种包含是否意味着跨折存在信息泄漏,并使交叉验证输出偏斜?一方面,由于省略的中央节点使图相连,因此仍然存在有关省略的中央节点的数据。另一方面,我们对标签y一无所知SSSSSS yÿy ,因此我们可以从以这种方式执行CV得到合理无偏的样本外估计中感到满意。 如何针对此类问题选择超参数?简历不完美但可以接受,还是我们需要专门的方法?在我的上下文中,是否甚至可以进行超参数调整?

2
多类分类中的Scikit SVM输出始终给出相同的标签
我目前正在使用带有以下代码的Scikit学习: clf = svm.SVC(C=1.0, tol=1e-10, cache_size=600, kernel='rbf', gamma=0.0, class_weight='auto') 然后用7个不同的标签拟合并预测一组数据。我得到了一个奇怪的输出。无论我在验证集上使用预测的标签是哪种交叉验证技术,始终都是标签7。 我尝试了其他一些参数,包括完整的默认参数one(svm.SVC()),但是只要我使用的内核方法rbf代替,poly否则linear它将无法工作,而对于polyand 来说确实很好linear。 此外,我已经尝试对火车数据而不是验证数据进行预测,它非常适合。 有人以前见过这种问题,知道这里发生了什么吗? 我从不详细查看我的班级分布,但我知道应该有30%左右是7、14%是4。 我什至尝试手动进行1-vs-rest实施,但仍然没有帮助。

2
如何为小样本数据选择训练,交叉验证和测试集大小?
假设我的样本量较小,例如N = 100,并且有两个类别。如何为机器学习选择训练,交叉验证和测试集的大小? 我会直觉地选择 训练集大小为50 交叉验证集大小为25,并且 测试大小为25。 但这可能或多或少都有意义。我应该如何真正确定这些价值?我可以尝试其他选择吗(尽管我认为它不是那么可取……过度学习的可能性增加了)? 如果我上两节课以上怎么办?

1
如何在ARIMA模型的观察值48中加入创新的离群值?
我正在处理数据集。使用一些模型识别技术后,我得出了一个ARIMA(0,2,1)模型。 我使用R detectIO包TSA中的函数在对原始数据集进行第48次观察时检测到创新的离群值(IO)。 如何将这个离群值合并到模型中,以便将其用于预测?我不想使用ARIMAX模型,因为我可能无法根据R中的模型做出任何预测。还有其他方法可以做到吗? 以下是我的价值观: VALUE <- scan() 4.6 4.5 4.4 4.5 4.4 4.6 4.7 4.6 4.7 4.7 4.7 5.0 5.0 4.9 5.1 5.0 5.4 5.6 5.8 6.1 6.1 6.5 6.8 7.3 7.8 8.3 8.7 9.0 9.4 9.5 9.5 9.6 9.8 10.0 9.9 9.9 9.8 9.8 9.9 9.9 9.6 9.4 …
10 r  time-series  arima  outliers  hypergeometric  fishers-exact  r  time-series  intraclass-correlation  r  logistic  glmm  clogit  mixed-model  spss  repeated-measures  ancova  machine-learning  python  scikit-learn  distributions  data-transformation  stochastic-processes  web  standard-deviation  r  machine-learning  spatial  similarities  spatio-temporal  binomial  sparse  poisson-process  r  regression  nonparametric  r  regression  logistic  simulation  power-analysis  r  svm  random-forest  anova  repeated-measures  manova  regression  statistical-significance  cross-validation  group-differences  model-comparison  r  spatial  model-evaluation  parallel-computing  generalized-least-squares  r  stata  fitting  mixture  hypothesis-testing  categorical-data  hypothesis-testing  anova  statistical-significance  repeated-measures  likert  wilcoxon-mann-whitney  boxplot  statistical-significance  confidence-interval  forecasting  prediction-interval  regression  categorical-data  stata  least-squares  experiment-design  skewness  reliability  cronbachs-alpha  r  regression  splines  maximum-likelihood  modeling  likelihood-ratio  profile-likelihood  nested-models 

1
给定二维空间中的一组点,如何为SVM设计决策功能?
有人可以解释一下如何设计SVM决策功能吗?或指向我讨论具体示例的资源。 编辑 对于下面的示例,我可以看到等式分离了具有最大边距的类。但是,如何以以下形式调整权重并编写超平面方程式。X2=1.5X2=1.5X_2 = 1.5 H1:w0+w1x1+w2x2≥1H2:w0+w1x1+w2x2≤−1forYi=+1forYi=−1.H1:w0+w1x1+w2x2≥1forYi=+1H2:w0+w1x1+w2x2≤−1forYi=−1.\begin{array}{ll} H_1 : w_0+w_1x_1+w_2x_2 \ge 1 & \text{for}\; Y_i = +1 \\ H_2 : w_0+w_1x_1+w_2x_2 \le -1 & \text{for}\; Y_i = -1.\end{array} 在考虑更高的维度之前,我试图在二维空间中正确理解基础理论(因为它更易于可视化)。 我已经为此解决方案,可以请有人确认这是否正确吗? 权重向量是(0,-2)并且W_0是3 H1:3+0x1−2x2≥1H2:3+0x1−2x2≤−1forYi=+1forYi=−1.H1:3+0x1−2x2≥1forYi=+1H2:3+0x1−2x2≤−1forYi=−1.\begin{array}{ll} H_1 : 3+0x_1-2x_2 \ge 1 & \text{for}\; Y_i = +1 \\ H_2 : 3+0x_1 -2x_2 \le -1 & \text{for}\; …
10 svm 

4
改善糖尿病的SVM分类
我正在使用SVM来预测糖尿病。我为此使用BRFSS数据集。数据集的维度为并且存在偏斜。s在目标变量中的百分比为而s构成其余的。11 %89 %432607 × 136432607×136432607 \times 136Y11 %11%11\%N89 %89%89\% 我只使用了数据集中15的136独立变量。减少数据集的原因之一是当NA省略包含s的行时具有更多的训练样本。 15在运行统计方法(例如随机树,逻辑回归)并从结果模型中找出哪些变量很重要之后,才选择这些变量。例如,在运行逻辑回归之后,我们通常p-value对最重要的变量进行排序。 我进行变量选择的方法正确吗?任何建议都非常欢迎。 以下是我的R实现。 library(e1071) # Support Vector Machines #-------------------------------------------------------------------- # read brfss file (huge 135 MB file) #-------------------------------------------------------------------- y <- read.csv("http://www.hofroe.net/stat579/brfss%2009/brfss-2009-clean.csv") indicator <- c("DIABETE2", "GENHLTH", "PERSDOC2", "SEX", "FLUSHOT3", "PNEUVAC3", "X_RFHYPE5", "X_RFCHOL", "RACE2", "X_SMOKER3", "X_AGE_G", "X_BMI4CAT", "X_INCOMG", "X_RFDRHV3", "X_RFDRHV3", "X_STATE"); target …

1
模型似然不显着高于null时(GAM)回归系数的意义
我正在使用R包gamlss运行基于GAM的回归,并假设数据的beta分布为零。我只有一个解释变量在我的模型,所以它基本上是:mymodel = gamlss(response ~ input, family=BEZI)。 该算法给了我系数 ķkk 对于解释变量对平均值的影响(μμ\mu)和相关的p值 k (输入)= 0k(input)=0k(\text{input})=0, 就像是: Mu link function: logit Mu Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -2.58051 0.03766 -68.521 0.000e+00 input -0.09134 0.01683 -5.428 6.118e-08 如上例所示, k (输入)= 0k(input)=0k(\text{input})=0 被高信心地拒绝了。 然后,我运行空模型:null = gamlss(response ~ 1, family=BEZI)并使用似然比检验比较似然: p=1-pchisq(-2*(logLik(null)[1]-logLik(mymodel)[1]), df(mymodel)-df(null)). 在很多情况下,我得到 p …

2
哪种核方法能提供最佳的概率输出?
最近,我已经使用Platt对SVM输出的缩放来估计默认事件的概率。更直接的替代方法似乎是“内核逻辑回归”(KLR)和相关的“导入向量机”。 谁能说出哪种给出概率输出的核方法是最新技术?是否存在KLR的R实现? 非常感谢您的帮助!

1
SVM =模板匹配如何?
我了解了SVM,并了解到它们正在解决优化问题,并且最大利润率的想法非常合理。 现在,使用内核,他们甚至可以找到很棒的非线性分离边界。 到目前为止,我真的不知道SVM(一种特殊的内核计算机)和内核计算机如何与神经网络相关联? 在这里考虑Yann Lecun => 的评论: kernel methods were a form of glorified template matching 还有这里: 例如,一些人因为与之相关的数学运算而对内核方法感到迷惑。但是,正如我在过去所说的,最后,内核计算机是执行“标准化模板匹配”的浅层网络。没什么错(SVM是一种很好的方法),但是它有可怕的局限性,我们都应该意识到。 所以我的问题是: SVM与神经网络有何关系?浅层网络如何? SVM通过定义明确的目标函数解决了优化问题,它如何进行模板匹配?输入与之匹配的模板在这里是什么? 我想这些评论需要对高维空间,神经网络和内核机器有透彻的了解,但到目前为止,我一直在尝试并且无法理解其背后的逻辑。但是,注意到两种截然不同的ml技术之间的联系肯定很有趣。 编辑:我认为从神经的角度理解SVM会很棒。我正在寻找对以上两个问题的数学支持的完整答案,以便真正理解SVM和神经网络之间的联系,无论是线性SVM还是带有内核技巧的SVM。

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.