Self-Organizing and Adaptive Algorithms for Generalized Eigen-Decomposition