上一篇我们聊了从IT化到BI商业智能化的过程,今天,我们聊聊大数据和人工智能的话题。
传统IT系统的限制
我们看传统的IT系统都是基于业务规则来运算的。也就是说,首先,需要人非常理解业务,然后将业务规则按照一定思路转换成计算机语言。这些规则都是固化的,计算机只是忠实的执行和记录。所以这个系统要想成功,人对业务的理解是核心。另外人还需要对业务的未来有一定预判,这样系统的可扩展性才够好。
正是由于这个限制,很多场景下已经是传统IT系统和人力无法解决的了。比如如何在海量的商品中,推荐给用户可能感兴趣的东西。再比如汽车的自动驾驶。这些场景中的规则,已经不是人能够穷尽的了。
归纳法和演绎法
那如何解决这些问题?就需要计算机具备一些识别、判断、总结知识的能力。这就是机器学习的概念。
人是怎么学习的呢。人获取知识主要通过两种方式,一种叫归纳法,一种叫演绎法。
什么是归纳法,就是见多识广。见得多了,通过思考,慢慢琢磨事物背后的道理。然后,提出一些规律假设,再在实际的工作中不断的实践和改进,最终形成自己的一个方法论。
这个方法论就是永恒不变的真理吗?肯定不是。方法论形成于人类的实践活动,是不断迭代和优化的过程。比如,我们看到的天鹅都是白色的,然后得到的结论是所有的天鹅都是白色。事实呢,当黑天鹅被发现的时候,这个结论就被打破了。
什么是演绎法,就是我们的逻辑推理。比如哲学里有名的三段论,大前提、小前提和结论。举个例子,所有人最终都会死,这是大前提。作者本人也是人,这是小前提。所以作者本人最终也会死,这是结论。
我们可以看到,演绎法的大前提是怎么来的,他来自归纳法。如果这个大前提是错误的,那演绎出来的结果也是错误的。
机器学习
那计算机也可以学习人类的这两种方式。演绎法自然不必说,这是目前IT系统最擅长的。我们重点说说归纳法,要想归纳,前提得有足够多的数据,数据质量越高,可能归纳出来的规律就越准确。
所以对机器学习来说,数据的整理、加工、清洗工作是非常重要的。数据的质量决定了机器学习效果的上线,好的模型和算法只能逐渐逼近这个上线。
通过观察数据,我们给出一些规律的假设。规律假设在机器学习里就是模型和算法的选择。比如我们想估算一台二手电脑的价格,直觉上电脑用的时间越长,价格肯定越便宜。价格和时间等因素应该是一个线性的关系。那我们就可以假设为线性模型。
假设完成后,我们就有了一个待求解的模型函数。需要根据实际的数据进行训练,迭代求解参数。怎么求解?我们需要设定一个训练的目标,也就是目标函数。训练的过程就变为让参数不断迭代,使得函数逐渐逼近目标的过程。比如二手电脑的估算问题,他的目标就是与真实价格的误差方差最小。训练的过程就是不断尝试不同的模型参数,让方差最小。
参数训练完毕后,得到的模型就是我们假设的结论,我们还需要进行实际的验证。已经参与过训练的数据就没有办法拿来进行验证了。所以,在我们训练模型之前,我们需要将数据分为两部分,一部分用于参数训练,一部分用于模型的验证。
最终,我们要通过真实的数据来验证模型的可靠性。准确性不好的,我们要进行模型、算法和参数等的调整,重新进行训练,最终达到我们想要的目标。当然这个过程中,我们还要考虑模型训练的计算成本和复杂度,在成本和收益之间做一个抉择。
我们可以看到,由归纳法所决定,机器学习不可能得到一个完全正确的真理。他不像传统的IT系统,全是规则透明的。机器学习的模型只能是概率的判断。
总结一下,通过借鉴人类学习的方式,计算机具备了初步的智能。数据整理、模型算法选择、模型训练、模型检验等关键步骤,形成了机器学习的闭关。学习是一个不断迭代的过程,最终才能达到我们满意的结果。