Add one more step in the nonlinear encoding: normalize the weight, which is similar to the random projection case.
To test it, I create a mnist_nonlinear.py in the examples.
Without this normalization, the accuracy of running python mnist_nonlinear.py is 10.75%.
After adding this normalization, the accuracy becomes 83.93%.
Another example that justify this change is in the random_projection.py example:
This encoding function is doing nothing but first a random projection and then passing through the nonlinear encoding.
Since in the random projection, the weight has been normalized; thus in the nonlinear encoding, the weight should also be normalized.
Please let me know if you have any questions or concerns.
Add one more step in the nonlinear encoding: normalize the weight, which is similar to the random projection case. To test it, I create a
mnist_nonlinear.py
in the examples. Without this normalization, the accuracy of runningpython mnist_nonlinear.py
is 10.75%. After adding this normalization, the accuracy becomes 83.93%.Another example that justify this change is in the
random_projection.py
example:This encoding function is doing nothing but first a random projection and then passing through the nonlinear encoding. Since in the random projection, the weight has been normalized; thus in the nonlinear encoding, the weight should also be normalized.
Please let me know if you have any questions or concerns.