matlab深度学习(1)机器学习
人工智能、机器学习和深度学习存在如下关系:
“深度学习是机器学习的一个子类,而机器学习又是人工智能的一个子类。”
人工智能是一个十分宽泛的概念,它可以描述很多不同的事物。并非特指某一特定技术领域。
机器学习则指一个特定领域。
机器学习这一概念用于指代人工智能的一个特定技术类别。机器学习本身也包括多种技术,其中之一就是深度学习。
1.1什么是机器学习?
机器学习是针对数据的一种建模技术。机器学习是一种从“数据”中抽象出“模型”的技术。“学习”这一名词本身反映了该技术能自主分析数据并发现模型而不需要人工参与的特性。称之为“学习”,是因为其过程类似于利用书记进行训练以实现建模。因此,机器学习建模过程中的数据被称为“训练”数据。该技术的核心思想就是在无法使用公式及定理得到满意结果时,利用训练数据来建立模型。
机器学习过程如下:
1.2机器学习面临的挑战
训练数据和输入数据有时差异很大。机器学习无法基于错误的训练数据来实现预期目标。这同样适用与深度学习。
对于机器学习而言,获取能够充分反映实际领域数据特征的无偏训练数据至关重要。泛化(generalization)是确保模型对于训练数据与输入数据能够获得一致性能的处理过程。机器学习能否成功很大程度上取决于泛化的有效程度。
1.2.1过拟合
泛化过程失效的主要诱因之一就是过拟合。机器学习无法区分噪声。如果机器学习考虑包括噪声的所有数据,它将生成一个不合理的模型。如果认为训练数据中的每一个元素都是准确的,并且精确匹配模型,将得到一个普适性较低的模型。这就是过拟合(overfitting)。
1.2.2克服过拟合
本节介绍两种克服过拟合问题的典型方法:正则化和验证(regularization and validation)。
正则化是一种力求构建极简模型的数值方法。精简后的模型能以较小的性能代价,避免过拟合的影响。复杂的模型(或曲线)更倾向于过拟合。相反,简单曲线虽然未能正确划分部分数据点,但能更好地反映各分类的总体特征。
由于训练数据简单并且模型较为直观,读者能够辨识前面分组问题中的模型是否过拟合。但大多数情况下并非如此,原因是其数据具有更高的维度。对于这样的数据,很难勾画出模型并凭借直觉来评估其过拟合程度。因此,需要另一种方法,确定由训练建立的模型是否存在过拟合,这便是验证。
验证是指预留一部分训练数据,并利用其监控模型的性能的过程。验证数据集不参与训练过程。因为训练数据导致的建模误差无法表明模型是否存在过拟合,可以利用部分训练数据进行验证。如果训练过程所生成的模型对预留输入数据的处理效果不佳,则认为模型存在过拟合。这种情况下,需要修改模型以降低过拟合影响。
当应用验证这一技术时,训练过程分为以下几步:
(1)将训练数据划分为两组:一组用于训练,一组用于验证,一般比例为8:2。
(2)使用训练数据对模型进行训练。
(3)利用验证数据评估模型效果:
a.如果模型效果令人满意,结束训练。
b.如果模型效果不够显著,则对模型进行修改,并从第(2)步起重复整个过程。
交叉验证是在上面的基础上,不断地改变数据的划分方式。交叉验证是在上面的基础上,不断地改变数据的划分方式。交叉验证不保留数据的原始划分,而是重复划分数据。这么做的原因是当数据划分固定时,模型甚至可能会对验证数据过拟合。由于交叉验证保持验证数据的随机性,它能更好的检测模型的过拟合。如图,阴影部分表示验证数据,它是在训练过程中随机选出的。
1.3机器学习的类型
分为三种类型:监督学习(supervised learning)、无监督学习(unsupervised learning)、增强学习(reinforcement learning)。
在监督学习中,每个训练数据集均由输入与标准输出构成的数据对构成。标准输出是模型对该输入应生成的预期结果。{input,correct output}
监督学习的学习过程即是对模型自身进行一系列修正,以降低模型依据输入所生成的输出与标准输出之间的差异的过程。如果模型训练的很完善,它将能对输入训练数据生成该数据对应的标准输出。
与监督学习不同,无监督学习的训练数据仅仅只包含输入,而不包含标准输出。{intput}
无监督学习通常用于分析数据的特征,并对数据进行预处理。这一理念类似于某个学生仅仅依据问题的意义和属性,对问题进行梳理和求解,而不是直接学习正确的解决问题的方法,因为没有已知的标准答案。
增强学习利用由输入、某些输出以及评分组成的数据集作为训练数据。它通常应用于需要优化折中的情况,例如控制与博弈问题。{input,some output,grade for this output}
分类与回归(Classification and Regression)
监督学习最常见的两类应用是分类和回归。
分类问题就是寻找数据所属的类别。分类问题的训练数据如下:{input,class}。在分类问题中,目的在于获知数据所属的类别。因此,数据对中的类别即作为对应于输入的标准输出。
与分类相比,回归不判定类别,而是预测数值,并以数值作为其训练数据中的标准输出。例如,基于包含年龄及收入的数据集来构建模型,并依据年龄来预测收入,这便是一个回归问题。
分类与回归都属于监督学习的范畴。因此,它们的训练数据都采用{input,correct output}的形式。唯一不同的是标准输出的种类:分类使用类别,而回归需要数值。
总之,如果某类分析研究利用模型来判别输入数据属于哪一种类别,那么应该将其归为分类问题;如果该分析研究利用模型来估计数据的趋势,则应将其视为回归问题。
无监督学习的典型引用之一是聚类(clustering)。它研究孤立数据的特征并将相关数据划分为一类。聚类和分类结果相似,但他们是不同的方法、术语。
最后提供原文的英文版文件《matlab深度学习 机器学习、神经网络与人工智能》by Phil Kim。