Ask HN: Briefly and succinctly – when is ML helpful for engineering?
I&#x27;m still learning too, so take the following hand wavey reply with a grain of salt..<p>What can ML offer?<p>ML allows you to more easily make predictions from data you already have. An example is taking search terms and grouping them into their subject matter, or taking images and identifying things inside them visually. If you deal in sales, you could predict future sales based on other factors that you believe are correlated (weather? clicks?). If you deal with customers, you could more quickly identify what type of issues people are having (hardware issues? card failures?), or proactively suggest solutions.<p>Better than programming:<p>It works better when, to code a new feature, you&#x27;d need an abundance IF statements whose logic you&#x27;d have to work out by hand. In a very broad way, the machine is figuring out how to approach your task just with lots of examples and scary math. You can get a lot of different &quot;answers&quot; without having to write that much more code, just by trying different data and structures.<p>Practically it&#x27;s easier than programming to keep updated as well, because if you can find example inputs that it guessed wrong, you can get automatic improvements to results by retraining with correct predictions.<p>But of course, the ML system itself is very complex, and it involves a lot of resources to design it, curate input data, and train on costly GPUs. This combination of the system&#x27;s design, and the learned state of the systems innards, is called &quot;the model&quot;.<p>Input data:<p>There are many different ML systems designed to use different kinds of input. Some use pure text, image data, audio data, graphs of interconnected thingies. The easiest is when the data is very uniform in structure, grouped into labeled columns (called &quot;features&quot;), with each column having a meaningful value. To train the system, you must also supply a &quot;target&quot; feature for each record, which are examples of what you&#x27;d like the system to predict. Anything that fits naturally in an Excel sheet might be a starting point. Generally, you want quite a few examples, but the exact amount of data you&#x27;d need varies with how difficult your task is.<p>Bad input, bad results:<p>Varies. From the practical side - ML systems usually produce confidence scores which you can use to avoid embarrassment. You can then manually label those confusing examples and feed them back in for training. In terms of the model itself - there are many ways of interpreting and evaluating accuracy, and the system can give you examples that confuse it.<p>Results, two common examples:<p>Some systems produce a number as their output - called regression. (Picture a sales prediction.)<p>Others group things into a set of pre-defined categories - called classification. (Picture a system that can tell if there&#x27;s a giraffe in an image.)<p>What those outputs mean, and how they are to be used, is part of the design of the model.