ML (machine learning) is handy stuff. Now that public cloud computing has made it cheap, I’m seeing all types of cloud-based applications applying this technology effectively.
Basically, there are three types of machine learning.
- Supervised learning means we have to train the knowledge base directly, providing labels for data, such as an image being a person, animal, or plant. This has a tendency to be more aligned with transactional use of ML, such as spotting fraudulent checks, facial identification, even recognizing patterns in data leading up to a common diagnosis. I use this type of ML most of all.
- Unsupervised learning doesn’t require labeled data for training. This type of ML can learn to group, cluster, and/or organize the data the way a human would. I’ve used this type of machine learning to build recommendation engines for websites looking to boost sales by recommending products that would likely interest a customer.
- Reinforcement learning is really learning from mistakes, much like humans do. You’ll need to provide some sort of signal to the knowledge engine that associates good behaviors with a positive flag and bad behaviors with a negative one. The idea is to reinforce the preference for good behaviors over bad ones. You’ll find this type of ML in video games and simulations.
Of course, many Ph.D. theses and scholarly articles identify other types of artificial intelligence or ML as well. What I’ve listed here are the types supported by most cloud-based ML tools.
The issue for me is that the ML groups I’ve mentioned are perhaps limiting. Consider a dynamic combining of all types, with adjusting the approach, type, or algorithm during the processing of the training data, either mass loads or transactions.
At issue is use cases that don’t really fit these three categories. For example, we have some labeled data and unlabeled data, and we’re looking for the ML engine to identify both the data itself and patterns in the data. Most of us don’t have perfect training data, and it would be nice if the ML engine itself could sort things out for us.
With a few exceptions, we have to pick supervised or unsupervised learning and only solve a portion of the problem, and we may not have the training data needed to make it useful. Moreover, we lack the ability to provide reinforcement learning as the data is used within transactional applications, such as identifying a fraudulent transaction ongoing.
There are ways to create an “all of the above” approach, but it entails some pretty heavy-duty work for both the training data and the algorithms. This typically involves the typing of data, and applying the proper algorithm (type of ML) to data, both singular and groups. All this customization means that you’ll have to maintain the ML application, the data, and the means of ML processing. You don’t want to get into that business as enterprise IT.
The call here is simple: It’s time to think about what’s next for ML as a larger player in the world of AI. This means finding new ways to do more dynamically, with an eye towards flexibility.