AI就是机器学习?3000字给你讲清楚,机器学习到底是怎么一回事
人工智能(Artificial Intelligence,缩写为AI)是对人的意识、思维过程进行模拟的一门新学科。如今,人工智能从虚无缥缈的科学幻想变成了现实。计算机科学家们在人工智能的技术核心--机器学习(Machine Learning)和深度学习(Deep Learning)领域上已经取得重大的突破,机器被赋予强大的认知和预测能力。回顾历史,在1997年,IBM深蓝战胜国际象棋冠军卡斯帕罗夫;在2011年,具备机器学习能力的IBM Waston参加综艺节目赢得100万美金;在2016年,利用深度学习训练的Aplphago成功击败人类世界冠军。种种事件表明机器也可以像人类一样思考,甚至比人类做得更好。
目前,人工智能在金融、医疗、制造等行业得到了广泛应用。其中,机器学习是人工智能技术发展的主要方向。
一、机器学习与人工智能、深度学习的关系
在介绍机器学习之前,先需要对人工智能、机器学习和深度学习三者之间的关系进行梳理。目前业界最常见的划分是:
- 人工智能:是使用与传统计算机系统完全不同的工作模式,它可以依据通用的学习策略,读取海量的大数据,并从中发现规律、联系和洞见,因此人工智能能够根据新数据自动调整,而无需重设程序。
- 机器学习:是人工智能研究的核心技术,在大数据的支撑下,通过各种算法让机器对数据进行深层次的统计分析以进行自学;利用机器学习,人工智能系统获得了归纳推理和决策能力;而深度学习更将这一能力推向了更高的层次。
- 深度学习是机器学习算法的一种,隶属于人工神经网络体系,现在很多应用领域中性能最佳的机器学习都是基于模仿人类大脑结构的神经网络设计而来的,这些计算机系统能够完全自主地学习、发现并应用规则。相比较其他方法,在解决更复杂的问题上表现更优异,深度学习是可以帮助机器实现独立思考的一种方式。
总而言之,人工智能是社会发展的重要推动力,而机器学习,尤其是深度学习技术就是人工智能发展的核心,它们三者之间是包含与被包含的关系。如下图:
注:图片来源于网络
二、机器学习:实现人工智能的高效方法
从广义上来说,机器学习是一种能够赋予机器学习的能力,以此让它完成直接编程无法完成的功能的方法。但从实践的意义上来说,机器学习是通过经验或数据来改进算法的研究,通过算法让机器从大量历史数据中学习规律,得到某种模式并利用此模型预测未来,机器在学习的过程中,处理的数据越多,预测结果就越精准。
机器学习在人工智能的研究中具有十分重要的地位。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。从20世纪50年代人们就开始了对机器学习的研究,从最初的基于神经元模型以及函数逼近论的方法研究,到以符号演算为基础的规则学习和决策树学习的产生,以及之后的认知心理学中归纳、解释、类比等概念的引入,至最新的计算学习理论和统计学习的兴起,机器学习一直都在相关学科的实践应用中起着主导作用。现在已取得了不少成就,并分化出许多研究方向,主要有符号学习、连接学习和统计学习等。
01 机器学习的结构模型
机器学习的本质就是算法,算法是用于解决问题的一系列指令。程序员开发的用于指导计算机进行新任务的算法是我们今天看到的先进数字世界的基础。计算机算法根据某些指令和规则,将大量数据组织到信息和服务中。机器学习向计算机发出指令,允许计算机从数据中学习,而不需要程序员做出新的分步指令。
机器学习的基本过程是给学习算法提供训练数据。然后,学习算法基于数据的推论生成一组新的规则。这本质上就是生成一种新的算法,称之为机器学习模型。通过使用不同的训练数据,相同的学习算法可以生成不同的模型。从数据中推理出新的指令是机器学习的核心优势。它还突出了数据的关键作用:用于训练算法的可用数据越多,算法学习到的就越多。事实上,AI 许多最新进展并不是由于学习算法的激进创新,而是现在积累了大量的可用数据。
02 机器学习的工作流程
- Step1选择数据
首先将原始数据分成三组:训练数据、验证数据和测试数据;
- Step2数据建模
再使用训练数据来构建使用相关特征的模型;
- Step3验证模型
使用验证数据输入到已经构建的数据模型中;
- Step4测试模型
使用测试数据检查被验证的模型的性能表现;
- Step5使用模型
使用完全训练好的模型在新数据上做预测;
- Step6选择数据
使用更多数据、不同的特征或调整过的参数来提升算法的性能表现。
03 机器学习发展的关键基石
- 海量数据
人工智能的能量来源是稳定的数据流。机器学习只有通过海量数据来训练自己,才能开发新规则来完成日益复杂的任务。目前我们时刻都在产生大量的数据,而数据存储成本的降低,使得这些数据易于被使用。
- 超强计算
强大的计算机和通过互联网连接远程处理能力使可以处理海量数据的机器学习技术成为可能。ALPHGO之所以能在与对李世石的对决中取得历史性的胜利,这与它硬件配置的1920个CPU和280个GPU超强运算系统密不可分,可见计算能力对于机器学习是至关重要的。
- 优秀算法
在机器学习中,学习算法(learning algorithms)创建了规则,允许计算机从数据中学习,从而推论出新的指令(算法模型),这也是机器学习的核心优势。新的机器学习技术,特别是分层神经网络,也被称为深度学习,启发了新的服务,刺激了对人工智能这一领域其他方面的投资和研究。
04 机器学习的算法分类
机器学习基于学习形式的不同通常可分为三类:
- 监督学习(Supervised Learning)
给学习算法提供标记的数据和所需的输出,对于每一个输入,学习者都被提供了一个回应的目标。监督学习主要被应用于快速高效地教熟AI现有的知识,被用于解决分类和回归的问题。常见的算法有决策树(Decision Trees)、Adaboost算法、人工神经网络(ArTIficial Neural Network-ANN)算法、SVM(Support Vector Machine)算法等。
- 无监督学习(Unsupervised Learning)
给学习算法提供的数据是未标记的,并且要求算法识别输入数据中的模式,主要是建立一个模型,用其试着对输入的数据进行解释,并用于下次输入。现实情况下往往很多数据集都有大量的未标记样本,有标记的样本反而比较少。如果直接弃用,很大程度上会导致模型精度低。这种情况解决的思路往往是结合有标记的样本,通过估计的方法把未标记样本变为伪的有标记样本,所以无监督学习比监督学习更难掌握。主要用于解决聚类和降维问题,常见的算法有聚类算法、K-means算法、Expectation Maximisation(EM)算法、Affinity Propagation聚类算法、层次聚类算法等。
- 强化学习(Reinforcement Learning)
该算法与动态环境相互作用,把环境的反馈作为输入,通过学习选择能达到其目标的最优动作。强化学习这一方法背后的数学原理与监督/非监督学习略有差异。监督/非监督学习更多地应用了统计学,而强化学习更多地结合了离散数学、随机过程这些数学方法。常见的算法有TD(λ)算法、Q-learning算法等。
三、机器学习在BI的应用:自然语言分析
随着机器学习的普及,对话型用户交互接口逐渐成为业界的热门话题。Natural Language to SQL( NL2SQL)就是这样的一项技术,它将用户的自然语句转为可以执行的SQL语句,从而免除业务用户学习SQL语言的烦恼,成功将自然语言应用于BI领域。
Smartbi的自然语言分析就是利用了NL2SQL技术,将自然语言通过神经网络转化为计算机可以识别的数据库查询语言。用户通过语音或者键盘输入后,“AI智能小麦”会将输入的自然语言转为语言元模型的形式,通过小麦内置的知识抽取算法,经过深度学习模型将元模型转化为机器可以理解的数据库语言。最后通过Smartbi预置的查询引擎和图形引擎,快速准确地找到用户想要的查询结果,自动生成图形输出,也可以在Smartbi中对查询结果进行组合和进一步分析。
四、机器学习在BI的应用:数据挖掘
数据挖掘利用机器学习技术从大量数据中挖掘出有价值的信息。对比传统的数据分析,数据挖掘揭示数据之间未知的关系,可以做一些预测性的分析,例如精准营销、销量预测、流失客户预警等等。
虽然数据挖掘学习门槛较高,但是有越来越多的软件工具支持机器学习模型的自动构建,这些模型可以尝试许多不同的算法来找出最成功的算法。一旦通过训练数据找到了能够进行预测的最佳模型,就可以部署它,并对新的数据进行预测。例如Smartbi的数据挖掘平台在一个界面上通过可视化的操作实现数据预处理、算法应用、模型训练、评估、部署等全生命周期的管理。同时,内置分类、聚类、关联、回归五大类数十个算法节点并支持自动推荐,参数也能实现自动调优。
机器学习是人工智能应用的又一重要研究领域。当今,尽管在机器学习领域已经取得重大技术进展,但就目前机器学习发展现状而言,自主学习能力还十分有限,还不具备类似人那样的学习能力,同时机器学习的发展也面临着巨大的挑战,诸如泛化能力、速度、可理解性以及数据利用能力等技术性难关必须克服。但令人可喜的是,在某些复杂的类人神经分析算法的开发领域,计算机专家已经取得了很大进展,人们已经可以开发出许多自主性的算法和模型让机器展现出高效的学习能力。对机器学习的进一步深入研究,势必推动人工智能技术的深化应用与发展。