Bilevel Optimization For Machine Learning: Algorithm Design And Convergence Analysis