Soft computing in machine learning is a multi-disciplinary field proposed by Dr. Lotfi Zadeh in 1981. This multidisciplinary field evolve to construct a new generation that we namely know as Artificial Intelligence. Dr. Zadeh define soft computing as the fusion of fields like:
- Fuzzy logic
- Neuro Computing
- Evolutionary and Genetic Computing
- Genetic Computing
- Probabilistic Computing
The major goal of soft computing is to develop a machine thatis artificially intelligent similar to human mind. This artificially intelligent machine can solve non-linear and mathematically unmodelled system problems. The machine would also have features of human mind such as cognition, recognition, understanding, learning, etc.
The soft computing further expanded beyond what Dr. Zadeh initiated. So, the broader definition of soft computing includes:
- Fuzzy Sets
- Neural Network
- Evolutionary Computing
- Probabilistic and Evidential Reasoning
- Multivalued Logic
Soft Computing in Machine Learning
- What is Soft Computing?
- Techniques of Soft Computing
- Soft Computing Vs Hard Computing
- Applications of Soft Computing
- Future of Soft Computing
What is Soft Computing?
Soft computing is a multidisciplinary field that compute solution for a wide range of problems. The output generated from these computations are imprecise, uncertain, or fuzzy in nature. It could be applied to complex systems where:
- The system is non-liner, time variant or ill defined.
- Have a mathematical model that either too difficult to encode, it may does not exit, or is too complicated and expensive to evaluate.
- The variables are continuous.
- Have noisy and numerous inputs.
The general area where these kinds of complex systems are required are:
- Data mining
- Decision support or auto-decision-making
Techniques in Soft Computing
Neural network is a network build up of number of processing element referred as neurons. The link that connects neurons together in the network is synapses. Each synapse has an associated weight that they learn while the network is trained.
These neurons are subjected to take input from the outer world or from the output generated by the other neurons in the network. The output generated from each neuron propagate their effect across the entire neural network. And at the final layer of the network the result is output to the real world.
The functionality of the network or its power depends on the number of neurons the network has, there interconnectivity pattern and value of the weight assigned to each network.
We can train neural network to perform complex tasks, they do not require programming as the conventional computers. The neural networks are parallel, fast and fault tolerant, they learn from their past experience, generalize from given example and are able to extract essential information from noisy data.
Neural networks are good at:
- Data mining
- Prediction system
Fuzzy logic system functions in a way human represent and reason with the real-world knowledge in the case of uncertainty i.e. the value is not clear or is vague. This uncertainty could be because of ambiguity, chance or incomplete knowledge.
There occur events in our day to day life when we are unable to determine the sate of solution whether it is true or false. Like you have been asked if the cup of coffee you are holding is hot or not? And here you feel that the cup is not that hot, it should be but it is neither cold. So here neither you can answer that the cup is hot nor you can answer the cup is not hot.
Genetic Algorithms in Evolutionary Computation
Genetic algorithms are good at optimization. These algorithms are inspired by biological genetics that we find in living beings. The biological genetic in living beings are simple yet powerful, domain free and have probabilistic approach.
Models implementing genetic algorithm includes phenomena of natural selection. Includes selection and production of variations by means of recombination, mutation, inversion, diploid and others.
Most of the genetic algorithm perform three operations to obtain the new child offspring.
- Selection and survival of fittest
Soft Computing Vs Hard Computing
|Point of Comparison||Soft Computing||Hard Computing|
|Definition||Soft computing is tolerant to imprecision, uncertainty, partial truth, and approximation. Role model for soft computing is human mind.||Hard computing requires precision, certainty, it requires a mathematical model and often a lot of computational time.|
|Computing Requirement||It requires fuzzy logic and probabilistic reasoning.||It requires binary logic and crisp system.|
|Nature||It is stochastic in nature.||It is deterministic in nature.|
|Computation||It performs parallel computation.||It performs sequential computation.|
|Solution||Soft computing emerges its own program to identify solution to a problem.||Hard computing required predefined program to compute solution to a problem.|
|Computation time||Requires less time for computation.||Requires more time for computation.|
|Results||Produces approximate results.||Produces precise results.|
Application of Soft Computing
- Hand writing recognition
- Automotive systems and manufacturing
- Decision-support system
- Power systems
- Neuro fuzzy systems
- Fuzzy logic control
Soft computing in machine learning is emerging as a powerful approach in field of computing. Its aim is to construct intelligent system has ability to compute parallel similar to human brain. These intelligent systems will also be capable of learning, reasoning in an uncertain and imprecise environmental condition. The computing paradigm that it uses neural network, fuzzy system and evolutionary algorithms.