Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ramp Function Diverges #1

Open
jabowery opened this issue Jan 9, 2018 · 1 comment
Open

Ramp Function Diverges #1

jabowery opened this issue Jan 9, 2018 · 1 comment

Comments

@jabowery
Copy link

jabowery commented Jan 9, 2018

As a low-effort test of the ORELM, I substituted for NYC Taxi traffic, the attached ramp function from 0 to 20000 in increments of 10000, backed up the nyc_taxi.csv and copied therampified_nyc_taxi.csv in its place. It seems not to converge.

This isn't necessarily an issue with the code. It is interesting in that it raises the issue of parameter seeking in the ORELM algorithm. What is it about the ramp function that causes ORELM to diverge and how would one find the parameter(s) values that converge on a solution?

rampified_nyc_taxi.zip

image

For comparison, this is with a sine function rather than ramp function -- although in this case, I synchronized the time of day with the phase:

sine_nyc_taxi.zip

image

@chickenbestlover
Copy link
Owner

As I described in OR-ELM paper, one disadvantage of OR-ELM is that It is very vulnerable to adjustment of a hyper parameter called "forgetting factor".

This divergence is not a problem that occurs only in ORELM, but in fact it is a common problem in forgetting factor applied recursive least square based algorithms.

If the factor is too low, it may diverge; A rule of thumb choosing the forgetting factor is just using 0.99. However, the optimal value may vary depending on the data set.

Therefore my suggestion is to adjust forgetting factor; in this case, OutWeightFF.
Increasing the value close to 1 can improve performance (max value is 1).

net = initializeNet(nDimInput=X.shape[1], nDimOutput=1, numNeurons=23, algorithm=algorithm, LN=True, InWeightFF=1, OutWeightFF=0.915, HiddenWeightFF=1, AE=True, ORTH=False)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants