Machine Learning for Dummies - Book review
1 July 2021
Dr. Moria Levy
"Machine Learning for Dummies" is part of a book series that aims to teach the fundamentals of various disciplines. Published in 2018 and sponsored by IBM, the book was written by Judith Hurwitz, a consultant in the field, and Daniel Kirsch, one of her employees. In my opinion, Hurwitz and Kirsch have successfully made the initial knowledge of machine learning accessible to readers, even those without a technical background. The book provides an easy and enjoyable reading experience while effectively teaching and inspiring.
It's important to note that the book covers much more than what is described here. It gradually delves deeper into the subject matter, peeling back layers like an onion. I highly recommend reading this book to anyone interested in understanding machine learning. IBM provides free access to it at https://www.ibm.com/downloads/cas/GB8ZMQZ3. It is worth taking advantage of!
Here is an overview of the book's contents:
1. What is machine learning?
6. Initiating machine learning activities in the organization
7. Future trends
This roadmap guides readers through the different aspects of machine learning, starting with the fundamental concepts and gradually progressing to more advanced topics. By following this structured approach, readers can build a solid foundation of knowledge in the field.
In conclusion, "Machine Learning for Dummies" is an excellent resource for anyone seeking to understand the basics of machine learning. It provides comprehensive coverage of the subject matter in a manner that is accessible and engaging. I highly recommend reading this book to gain valuable insights into machine learning.
1. What is machine learning?
Machine learning, a branch of artificial intelligence, empowers systems to learn from data without explicit programming. Employing various algorithms, it iteratively analyzes and learns from data, enhancing its capacity to describe and predict outcomes. The more data the machine is trained on, the more accurate its models become. Machine learning is a fundamental aspect of artificial intelligence and cognitive computing, which aim to emulate human decision-making in complex scenarios where outcomes may be uncertain or inconclusive. In addition to machine learning, artificial intelligence integrates three complementary tools:
A. Causal reasoning: Offering causal explanations for intelligent decisions or recommendations.
B. Natural language processing (NLP): Analyzing and comprehending natural language text or speech.
C. Planning: Automatically generating a sequence of actions to attain a goal based on contextual information.
Before machine learning emerged, artificial intelligence predominantly relied on predefined business rules for reasoning. However, a distinguishing feature of artificial intelligence lies in its utilization of statistical models. These models facilitate the comprehension of existing data characteristics and enable predictive analytics by making predictions based on data analyses. In contrast to traditional data mining approaches, which focus on identifying recurring patterns and features to aid decision-making, machine learning automates the pattern recognition process, which is crucial for prediction.
Machine learning can be broadly categorized into three main types:
1. Supervised learning: This approach entails prior knowledge about the structure and content of the data. Sequential data employs regression algorithms, while classification algorithms handle discrete data.
2. Unsupervised learning: Suited for situations where a large amount of data is untagged, such as in online discourse. Machine learning algorithms search for patterns within the data and classify or label the content based on context. An example of unsupervised learning is collecting information about a disease or bacterium.
3. Reinforcement learning: Unlike the previous types, reinforcement learning involves the machine learning process through experimentation, feedback, and progress. It learns by interacting with its environment, receiving feedback, and improving performance accordingly. Applications of reinforcement learning include robot activity or game playing.
Deep learning, a specific approach within machine learning, incorporates neural networks with multiple layers, including input, hidden, and output layers. It combines elements of both supervised and unsupervised learning. Deep learning proves particularly effective in tasks such as image recognition and preliminary fracture detection, which can facilitate efficient preventive maintenance of equipment.
Data plays a critical role in machine learning as it serves as the foundation for the learning process. Data can be obtained from various sources, each with its characteristics:
• Intra-organizational/external: Data can originate from within the organization or be obtained from external sources.
• Structured (operational systems)/unstructured (content on social networks): Data can be organized in a structured manner, such as in operating systems, or unstructured, like the content found on social networks.
• Multiple (e.g., sensors)/Complex (videos): Data can be generated from multiple sources, such as sensors, or it can be complex, as in the case of video data.
Machine learning is often applied to big data, which is characterized by what is commonly referred to as the four V’s:
• Volume: Big data involves handling large volumes of data.
• Velocity: Data is generated and transferred rapidly, requiring efficient processing.
• Variety: Data comes from diverse and constantly expanding sources, including structured and unstructured data.
• Veracity: Ensuring the truthfulness and reliability of the data is crucial for accurate analysis.
Combining these characteristics poses challenges for traditional computing approaches, as they are no longer sufficient to handle and process data intelligently. This is where machine learning (ML) comes into play. While machine learning does not necessarily require big data, leveraging large datasets enhances the accuracy and improvement of models.
However, working with data in machine learning comes with its own set of challenges. These include:
• Inaccurate data: Data may contain errors, noise, or inconsistencies that can impact the accuracy of models.
• Insufficiently representative data: The data used for training the models may not fully represent real-world scenarios, leading to biased results.
• Unoptimized data: Data may require preprocessing or cleaning to remove irrelevant or redundant information.
• Having enough data scope for effective learning: Enough diverse and relevant data are needed to train models effectively.
• Understanding the context of the data: Contextual understanding is essential to interpret the data correctly and make accurate predictions. For example, the appearance of a tree without leaves in winter versus in summer carries different meanings.
• Filtering out data that may appear as noise: Identifying and filtering out data that may seem like noise but contains valuable information is crucial to avoid misleading results.
• Avoiding overfitting: Overfitting occurs when specific data overly influence models and fail to generalize well to new data.
• Incorporating additional databases and relevant data: Integrating other databases and relevant data sources can enrich the learning process and improve the performance of models.
Addressing these challenges and effectively managing data are critical steps in the machine-learning process to ensure the development of accurate and reliable models.
Algorithms are sets of instructions that computers follow to process data. They can be simple or complex, depending on the task at hand. In machine learning, different algorithm families support various business needs and learning stages. Today, there are libraries available that provide a wide range of algorithms to choose from. It is important to understand how to select the appropriate algorithm family and, within that, the optimal algorithms. Code is typically written in languages such as R, Python, or Java.
In machine learning, algorithms improve their performance as they process more data. Selecting the right algorithm involves a combination of structured and scientific approaches, as well as some intuition. Here are some key algorithm families:
• Bayesian: Helps determine the underlying model regardless of surface observations. Particularly useful when data is limited.
• Clustering: Associates objects into different clusters based on their characteristics. Beneficial when there is no predefined tagging or classification.
• Decision trees: Hierarchical algorithms that organize results, with each leaf in the tree representing the probability of an outcome. Useful for decision-making regarding the behavior of different populations, for example.
• Dimensionality reduction: Algorithms that remove irrelevant information that does not contribute to the model. Valuable in scenarios like the Internet of Things (IoT), where multiple sensors generate data and analyzing performance data requires focusing on relevant information.
• Instance-based: Matches new data based on its similarity to previously trained data. Suitable when data is randomly varied or partially missing. It helps identify patterns and is useful in biological, chemical, and pharmacological analysis.
• Neural networks and deep learning: Simulate brain function through interconnected data networks. In deep learning, multiple layers of connections are involved.
• Linear regression: Statistical analysis to understand relationships between data. Commonly used in machine learning. Caution is needed to consider the context and prevent misleading results.
• Regularization for preventing overfitting: A technique to adjust models and avoid the problem of overfitting, where models become too specialized for the training data.
• Rule-based machine learning: Uses predefined business rules to describe machine behavior.
Examples of typical applications include:
A. Trend forecasting (e.g., changing customer preferences, customer retention): Statistical classification algorithms like logistic regression and neural networks.
B. Facial recognition (e.g., locating characters in security cameras): Deep learning and neural network algorithms. Image analytics for indexing and categorizing objects in a series of films.
C. Fracture prediction (e.g., for preventive maintenance): Regression algorithms suitable for analyzing sensor data in IoT and continuous monitoring for maintenance purposes and, similarly, analyzing network and computing configurations to identify performance indicators.
D. Fraud detection: This complex task often requires a combination of multiple algorithms, including linear techniques and deep learning with neural networks. Common fraud patterns (according to the 20-80 rule) can be identified using linear tools, while other machine learning techniques are applied to address the remaining cases.
Note: Now readily available tools assist in selecting suitable algorithms, at least partially, for specific applications.
A machine learning model serves as the proposed solution to a business problem, encompassing the selected data, the algorithms applied to it, and the process undertaken to produce results. In each machine learning project, data is carefully chosen, and a model is constructed that utilizes a combination of algorithms to address the specific business problem within its unique context. Subsequently, the model undergoes training, enabling the generation of valuable insights from which the organization can learn.
However, the development of machine learning models has its challenges. These challenges include:
• Ensuring the correct selection of algorithms based on the nature of the data and the specific business problem at hand.
• Optimal selection of algorithms to strike a balance between performance and gaining meaningful insights.
• Being cautious of models that perform exceptionally well due to overfitting, as they may not generalize well to new data.
• Addressing potential biases within the data and models to ensure fairness and impartiality.
• Avoiding the pitfall of relying solely on statistical models without a deep understanding of the contextual factors and nuances.
• Adapting the model to changes in trends that were not considered during the learning process, ensuring ongoing relevance and effectiveness.
Overcoming these challenges is crucial in developing robust and reliable machine-learning models that provide valuable solutions to real-world business problems.
The workflow in machine learning involves the following steps:
A. Model Formulation:
1. Identify relevant data from within and outside the organization and carefully select it for use.
2. Ensure governance by making decisions on how information is stored and secured to prevent improper use of private, sensitive, or classified data.
3. Perform data cleansing to remove any inconsistencies or errors in the data.
4. Select appropriate algorithms for the machine learning task.
B. Machine Training:
• Representation: Run the selected algorithm on increasing data to train the model.
• Evaluation: Assess various models created, either by human experts or through automated processes, to determine the most accurate and effective ones.
Optimize the algorithms used based on their performance. It is important to note that this step typically requires a large volume of data. As the algorithm is exposed to more data, it can develop a more generalized and suitable model.
D. Applying Machine Learning to Real Business Problems:
Apply the trained machine learning model to address the specific problem in a real-world business context.
E. Predicting Machine Operation and Learning from Results:
Make predictions using the machine learning model on real data and learn from the obtained outcomes. This step allows for continuous improvement and refinement of the model.
F. Performance Evaluation and Process Improvement:
Regularly evaluate the performance of the machine learning model and cyclically update the learning process to enhance its effectiveness.
By following this workflow, organizations can leverage machine learning to solve complex problems and make informed decisions based on data-driven insights.
6. Initiating machine learning activities in the organization
Initiating machine learning activities in an organization involves the following steps:
A. Staff Training: It is recommended to provide staff training instead of relying solely on outside experts. This training should include learning programming languages, exposure to algorithms, understanding probabilities and statistics, data management, and the lifecycle of machine learning.
B. Learning and Understanding: Gain a general understanding of how machine learning can benefit the organization by learning from the experiences of other organizations in the field.
C. Focus on a Business Problem: Identify a specific business problem that can be addressed through machine learning and prioritize its implementation.
D. Identification of Hidden Information Sources: Explore and identify any hidden sources of information within the organization that can contribute to the machine learning initiatives.
E. Pilot Execution: Begin the implementation process by following the earlier work process. This involves data selection, model formulation, machine training, optimization, applying machine learning to the problem at hand, predicting machine operation, and learning from the results.
F. Deciding on Further Steps and Organizational Expansion: Evaluate the outcomes of the pilot execution and determine the next steps for scaling up machine learning initiatives within the organization. Consider expanding collaboration and breaking down silos between different units to facilitate effective knowledge sharing.
- It is crucial to consider all organizational information and break down existing silos between different units to ensure comprehensive and collaborative machine learning efforts.
- Machine learning requires collaborative work involving interdisciplinary teams and effective communication.
- There are numerous sources of information available for studying machine learning. The recommended book provides a list of such sources and references for further exploration.
7. Future trends
The authors of the book, writing in 2018, presented ten emerging trends anticipated to materialize soon. These trends include:
a. Integration of machine learning into many of the applications we use.
b. Utilization of pre-trained data as a service that can be purchased.
c. Greater integration of models in live environments, accompanied by user interfaces. (Currently, most models are used offline.)
d. Increased adoption of machine learning as a consumable, offering ready-made services.
e. Maturation of natural language processing (NLP) solutions.
f. Growing automation in machine learning processes, freeing employees to focus on more complex tasks. This encompasses various components, including improved data visualization for clear insights.
g. Development of dedicated hardware to enhance machine learning performance.
h. Automation of algorithm selection and data training processes.
i. Heightened transparency in machine learning outcomes and recommendations, leading to increased trust among employees and managers.
j. Expansion of machine learning as an end-to-end process, shifting from its current predominance in partial tasks within the workflow.
Please note that these trends were projected in 2018 and may have evolved since then.