Teaching Machine Learning using MATLAB in the Undergraduate and Graduate Student's Curriculum

Sani Abba, Department of Mathematical Sciences (Computer Science), Abubakar Tafawa Balewa University (Federal University of Technology), Nigeria.

Machine learning has gain tremendous attention in the research community and institutions of higher learning. The institutions of higher learning are looking for innovative ways to leverage the use of MATLAB to help the students to have a better understanding of machine learning and its applications in different fields. By the way of selecting the correct machine learning models for the university curriculum, the students will have the ability to continually predict the changes in the problem solving technique so that they can precisely predict the future. As the volume of data is continuously increasing, the solutions provided by the machine learning models are continuously updated. And of course, this helps to easily and precisely predict the future. Machine learning is part of an artificial intelligence (AI). It allows a system to learn from data in contrast to explicit programming techniques. However, machine learning is a complex process that requires high computation, and this is possible using MATLAB. Machine learning employ the use of various algorithms that iteratively learn from data to examine, enhance, improve and predict outcomes. As training data is inputed to the algorithm, a more accurate and precise models can be produced based on the inputed data. A trained machine learning algorithm with data input produces an output that is called a machine learning model. A trained model with an inputed data will produce an output. To simplify the concept clearly, a predictive algorithm can generate a predict model. So, when a predictive model is inputed with data it produces a prediction based on the data that trained the model. MATLAB is a tool for implementing machine learning and analytics models [1].

Teaching machine learning using MATLAB to university students is very essential. This is due to the fact that MATLAB provides huge computing resources and toolboxes for the students to create and implement their innovative algorithms and approaches. The students now utilize the benefits of MATLAB in creating new machine learning models to train and re-train the existing models to improve performance and accuracy of the output results. The addition of MATLAB to the university curriculum has resulted in the overwhelming increases in the demand of graduate students having machine learning skills. Nowadays, artificial intelligence provides the capabilities of processing extensively complex jobs with high accuracy and processing speed. However, the volume of data produced today are huge. To solve these complex problems with huge amount of data, a deep learning technique is essential to provide a solution [2].

Computers nowadays are made to learn to improve autonomously with experience there by impacting tremendously in problem solving. For instance, imagine how computers are learning from medical records which made it possible for effective and reliable new diseases treatment and availability of medicines, landlords learning from experience to optimize energy costs according to the tenants energy usage. A better understanding of how to make computers learn will help the students to learn new uses of computers and new levels of competence and expertise. In addition, a detailed understanding of MATLAB might lead to a better understanding of a machine learning algorithms [3].

The inclusion of computational skills in the undergraduate and graduate university curriculum has a paramount importance in developing the student's ability to have a logical reasoning. It is well known fact that computational skills are the backbone of machine learning applications. Machine learning and deep learning are the promising technological advancement in the modern world. For instance, the automobiles, airplanes, mobile phones, medical equipment etc., need machine learning technique for their design and implementation.These devices and equipment's not only do they require lots of computation but they must meet real-time performance requirements using machine learning and MATLAB computation [4].

MATLAB computational tools make the design and implementation of machine learning algorithms a very different experience than using traditional programming languages, in which we can not precisely and accurately predict the future. Therefore, the use of MATLAB tools to create machine learning applications to meet different applications needs becomes imperative. The design and implementation of the algorithms should be programmable enough to make the design flexible and efficient, but not provide unnecessary flexibility that would detract from meeting the initial system requirements [5].

MATLAB is a fantastic tool for teaching and training of an undergraduate and graduate students to learn how to become expert in problem solving skills and solving computational problems. The package is enriched with an object-oriented programming environment, built-in functions, toolboxes, and Simulink suitable for engineering and science students in the introductory and final year courses [6].

I was engaged in teaching and training of undergraduate and graduate students for the past sixteen years. I taught several courses in computer science and engineering classes. Some of these courses are: EA413 computer programming for engineers (MATLAB programming) and CS601 Parallel Algorithms Analysis, Design and Architectures. Based on these years of teaching and learning, I found MATLAB computation as a vital tool for creating machine learning models and applications. Teaching machine learning to engineering and science students at the upper undergraduate level is a very difficult task. This is due to the fact that most of the students do not have prior programming experience. To teach machine learning, the students need a basic programming concept in MATLAB as a prerequisite. Therefore, basic programming concepts and skills are needed for better understanding and problem solving in their respective discipline using MATLAB.

Teaching machine learning to undergraduate students is a problem that requires answers to three important questions: (1) what type of data the students should work with in their model? (2) what insights do they obtained from the data? (3) how the obtained insights can be applied to different applications? To solve these problems encountered by the students, a holistic approach is employed to help the students to decide whether to use supervised or unsupervised learning. The students should select supervised learning when training model to make a prediction. For instance, predicting the future value of a continuous variable (i.e., temperature reading, the value of the stock price), or a classification (i.e., identify makes of mobile-phone manufacturers from webcam video footage). The students should select unsupervised learning when exploring huge dataset and training the model to predict the best internal representation (i.e., data clustering) [7].

A strategic approach is essential in advanced computing using MATLAB to explore the machine learning capabilities together with all its enabling technologies that are crucial to tackle the current and future computational problems [8].

As a course instructor, I aimed to teach and demonstrates the basic computational concepts, such as mathematical modeling, algorithms analysis and design techniques and machine learning and how they can be applied in real life problems and use MATLAB as a tool for the design and implementation. The students are given a semester-long assignment to solve a real-life machine learning problem in areas such as nuclear physic, robotics, automobiles, big data, internet of things, etc. By the way of adopting this approach, this will help the students to apply the knowledge acquired during the class activity to solve real-life problems. In doing so, the students are transformed through the process of identifying real-life challenges facing scientist and engineers in the present technological advancement using MATLAB.

Finally, through this approach of teaching and learning of MATLAB computational skills using machine learning technique, the students have learnt how to solve computational problems in their respective disciplines, write good projects and obtain good academic records. In addition, they have realized that MATLAB is the best tool for teaching and learning of machine learning algorithms and applications compared to traditional programming languages and tools.

[1] Judith Hurwitz and Daniel Kirsch, IBM Machine Learning for Dummies, John Wiley & Sons, Inc. 111 River St. Hoboken, NJ 07030-5774, 2018, pp. 8-12.
[2] Machine Learning, Tutorial Point, Easy learning, available at: http//www.tutorialsponit.com.
[3] Tom M. Mitchell, Machine Learning, McGraw-Hill Inc. March 1, 1997, ISBN: 0070428077, pp. 13-30.
[4] Abba, S. Essay: MATLAB as a Tool for Teaching and Learning of High-Performance Computing Applications, Teaching Computation in the Sciences using Matlab Workshop, Carleton College, North-field, Minnesota, USA. October 14-16, 2018. Available at: https://serc.carleton.edu/teaching_computation/workshop_2018/essays/210993.html.
[5] Marilyn Wolf, High-Performance Embedded Computing Applications in Cyber-Physical Systems and Mobile Computing, Georgia Institute of Technology, Morgan Kaufmann, Elsevier Inc., 225 Wyman Street, Waltham, MA 02451, USA, Second Edition 2014, pp. 1-20.
[6] Stormy Attaway, MATLAB: A practical Introduction to Programming and Problem Solving, College of Engineering, Boston University, MA, Butterworts-Heinemann, Elsevier Inc., Third Edition, 2013, pp. 14-70.
[7] MathWorks, Introducing Deep learning with MATLAB, Ebook, MatWorks Inc., 80789V00, pp. 1-13.
[8] Timothy J. Barth, Michael Griebel, David E. Keyes, Risto M. Nieminen, Dirk Roose, Tamar Schlick, Advanced Computing: Lecture Notes in Computational Science and Engineering, No. 93, Springer-Verlag Berlin, Heidelberg 2013, pp. i-viii.

Downloadable version of this essay