Machine learning is a subfield of artificial intelligence, broadly defined as a machine's capability to imitate intelligent human behavior. Like humans, machines become capable of making intelligent decisions by learning from their past experiences. Machine learning is being employed in many applications, including fraud detection and prevention, self-driving cars, recommendation systems, facial recognition technology, and intelligent computing. This book helps beginners learn the art and science of machine learning. It presents real-world examples that leverage the popular Python machine learning ecosystem,
The topics covered in this book include machine learning basics: supervised and unsupervised learning, linear regression and logistic regression, and Support Vector Machines (SVMs). It also delves into special topics such as neural networks, the theory of generalisation, and bias and fairness in machine learning. After reading this book, computer science and engineering students - at college and university levels - will receive a complete understanding of machine learning fundamentals and will be able to implement neural network solutions in information systems, and also extend them to their advantage.
Table of Contents
Chapter 1 Introduction to Python
- Introduction
- Web Development
- Game Development
- Artificial Intelligence and Machine Learning
- Desktop GUI
- Setting Up Python Environment
- Steps Involved in Installing Python on Windows Include the Following:
- Steps Involved in Installing Python on Macintosh Include the Following
- Setting up Path
- Setting up Path in the Unix/Linux
- Why Python for Data Science?
- Ecosystem for Python Machine Learning
- Essential Tools and Libraries
- Jupyter Notebook
- Pip Install Jupiter
- Numpy
- Pandas
- Scikit-Learn
- Scipy
- Matplotlib
- Mglearn
- Python Codes
- Conclusion
- Exercises
- References
Chapter 2 Introduction To Machine Learning
- Introduction
- Design A Learning System
- Selection of Training Set
- Selection of Target Function
- Selection of A Function Approximation Algorithm
- Perspective and Issues in Machine Learning
- Issues in Machine Learning
- Quality of Data
- Improve the Quality of Training
- Overfitting the Training Data
- Machine Learning Involves A Complex Process
- Insufficient Training Data
- Feasibility of Learning An Unknown Target Function
- Collection of Data
- Pre-Processing of Data
- Finding the Model That Will be Best for the Data
- Training and Testing of the Developed Model Evaluation
- In Sample Error and Out of Sample Error
- Applications of Machine Learning
- Virtual Personal Assistants
- Traffic Prediction
- Online Transportation Networks
- Video Surveillance System
- Social Media Services
- People, You May Know
- Face Recognition
- Similar Pins
- Sentiment Analysis
- Email Spam and Malware Filtering
- Online Customer Support
- Result Refinement of a Search Engine
- Product Recommendations
- Online Fraud Detection
- Online Gaming
- Financial Services
- Healthcare
- Oil and Gas
- Self-Driving Cars
- Automatic Text Translation
- Dynamic Pricing
- Classification of News
- Information Retrieval
- Robot Control
- Conclusion
- Exercises
- References
Chapter 3 Linear Regression and Logistic Regression
- Introduction
- Linear Regression
- Linear Regression in One Variable
- Linear Regression in Multiple Variables
- Overfitting and Regularization in Linear Regression
- Gradient Descent
- Polynomial Regression
- Features of Polynomial Regression
- Logistic Regression
- Overfitting and Regularisation in Logistic Regression
- Binary Classification and Multi-Class Classification
- Binary Classification Tests
- Classification Accuracy
- Error Rate
- Sensitivity
- Specificity
- Python Codes
- Conclusion
- Exercises
- References
Chapter 4 Support Vector Machine
- Introduction
- Support Vector Classification
- The Maximal Margin Classifier
- Soft Margin Optimization
- Linear Programming Support Vector Machines
- Support Vector Regression
- Kernel Ridge Regression
- Gaussian Processes
- Applications of Support Vector Machine
- Text Categorisation
- Image Recognition
- Bioinformatics
- Python Code
- Conclusion
- Exercises
- References
Chapter 5 Decision Trees
- Introduction
- Regression Trees
- Stopping Criterion and Pruning Loss Functions in Decision Tree
- Categorical Attributes, Multiway Splits and Missing Values in Decision Trees
- Issues in Decision Tree Learning
- Preventing Overfitting of Data
- Incorporating Continuous Valued Attributes
- Other Measures for Attributes Selection
- Handling Missing Values
- Handling of Attributes With Differing Costs
- Instability in Decision Trees
- Python Code
- Conclusion
- Exercises
- References
Chapter 6 Neural Network
- Introduction
- Early Models
- Perceptron Learning
- Backpropagation
- An Illustrative Example: Face Recognition
- Stochastic Gradient Descent
- Advanced Topics in Artificial Neural Network
- Alternative Error Functions
- Alternative Error Minimization Mechanism
- Recurrent Networks
- Dynamically Modifying Network Structures
- Python Codes
- Conclusion
- Exercises
- References
Chapter 7 Supervised Learning
- Introduction
- Using Statistical Decision Theory
- Gaussian Or Normal Distribution
- Conditionally Independent Binary Components
- Learning Belief Networks
- Nearest-Neighbour Methods
- Conclusion
- Exercises
- References
Chapter 8 Unsupervised Learning
- Introduction
- Clustering
- K-Means Clustering
- Hierarchical Clustering
- Principal Component Analysis (PCA)
- Python Code
- Conclusion
- Exercises
- References
Chapter 9 Theory of Generalisation
- Introduction
- Bounding the Testing Error
- Vapnik Chervonenkis Inequality
- Proof of Vc Inequality
- Conclusion
- Exercises
- References
Chapter 10 Bias and Fairness in Ml
- Introduction
- How To Detect Bias?
- How To Fix Biases Or Achieve Fairness in Ml?
- Confidence Intervals
- Hypothesis Testing
- Comparing Learning Algorithms
- Conclusion
- Exercises
- References
- Appendix
- Conclusion
- Subject Index
Author
- Deepti Chopra
- Roopal Khurana