Awesome
NOTE: This package has been deprecated. Please use the go-forward package located here:
Machine Learning Kernels (DEPRECATED)
MLKernels.jl is a Julia package that provides a collection of common machine learning kernels and a set of methods to efficiently compute kernel matrices.
Package Status | Build Status |
---|---|
Documentation
Read the full documentation.
Visualization
Through the use of kernel functions, kernel-based methods may operate in a high (potentially infinite) dimensional implicit feature space without explicitly mapping data from the original feature space to the new feature space. Non-linearly separable data may be linearly separable in the transformed space. For example, the following data set is not linearly separable:
<p align="center"><img alt="Feature Space" src="docs/images/featurespace.png" /></p>Using a Polynomial Kernel of degree 2, the points are mapped to a 3-dimensional space where a plane can be used to linearly separate the data:
<p align="center"><img alt="Transformed Data" src="docs/images/hilbertspace.png" /></p>Explicitly, the Polynomial Kernel of degree 2 maps the data to a cone in 3-dimensional space. The intersecting hyperplane forms a conic section with the cone:
<p align="center"><img alt="Transformed Data" src="docs/images/kernelgeometry.png" /></p>When translated back to the original feature space, the conic section corresponds to a circle which can be used to perfectly separate the data:
<p align="center"><img alt="Separating Hyperplane" src="docs/images/featurespaceseparated.png" /></p>The above plots were generated using PyPlot.jl.