# qkLLE: qKernel Locally Linear Embedding In qkerntool: Q-Kernel-Based and Conditionally Negative Definite Kernel-Based Machine Learning Tools

## Description

Computes the qkernel Locally Linear Embedding

## Usage

 ```1 2 3 4 5 6 7``` ```## S4 method for signature 'matrix' qkLLE(x, kernel = "rbfbase", qpar = list(sigma = 0.1, q = 0.9), dims = 2, k, na.action = na.omit, ...) ## S4 method for signature 'cndkernmatrix' qkLLE(x, dims = 2, k, na.action = na.omit, ...) ## S4 method for signature 'qkernmatrix' qkLLE(x, dims = 2, k, na.action = na.omit,...) ```

## Arguments

 `x` N x D matrix (N samples, D features) or a kernel matrix of `cndkernmatrix` or `qkernmatrix`. `kernel` the kernel function used in training and predicting. This parameter can be set to any function, of class kernel, which computes a kernel function value between two vector arguments. qkerntool provides the most popular kernel functions which can be used by setting the kernel parameter to the following strings: `rbfbase` Radial Basis qkernel function "Gaussian" `nonlbase` Non Linear qkernel function `laplbase` Laplbase qkernel function `ratibase` Rational Quadratic qkernel function `multbase` Multiquadric qkernel function `invbase` Inverse Multiquadric qkernel function `wavbase` Wave qkernel function `powbase` Power qkernel function `logbase` Log qkernel function `caubase` Cauchy qkernel function `chibase` Chi-Square qkernel function `studbase` Generalized T-Student qkernel function `nonlcnd` Non Linear cndkernel function `polycnd` Polynomial cndkernel function `rbfcnd` Radial Basis cndkernel function "Gaussian" `laplcnd` Laplacian cndkernel function `anocnd` ANOVA cndkernel function `raticnd` Rational Quadratic cndkernel function `multcnd` Multiquadric cndkernel function `invcnd` Inverse Multiquadric cndkernel function `wavcnd` Wave cndkernel function `powcnd` Power cndkernel function `logcnd` Log cndkernel function `caucnd` Cauchy cndkernel function `chicnd` Chi-Square cndkernel function `studcnd` Generalized T-Student cndkernel function The kernel parameter can also be set to a user defined function of class kernel by passing the function name as an argument. `qpar` the list of hyper-parameters (kernel parameters). This is a list which contains the parameters to be used with the kernel function. Valid parameters for existing kernels are : `sigma, q` for the Radial Basis qkernel function "rbfbase" , the Laplacian qkernel function "laplbase" and the Cauchy qkernel function "caubase". `alpha, q` for the Non Linear qkernel function "nonlbase". `c, q` for the Rational Quadratic qkernel function "ratibase" , the Multiquadric qkernel function "multbase" and the Inverse Multiquadric qkernel function "invbase". `theta, q` for the Wave qkernel function "wavbase". `d, q` for the Power qkernel function "powbase" , the Log qkernel function "logbase" and the Generalized T-Student qkernel function "studbase". `alpha` for the Non Linear cndkernel function "nonlcnd". `power, alpha, c` for the Polynomial cndkernel function "polycnd". `gamma` for the Radial Basis cndkernel function "rbfcnd" and the Laplacian cndkernel function "laplcnd" and the Cauchy cndkernel function "caucnd". `power, sigma` for the ANOVA cndkernel function "anocnd". `c` for the Rational Quadratic cndkernel function "raticnd" , the Multiquadric cndkernel function "multcnd" and the Inverse Multiquadric cndkernel function "invcnd". `theta` for the Wave cndkernel function "wavcnd". `power` for the Power cndkernel function "powcnd" , the Log cndkernel function "logcnd" and the Generalized T-Student cndkernel function "studcnd". Hyper-parameters for user defined kernels can be passed through the qpar parameter as well. `dims` dimension of the target space `k` the number of nearest neighbours. `na.action` A function to specify the action to be taken if `NA`s are found. The default action is `na.omit`, which leads to rejection of cases with missing values on any required variable. An alternative is `na.fail`, which causes an error if `NA` cases are found. (NOTE: If given, this argument must be named.) `...` additional parameters

## Details

The qkernel Locally Linear Embedding (qkLLE) preserves local properties of the data by representing each sample in the data by a linear combination of its k nearest neighbours with each neighbour weighted independently. qkLLE finally chooses the low-dimensional representation that best preserves the weights in the target space. It is an extension of Locally Linear Embedding (LLE) with qkernel method.

## Value

It returns an S4 object containing the principal component vectors along with the corresponding eigenvalues.

 `prj` a matrix with the reduced input data `dims` dimension of the target space `eVal` The corresponding eigenvalues `eVec` The corresponding eigenvectors `cndkernf` the kernel function used

all the slots of the object can be accessed by accessor functions.

## Author(s)

Yusen Zhang
yusenzhang@126.com

## References

Roweis, Sam T. and Saul, Lawrence K., "Nonlinear Dimensionality Reduction by Locally Linear Embedding",2000;

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19``` ```## S4 method for signature 'matrix' data(iris) testset <- sample(1:150,20) train <- as.matrix(iris[-testset,-5]) labeltrain<- as.integer(iris[-testset,5]) test <- as.matrix(iris[testset,-5]) plot(train ,col=labeltrain, xlab="1st Principal Component",ylab="2nd Principal Component") # ratibase(c=1,q=0.8) d_low <- qkLLE(train, kernel = "ratibase", qpar = list(c=1,q=0.8), dims=2, k=5) #plot the data projection on the components plot(prj(d_low),col=labeltrain, xlab="1st Principal Component",ylab="2nd Principal Component") ## S4 method for signature 'qkernmatrix' # ratibase(c=0.1,q=0.8) qkfunc <- ratibase(c=0.1,q=0.8) ktrain1 <- qkernmatrix(qkfunc,train) d_low <- qkLLE(ktrain1, dims = 2, k=5) #plot the data projection on the components plot(prj(d_low),col=labeltrain, xlab="1st Principal Component",ylab="2nd Principal Component") ```

qkerntool documentation built on May 2, 2019, 6:11 a.m.