Emerging machine learning techniques bring new opportunities to flexible network control and management. This book focuses on using state-of-the-art machine learning-based approaches to improve the performance of Software-Defined Networking (SDN). It will apply several innovative machine learning methods (e.g., Deep Reinforcement Learning, Multi-Agent Reinforcement Learning, and Graph Neural Network) to traffic engineering and controller load balancing in software-defined wide area networks, as well as flow scheduling, coflow scheduling, and flow migration for network function virtualization in software-defined data center networks. It helps readers reflect on several practical problems of deploying SDN and learn how to solve the problems by taking advantage of existing machine learning techniques. The book elaborates on the formulation of each problem, explains design details for each scheme, and provides solutions by running mathematical optimization processes, conducting simulated experiments, and analyzing the experimental results.