This funtion implements the methodology described in the paper
KRRC_VWG
is the primary function that implements the kernel ridge regression classifier equipped with the veronese whitney gaussian kernel :
\[\kappa([\mathbf{z}_i],[\mathbf{z}_j]) = \exp\left(-\frac{\rho_E^2\left([\mathbf{z}_i]-[\mathbf{z}_j]\right)}{\sigma^2} \right)\]
VWG <- KRRC_VWG(Sub_sample, Test, Test_Label,Sig,Lambda)
Sub_sample
: Data for building subspacesTest
: Test data (Embedded shpae : array)Test_Label
: Test label (vector)Sig
: Tuning parameter for kernelLambda
: Tuning parameter for Ridge Reg termThe PassifloraLeaves
data used in this simulation is collected by the following papers
Chitwood, D. H. and Otoni, W. C. (2016). Morphometric analysis of passiflora leaves: therelationship between landmarks of the vasculature and elliptical fourier descriptors of theblade.GigaScience, 6:1-13.
Chitwood, D. H. and Otoni, W. C. (2017). Divergent leaf shapes among passiflora speciesarise from a shared juvenile morphology.Plant Direct, 1:1-15.
The data is available from their github
The below is the graphical illustration of the dataset. The transparent and bold solid lines depicts the connected landmarks and extrinsic means, respectively.
main <- grid.arrange(grobs=myplots, ncol=4)
VWG
: KRRC with Veronese-Whitney Gaussian kernelSVM
: Kernelized Support Vector Machine with Gaussian kernel implemented in the \(\texttt{e1071}\) packageKFA
: Kernel Fisher Discriminant Analysis implemented in the \(\texttt{kfda}\) packageRIE
: KRRC with Riemannian Gaussian kernelRRC
: The usual Ridge Reg ClassifierGLM
: Multiclass Generalized Linear Model with ridge penalty implemented in the \(\texttt{glmnet}\) packageggplot(All_result1 , aes(x=Methods, y=F_1, fill=Methods))+ facet_grid(. ~ size, labeller = label_parsed) +
geom_boxplot(lwd=0.2,position=position_dodge(1)) +ylab(expression(F[1]))
ggplot(All_result1 , aes(x=N_sub, y=Value, color=Methods))+
# facet_grid(. ~ size, labeller = label_parsed, sacles="free") +
geom_line(aes(linetype=Methods))+
geom_point(aes(shape=Methods),size=1)+
facet_wrap(~ facet, scales ="free",labeller = label_parsed)+
ylab("")+
xlab(expression(paste("Subspace size"~(n[i]))))+
theme(
legend.title = element_text(size = 20),
legend.text = element_text(size = 20),
legend.key.size = unit(5, "lines")
)+
theme_bw()+
theme(panel.border = element_rect(size=0.01, colour = "black"),
strip.background = element_rect(size=0.01))