Skip to content

This repository demonstrates the application of efficient Kolmogorov-Arnold Networks (KAN) in a regression (curve fitting) task.

Notifications You must be signed in to change notification settings

JianpanHuang/KAN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KAN

This repository demonstrates the application of efficient Kolmogorov-Arnold Networks (KAN) in a regression (curve fitting) task. The original KAN can be found here, while the original efficient KAN can be found here.

The curve function here is: y = a·sin(b·x)+c·cos(d·x), x = 0:0.2:10, as shown below.

You may change it to whatever function you would like to fit.

The training dataset was created using the matlab code ‘create_dataset.m’ under 'Data' folder.

Network specifics: size(inputlayer, hiddenlayer, outputlayer) = [51, 100, 4].

The input is curve values y with a length of 51, and the output is the coefficients vector [a, b, c, d] with a length of 4, as shown below.

image

The loss curves of KAN and MLP after training for 30 epochs are as follows:

image

The predicted curves by MLP and KAN after training for 30 epochs are as follows:

image

About

This repository demonstrates the application of efficient Kolmogorov-Arnold Networks (KAN) in a regression (curve fitting) task.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published