机器学习算法和深度学习算法比较
以逻辑回归算法如何解决垃圾邮件分类问题为示例,了解基本处理过程如下。
逻辑回归算法解决垃圾邮件分类问题
在使用逻辑回归算法解决垃圾邮件分类问题时,会先从每一封邮件中抽取对分类结果可能有影响的因素,比如说上文提到的发邮件的地址、邮件的标题及收件人的长度等等。每一个因素被称之为一个特征( feature )。
逻辑回归算法可以从训练数据中计算出每个特征和预测结果的相关度。
比如在垃圾邮件分类问题中,可能会发现如果一个邮件的收件人越多,那么邮件为垃圾邮件的概率也就越高。 在对一封未知的邮件做判断时,逻辑回归算法会根据从这封邮件中抽取得到的每一个特征以及这些特征和垃圾邮件的相关度来判断这封邮件是否为垃圾邮件。
在大部分情况下,在训练数据达到一定数量之前,越多的训练数据可以使逻辑回归算法对未知邮件做出的判断越精准 。 也就是说逻辑回归算法可以根据训练数据(经验 E )提高在垃圾邮件分类 问题(任务 T)上的正确率(效果 P )。 之所以说在大部分情况下,是因为逻辑回归算法的效果除了依赖于训练数据,也依赖于从数据中提取的特征。假设从邮件中抽取的特征只有邮件发送的时间,那么即使有再多的训练数据,逻辑回归算法也无法很好地利用 。 这是因为邮件发送的时间和邮件是否为垃圾邮件之间的关联不大,而逻辑回归算法无法从数据中取得更好的特征表达。这也是很多传统机器学习算法的一个共同的问题。
如何从实体中提取特征,对于很多传统机器学习算法的性能有巨大影响。
一旦解决了数据表达和特征提取,很多人工智能任务也就解决了 90%。
然而,对许多机器学习问题来说,特征提取不是一件简单的事情。在一些复杂问题上,要通过人工的方式设计有效的特征集合,需要很多的时间和精力,有时甚至需要整个领域数十年的研究投入。
既然人工的方式无法很好地抽取实体中的特征,那么是否有自动的方式呢?答案是肯定的。深度学习解决的核心问题之一就是自动地将简单的特征组合成更加复杂的特征,并使用这些组合特征解决问题。深度学习是机器学习的一个分支,它除了可以学习特征和任务之间的关联,还能自动从简单特征中提取更加复杂的特征。
机器学习算法
机器学习算法进行分类有两个步骤:
1. 训练阶段。使用一个数据集,包括大量照片及其对应的类别标签。
2. 预测阶段。用没使用过的图片检验我们训练出来的模型。
在第一个训练阶段,对于图像分类包括两个过程:
(1)特征提取。这个过程需要我们用领域相关的知识,提取出机器学习算法所需要的特征。HOG和SIFT是两个图像分类领域常用的特征。
(2)模型训练。用上一过程提取出来的特征加上其对应的标签,训练出模型。
在第二个预测阶段,我们用上一阶段得出的特征提取器处理新图片,再把特征传给模型获取最终的预测结果。
深度学习算法
传统机器学习算法和深度学习算法的区别在于特征提取这个过程。在传统的机器学习算法中,我们需要事先人为地定义一些特征,而在深度学习中,特征是由算法本身得到的。特征的定义并不容易,需要专家知识,又耗时间,所以相比之下,深度学习算法就有优势。
下图展示了深度学习和传统机器学习在流程上的差异。如图所示,深度学习算法可以从数据中学习更加复杂的特征表达,使得最后一步权重学习变得更加简单且有效。
深度学习之所以能完成这样的技术突破,最主要的原因是它可以自动地从海量数据中提取更加复杂且有效的特征,而不是如机器学习中需要人工提取特征。
人工智能、机器学习和深度学习
总的来说,人工智能、机器学习和深度学习是非常相关的几个领域。下图总结了它们之间的关系。人工智能是一类非常广泛的问题,机器学习是解决这类问题的一个重要手段。深度学习则是机器学习的一个分支。在很多人工智能问题上,深度学习的方法突破了传统机器学习方法的瓶颈,推动了人工智能领域的发展。