You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi, what an interesting work! However, during my experiments, i found that KAN is particularly not very good at the multiplications, or maybe it is just the way i implement it is not quite right. For example, the most simple problem of x * y, and i set my experiment to be model = KAN(width=[2,2,1], grid=5, k=3) (which I assume is the same as the paper) f = lambda x:x[:,[0]] * x[:,[1]] dataset = create_dataset(f, n_var=2)
then train the model by # model.train(dataset, opt="LBFGS", steps=200, lamb=0.00);
and the result turns out to be like this
which is quite different with the paper. I have also tried other hyper-parameters, but still didn't work out, which part of my code is wrong?
The text was updated successfully, but these errors were encountered:
I would count this as a success. (0,0,0) -> linear, (0,0,1) -> quadratic, (0,1,0) -> linear, (0,1,1) -> quadratic. (1,0,0) -> quadratic, (1,1,0) -> linear. Although the quadratic functions are not symmetric, but this is a random gauge degree of freedom. You may try varying random seeds; if you are lucky, you can get symmetry parabola. What do I mean by gauge degree of freedom is that the following equation holds for any $a$:
$2xy = (x+y+a)^2-(x+a)^2-(y+a)^2+a^2$
so the quadratic functions do not have to be symmetric (in the paper, it's just lucky that it's close to $a=0$).
Hi, what an interesting work! However, during my experiments, i found that KAN is particularly not very good at the multiplications, or maybe it is just the way i implement it is not quite right. For example, the most simple problem of x * y, and i set my experiment to be
model = KAN(width=[2,2,1], grid=5, k=3)
(which I assume is the same as the paper)f = lambda x:x[:,[0]] * x[:,[1]]
dataset = create_dataset(f, n_var=2)
then train the model by
# model.train(dataset, opt="LBFGS", steps=200, lamb=0.00);
and the result turns out to be like this
which is quite different with the paper. I have also tried other hyper-parameters, but still didn't work out, which part of my code is wrong?
The text was updated successfully, but these errors were encountered: