The recent success of machine learning is inseparable from the advancements of stochastic optimization
techniques. We look at two different directions in this research. The first one deals with `big-data’ spread across a network of machines. We develop new optimization algorithms that are adaptable to a distributed setting and are provably efficient, applying the problems such as matrix completion, logistic regressions, etc., as well as resource allocation problems in cyber-physical systems. The second one deals with reinforcement learning (RL) which has been applied to complicated tasks such as Go game, Starcraft as well as self driving cars. However, the theoretical analysis of the algorithms used in RL is rare and many applications rely on mere heuristics. We analyze reinforcement learning algorithms as optimization methods that process dynamical data obtained from interacting with the environment. Particularly, we draw connections to the rich theories of control systems and stochastic optimization.