Theories and algorithms of neural networks