Hello,<p>In the wikipedia entry on Machine learning they mention the 'explicitly programmed instructions' :<p>"Machine learning is a scientific discipline that explores the construction and study of algorithms that can learn from data. Such algorithms operate by building a model based on inputs and using that to make predictions or decisions, rather than following only explicitly programmed instructions."<p>I'm really trying to understand what do these algorithms really are and what do they mean by 'explicitly programmed instructions'.<p>How can you write for example a classifier using the 'explicitly programmed instructions' and how do we compare it to a ML classifier ? Does the ML classifier use heuristics where the 'explicitly programmed instructions' one will look for an optimal solution ? Aren't the 2 just 'explicitly programmed instructions' with different response time ?<p>I read some articles and did some MOOC on ML, what I'm looking for is what do we mean by ML. I'm not that interested in its applications.<p>I'd appreciate any answers, materials, ...<p>Thanks,
Here's a classifier that uses explicitly programmed instructions:<p><pre><code> def classify(word):
return word[0]
</code></pre>
What you would do instead with supervised learning or other ML methods, is to give the algorithm some inputs and outputs, e.g. "Hello => H", "World => W" and then let the algorithm come up with a model that will know that the answer to "Sunshine" is "S" without you having explicitly coded that.<p>Of course, in reality you wouldn't use machine learning to alphabetize words. It's most useful when explicit or exact classification / modeling / prediction is simply not possible, as e.g. with spam detection.