An Integrated Supervised-Unsupervised Hybrid Learning Algorithm for Adaptive Spiking Neural Networks