本文参考于:https://hands1ml.apachecn.org/1/
大多数人听到"机器学习",往往会在脑海中勾勒出一个机器人:一个可靠的管家,或是一个可怕的终结者,这取决于你问的是谁。但是机器学习并不是未来的幻想,它已经来到我们身边了。
事实上,一些特定领域已经应用机器学习几十年了,比如光学字符识别 (Optical Character Recognition,OCR)。但是直到 1990 年代,第一个影响了数亿人的机器学习应用才真正成熟,它就是垃圾邮件过滤器(spam filter)。虽然并不是一个有自我意识的天网系统(Skynet),垃圾邮件过滤器从技术上是符合机器学习的(它可以很好地进行学习,用户几乎不用再标记某个邮件为垃圾邮件)。后来出现了更多的数以百计的机器学习产品,支撑了更多你经常使用的产品和功能,从推荐系统到语音识别。
通过垃圾邮件过滤器这个例子,你可以更好地理解机器学习。
首先思考一下,你会如何使用传统的编程技术写一个垃圾邮件过滤器,大致应该像下面的图片这样
通过思考问题,想到了编写规则库(类似黑白名单),最后评估是否能过滤,不行的话则不断改进你的代码
但是这个问题并不简单,你的程序很可能会变成一长串复杂的规则------ 这样就会很难维护。
相反的,基于机器学习技术的垃圾邮件过滤器会自动学习哪个词和短语是垃圾邮件的预测值,通过与普通邮件比较,检测垃圾邮件中反常频次的词语格式。这个程序短得多,更易维护,也更精确。
通过自动的识别、学习,不断更新规则库,免去了庞大的代码和繁重的维护。
这样的话呢,我们称之为自动适应改变
好,进而这时我们可以说出机器学习的优点
1.善于处理对于传统方法太复杂或是没有已知算法的问题。例如,对于语言识别:假如想写一个可以识别one和two的简单程序。你可能注意到two起始是一个高音(T),所以可以写一个可以测量高音强度的算法,用它区分one和two。很明显,这个方法不能推广到嘈杂环境下的数百万人的数千词汇、数十种语言。(现在)最佳的方法是根据大量单词的录音,写一个可以自我学习的算法。
2.机器学习可以帮助人类进行学习:。例如,当垃圾邮件过滤器被训练了足够多的垃圾邮件,就可以用它列出垃圾邮件预测值的单词和单词组合列表。有时,可能会发现不引人关注的关联或新趋势,有助于对问题更好的理解。
好,那么总结后就是机器学习应用场景为
1.需要进行大量手工调整或需要拥有长串规则才能解决的问题:机器学习算法通常可以简化代码、提高性能。
2.问题复杂,传统方法难以解决:最好的机器学习方法可以找到解决方案。
3.环境有波动:机器学习算法可以适应新数据。
4.洞察复杂问题和大量数据。