Learn R Programming

kernelTDA (version 1.0.0)

krein.svm: Krein Support Vector Machine

Description

Solves a kernelized Support Vector Machine in the case where the kernel used may not be positive semidefinite.

Usage

krein.svm(kernelmat, ...)

Arguments

kernelmat

the kernel matrix computed for all observations

...

additional parameters, see krein.svm.default for more details on how to use this function

Value

An object of class krein.svm containing the fitted model, including:

SV

a matrix containing the Support Vectors

index

index of the resulting support vectors in the data matrix

coefs

a matrix containing corresponding coefficients times the training labels

rho

value of the (negative) intercept

Details

This function implements the Krein Support Vector Machine solver as defined by Loosli et al. (2015). The implementation of the solver is a modified version of the popular C++ library `LIBSVM`, while the connection to `R` heavily relies on the `R`-package e1701.

References

loosli2015learningkernelTDA

chang2011libsvmkernelTDA

dimitriadou2008misckernelTDA

Examples

Run this code
# NOT RUN {
library(TDA)
set.seed(123)
foo.data = list()
for(i in 1:20){
foo = circleUnif(100)
foo.data[[i]] = ripsDiag(foo, 1,1)$diagram}
for(i in 21:40){
foo = cbind(runif(100), runif(100))
foo.data[[i]] = ripsDiag(foo, 1,1)$diagram
}
GSWkernel = gaus.kernel(foo.data, h =1, dimension = 1,  q = 2)
GGKclass = krein.svm(kernelmat = GSWkernel, y = rep(c(1,2), c(20,20)))
# }

Run the code above in your browser using DataLab