Scalable Optimization Methods For Machine Learning: Structures, Properties And Applications