Introduction to machine learning

Most complex machines or software utilize algorithms, which is a methodology defined to solve a specific problem. In some cases, the algorithm has an adaptive capability, allowing the algorithm to adapt for varying conditions. In contrast, machine learning does not have specific algorithm. Rather, it has a basic structure, to process data and produce outputs. The structure typically contains thousands or millions of weights, or coefficients. These weights are determined by passing data, lots of data, through the structure and updating the weights during a feedback process where the results are usually known in advance, to produce the desired output. This weight updating is called training, and large amounts of data, often labeled with the “right” answer, is used. Labeled data training is called supervised training, where the correct outcome is labeled and used as feedback. When the data has no labeling, the training is unsupervised. In either case, the machine learning is trained by using enormous amounts of data and trying many scenarios and incrementally updating the weights to produce the desired results. This eventually allows correct results to be produced at the great majority of the time. It also means that a human designer or engineer is not required to painstakingly develop and tune an algorithm for a specific task. Enormous amounts of compute power are able to replace “intelligence” and as powerful compute devices as well as large databases become evermore available; machine learning will be more prevalent in many aspects of everyday life. Some everyday examples of machine learning are as follows: internet search engine behavior, email spam identification, credit card fraud alerts, tax return anomaly detections, online product shopping suggestions, speech recognition, facial recognition, automotive driving assist functionality, and much more.