The design and analysis of communication networks has traditionally relied on mathematical models that describe the transmission process, signal propagation, receiver noise, network traffic, network topology, and many other components of the system that affect the end-to-end signal transmission and reception. However, there are cases where this approach fails, in particular when the mathematical models for one or more of the system components are highly complex, hard to estimate, poorly understood, don't well-capture the underlying physics of the system, or don't lend themselves to computationally-efficient algorithms. In these scenarios, a data-driven approach using tools from machine learning (ML) can be employed for system design and analysis. The training data that is used by the ML algorithms can be generated through models, simulations, or field measurements. We present results for three communication design problems where the ML approach results in better performance than current state-of-the-art techniques: signal detection without accurate channel state information, signal detection without a mathematical channel model, and joint source-channel coding of text. Broader application of ML to communication system design in general and to millimeter wave, optical, and molecular communication systems in particular is also discussed.