数据科学:机器学习VS. 基于规则的系统(规则系统)
作者:Karthik Guruswamy, TERADATA
原文地址:
http://www.forbes.com/sites/teradata/2015/12/15/data-science-machine-learning-vs-rules-based-systems/#2715e4857a0b2c12cec35be6
译者:张某人ER
博客地址:http://blog.csdn.net/xinxing__8185
在过于的25年中,开发者在传统数据仓库上建立基于内嵌规则的实际操作模型。对于领域专家和顾问来讲,(数据(业务)中的)规则是相对容易归纳并易于开发的,只要依赖于他们的经验,并按其最佳实践,即可编码实现自动化的决策。
对于一个正在运行的系统,当有100个应用场景时,就需要写100条规则来应对。随着时间的推移,增长的需求,将需求更多的规则。这种方式的弊端是什么?想想税收法规和其它的规章制度!事情会变得庞大而笨重,尤其是我们已经跟不上数据的变化及其带来的规则的改变时。
在现行的遗留系统上,很少会有人能够真正的了解或是衡量其上的规则是否有效,或是其他规则例外的数目。无论是在归属服务【注释1】、反欺诈、网络安全等领域,在面对大数据(volume 数据量大velocity增长速度快 complexity and variety 数据复杂而具有多样性)时,传统的基于规则的系统则变得捉襟见肘。
用什么来替代基于规则的系统?
如果所有的情形都是已知的,遇到何种情形便有相应的应用决策,那么基于规则的系统会很高效地运行。在过去,由于数据相对结构化和约束性,所以制定规则相对容易。而如今,数据更加趋向于多结构化和无结构化。全面的规则制定变得不再那么可行了。
机器学习出现了。如果将数据分为二类------好和差,或分类为A,B,C,D等类别,机器学习算法能够辅助建立其中的规则。这一步叫做训练,而训练的结果是建立模型。而后,预测算法将会使用模型来分类未知数据,并作出合理的决策制定。
评价(Evaluation)vs 评分(Scoring) ----- 确定的(deterministic) vs 概率的(Probabilistic)
在基于规则的系统里,举个例子----“如果词Y出现在词X后,且距离不超过10,则出发一个警告”;这可以看做是一种确定性的方法。含有大量AND/OR的逻辑结构,也会出现在规则系统中。 但是一旦规则集中缺少了某个应用场景,则需要编程者(重新)编写相应的规则。
相较于此,机器学习系统在学习阶段从数据中学习(知识,规则)。而在预测阶段,当未知数据的得分(Scoring)大于某个阈值时,会触发相应警告。模型学习和评分规则的方式是非常多的,但其应都由数据驱动。当模型不正确时,或存在“学习问题”时,机器学习系统同样会得到较高的误判率。
机器学习算法中的例子
机器学习算法正以不同的方式代替着规则。一些算法可以很好的处理数值数据,一些处理文本数据或到处Yes/No的结论。目前在数据科学社区比较流行的算法有,决策树,隐马尔科夫,逻辑回归,贝叶斯,支持向量机,随机森林和深度学习。
为什么机器学习系统从长远看会更好
随着时间的推移,不断维护着一个规则系统,将会过于复杂,并需要过高的花费,因此变得不切实际且无法实现。
使用机器学习,可以通过清洗和预处理数据、改变或组合相应算法、调整算法参数等方式,迭代地获得不错的结果。现今数据科学工具的快速发展,使得机器学习的应用已更容易。
注:归属服务
它是在探讨当使用者做了一连串事情而导致“某一个结果”(譬如买下某商品),前面有很多事情可能“影响”他最终的决定,到底他看了哪些东西,或一群人看了哪些东西,造成个人或群体后面的结果,而这些东西的“重要性”不一,而“Attribution”这门学问,就是在研究并设定这种权重。