Modern society is witnessing the emergence of complex networked systems driven by exchanges of information among their elements, such as robotic swarms, autonomous systems, social networks, and Internet-of-Things (IoT) architectures. In these applications, data is collected from heterogeneous sources and is generally dispersed across geographic locations. In this context, it is imperative to design learning algorithms that are better suited to the reality of networked units. New methodologies are necessary to account for “coupling” among “intelligent” agents in a manner that respects privacy, enables multi-tasking, promotes fairness, and is robust to malicious interference. Motivated by these considerations, we provide an overview of algorithms for learning and decision-making that exploit important characteristics of social interactions over graphs. We refer to the framework as Social Machine Learning: it handles heterogeneity in data more gracefully, learns with performance guarantees, is more resilient to adversarial attacks, and promotes explainable and fair learning. The framework exploits three properties that are normally missing from existing learning approaches: diversity, decentralization, and group dynamics.