Giter Site home page Giter Site logo

isakfalk / kernelfunctions.jl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from juliagaussianprocesses/kernelfunctions.jl

1.0 1.0 0.0 450 KB

Julia Package for kernel functions for machine learning

Home Page: https://theogf.github.io/KernelFunctions.jl/dev/

License: MIT License

Julia 100.00%

kernelfunctions.jl's Introduction

Build Status Coverage Status Documentation

KernelFunctions.jl

Kernel functions for machine learning

KernelFunctions.jl provide a flexible and complete framework for kernel functions, pretransforming the input data.

The aim is to make the API as model-agnostic as possible while still being user-friendly.

Examples

  X = reshape(collect(range(-3.0,3.0,length=100)),:,1)
  # Set simple scaling of the data
  k₁ = SqExponentialKernel(1.0)
  K₁ = kernelmatrix(k₁,X,obsdim=1)

  # Set a function transformation on the data
  k₂ = MaternKernel(FunctionTransform(x->sin.(x)))
  K₂ = kernelmatrix(k₂,X,obsdim=1)

  # Set a matrix premultiplication on the data
  k₃ = PolynomialKernel(LowRankTransform(randn(4,1)),2.0,0.0)
  K₃ = kernelmatrix(k₃,X,obsdim=1)

  # Add and sum kernels
  k₄ = 0.5*SqExponentialKernel()*LinearKernel(0.5) + 0.4*k₂
  K₄ = kernelmatrix(k₄,X,obsdim=1)

  plot(heatmap.([K₁,K₂,K₃,K₄],yflip=true,colorbar=false)...,layout=(2,2),title=["K₁" "K₂" "K₃" "K₄"])

Packages goals (by priority)

  • Ensure AD Compatibility (already the case for Zygote, ForwardDiff)
  • Toeplitz Matrices compatibility
  • BLAS backend

Directly inspired by the MLKernels package.

Issues/Contributing

If you notice a problem or would like to contribute by adding more kernel functions or features please submit an issue.

kernelfunctions.jl's People

Contributors

devmotion avatar github-actions[bot] avatar isakfalk avatar theogf avatar willtebbutt avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.