IEEE Global Humanitarian Technology Conference (GHTC)
Technology for the Benefit of Humanity // Villanova University, USA / October 23-26, 2024

Applied Machine Learning for Social Good

Tutorial: Applied Machine Learning for Social Good

Date: Thursday, October 17, 1-5 pm


This tutorial focuses on teaching the process of applying machine learning in practical applications around societal challenges. We focus on the several societal challenges described by the United Nations Global Goals, and help define a systematic approach of thinking and building solutions that can take advantage of the data based learning abilities of machine learning and apply those to different challenges. Using the UN Global Goals, we start by focusing on established targets that are known to be important for society, and then we help build methods using machine learning, followed by methods to deploy such solutions for practical use.


This tutorial will focus on topics around using machine learning methods for social good. This includes knowledge of some basics in machine learning, and focusing on how to identify societal challenges, define problems, find solutions using machine learning and methods to deploy those solutions in the real world.


The tutorial will base itself on the course at University of California, Santa Cruz on Applied ML for Social Good ( This would include case studies, coding samples, and a full run through building an ML based solution for one of the target problems under the United Nations Global Goals.


First we will introduce the framework of Identification, Definition, Solution and Deployment. Then we will discuss the identification using UN Global Goals. This will then be used in definition using targets from Global Goals. Then we will teach a Machine Learning pipeline (Gather data, Extract features, Develop model, Train and optimize, Evaluate). This pipeline will then be used on a specific problem and dataset. The deployment will be taught using a client-server model. The tutorial will end with additional resources to learn more on the topic.

The tutorial will be in the form of an interactive project based class. This will include some basics of machine learning (ML) using python, a detailed framework for building ML solutions for applications in social good. The sequence of topics is as follows:

  1. We first introduce the idea of building machine learning assisted solutions that can help tackle some of the societal challenges.
  2. We then describe a process which follows Identification, Definition, Solution and Deployment.
  3. Identification refers to the process of analyzing different social challenges, and then identifying specific problems. For instance, we can refer to the targets associated with the United Nations Global Goals.
  4. Definition is the next step where given a problem space, we want to define it as a set of tasks which can use machine learning in different areas. While identification is to find a real world problem, definition is used to split it down into reasonably achievable tasks.
  5. Solution, the next step refers to building the ML based solution which follows its own pipeline and process.
  6. The role of definition is to turn the societal challenge into a machine learning problem on which a solution can be built.
  7. The final phase of deployment is the point where an ML based solution is reconnected with the societal challenge. This means that while the ML method may provide a numerical or a certain kind of result, it must be delivered to the end users in a consumable way.
  8. In deployment, we discuss methods using web, mobile and embedded technologies.
  9. Deployment can also refer to social or political methods using which an ML solution can be finally delivered to the beneficiaries.
  10. In solution, we define the concepts of gathering data, extracting features, building a learning model, training and optimization, followed by evaluation of the model before deployment, as described in Figure 1.
Process flow

Figure 1 – Machine learning process for building a solution.

The tutorial will run this process while helping build a full solution using Python and Tensorflow Starter code base will be provided and explained, and then more stages will be built over the process of learning. We will start by summarizing some case studies which will help build an intuition for the space. The tutorial will also include discussions where participants will work on forming a solution process for certain UN global goals targets.

In addition to the global goals, we also refer to the AI use cases in social good domain presented in [3]


At the end of the tutorial, we expect that the participants will develop a systematic flow of thinking about solutions using machine learning for tackling societal challenges. We also think that this tutorial will help build a framework which can be used to build different solutions. With the help of discussions in the tutorial, we expect to build a strong community in this domain, which focuses on deployable solutions for real societal challenges, and help achieve some progress on the United Nations Global Goals.


Rakshit Agrawal (University of California, Santa Cruz, USA)




[1] R. Agrawal, “Applied machine learning for social good.” [Online]. Available:
[2] U. Nations, “The global goals for sustainable development.” [Online]. Available:
[3] M. Chui, M. Harrysson, J. Manyika, R. Roberts, R. Chung, P. Nel, and A. van Heteren, “Applying artificial intelligence for social good.” [Online]. Available: