机器学习的演化和局限性

2017-10-30    阅读次数:245    深度学习,成都软件开发公司

1、机器学习的演化为了找到实现人工智能的方法人们经历了一段异常艰难的岁月,终于找到一种完全不同的方式,稳健地构建出一种通用技术。这种方式的名称是“机器学习”。如果你曾经涉足数据挖掘领域,应该对这个名字耳熟能详。相对于人工智能以往的种种方法,机器学习要强大得多,是一种潜力无穷的工具,正如本章前文所介绍过的,以往的方法仅能依据人预先提供的知识进行搜索和判断,机器学习要高级得多。

机器学习出现之前,机器仅能在已输入的数据中搜寻答案。大家的关注点都在机器如何能更快地从已有的知识中抽离出相关问题的知识。这样,机器就能更快地回答一个它已知的问题,但是,一旦碰到它未知的问题,它就不行了。

另一方面,机器学习领域中,机器的学习是照本宣科的。机器可以依据它学习的知识回答未知的问题。那么,机器是如何学习的呢?这里的“学习”到底是什么含义?简单地说,学习就是机器获得能够将问题划分成“是”或“不是”能力的过程。本章接下来的内容中我们会提供更进一步的细节,我们现在所能说的是机器学习就是一种模式识别的方法。我们认为,从根本上说,这个世界上的每个问题都可以用答案为“是”或者“否”的问题所替换。举个例子,“你喜欢什么颜色?”这个问题,可以通过“你喜欢红色吗?喜欢绿色吗?喜欢蓝色吗?喜欢黄色吗?……”这样的问题所替代。

机器学习中,使用高速计算和处理能力作为武器,机器用大量的训练数据,将复杂的问题替换为答案为“是/否”类型的问题,找出哪些数据答案为“是”,哪些数据答案为“否”的规律(换句话说,它在学习)。之后,使用学习的结果,机器可以对新提供的数据进行分析,判断它们的结果为“是”还是“否”,并返回答案结果。概括来说,机器学习可以通过辨识和归类给定数据的模式,来回答未知数据的问题。实际上,这种方法并没有想象中那么难。

人们也经常无意识地对数据进行模式分类。譬如,如果你在一个聚会上碰到了一个你感兴趣的男人/女人,你可能会非常急切地想要了解你面前的他/她是否对你有同样的感觉。在你的脑海里,你会对他/她的说话方式、样貌、面部表情或者姿态进行分析,与你之前的经历(也就是数据)进行比较,通过这些进一步决定你是否要去约会。这和基于模式识别的推断是同一个道理。机器学习是一种以机械的方式,由机器主导而非人主导,进行模式识别的方法。那么,机器是如何识别模式,并对它们进行分类的呢?机器学习的分类标准是一种基于数学公式的推算,名叫“概率统计模型(Probabilistic Statistical Model)”。

这种方式基于多种数学模型,已经被研究得非常透彻了。学习,换句话说,就是模型参数的调整,一旦学习完成,就意味着模型构建完成。接下来,机器就可以将未知数据划分到最可能的模式中(即最适合的模式中)。按照数学对数据进行分类是一个重大优点。

对人类而言,我们几乎无法对多维的数据,或者多模式的数据进行处理,而机器学习却可以使用几乎同样的数值公式完成分类。机器需要的仅仅是增加一个向量,或者矩阵中的维度数(本质上说,进行多维分类时,它并不是由分类直线或者分类曲线完成,而是由超平面完成的)。发明这一方法之前,机器在没有人为帮助时几乎没有任何能力处理未知数据;通过机器学习,机器甚至能处理即使人也无法处理的数据。研究人员为机器学习带来的可能性欢欣雀跃,积极地投身到改善机器学习的工作中。

机器学习概念的历史悠久,不过由于科学家们缺乏足够的数据,长期以来无法进行大量的研究,证明它的有效性。不过,最近很多开源数据出现在互联网上,研究人员能比较容易地利用这些数据,对他们的算法进行实验。由此,人工智能的第三波浪潮随之而来。机器学习周边的环境也给了它极大助力。机器学习在能正确地识别模式之前需要学习大量的数据。除此之外,它还需要有能力处理这些数据。它处理的数据和模式类型越多,数据的数量以及计算的次数也越大。因此,很明显,之前的技术无法支持机器学习的发展。不过,时代在进步,机器的处理能力得到了大幅增强。除此之外,网络也日益成熟,互联网的触角已经延伸到世界的各个角落,因此开放的数据也日益增加。随着这一波的变化,只要能够从互联网上抓取数据,每个人都可以进行数据挖掘。

整个外部环境都已就绪,每个人都能很容易地接触、学习机器学习。网络是一个文本数据的宝盒。充分利用机器学习领域中的文本数据,我们可以预期巨大的成长机会,特别是在统计自然语言处理方面。机器学习在图形图像识别、语音识别方面也取得了巨大的成就,研究人员正朝着发掘更高精度方法的方向努力。机器学习在商务世界的各个方面被广泛使用。自然语言处理领域中,提到输入方法编辑器(Input Method Editor,IME),预测转换可能很快就浮现在你脑海里了。搜索引擎中的图像识别、语音识别、图像搜索以及语音搜索也都是很好的例子。当然,机器学习的应用并不局限于这些领域。它也被大量应用于各个领域,从营销目标(Marketing Targeting),譬如特征产品的销售预测(或者广告优化、商店货品陈列、基于人类行为预测的空间规划),到预测金融市场的动向。可以说,之前企业界使用数据挖掘的大多数方法,现在都转而采用了机器学习。是的,机器学习就是这么厉害。目前,如果你听到“人工智能”这个词,通常情况,它实际代表的是由机器学习完成的处理。软件开发实现

2、机器学习的局限性机器学习通过收集数据,预测答案。实际上,机器学习非常有用。由于机器学习,之前人类无法在可接受的时间窗口内回答的问题(譬如,使用100维超平面进行分类),机器可以很轻松地完成。最近,“大数据”变成了一个时髦术语,不过,分析海量数据所依靠的也主要是机器学习。

然而,不幸的是,即便是机器学习也无法创造人工智能。从“它能否真正实现人工智能”这个角度而言,机器学习存在着一个巨大的缺陷。机器学习和人类的学习之间存在着巨大的差异。你可能已经注意到这二者之间的差异,不过让我们慢慢道来。机器学习是一种依据输入数据进行模式分类和预测的技术。如果是这样的话,那么到底什么是输入数据呢?它能够使用任何数据吗?当然……它不能。结论很明显,它不能依据无关的数据预测正确的结果。

为了让机器正确地学习,它需要有恰当的数据,那么问题就来了。机器无法辨别哪些数据是合适的数据,哪些数据又是不合适的。只有接受正确的数据,机器才能找到正确的模式。无论一个问题难或者简单,人们都需要为它提供正确的数据。

我们思考下这个问题:“你面前的对象是一个人还是一只猫?”对任何一个普通人而言,答案太明显了。我们可以毫不费力地区分出二者。现在,让我们通过机器学习来完成同样的事。首先,我们需要准备机器读取的数据格式,换句话说,我们需要准备人和猫的图像数据。这看起来并没有什么特别的。问题出现在接下来的这一步。

你大概希望直接采用这些图像数据作为输入,但这是行不通的。正如前文所述,机器无法自身明确要从数据中学习什么。机器学习的东西,需要人事先从原始图像数据提取创建后提供给它。也就是说,这个例子中,我们需要使用可以区分出人类和猫的数据作为输入,譬如脸色、面部位置、面部轮廓等等。人定义并提供作为输入的这些值被称为“特征(Feature)”。机器学习无法完成特征工程(Feature Engineering)。这是机器学习的致命死穴。顾名思义,特征就是机器学习中的模型变量。

因为这个值以定量的方式表示了对象的特征,促使机器可以恰当地执行模式识别。换句话说,你如何设置这些标识值会对预测的精确度产生巨大的影响。潜在而言,机器学习有两种类型的局限性:·有的算法仅能在数据满足训练数据假设时才表现良好。这些训练数据的分布通常都有一定的差异。大多数时候,出现这种问题表明学习模型没有泛化好。·即便是训练良好的模型,依旧无法做出良好的元-决策(Meta-Decision)。

因此,很多情况下,机器学习只能在一个非常狭窄的领域取得成功。让我们看一个简单的例子,以便你更容易地理解特征对模型预测精度的巨大影响。假设有这样一家公司,它希望依据客户的资产量情况,向他们推销资产管理的一揽子解决方案。公司希望能推荐适合用户的产品,不过它又不能询问过于私人的问题,因此需要预测客户可能拥有多少资产,并预先进行准备。

这种情况下,我们应该把哪些类型的潜在客户作为特征呢?我们可以假设各种各样的因素,譬如他们的身高、体重、年龄、居住地址诸如此类作为分析的特征,不过,显而易见的是相对于身高和体重,年龄或者居住地址的相关性要高得多。

如果你让机器学习基于身高或者体重进行分析,很可能无法得到好的结果,因为这时预测基于的数据是没有相关性的,这意味着所进行的是一种随机的预测。由此我们可以知道,机器学习只有在读入恰当的特征之后才能为问题找出符合要求的答案。

然而,不幸的是,机器学习无法判断什么样的特征是恰当的,因此,机器学习的准确性严重依赖于特征工程!机器学习有大量的方法,然而,这些林林总总的方法都无法解决特征工程的问题。人们研发了各种各样的方法,互相比拼算法的精确度,不过当达到一定的精确度之后,最终判断机器学习算法优良的标准是人们发现特征的能力。

这绝非算法上的差异,更多的时候像是人类的直觉,或者品味,或者对参数的调优,这些工作毫无创新可言。各式各样的方法被创造出来,不过归根到底,最难的事情是如何选择最优特征(Identity),而这部分工作目前只能由人来完成。

文章参考:深度学习,java语言实现, 成都软件开发公司

  028-8453-1500