machine learning is done where designing and programming explicit algorithms cannot be done. examples include spam filtering, detection of network intruders or malicious insiders working towards a data breach, optical character recognition (ocr), search engines and computer vision.