Machine Learning for Business Problems¶
Reading and talking about futuristic potential options for machine learning is nice and should be done. But applying machine learning todady for your business is where you can make a real difference. This section is focussed on applying machine learning technology for real business use cases. Use cases that are possible with current available open building blocks. Some business use cases where machine learning is already applied are outlined. This to give you some inspiration. But beware besides technology more is needed for applying machine learning in a business with success. This section will also give you some more in depth input of the several factors that should be taken into account when applying machine learning for real business use.
When to use machine learning for business problems?¶
Before starting applying machine learning for solving your business problems you must be aware that machine learning is not a tool for every complex problem. Or to put it even more clear: In most cases applying machine learning is overkill, too expensive and other traditional software solutions make far more sense. So do not use machine learning. Keep it simple! Using machine learning makes your business more complex.
But since the temptation to use machine learning to solve complex problems is too promising to ignore you should try it. If only to see if is has real opportunities for your use case. Be aware that machine learning doesn’t give perfect answers. But sometimes machine learning can save you a lot of time and can make things possible that are out of reach using normal traditional software approaches.
With the use of machine learning it is possible to learn from patterns and conditions to get new solid outcomes or predictions based on new data. Machine learning is able to learn from changes in patterns (data) at a pace that the human mind can not. This makes that machine learning as a technology is useful for a set of use cases were learning from data is possible or needed. So machine learning only makes sense for a limited class of use cases.
Machine learning should not be used for use cases that can be easily solved in another way. For example do not use machine learning driven solutions if your use case matches on of the following criteria:
- If it’s possible to structure a set of rules or “if-then scenarios” to handle your problem entirely, then there is usually no need to use machine learning at all.
- Your problem can be solved using statistical tools and software.
Machine learning is an appropriate tool to use for problems whose only commonality is that they involve statistical inference. This means that problems where machine learning makes real sense have e.g. the following characteristics:
- Classification challenges. E.g., is this a picture of a cat or a gorilla? Looks this human happy? Is this person writing emotional replies on twitter?
- Clustering challenges. E.g., group all cat pictures by ones that are most similar.
- Reinforcement learning challenges. E.g., learn to predict how people behave when they book a holiday with large discount. Are you willing to buy something you do not need without discount?
A good question to ask is: Can this problem be solved by looking at statistical outcomes? If the answer is yes, use traditional statistical software and avoid machine learning directly. Avoid complexity at all cost before trying to find if using machine learning is a viable option.
For most business IT problems the use of machine learning should be avoided. Like blockchain or other industry IT buzzwords: Avoid the trap of using a solution and finding a problem to use it on! A particularly bad use case for machine learning is when the problem can be described using clear and precise mathematical equations. Only when a problem can not be described using clear and existing mathematical equations and an outcome could be predicted using large numbers of input data, than the use of machine learning should be considered.
When you want to apply machine learning for your business use cases you will need to develop a solid architecture before starting. A standard solutions for your business use case does not exist. Your company and your context is unique. So for real business advantage when you think of using machine learning you should also develop your own machine learning enabled application of information system.
The usage of a default Cloud (SaaS or ML-SaaS) machine learning solution will not give you the competitive advantage you are searching for. So if your business is special, your data is unique and than your machine learning driven application should give you a head start and competitive advantage. In the section ‘ Machine learning reference architecture’ an in depth outline is given on the various system building blocks that are needed for applying machine learning in a successful way. Make use of the machine learning reference architecture outlined in this publication to create your own ML enabled solution faster.
In order to solve business problems using machine learning technology you need to have an organisation structure that powers innovation and experimenting. Experimenting with machine learning should be simple and can be done in a short time. But this requires a business culture with an innovation approach where learning and playing with new technology is possible without without predefined rules.
Common business use cases¶
Healthcare is due to the large amounts of data already available a perfect domain for solving challenges using machine learning. E.g. a challenging question for machine learning for healthcare is: Given the current use of machine learning for healthcare is given a patient’s electronic medical record data, can we prevent a person getting sick?
Machine learning is more and more used for automatic diagnostics. This can be data provided by X-ray scans or data retrieved from blood and tissue samples. machine learning has already proven to be valuable in detecting and predicting diseases for real people.
Predictive tasks for healthcare is maybe the way to keep people healthier and lower healthcare cost. The transformation from making people better towards preventing people getting sick will be long and hard, since this will be a real shift for the healthcare industry.
But given a large set of training data of de-identified medical records it is already possible to predict interesting aspects of the future for a patient that is not in training set.
Machine learning applications for healthcare are also to create better medicines by making use of all the data already available.
Machine learning is already be used for automatic real-time message translation. E.g. Rocket Chat (The OSS Slack alternative, https://rocket.chat/ ) is using machine learning for this reason. Since language translation needs context and lots of data, typically this use case is often NLP driven. Language translation is as speech recognition a typical NLP application. Natural language processing (NLP) is area of machine learning that operates on (human)text and speech. See the section on NLP in this book for more use cases and insight in the specific NLP technologies.
Other areas for language translation are Speech recognition. Some great real time machine learning driven application already exist.
Currently all major tech companies like Amazon(Alexis), Google, Apple (Siri) have built a smart chatbot for the consumer market. Creating a chatbot (e.g. IRQ bot) was not new and difficult, however building a real ‘intelligent’ chat bot that has learning capabilities is another challenge.
Machine learning powered chatbots with real human like voices will help computers communicate with humans. But algorithms still have a hard time trying to figure out what you are saying, because context and tone of voice are hard to get right. Even for us humans, communication with other humans is most of the time hard. So building a smart chatbot that understands basic emotions in your voice is difficult. Machine learning isn’t advanced enough yet to carry on a dialogue without help, so a lot of the current chat bot software needs to be hand-coded.
This document is in alfa-stage!! We are now working on some great NLP things. So not yet a NLP section in this alfa verion of this eBook! Collaboration is fun, so Help Us by contributing !
eCommerce Recommendation systems¶
A well known application for machine learning for eCommerce systems is a machine learning enabled recommendation system system. Whether you buy a book, trip, music or visit a movie: On all major online ecommerce site you get a recommendation for a product that seems to fit your interest perfectly. Of course the purpose is to drive up the online sale, but the algorithms used are examples of still evolving machine learning algorithms. Examples of these systems are:
- Selling tickets to concerts based on your profile.
- NetFlix or cinema systems to make sure you stay hooked on watching more series and films you like.
- Finding similar products in an eCommerce environment with a great chance you buy it. E.g. similar hotels, movies, books, etc.
Quality inspection and improvement¶
When computer vision technologies are combined with machine learning capabilities new opportunities arise. Examples of real world applications are:
- Inspecting tomatoes (and other fruit / vegetables) for quality and diseases.
- Inspecting quality of automatic created constructions (e.a. Constructions made by robots)
Since vision is captured in data machine learning is a great tool for building applications using vision (images, movies) technology. E.g.:
- Face detection. Writing software to detect faces and do recognition is very very hard to do using traditional programming methods.
- Image classification. In the old days we were happy when software was able to distinguish a cat and dog. In 2018 far more advanced applications are possible. E.g. giving details on all kind of aspects of photos. E.g. when you organize a conference you can use software to check the amount of suits or hoodies visiting your conference. Which is of course great for marketing.
- Image similarity. Given an image, the goal of an image similarity model is to find “similar” images. Just like in image classification, deep learning methods have been shown to give incredible results on this challenging problem. However, unlike in image similarity, there isn’t a need to generate labelled images for model creation. This model is completely unsupervised.
- Object Detection. Object detection is the task of simultaneously classifying (what) and localizing (where) object instances in an image.
- Real-time trade: Like bidding sites for online advertising and stock exchange markets are more and more driven by software algorithms. Knowing this you must be a fool if you take part on a stock exchange market without the power these automated machine learning driven systems have. You will never earn anything…
- Banking and credit services: More and more banks and large financial companies are using their data to get more profit out of existing customers. Based on a smart combination of banking data and financial transaction data, your bank will know better than you can image how to make even more profit from their customers.
- Marketing and acquisition: By analysing mass amounts of data you can better target your existing and potential users for your service. Machine learning makes a large difference here, as proven by Google and Facebook (both ad-service companies in essence). Analysing works using machine learning works well for consumer markets where user data and user behaviour data is widespread and for sale. And since tracking users on the internet is the number one dataleak almost all data is available somewhere. Also business to business marketing is perfect to automate using machine learning. This because also here the only input needed is often data.
Of course if you do care about privacy and embrace the values of Free and Open machine learning the marketing use cases for machine learning are almost impossible to create due to privacy issues involved.
- HR management and HR services: Finding the right new employing, talent management, performance management all tangible HR work will be powered by ML software more and more. Even the scary face and voice recognition tools will be used to check if your new employee matches your ideal profile. Until HR is fully automated ML powered software will help HR professionals to improve decision-making and create more efficient ways to interact with employees.
When using machine learning for HR services be aware of bias issues in using datasets. Bias when hire new personal is for humans already difficult to handle. But you do not want a machine learning application that only selects people based on old paradigms in society.
- Predicting services: Almost all predicting services in all business domains can benefit from the combination of large data sets and using machine learning algorithms. E.g. you can empower predicting services by using weather data (historical and new), financial and demographic data and local production data to find out in more detail how your next sales campaign will go. But prediction is also possible on failures on production lines, where historical data is combined with sensor data.
- Software code improvement: Manual programming is hard and error prone. By training machine learning on a large code base to learn the model what ‘bugs’ are, it is possible to use machine learning to prevent programming bugs in new developed software code. In this way code can not be committed since the automated checks provided spotted an error. Detecting a bug before software is tested and deployed is far cheaper than correcting errors in code when a program is already released. A game development company has used this application of machine learning for real with success already. (reference http://www.wired.co.uk/article/ubisoft-commit-assist-ai )
- Creating new software programs: Based on a problem it is proven by different companies that software can be generated in stead of manual crafted (programmed). Feeding a algorithm massive inputs of examples programs it is possible to generate a new program based for your specific problem. Of course this application of machine learning is still in early phase. It is also questionable if this application of machine learning makes real sense since the new paradigm of machine learning is no longer program a solution but create a program outcome based on input data.
- Email spam filters. Although simple rules can and should be applied, the enormous creativity of spammers and the amount send good fighting spam is a solid use case for a supervised machine learning problem.
- Network filtering. Due to the learning capability of machine learning network security devices are improved using machine learning techniques.
- Fraud detection. Fraud detection is possible using enormous data and searching for strange patterns.
Besides fraud detection machine learning can also applied for IT security detections since intrusion detection systems and virus scanners are more and more shipped with self learning algorithms. Also Complex financial fraud schemes can be easily detected using predictive machine learning models.
Risk and compliance¶
- Evaluating risks can be done using large amounts of data. Natural language processing techniques can be used to validate highly automatic if your company meets regulations. Since audit and inspecting work is mostly based on standardized rules performed by knowledge workers this kind of work can be automated using machine learning techniques.
- Detecting danger and safety risks. E.g. for autonomous vehicles (robots). More and more machine learning software is developed to make transport safer for us humans.
Example use cases¶
To outline some use cases that have been realized using machine learning technology, this paragraph summarize some real world cases to get some inspiration.
Applications for real business use of machine learning to solve real tangible problems is growing at a rapid pace. Below some examples of practical use of machine learning applications:
- Medical researchers are using machine learning to assess a person’s cardiovascular risk of a heart attack and stroke.
- Air Traffic Controllers are using TensorFlow to predict flight routes through crowded airspace for safe and efficient landings.
- Engineers are using TensorFlow to analyze auditory data in the rainforest to detect logging trucks and other illegal activities.
- Scientists in Africa are using TensorFlow to detect diseases in Cassava plants to improving yield for farmers.
- Finding free parking space. http://www.peazy.in has developed an app using machine learning to assist with finding a free parking space in crowded cities.
- All kind of card games. With the use of the FOSS RLCard toolkit (see open ML Software section) the use of Reinforcement Learning (RL) in card games is possible.
Exiting ML business examples¶
In this section some worth mentioning exiting real business examples for companies that really make use of new ML solutions possible.
- AI Driven Logos. An AI solution which selects the best possible logos for your brand based on a large number of designs it has seen over time. Check https://www.designwithai.com/
Applying machine learning for real business use cases is complex and difficult.
A number of challenges is:
- Determining when applying machine learning is a good choice for solving a business problem.
- Getting the right data and preparation of the data to be used for training a machine learning model.
- Dealing with privacy, security and safety aspects.
- Engineering solid and maintainable machine learning applications. Designing, creating and debugging machine learning applications is specialized IT work.
- Dealing with terrible math and statistics foundations. Of course most software building blocks will keep this away from you, but you must make choices that require some more in depth knowledge of the foundations behind the chosen algorithms used.
The number one challenge is of course: How to integrate ML into your current business in order to really benefit from this technology?
Integration of machine learning software pipelines, especially when it also involves digital integration between companies and systems is known to be hard, complex and will make you poor if handled wrong. Unfortunately problems that are needed before having raw usable data is for too long part of traditional IT problems. So if you have a bad track record when it comes to executing traditional IT projects, machine learning projects will have the same challenges with a couple of new real elements.
Machine is not the most logical way to solve problems. For many engineers and software programmers solving problems using a machine learning approach is against the learned and trained intuition.
An aspect of this difficulty involves building an intuition for what tool should be leveraged to solve a problem. This requires being aware of available algorithms and models and the trade-offs and constraints of each one.
Machine learning needs trial and error before it works well. But debugging a machine learning application is a real complex problem. An endless number of elements must be taken into account. When you want to improve the output you can face problems e.g. the following problems:
- Is there a bug in the used software framework?
- Is the data quality below an acceptable level?
- Is the chosen algorithm the right choice?
- Are other IT issues influencing the outcome, e.g. performance?
- With machine learning finding bugs and working on optimizations is almost ‘exponentially’ harder due to the complex nature of the various aspects involved. So to figure out what is wrong when things don’t work as expected can take far more time than available.
Business capabilities needed¶
Before starting a proof of concept or project with machine learning you need to dive into the subject and options. But: Don’t fall for a vendor hype. So beware of demo’s and courses of vendors who sell you SaaS ML solutions. If a promise for new business innovation based on a new machine learning application seems too good to be true: It often is.
Only you know your systems, your requirements, your financial objectives, and thus the right trade-offs to make. Tools can make this process easier, but they’re no magic bullet.
The power of machine learning requires a collaboration so the focus is on solving business problems.
Summarized you need the following capabilities to apply machine learning for your business use case:
- Capability to experiment and learn. So a real learning culture.
- Managers, architects, developers and engineers with an open mindset. So open for learning and experimenting.
- Descent knowledge of key quality aspects involved. E.g. privacy, safety and security. A must take these privacy, safety and security serious from the start. Do it by design. It can initially take some extra time, but once key safeguards are in place experimenting with data and machine learning outcomes will be possible with lower risks. So make sure you will also have some privacy and security experts involved from the start.
- Solid business innovation strategy, innovation management system (process and people) available.
If your goal is to use machine learning to reduce cost by automating human workflows make sure everyone shares this goal upfront.
There are good and bad uses for any technology. So with ML technology. Working with machine learning can, will and must raise severe ethical questions. Machine learning can be used in many bad ways. Saying that you ‘Don’t be evil’ , like the mission statement of Google (https://en.wikipedia.org/wiki/Don%27t_be_evil) was for decades, will not save you. Any business that uses machine learning should develop a process in order to handle ethical issues before they arrive. And ethical questions will arise!
A growing number of experts believe that a third revolution will occur during the 21st century, through the invention of machines with intelligence which surpasses our own intelligence. The rapid progress in machine learning technology turns out to be input for all kind of disaster scenarios. When the barriers to apply machine learning will be lowered more one of the fears is that knowledge work and various mental tasks currently performed by humans will become obsolete.
When machine learning develops and the border with artificial intelligence will be hit many more philosophical and ethical discussions will take place. The core question is of course: What is human intelligence? Or to put it in the context of machine learning: What is the real value of human intelligence when machine learning algorithms can take over many common mental tasks of humans?
Many experts believe that there is a significant chance we will develop machines more intelligent than ourselves within a few decades. This could lead to large, rapid improvements in human welfare, or mass unemployment and poverty on large scale. And yes history learns that there are good reasons to think that it could lead to disastrous outcomes for our current societies. If machine learning research advances without enough research work going on security, safety on privacy, catastrophic accidents are likely to occur.
With FOSS machine learning capabilities you should be able to take some control over the rapid pace machine learning driven software is hitting our lives. So instead of trying to stop developments and use, it is better to steer developments into a positive, safe, human centric direction. So apply machine learning using a decent machine learning architecture were also some critical ethical business questions are addressed.
Advances within machine learning could lead to extremely positive developments, presenting solutions to now-intractable global problems. But applying machine learning without good architectures where ethical questions are also addressed, using machine learning at large can pose severe risks. Humanity’s superior intelligence is the sole reason that we are the dominant species on our planet. If technology with advanced machine learning algorithms surpass humans in intelligence, then just as the fate of gorillas currently depends on the actions of humans, the fate of humanity may come to depend more on the actions of machines than our own.
To address ethical questions for your machine learning solution architecture you can use the high level framework below.
Some basic common ethical questions for every machine learning architecture are:
- Bias in data sets. How do you weight this? Are you fully aware of the impact?
- Impact on your company.
- Impact on your employees.
- Impact on your customers (short and long term).
- Impact on society.
- Impact on available jobs and future man force needed.
- Who is responsible and who is liable when the application developed using machine learning goes seriously wrong?
- Do you and your customers find it acceptable all kinds of data are combined to make more profit?
- How transparent should you inform your customers on how privacy aspects are taken into account when using the machine learning software? Legal baselines, like the EU GDPR do not answer these ethical questions for you!
- How transparent are you towards stakeholders regarding various direct and indirect risks factors involved when applying machine learning applications?
- Who is responsible and liable when risks in your machine learning application do occur?
A lot of ethical questions come back to crucial privacy and other risks questions like safety and security. We live in a digital world were our digital traces are everywhere. Most of the time we are fully unaware. In most western countries mass digital surveillance cameras generates great data to be used for machine learning algorithms. This can be noble by detecting diseases based on cameras, but all nasty use cases thinkable are of course also under development. Continuous track and trace of civilians including face recognition is not that uncommon any more!
The question regarding who is responsible for negative effects regarding machine learning technology is simple to answer. You are! If you do not understand the technology, the impact for your business and on society you should not use it.
Regulations for applying machine learning are not yet developed. Although some serious thinking is already be done in the field regarding:
- Safety and
Government rules, laws will be formed during the transition the coming decade. Machine learning techniques are perfect to use for autonomous weapons. So drones will in near future decide based on hopefully predefined rules when to launch a missile and when not. But as with all technologies: Failures will happen! And we all hope it will not hit us.