Introduction
Find the key to unlock the magic, or else it is all fuzzy logic
It was the pre-corona period and I went to a movie theatre. Before the beginning of the movie, the national anthem was played. Everyone voluntarily stood up with respect. I saw some of them singing aloud. One man (maybe from Army) even saluted the flag shown on the screen. A foreigner who was perplexed, nevertheless, slowly stood up observing the audience.
In the above incident, I mentioned various actions (standing, singing, and saluting) of the audience that was triggered by playing a familiar music tune. Let’s assume the theatre has 100 audiences and build an imaginary data table of actions.
Action |
Count |
Standing |
100 |
Singing |
30 |
Saluting |
1 |
If I replace the world Action with ‘behaviour pattern’, or simply ‘pattern’ you can see that the most common pattern is standing and the rare pattern is saluting. The foreigner, though confused, followed the most common pattern. Notice that our world is full of patterns. Nature is full of patterns.
It’s fun to mimic the mannerisms and speech of other people like celebrities. This simply means capturing behavior and language patterns.
I don’t trust WORDS, I even question ACTIONS, but I don’t doubt PATTERNS
What is a pattern?
A pattern is some phenomenon that repeats regularly based on a set rule or condition.
In my previous blog article, I mentioned that Music is all about melodious patterns. In this article, I am focusing on patterns in general and their importance in human and machine learning.
Human learning and pattern recognition
Learning is the constant disruption of an old pattern, a breakthrough that substitutes something old with something new
Humans and animals learn with the help of the senses. Learning helps in identifying and recognizing patterns around us. The process of pattern recognition involves matching the information received with the information already stored in the brain. Making the connection between memories and information perceived is a step of pattern recognition called identification.
Recognizing Patterns
Pattern recognition requires the repetition of experience. All discoveries and inventions to date are a result of the pattern recognition skills of humans.
Humans have a tendency to see patterns everywhere. They are important when making comparisons, judgments, and acquiring knowledge; we tend to be uneasy with chaos and chance, just like the foreigner who was perplexed in the movie theatre.
Why patterns?
Finding patterns is the essence of wisdom.
Finding patterns is extremely important. Patterns make our task simpler.
Finding and understanding patterns is crucial to mathematical thinking and problem-solving.
Let’s take the simple example of the sum of numbers from 1 to 10, which is 55.
1+2+3+…+10 = 55
Now, the sum of 11 to 20 is 10×10+55 = 155
And similarly, the sum of 21 to 30 is 20×10+55 = 255.
We can go on with this pattern to do a sum of 10 consecutive numbers. The mathematical formulas are nothing but concise representations of patterns.
Types of patterns
Logic, number, sound, image, and word patterns are all around us. Logic patterns help us classify similar objects, while number patterns help us predict a sequence. Word patterns help us make sense of language. Here is an example of a logic pattern.
Image patterns help in classifying information in images. Melodious music patterns can be identified with music sequences.
Design Patterns
Architect Christopher Alexander described first pattern language and design patterns.
A Design Pattern is a blueprint that provides a general solution to the similar type of issues you will encounter over and over in any field of activity. Here is an example.
Iterating with the Python “for” loop
Python’s for loop abstracts the Iterator Design Pattern so thoroughly that most Python programmers are never even aware of the object design pattern that it enacts beneath the surface. The for loop performs a repeated assignment, running its indented block of code once for each item in the sequence it is iterating over.
some_primes = [2, 3, 5] for prime in some_primes: print(prime) #output 2 3 4
Mathematics and Patterns
Mathematics is sometimes called the science of patterns. The most important concept in mathematics is a function. A function is an abstract representation of a pattern. Similarly, every field of activity has patterns.
Here, the function y = f(x) = 3x is shown as number pattern above. The pattern shows values of the sequence, but a function can output any value of the pattern sequence directly.
Data Patterns in Statistics
Graphic displays like histograms in statistics are useful for seeing patterns in data. Patterns in data are commonly described in terms of center, spread, shape, and unusual features.
Some common distributions have special descriptive labels, such as symmetric, bell-shaped, skewed, etc. This is useful in exploratory data analysis. Probability is used to anticipate the patterns in data.
Similarly, every field of activity has patterns. For example, Cancer cell patterns are studied by oncologists for determining prophylaxis.
So, identifying patterns is an easy way to understand, organize, and classify information.
Patterns in Data Mining
Data nowadays is in both structured (database, spreadsheet, etc) and unstructured form (images, documents, etc). Finding relevant data is a big challenge for stakeholders.
Data Mining tools perform data analysis to uncover important data patterns contributing greatly to business strategies and scientific research.
Patterns in Machine Learning
Machine learning uses mathematics, statistics, and domain-specific knowledge and data to solve complex problems.
What is machine learning? Here is a very simple definition.
Machine learning is turning things(data) into numbers and finding patterns in those numbers.
For finding patterns, algorithms are used. An algorithm is a specific set of steps to perform a task.
An “algorithm” in machine learning is a procedure that is run on data to create a machine learning “model.” A machine learning algorithm is written to derive the model. The model identifies the patterns in data that fit the dataset. Fit is a synonym to “find patterns in data”.
A “model” in machine learning is the output of a machine learning algorithm run on data.
A model represents what was learned by a machine learning algorithm. It is basically a mathematical function that can adapt to new data by tweaking its parameters.
Models are like the general equation of a line y = a + bx, while patterns are like a specific equation, e.g. y = 5 + 2x. Machine learning is about generalizing correctly to brand-new situations.
The basic task of machine learning is to create a model that can predict or classify different patterns from data. One of the applications of this is the classification of spam or non-spam data.
The algorithms adaptively improve their performance as the number of samples available for learning increases.
Two main types of machine learning are supervised and unsupervised machine learning.
Pattern recognition in a supervised approach is called classification. These algorithms use a two-stage methodology for identifying the patterns. The first stage is the development/construction of the model and the second stage involves the prediction for new or unseen objects.
Unsupervised learning is a type of machine learning that looks for previously undetected patterns in a data set with no pre-existing labels and with minimum human supervision.
Classification is supervised learning, while clustering is unsupervised learning.
Deep learning is a specialized form of machine learning that is inspired by the working of the brain. Deep learning uses artificial neural networks for more complex pattern tasks like audio and image processing, natural language processing, etc.
The below picture differentiates deep learning from other machine learning techniques.
Machine Learning vs. Pattern Recognition
Machine learning is a form of pattern recognition which is basically the idea of training machines to recognize patterns and apply them to practical problems. Machine learning is a feature that can learn from data and iteratively keep updating itself to perform better but, Pattern recognition does not learn problems but, it can be coded to learn patterns.
Pattern Recognition Applications:
The truth is outside of all fixed patterns
- Natural Language Processing Applications like spelling and grammar checkers, spam detectors, translation, and sentiment analysis tools heavily depend on pattern recognition methods. Regular Expressions are helpful in identifying complex text patterns for natural language processing.
- Image processing, segmentation, and analysis
Pattern recognition is used to give human recognition intelligence to machines which are required in image processing. - Computer vision
Pattern recognition is used to extract meaningful features from given image/video samples and is used in computer vision for various
applications like biological and biomedical imaging. Tumor identification is a classic example. - Seismic analysis
The pattern recognition approach is used for the discovery, imaging, and interpretation of temporal patterns in seismic array recordings.
Statistical pattern recognition is implemented and used in different types of seismic analysis models. - Radar signal classification/analysis
Pattern recognition and signal processing methods are used in various applications of radar signal classifications like landmine detection and
identification. - Speech recognition
The greatest success in speech recognition has been obtained using pattern recognition paradigms by treating each word as a unit. - Fingerprint identification
Many fingerprint recognition methods are in use to
perform fingerprint matching out of which pattern recognition approaches
is widely used.
Conclusion
When patterns are broken, new worlds emerge.
Patterns are everywhere and are part of our life. We need to tune ourselves to identify and recognize them. The future of humanity depends on pattern recognition. Needless to say, technological advancement depends heavily on adopting old and new patterns.
About the Author
I am Prasad TVSNV, an IT Professional and consultant with 15+ years of experience in handling IT projects across domains like Telecom, Petroleum, and Pharmaceutical industries. Also has 5 years of experience in handling non-IT projects. Apart from programming, my interests include listening to music, writing lyrics, book reading, and ideation. You can contact me on my LinkedIn profile.