第一部分 基本概念 - 第 1 章

《模式分析的核方法》是一本很有助于机器学习入门的书,或者说模式识别,通过学习本书感觉对模式有了一个系统的认识,而不仅仅只是为了分析数据去学习决策树、向量机等等,还是应该理解做这些有什么意义,

读书笔记仅为个人理解,不可避免有失偏颇,需要本书 pdf 版可以在下方留言。

第 1 章:模式分析


模式分析解决的是如何 自动检测数据中的模式 这一问题, 它在现代人工智能和计算机科学领域的许多问题中起着关键作用。

我们根据模式理解某个数据源中内在的关系、规律性或者结构; 通过检测提供的数据中的显著模式,系统能够对来自同一数据源的新数据作出预测。

什么是模式? 比如, 1, 2, 3, 5, 8斐波那契数,我们理解了它每个数的关系,就可以通过这种关系对之后的对我们未知的数字进行预测,比如第 100 位 是多少。

在这个意义上, 系统通过“ 学习” 关于生成数据的数据源的信息, 获得了泛化能力(gener-alisation power)。

这也是我们学习的过程,当模式分析刚刚出现时,它就像一个初学者,对如何学习,怎样高效率地学习所知甚少。
无论之后涉及到多么复杂的概念,你只需要知道,它们都是为了让这个 “ 初学者” 有能力学到更复杂的知识,并且能够很好的吸收这些知识。
就像当初的我们,在开始的分不清善恶,到后来通过最初父母的教导“帮助他人的是好人,伤害他人的是坏人”, 再到后来的反思:好人就一定是好人吗?坏人就一定是坏人吗?善恶真的有明显的界限吗?
总是在成长,因为总是有新的东西让我们不断反思、进步。对于模式分析来说,之后的内容就是它进步的阶梯。
模式分析也一直在尝试找到一个足够准确的规则,去分辨出每一个特征,并且准确的通过自己的学习认识它们,满足某一条件的就一定是某一类吗? 之前证明的行为之后也一定会发生吗? 

为了方便,我之后就将用到这些方法的对象拟人化,起个名字:智子。简单理解为,我们想要让计算机做到什么,那么这里的智子就是计算机,也可以是 AI。

一些早期的方法在寻找线性关系时很有效率,但是在处理非线性模式时,人们只能采用理论性差的做法,本书描述的方法,把先前只限于线性系统的方法的理论性,和非线性方法的灵活性与适用性相结合。

就像学习方法对我们一样,模式分析所需要的 “方法” 很重要,我们所要做的,就是为它找到好的方法。

人们已经把统计模式识别 和句法模式识别区分开来,

  • 前者主要处理分布满足某些统计假设的向量;
  • 而后者则处理结构化对象,例如序列或者形式语言,较少依赖与统计分析。

本书介绍的方法兼顾这两个方向,因为它能处理一般的数据类型,例如序列,同时又能处理统计模式分析中的典型问题,例如从有限的样本中学习。

1.1 数据中的模式

(1)数据

一般来说,AI 和计算机科学领域中许多非常有趣的问题都比较复杂,人们很难或者甚至都不可能指定一个明确的程序化解决方案。

举个例子,我们不能够直接给计算机编程以识别照片中的脸孔,也不知道如何指定一个程序从人类的 DNA 序列中挑选出代表基因的子序列。

对于智子来说,她生活在数字空间,她的眼里只有 01 构成的世界。她学习的书本不是由文字构成,而是由各种各样的数字数据构成。 我们不是让她以人类的方式思考,那是不可能的,而是让她按照自己的方式去做,只求结果与我们所做出的近似或相同。

人们很难指定一个明确的程序化解决方案,为了解决这个问题,学习系统提供了另外一个方法。通过充分利用从样本数据中提取的知识, 学习系统通常能够自适应地推断这类任务的解决方案。我们把这种软件设计方法叫做 学习方法(learning methodology)。 它也被称为数据驱动(data driven)方法或者基于数据(data based)的方法,该方法与理论驱动(theory driven)方法形成对比,后者能够精确定义所需算法。

人类明白了,智子很难明白人类的理论概念,她所能理解的,是数据。 与其着眼于向智子讲明白什么怎么样是人脸,不如先通过数据让她理解,最终自己学习推断出人脸识别这类问题的解决方案。

近年来,学习方法适用的问题范围扩大得非常快,很多领域的问题虽然困难,但是人们已经证明它们可以用学习方法来解决。比如 Web 检索、图像分类,手写字符识别等等。

人类发现,智子的能力可以用来解决很多问题,之后的任务,就是让智子不断的进步。

总的来说,模式分析这个领域研究的是运用学习方法发现数据中的模式(patterns in data),它所寻找的这些模式包括许多不同的类型,例如分类、回归、聚类分析(有时称为统计模式识别(statistical pattern recognition))、特征提取、语法推断和分析(有时统称为句法模式识别(syntactical pattern recognition ))。

值得强调的是,虽然传统的统计学主要用多元统计学(multivariate statistics)的方法来处理向量数据,但上面提到的许多重要应用中的数据都是非向量形式的, 我们还必须提及, 计算机科学领域的模式分析主要集中在分类和回归,在这个意义上,模式分析和神经网络文献中的分类是同义的。 引入模式分析(pattern analysis)这一术语,部分也是为了避免把上述比较狭窄的关注点和我们一般的定义相混淆。

1.1.2 模式

想象一个数据集,它包含关于太阳系行星位置的上千个观测值,例如九大行星每颗行星位置的日常记录。 显然, 某颗行星特定日子的位置依赖于同一行星前些日子的位置;

此数据集包含一定数量的冗余,也就是可以从数据的其他部分重新构造出来的信息, 因此不是严格必需的。 在这种情况下,我们说数据集是冗余的(redundant)。

通过从数据中提取简单的规律,并能用这些规律重新构造每颗行星每一天的位置。支配行星位置的这些规则,被称为开普勒定律。

我们可以把开普雷的发现看做模式分析(或者数据驱动分析)的一个先例。

冗余数据及具有两个潜在性质:一方面它们是可压缩的(compressible)的,比如下表中,给出一列就能构造这个表;另一方面它们又是可预测的。这种预测能力是数据中存在可能的隐藏关系的直接结果。一旦我们发现这些关系,就能进行预测,从而更有效地处理新数据。

在这里插入图片描述
通常我们把要预测的特征作为其余特征的函数, 例如,把距离作为周期的函数, 当然,关系也必须是可逆的,这类具有显式形式的关系正是我们所要寻找的

开普勒定律是正确的,它适用于给定恒星系的所有行星,我们称这类关系为 准确(exact)关系

我们把一定的概率下成立的关系,叫做 统计(statistical)关系

如果关系中的值包括一些不精确值,这些关系就叫做近似关系(approximate),对于近似关系我们仍然谈论预测,虽然为此必须刻画估计值的精确性,并且很有可能还要刻画估计值适用的概率。为了再一次证明可压缩性,我们可以指定输出值与真实值之间的误差修正,如果误差修正很小,它们占的空间会比较少。

可以说: 准确关系是 100% 概率发生,而统计关系是小于 100 % 概率,在某些情况下发生吗?

准确模式 定义: 数据源的一般准确模式是一个非平凡函数 f ,该函数满足 f (x) = 0, 其中 x 是从这一数据源生成的所有数据。
如 f (D, P) = D2 - P3 = 0 ,开普勒第三定律所描述的模式。

这个定义知识涵盖了准确模式, 对于近似模式,我们考虑所要求的松弛型。

比如,对于一个数据项 (x,y),函数 g 预测 y 的值是输入特征 x 的函数。 如果无法再 g(x) 和 y 之间获得准确的相等关系, 就用损失函数 ζ 来衡量不匹配的数量。 这比较容易做到,只要当两个变量相似但不一定相同时允许函数输出 0 否则允许函数 f 输出较小的 非零正数。 一般采用第二种方法,因为这种方法与概率性模式结合时, 给出了独特而有用的概率性匹配的概念。

定义: 数据源的一般近似模式是一个非平凡函数 f , 该函数满足 f (x) ≈ 0, 其中 x 是从这一数据源生成的所有数据 x 。


最后,我们讨论统计模式。 在这种情况下,有一个生成数据的概率分布。 在很多情况下, 人们假设个体数据独立生成并且来自同一分布

即独立同分布的情况或简写为 i.i.d 。 我们用符号 E 表示在某种分布下某个量的期望(exception)。如果想要指明期望取自的分布,可以把这个分布或变量作为符号 E 的下标。

注意,模式的定义适用于准确模式和近似模式情况下的每个数据项。 但是,对于统计模式, 我们会根据潜在的分布考虑函数的期望。在这种情况下,我们要求模式函数为正, 以保证较小的函数值导致较小的期望值,而不是通过求较大的正负输出的平均值这种途径,通过对输出负值的模式函数去绝对值,这一点总是能够实现。

定义: 根据分布 Di.i.d. 生成的数据源的一般统计模式是一个非平凡非负函数 f, 该函数满足,

ED f(x) = Ex f(x) ≈ 0

如果不满足 i.i.d. 的要求, 则通常是由于按序列生成的数据项之间存在依赖性(不独立), 或者是因为潜在分布内部存在缓慢的变化。

第一种情况典型例子是时间序列数据。 在这种情况下,我们通常假定生成数据的数据源是各态历经的,也就是说,依赖性随时间衰减到一个 i.i.d. 的概率。为这种类型的数据开发一种逼近 i.i.d. 的分析法是可能的。


如何将我们考虑的模式及其对应的可压缩性与传统的统计信息理论的研究联系起来?

[信息理论] ; 信息理论定义了数据源的熵,并以熵的函数形式给出了数据可压缩性的极限。 对于 i.i.d. 的情况,它依赖于我们对可能数据项的有限集合的准确概率的了解。

算法的信息理论为定义数据集的冗余性和规律性,以及把这两个性质和可压缩性联系起来提供了更为一般的框架。 这个框架考虑所有可计算的函数,对于有限数据集来说让这个框架成为一个类是太过丰富了。 因为一般来说我们无法取得全部数据,当然也就无法对生成数据的分布有了准确的了解。

我们关于数据源的信息必须从一个有限的观测集合中收集,且这些观测根据同一个潜在分布生成。 仅仅使用这一信息,模式分析算法必须能够识别模式。因此我们给出了模式分析算法的一般定义,表述如下:

模式分析算法】:

模式分析算法(Pattern analysis algorithm)把来自数据源的有限例子的集合作为输入,并进行分析。它的输出,或者指明在数据中检测不到模式,或者是一个正的模式函数 f ,该算法断言这个函数满足
在这里插入图片描述
这里,这个期望是关于数据源生成的数据的期望。我们把输入数据的例子称为训练实例(training instance)、训练例子(training example)或者训练数据(training data),把模式函数 f 称为算法返回的假设,把期望值称为泛化误差(generalisation error)。

注意,模式函数的形式由特定的算法决定,尽管具体选择哪个函数当然要依赖于提供给算法的数据样本。

现在我们学习了三种模式,准确模式、近似模式、统计模式,现在看来统计模式是我们用的最多的。
模式这个术语看起来很唬人,对于我们的世界来说,模式就像朝霞不出门,晚霞行千里;就像好人有好报;就像吃得苦中苦,方为人上人。虽然可能会扯的远一些,但是我们的世界也可以这样划分,上述所说的其实都是统计模式, 我们总是愿意去相信这些,但是我们也知道这些并不是百分百正确,好人未必有好报,但是在我们的统计模式中,好人有好报。
如上所说,我们总是要去解释,解释世界,解释数据,这就是人类的天性,对未知的无尽探索,找到因果和相关,进而去预测,进而去改造我们的世界,我们预测,不是为了获得正确所带来的喜悦,而是为了证明我们的解释是对的,是为了我们要发现事物的真正轨迹,不论是物质的结构、电流的发现等等,正是因为人类去尝试解释,去证明,才有了今天的我们身边的每一个产品,每一个与我们生活息息相关的概念,都是从前的人一步步去解释,或许他们最终给出的模式并不是绝对正确,但它确确实实可以帮助改造我们的生活,这就是有意义的。
同理, 智子现在正在做的就是在她的数据世界发现模式,发现鸢尾花的每个类别伴随着怎样的特征,发现很多去超市的消费者买了啤酒和尿布,这些都是模式,当然还有更多更有意义的模式,甚至对我们的世界产生革命的影响。

1.2 模式分析算法——如何识别模式

识别有限数据集中的模式,有趣,也很有挑战性,在考虑模式分析算法的有效性之前。先确定这种算法所要求展现的三个关键特征。

  • 计算高效性

由于我们感兴趣的是现实世界问题的实际解决方案,模式分析算法必须能处理非常大的数据集。所以,只在小规模的例子上运行良好是不够的,我们要求它的性能按比例延伸到大的数据集。

这里就对算法的计算复杂度可伸缩性有要求了。人们把哪些资源要求与输入大小成多项式比例关系的算法称为高效算法(efficient algorithm)。这意味着我们可以把算法要求的步骤数和内存限制为一些参数的多项式函数,这些参数包括数据集大小、特征个数和要求的精确度等等。

模式分析中使用的很多算法无法满足这个优良的标准,确实,有些标准根本就无法保证能够找到一个解决方案,这就是理想和现实的差距。
  • 健壮性

噪声,指个体数据项的特征值可能受到测量不准确甚至错误编码的影响,比如,由于人为误差而引起的噪声。 这一点和之前所说的近似模式概念密切相关,因为即使潜在的模式是准确的,一旦引入噪声,它就必然变成近似模式, 而且有可能变成统计模式。

这点其实对很多科学家来说都让人恼火,很多时候到了最后一步,离真相就差半步,但是由于意外(噪声)的存在,使得没有发现,在后来仪器改良之后才被后人发现。

为了我们的目的起见,我们要求算法能够处理混有噪声的数据,并识别近似模式。一次,只要噪声不过多地影响输出,这些算法应能容忍少量的噪声。我们把算法的这种性质描述为健壮。

我就觉得离谱,健壮性多好,为啥要叫鲁棒性呢,感觉就有点土, 非要音译。
噪声就无法解决了吗?为什么我总有信心以后一定有办法能够绕过噪声的影响而不是容忍,看来太相信人类了。
  • 统计稳定性

第三个性质也许是最基本的, 即算法识别的模式确实是数据源的真实模式,而不只是出现在有限训练集内的偶然关系。 如果我们在同一个数据源的新样本上重新运行算法,它应该识别出相似的模式,从这个意义上讲, 可以把这个性质看做输出在统计(statistical)上的健壮性。

因此算法的输出对具体的数据集不敏感,而只对潜在的数据源敏感。 出于这个原因,我们把具备这种性质的算法描述为在统计上稳定(statistically stable),或者简称为稳定的(stable)。 这类算法识别出来的关系是潜在数据源的模式,也被称为稳定的(stable)、显著的(significant)或者不变的(invariant)。

【健壮性和稳定性】 健壮性和稳定性之间有一定的重叠,因为它们都衡量模式函数对抽样过程的敏感性。 它们的差别在于健壮性强调模式函数本身的抽样效果,而统计稳定性则衡量具体的模式函数如何可靠地处理未见过的例子。 我们选择把两者分离开来,因为它们在模式分析算法的设计方面会导致不同的考虑。

模式的统计稳定性 —— 具体性质

  • 证明统计稳定性

当一个经过学习的模式对将来的观测作出正确的预测时,我们就说它是泛化的(generalised),因为这意味着该模式有更一般的适用性。 我们也把这种对那些将来观测的预测的精确性,称为泛化质量(quality of the generalization).

然而,所观察到的关系有一种微妙的性质。并非所有在给定的数据集内发现的关系都能被认为是不变或者稳定的。 有可能在一个特定的数据集内出现一种偶然的关系。 因此,模式分析的核心问题是,评估关系的可靠性并把这些关系同暂时的巧合区分开来。 我们如何才能确信没有别在特定数据集内观察到的特定关系所误导呢? 毕竟,总是有可能在任何有限的数集、甚至随机数集之间发生某种关系,只要我们允许存在任意复杂的关系。

这种情况在现实生活中也一样困扰着我们,比如说“以偏概全”, “一叶障目”, 那我们是怎样跳过这些坑的呢?又该怎样教会智子不要进入这些坑呢?这是核心问题。

模式分析和假设检验:

类似地, 模式分析算法识别稳定模式的前提条件是: 所得到的模式只在小概率情况下是由误导的数据集得出的。

即,数据集之间的关系本身带有偶然性,这是我们识别稳定模式的前提,如果数据集之间的关系是普遍的,那由此得到的模式一定是稳定且普遍适用的。那就没有识别稳定模式的意义了。

有了前提,我们很容易就联想到了假设检验中对性质 P 的断言。 该检验的零假设声明 P 不成立。 然后,该检验限制了当零假设正确时观测到的数据出现的概率。如果这个概率是某个很小的数 p, 那么我们就可以得到结论:

当服从在概率 p 下数据具有误导性的这一警告性约束条件时, 该性质确实成立。

数 p 是所谓的显著性(significance),断言正是在这种显著性下做出的。 在模式分析中, 这一概率是被称为置信参数(confidence parameter),通常用符号 δ 表示。


如果只是检验一种模式的存在性,我们会应用统计检验的方法。 学习理论提供了一个框架来检验数据集内多种模式中的一种是否存在。

过度拟合

学习理论的一般任务是推导结果,这些结果能够检验尽可能多的假设, 同时做尽可能少的假定。

这是一种不可避免的权衡(trade-off)。 如果我们做太多的限制性假定, 就会与数据源不符,从而得出不可靠的结果或者无法检测到模式。 事实有可能就是这样,因为例如数据不是按照我们设想的方式生成, 比方说,把一个假设高斯分布的检验用到非高斯分布的数据; 或者因为我们提供的假设条件太苛刻,从而无法得到数据源展现的任何模式。

在这些情况下,我们说对这些数据欠拟合(underfit),另一种情况是,可能我们做的假定太少,或者在数据的生成方式上采取了太多的灵活性(比方说,相邻的例子至今存在交互作用),或者由于允许了太丰富的假设集合,有可能碰巧拟合这些假设中的一个。这被称为过拟合数据。

一般来说,使用关于数据的所有已知事实时有意义的,虽然在很多情况下这可能意味着从专家那里诱导出领域知识。

下面我们将描述一种方法,这种方法可以用来加入关于特定应用领域的知识。

1.2.2 通过重新编码检测模式

正如我们上面概括的, 如果要避免过度拟合,就必须使学习机偏向由所有能在数据中发现可能关系组成的集合的某个子集。

只有用这种方法才能控制偶然与数据集相匹配的概率,这就提出了如何选择特定的模式集的问题。

在同一个数据集中可能会发现很多模式构成的模式集,如果将整个模式集作为模式,会产生过拟合的现象,
比如,是猫科动物这个模式可以映射到整个猫科动物,可以抓老鼠,就会映射到特定的猫,而非老虎等等,再加入一个模式映射到折耳猫。
可以看到,加入更多的模式,最终限定的标签 label范围 越来越小,如果我们以一部分猫的数据集,通过 猫科动物 和 可以抓老鼠模式来扩展,智子会以为所有满足这两个模式的都为猫科动物,很明显泛化误差很大。
所以我们应该选择子集, 猫科动物而排除掉可以抓老鼠。

这种方法有两个困难:

  • 第一、从领域专家那里引出可能的模式并不容易;

  • 第二、 它意味着要为每个问题设计专家算法。

我们来探索另外一种方法。 该方法贯穿本书始终,它基于这一观察, 即:

规律性可以被转换。

通过改变数据的表示形式可以把原来的规律性重写成不同的规律性。

我们在行星椭圆轨道例子那里已经观察到了这个事实。 通过把数据表示成二次单项式的特征向量,椭圆就变成了线性模式而不是二次模式, 比如 f (x,y) = x 2 + y 2 ,它是二次模式,但如果以 x 2 作为变量 a , y2 为 b, 则 f(a,b) = a + b。

密钥在于隐藏数据的表现形式,人们不得不做出相当大的努力来寻找看似随机的数据的表示形式,除非正确表示形式已知。

而模式分析恰恰相反,即寻找表示形式,利用这些表示形式,数据中的模式变得非常明显,从而它们能够自动被自动发现。(通过改变表现形式来让模式更可见)。

我们确定一组标准算法,然后用这些标准算法把特定的数据集转换成一种适合分析的表示形式,而不是为每一个问题设计一种不同的算法。

这种方法的优势在于不必再为每一个新问题设计新算法,相反,我们必须寻找一个方式把数据重新编码,换成适合选定的算法的表示形式。

我们关注的特定选择是模式的使用,这类模式由适当选定的特征空间中的线性函数决定,所以重新编码涉及为线性函数选择特征空间。 使用线性函数还有一个优势,即通过所谓的核函数(kernel function),我们可以按一种间接的但又十分自然的方式制定特征空间。

其实呢就是说,我们呢先选择适合的特征空间,我们又不可能把所有的特征都给用上(当然看情况),选择一部分有价值的特征空间,然后呢,模式可能是由这些特征空间组成的线性函数, 比如 模式 A = f( a, b, c) , a ,b ,c 为特征。

之后介绍的核技术使得与诸如生物序列、图像、文本数据等对象直接工作成为可能。

它也使得我们能够利用维数比系统有关参数中的多项式次数还高的特征空间,尽管如此,其计算代价仍然是多项式的,这就保证了尽管我们在使用线性函数,也仍然能任意扩展这些线性函数提供的灵活性。

因此,我们的方法是为由核定义的特征空间中的线性函数所指定的模式设计一组高效的模式分析算法。 那么模式分析就是一个两阶段过程。

  • 首先,必须把某一特定应用中的数据重新编码,使得这些模式能够用线性函数来表示。
  • 随后,把标准线性模式分析算法中的一种用于转换后的数据。结果得到的模式分析算法类,就称为核方法(kernel methods)。

1.3 利用模式

我们要设计模式分析算法, 其目的是设计出好的模式,用它们来预测新的、原先未见过的数据。

为了给特定算法订立测量基准,未见过的数据通常以一个来自同一数据源的数据例子集合的形式出现。

一个数据源,可能二八分,二为测试集。八为训练实例。

通过求模式函数在测试集上的性能的平均值(固定了吗?)来评估这个模式函数在来自数据源的随机数据上的性能。

要理解模式分析的过程, 需要通过其所有不同的形式和应用。例如,有时它被看做机器学习的同义词,而在其他时候,它被看做数据挖掘(Data Mining)、模式识别(Pattern Recognition)或者模式匹配(Pattern Matching)的同义词。

在许多情况下,名字只依赖于应用领域、要寻找的模式类型或者算法设计师的专业北京京。

1.3.1 整体的策略

为了能够可靠地检测规则,必须在生成数据的数据源里加入一些关于规律性的先验知识。

一般要有专业常识,很自然我们处理数据时,将现实中的先验知识加入。因为数据是从现实中而来。

我们要从专业的角度思考以下问题:

  • 什么假设才能最佳地捕获先验知识和期望?
  • 我们应该如何给数据生成过程建模?
  • 如何才能保证正在寻找的这一类关系是正确的?

即: 如何把领域知识插入到系统之中,同时仍能保证结果得到的算法能够满足高效性、健壮性和稳定性这些必须的要求?

方法很多:

  • 逻辑规则推断
  • 神经网络训练
  • 标准统计方法
  • 模糊逻辑
    等等。

然而 ,我们要介绍的是一种 新颖的、 符合原理和统一的 模式分析算法。

算法建立在 统计方法 和 最优化技术 上。
  • 统计方法保证了稳定性和健壮性
  • 最优化技术保证了计算高效性。

这种方法还使我们能够直接加入领域知识。

并且 , 这些算法提供了很多优势,包括它们的计算性质和泛化性质的坚实理论基础,以及模块性提供的软件工程优势,其中模块性把推理算法从先验知识加入到核的过程中分离开来。

1.3.2 常见模式分析任务

当讨论了什么组成了数据中的模式时, 我们注意到:

模式分析的目的通常是 预测数据的一个特征,而这个特征是其他特征的值的函数。

比如我们预测泰坦尼克号的存活与死亡,即什么样的人会存活,什么样的人会死亡,从年龄、性别、船舱、等级等等,而存活与否就是由他们为自变量构成的函数。

因此,常常人们将这个特征从原来的数据中分离开来, 因此,训练数据以如下形式出现:
在这里插入图片描述
y 是系统旨在预测的特征的值, x 是一个包含其余特征的值的向量。 我们把向量 x 称为输入, y 称为目标输出或者标签。

监督任务 我们把具有这种形式的模式分析任务称为监督任务, 即每个输入都有一个与之关联的标签,对于这种类型的任务, 我们寻找如下形式的模式:
在这里插入图片描述
g 被称为预测函数, L 被称为损失函数, 由于损失函数衡量预测函数的输出和正确值 y 之间的偏差, 当检测到模式时, 我们认为这种损失接近于零。

当提供的是新数据时,无法得到目标输出,对于给定的输入 x ,我们利用函数 g(x) , 通过模式函数来预测 y 的值。 如果预测结果 f(x,y) = 0,则表明 g(x) 和 与之间的偏差很小。

不同的监督模式分析任务是根据我们要预测的特征 y 的类型来区分的。 当涉及 y ∈ | -1 , 1| 这种情况时, 我们用二分类(binary classification)来指明输入向量输入一个选定的类别(y = +1) ,或者 不属于这个类别( y = -1)。

在这种情况下,我们采用所谓的离散损失函数,当它的两个自变量不同时该函数返回 1, 否则返回 0. 因此, 在这种情况下, 泛化误差只是随机抽取的测试例子被错分类的概率。

如果训练数据被标为属于 N 类中的一类,系统必须学会把新的数据点分类, 那么它从集合 | 1,2.……, N | 中挑选 y , 这个任务被称为多分类

回归指的是监督模式分析的未知特征为实数值这种情况, 即 y ∈ R。 回归这个属于也用来描述 y 取向量值时(即y并非只有一个特征)的情况, 即对于某个 n ∈ N, y ∈ Rn , 虽然这可以简化为 n 个独立的回归任务, 每个任务都具有一维的输出,但也都可能损失掉一些有用信息。

回归的另一个变形是时间序列分析。 在这种情况下,每个例子都有一系列观测构成,那个特殊的有待预测的特征是系列中下一个观测的值。因此,这里模式分析的目的是在有关特征的前面的值的基础上做出预测。

半监督任务 在有些任务中,只是部分知道那个突出的特征或者标签。 例如,在排列这种情况中,我们可能只有训练集上的例子的相对次序,然而目的却是获得新数据的类似次序。

对于这种问题,通常假设存在一个潜在的值函数,并在训练过程中对训练数据的值做出判断。(有没有想到隐马尔可夫),然后,用值函数的输出来评估新数据。另一种情形是只能获得部分关于标签的信息,即 直推 (transduction)这种情况。这里数据中只有一部分给出了标签值, 该任务可能简单地旨在预测无标签数据的标签。

另一方面,目的也可能是利用无标签数据来提高学会预测新数据的标签的模式函数的能力, 关于部分标签信息的最后一个变形是查询情节(query scenario),其中算法可以请求一个未知的标签, 但是要为提取这一信息付出代价,这里的目的是使泛化误差和查询代价的组合最小化。

非监督任务

和监督学习相比,它们没有给训练例子提供标签,也不必为测试数据预测标签,在这种情况训练数据和测试数据的所有特征都是已知的。 具有这种形式的模式分析任务称为非监督任务。

有这样一群算法,它们身经百战, 各有特点。在模式分析的前线大展身手,组织派他们前往不同的地方执行任务,有的在广阔的平原名为 “监督任务” 中寻找模式, 有的在大漠戈壁名为 “ 非监督任务” 中寻找模式, 我们的老朋友 “ 聚类” 就在大漠戈壁 “ 非监督任务” 中执行任务,他要做的就是寻找到沙粒之下的模式, 不得不说,他在这一方面很有一手。

聚类的目的: 寻找到一种自然的划分, 把数据分为几个组,使得组内的数据比较相似。 我们可以用一个质心或原型表示每一个聚类,用新数据点最近的期望距离来衡量模式的质量。


以上基本是第一章的概念,当然也有很多东西未能解释清楚。

拓展:

  • 不规则检测或者新颖检测:

检测偏离正常数据的新数据点这一任务。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值