Pattern recognition is the ability of a system to recognize patterns within sets of data, relying on programmed as well as learned knowledge. This is an important part of computer science, because it allows for the development of systems that are capable of complex data analysis. This can help researchers sort data quickly to find meaningful information, because they do not need to manually read through the data to find points of interest. Pattern recognition also can be useful for spotting errors, fraud and other issues within data sets.
This is different from pattern matching, in which the system can precisely match materials by using a known database. A clear example of this distinction can be seen in email filters. Many web-based email accounts come with a spam folder. The email provider scans incoming mail and uses pattern recognition to identify spam and drop it into this folder. The user might also filter his or her email, asking the client to drop email from a particular sender or with particular content into a specific folder.
The act of checking for spam requires the ability to recognize general patterns, such as the presence of specific words, known suspicious Internet protocol (IP) addresses and other red flags that can mark a letter as spurious. This is more advanced than a filter, which simply asks the system to match patterns. If the system sees a word or sender that fits the pattern, it can move the email to the appropriate folder.
Complex algorithms support pattern recognition. The system can use several means to explore incoming data and decide how best to handle it. It can be programmed to perform specific functions, such as routing suspicious or corrupt data to a particular location, classifying data in a meaningful way and so forth. The system is capable of learning and uses this as a tool to get better at pattern recognition. Every time a user flags an email as spam, for instance, the system scans the email to learn more about it, and the system won't continue to make the mistake of putting similar emails in the inbox.
Computer scientists develop new pattern recognition techniques in lab and research environments. These can be applied to a variety of tasks and require the construction of neural networks that are capable of interacting with data and changing over time. Some programs are extremely sophisticated and capable of very detailed pattern recognition, and others are more simplistic. Such programs cut down on the number of human hours required to analyze data and can catch things that a human might miss, such as evidence of fraud in the form of irregularities that span thousands of insurance claims.