ANN: MLKernels.jl

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

ANN: MLKernels.jl

Tim Thatcher
MLKernels.jl is a pure Julia package that provides a parametric kernel type and corresponding methods for dense kernel matrix calculation. This is useful for kernel-based machine learning methods or the covariance functions of Gaussian processes.

Kernels fall into three main types:
  • Base kernels that correspond to a minimal pairwise operation (ex. scalar product or squared distance of two vectors)
  • Composite kernels that wrap base kernels to further transform the result of a pairwise operation (ex. the radial basis kernel is a scalar function of the squared distance)
  • Combination kernels that are the sum or product of two or more Base/Composite kernels. There are domain restrictions to ensure a resulting kernel is valid.
Key Features:
  • Float32, Float64 and BigFloat are supported
  • The method for computing the kernel matrix does not force a specific format for data matrices; rows or columns may be used as observations. 
  • Float32 and Float64 versions of the squared distance and scalar product utilise BLAS. This results in a speed-up for any composite kernel using the scalar product or squared distance as a base kernel (radial basis, polynomial, rational-quadratic, etc).
  • Implementation of the Nystrom method for approximation of square kernel matrices (uses divide-and-conquer eigendecomposition). This is useful approximating *large* kernel matrices provided the sampling ratio is sufficiently small.
  • Strong test coverage and detailed documentation

Thank you to st-- and Evizero for the help.

Enjoy!

--
You received this message because you are subscribed to the Google Groups "julia-stats" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: ANN: MLKernels.jl

Christof Stocker
Really nice work! congrats

On 2015-11-05 04:07, Tim Thatcher wrote:
MLKernels.jl is a pure Julia package that provides a parametric kernel type and corresponding methods for dense kernel matrix calculation. This is useful for kernel-based machine learning methods or the covariance functions of Gaussian processes.

Kernels fall into three main types:
  • Base kernels that correspond to a minimal pairwise operation (ex. scalar product or squared distance of two vectors)
  • Composite kernels that wrap base kernels to further transform the result of a pairwise operation (ex. the radial basis kernel is a scalar function of the squared distance)
  • Combination kernels that are the sum or product of two or more Base/Composite kernels. There are domain restrictions to ensure a resulting kernel is valid.
Key Features:
  • Float32, Float64 and BigFloat are supported
  • The method for computing the kernel matrix does not force a specific format for data matrices; rows or columns may be used as observations. 
  • Float32 and Float64 versions of the squared distance and scalar product utilise BLAS. This results in a speed-up for any composite kernel using the scalar product or squared distance as a base kernel (radial basis, polynomial, rational-quadratic, etc).
  • Implementation of the Nystrom method for approximation of square kernel matrices (uses divide-and-conquer eigendecomposition). This is useful approximating *large* kernel matrices provided the sampling ratio is sufficiently small.
  • Strong test coverage and detailed documentation

Thank you to st-- and Evizero for the help.

Enjoy!
--
You received this message because you are subscribed to the Google Groups "julia-stats" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "julia-stats" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.