7.fuzzy Logic
7.fuzzy Logic
The term fuzzy refers to things that are not clear or are vague. In the real world many times we
encounter a situation when we can’t determine whether the state is true or false, their fuzzy logic
provides very valuable flexibility for reasoning. In this way, we can consider the inaccuracies and
uncertainties of any situation.
Fuzzy Logic is a form of many-valued logic in which the truth values of variables may be any real
number between 0 and 1, instead of just the traditional values of true or false. It is used to deal with
imprecise or uncertain information and is a mathematical method for representing vagueness and
uncertainty in decision-making.
Fuzzy Logic is based on the idea that in many cases, the concept of true or false is too restrictive, and
that there are many shades of gray in between. It allows for partial truths, where a statement can be
partially true or false, rather than fully true or false.
Fuzzy Logic is used in a wide range of applications, such as control systems, image processing, natural
language processing, medical diagnosis, and artificial intelligence.
The fundamental concept of Fuzzy Logic is the membership function, which defines the degree of
membership of an input value to a certain set or category. The membership function is a mapping
from an input value to a membership degree between 0 and 1, where 0 represents non-membership
and 1 represents full membership.
Fuzzy Logic is implemented using Fuzzy Rules, which are if-then statements that express the
relationship between input variables and output variables in a fuzzy way. The output of a Fuzzy Logic
system is a fuzzy set, which is a set of membership degrees for each possible output value.
In summary, Fuzzy Logic is a mathematical method for representing vagueness and uncertainty in
decision-making, it allows for partial truths, and it is used in a wide range of applications. It is based
on the concept of membership function and the implementation is done using Fuzzy rules.
In the boolean system truth value, 1.0 represents the absolute truth value and 0.0 represents the
absolute false value. But in the fuzzy system, there is no logic for the absolute truth and absolute
false value. But in fuzzy logic, there is an intermediate value too present which is partially true and
partially false.
ARCHITECTURE
RULE BASE: It contains the set of rules and the IF-THEN conditions provided by the experts to
govern the decision-making system, on the basis of linguistic information. Recent
developments in fuzzy theory offer several effective methods for the design and tuning of
fuzzy controllers. Most of these developments reduce the number of fuzzy rules.
FUZZIFICATION: It is used to convert inputs i.e. crisp numbers into fuzzy sets. Crisp inputs are
basically the exact inputs measured by sensors and passed into the control system for
processing, such as temperature, pressure, rpm’s, etc.
INFERENCE ENGINE: It determines the matching degree of the current fuzzy input with
respect to each rule and decides which rules are to be fired according to the input field.
Next, the fired rules are combined to form the control actions.
DEFUZZIFICATION: It is used to convert the fuzzy sets obtained by the inference engine into a
crisp value. There are several defuzzification methods available and the best-suited one is
used with a specific expert system to reduce the error.
Membership function
Definition: A graph that defines how each point in the input space is mapped to membership value
between 0 and 1. Input space is often referred to as the universe of discourse or universal set (u),
which contains all the possible elements of concern in each particular application.
Singleton fuzzifier
Gaussian fuzzifier
It may not be designed to give accurate reasoning but it is designed to give acceptable
reasoning.
It can emulate human deductive thinking, that is, the process people use to infer conclusions
from what they know.
Any uncertainties can be easily dealt with the help of fuzzy logic.
This system can work with any type of inputs whether it is imprecise, distorted or noisy input
information.
Fuzzy logic comes with mathematical concepts of set theory and the reasoning of that is
quite simple.
It provides a very efficient solution to complex problems in all fields of life as it resembles
human reasoning and decision-making.
The algorithms can be described with little data, so little memory is required.
Many researchers proposed different ways to solve a given problem through fuzzy logic
which leads to ambiguity. There is no systematic approach to solve a given problem through
fuzzy logic.
Proof of its characteristics is difficult or impossible in most cases because every time we do
not get a mathematical description of our approach.
As fuzzy logic works on precise as well as imprecise data so most of the time accuracy is
compromised.
Application
It is used in the aerospace field for altitude control of spacecraft and satellites.
It has been used in the automotive system for speed control, traffic control.
It is used for decision-making support systems and personal evaluation in the large company
business.
It has application in the chemical industry for controlling the pH, drying, chemical distillation
process.
Fuzzy logic is used in Natural language processing and various intensive applications in
Artificial Intelligence.
Fuzzy logic is extensively used in modern control systems such as expert systems.
Fuzzy Logic is used with Neural Networks as it mimics how a person would make decisions,
only much faster. It is done by Aggregation of data and changing it into more meaningful data
by forming partial truths as Fuzzy sets.
Decision Tree
A decision tree is one of the most powerful tools of supervised learning algorithms used for both
classification and regression tasks. It builds a flowchart-like tree structure where each internal node
denotes a test on an attribute, each branch represents an outcome of the test, and each leaf node
(terminal node) holds a class label. It is constructed by recursively splitting the training data into
subsets based on the values of the attributes until a stopping criterion is met, such as the maximum
depth of the tree or the minimum number of samples required to split a node.
During training, the Decision Tree algorithm selects the best attribute to split the data based on a
metric such as entropy or Gini impurity, which measures the level of impurity or randomness in the
subsets. The goal is to find the attribute that maximizes the information gain or the reduction in
impurity after the split.
A decision tree is a flowchart-like tree structure where each internal node denotes the feature,
branches denote the rules and the leaf nodes denote the result of the algorithm. It is a
versatile supervised machine-learning algorithm, which is used for both classification and regression
problems. It is one of the very powerful algorithms. And it is also used in Random Forest to train on
different subsets of training data, which makes random forest one of the most powerful algorithms
in machine learning.
Root Node: It is the topmost node in the tree, which represents the complete dataset. It is
the starting point of the decision-making process.
Leaf/Terminal Node: A node without any child nodes that indicates a class label or a
numerical value.
Splitting: The process of splitting a node into two or more sub-nodes using a split criterion
and a selected feature.
Branch/Sub-Tree: A subsection of the decision tree starts at an internal node and ends at the
leaf nodes.
Parent Node: The node that divides into one or more child nodes.
Child Node: The nodes that emerge when a parent node is split.
Variance: Variance measures how much the predicted and the target variables vary in
different samples of a dataset. It is used for regression problems in decision trees. Mean
squared error, Mean Absolute Error, friedman_mse, or Half Poisson deviance are used to
measure the variance for the regression tasks in the decision tree.
Pruning: The process of removing branches from the tree that do not provide any additional
information or lead to overfitting
Step-1: Begin the tree with the root node, says S, which contains the complete dataset.
Step-2: Find the best attribute in the dataset using Attribute Selection Measure (ASM).
Step-3: Divide the S into subsets that contains possible values for the best attributes.
Step-4: Generate the decision tree node, which contains the best attribute.
Step-5: Recursively make new decision trees using the subsets of the dataset created in step
-3. Continue this process until a stage is reached where you cannot further classify the nodes
and called the final node as a leaf nodeClassification and Regression Tree algorithm.
1. It is simple to understand as it follows the same process which a human follow while making
any decision in real-life.
2. It may have an overfitting issue, which can be resolved using the Random Forest algorithm.
3. For more class labels, the computational complexity of the decision tree may increase.
Note: Please also study from:
https://www.tutorialspoint.com/fuzzy_logic/fuzzy_logic_quick_guide.htm
https://studylib.net/doc/5800818/fuzzy-decision-trees
https://www.investopedia.com/terms/f/fuzzy-logic.asp
https://www.educba.com/fuzzy-logic-system/