Neural Networks and Machine Learning Applications CSC 563 Prof. Mohamed Batouche Computer Science Department CCIS – King Saud University Riyadh, Saudi Arabia mbatouche@ccis.ksu.edu.sa Syllabus Course Description Humans are capable of tackling extremely difficult problems without the benefit of an a priori solution. They learn from experience and can often transfer knowledge acquired to novel instances or even whole new tasks. “Are machines capable of similar problem solving process?” In this course, we will study multiple machine learning models including neural networks, support vector machines, Bayesian learning, reinforcement learning and learning through emergent behaviour. 2 Syllabus Recommended Books: Introduction to Machine Learning, Eethem Alpaydin, The MIT Press, October 2004. Machine Learning, Tom Mitchell, McGraw Hill, 1997. Introduction to Machine Learning, Nils J. Nilsson (available (free) from the Web). Artificial Intelligence Illuminated, BEN COPPIN, Jones and Bartlett Illuminated Series, 2004 Research papers (available from the Web). 3 Syllabus Grading MT1 MT2 20% 20% Final exam 40% Research papers 20% KSU Group: http://faculty.ksu.edu.sa/mohamedbatouche 4 Syllabus Course Overview (main topics) What is Machine Learning? Neural Networks Learning Support Vector Machines Bayesian Learning Reinforcement Learning Artificial Life Machine Learning applications 5 What is Machine Learning? What is Learning ? Herbert Simon: “Learning is any process by which a system improves performance from experience.” What is the task? Classification Problem solving / planning / control 7 What is Learning ? Classification: Assign object/event to one of a given finite set of categories. Medical diagnosis Spam filtering in email Financial investments Spoken words Handwritten letters 8 What is Learning ? Problem Solving/Planning/Control: Performing actions in an environment in order to achieve a goal. Playing checkers, chess, or backgammon Driving a car or a jeep Flying a plane, helicopter, or rocket Controlling a mobile robot 9 What is Machine Learning ? Definition: A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E. 10 Why Study Machine Learning? AI began as an attempt to understand the nature of intelligence, but it has grown into a scientific and technological field affecting many aspects of commerce and society. The main goals of AI & ML are: Engineering better computing systems: Develop systems that are too difficult/expensive to construct manually because they require specific detailed skills or knowledge tuned to a specific task 11 Why Study Machine Learning? Cognitive Science: Computational studies of learning may help us understand learning in humans and other biological organisms. Even as AI Technology becomes integrated into the fabric of everyday life. AI researchers remain focused on the grand challenges of automating intelligence. 12 Examples of Successful Applications of Machine Learning : Learning to recognize spoken words (Lee, 1989; Waibel, 1989). Learning to drive an autonomous vehicle (Pomerleau, 1989). Learning to classify new astronomical structures (Fayyad et al., 1995). Learning to play world-class backgammon (Tesauro 1992, 1995). 13 Why is Machine Learning Important ? Some tasks cannot be defined well, except by examples (e.g., recognizing people). Human designers often produce machines that do not work as well as desired in the environments in which they are used. 14 Why is Machine Learning Important ? The amount of knowledge available about certain tasks might be too large for explicit encoding by humans (e.g., medical diagnostic). Environments change over time. New knowledge about tasks is constantly being discovered by humans. It may be difficult to continuously re-design systems “by hand”. 15 ML Topics: A Quick Introductory Overview The main ML topics we’ll cover in this course: neural networks, Reinforcement Learning … Artificial Life (Cellular Automata, GAs, GP …) 16 ML Topics: A Quick Introductory Overview Developing Intelligent Program Systems Two main approaches: Symbolic Approach Expert systems: Feed the system with knowledge. There is no learning !! Connectionist Approach Neural Networks: The system learns from examples by itself. 17 Symbolic Approach 18 ML Topics: A Quick Introductory Overview Expert system expert system (or knowledge-based system): a program which encapsulates knowledge from some domain, normally obtained from a human expert in that domain components: Knowledge base (KB): repository of rules, facts (productions) working memory: (if forward chaining used) inference engine: the deduction system used to infer results from user input and KB user interface: interfaces with user external control + monitoring: access external databases, control,... 19 ML Topics: A Quick Introductory Overview Expert System Why use expert systems: commercial viability: whereas there may be only a few experts whose time is expensive and rare, you can have many expert systems expert systems can be used anywhere, anytime expert systems can explain their line of reasoning commercially beneficial: the first commercial product of AI Weaknesses: expert systems are as sound as their KB; errors in rules mean errors in diagnoses automatic error correction, learning is difficult the extraction of knowledge from an expert, and encoding it into machineinferrable form is the most difficult part of expert system implementation 20 Connectionist Approach 21 ML Topics: A Quick Introductory Overview Machine Learning : Neural Nets Artificial Neural Networks: Artificial Neural Networks are crude attempts to model the highly massive parallel and distributed processing we believe takes place in the brain. Two main areas of activity: Biological: Try to model biological neural systems. Computational: develop powerful applications. 22 ML Topics: A Quick Introductory Overview Machine Learning : Neural Nets Neural nets can be used to answer the following: Pattern recognition: Does that image contain a face? Classification problems: Is this cell defective? Prediction: Given these symptoms, the patient has disease X Forecasting: predicting behavior of stock market Handwriting: is character recognized? Optimization: Find the shortest path for the TSP. 23 ML Topics: A Quick Introductory Overview Machine Learning : Neural Nets Strength and Weaknesses of ANN Examples may be described by a large number of attributes (e.g., pixels in an image). Data may contain errors. The time for training may be extremely long. Evaluating the network for a new example is relatively fast. Interpretability of the final hypothesis is not relevant (the NN is treated as a black box). 24 ML Topics: A Quick Introductory Overview Modern AI: Artificial Life, Complex Systems … 25 ML Topics: A Quick Introductory Overview Artificial Life & Complex Systems Artificial Life: An attempt to better understand “real” life by in-silico modeling of the entities we are aware of. Motivations: The Emergent properties in life motivate scientists to explore the possibility of artificially creating life and expecting the unexpected. An Emergent property is created when something becomes more than sum of its parts. 26 AI Topics: A Quick Introductory Overview Artificial Life : Cellular Automata • The CA space is a lattice of cells (usually 1D, 2D, 3D) with a particular geometry. • Each cell contains a variable from a limited range of values (e.g., 0 and 1). • All cells update synchronously. • All cells use the same updating rule, depending only on local relations. • Time advances in discrete steps. 27 AI Topics: A Quick Introductory Overview Cellular Automata: Game of Life Cellular Automata (CA) is an array of N-dimensional ‘cells’ that interact with their neighboring cells according to a pre-determined set of rules, to generate actions, which in turn may trigger a new series of reactions on itself or its neighbors. The best known example is Conway’s Life, which is a 2-state 2-D CA with simple rules (see on right) applied to all cells simultaneously to create generations of cells from an initial pattern. Conway’s Life: Rules A living cell with 0-1 8-neighbors dies of isolation A living cell with 4+ 8-neighbors dies from overcrowding All other cells are unaffected 28 AI Topics: A Quick Introductory Overview Artificial Life : Genetic Algorithms • Genetic Algorithms (GA) provide a learning method based on principles of biological evolution. • New hypotheses are generated by mutating and recombining current hypotheses. • At each step we have a population of hypotheses from which we select the most fit. • GA do a parallel search over different parts of the hypothesis space. 29 AI Topics: A Quick Introductory Overview Artificial Life : Genetic Programming + Genetic programming (GP) Genetic programming is a form of evolutionary computation in which the individuals in the population are computer programs. Programs are normally represented by trees. A program is executed by parsing the tree. Sin Sqrt x + ^ x y 2 F = sin(x) + sqrt( x^2 + y) 30 AI Topics: A Quick Introductory Overview Artificial Life : Genetic Programming Genetic programming (GP) Programming of Computers by Means of Simulated Evolution How to Program a Computer Without Explicitly Telling It What to Do? 31 What is Machine Learning ? To conclude: ML is a very fascinating field. It can help us solve difficult, real-world problems, creating new opportunities in business, engineering, and many other application areas. Even though AI & ML technology is integrated into the fabric of everyday life. The ultimate promises of AI & ML are still decades away and the necessary advances in knowledge and technology will require a sustained fundamental research effort. 32