运维开发网

机器学习理论知识概述2

运维开发网 https://www.qedev.com 2020-11-17 09:51 出处:51CTO 作者:ufxqs23219
6、通常我们认为测试样本也是从样本真实分布中独立同分布采样而得(同样本与总体一样)。在划分训练集与测试集的时候,需要注意两点。一是,测试集应该尽可能地与训练集互斥,即测试样本尽量不在训练集中出现,未在训练集中使用过。二是,训练/测试集的划分要尽可能保持数据分布的一致性,避免因数据划分过程引入额外的偏差而对最终结果产生影响,即尽可能的等比缩放数据集。然而,实际上我们知道,要完全的,完美的做到这两点几

6、通常我们认为测试样本也是从样本真实分布中独立同分布采样而得(同样本与总体一样)。在划分训练集与测试集的时候,需要注意两点。一是,测试集应该尽可能地与训练集互斥,即测试样本尽量不在训练集中出现,未在训练集中使用过。二是,训练/测试集的划分要尽可能保持数据分布的一致性,避免因数据划分过程引入额外的偏差而对最终结果产生影响,即尽可能的等比缩放数据集。

然而,实际上我们知道,要完全的,完美的做到这两点几乎是不可能的。所以,才产生了多种策略来划分数据集,包括留出法、交叉验证法、自助法等。

7、为了比较两个学习器的性能孰优孰劣,我们引入了多个指标,如错误率、精度、查准率、查全率、F1等,并且为了更直观的体现这个比较,我们引入了多种图来表示,如P-R曲线,ROC等。P31

8、在绘制ROC的时候,我们可以将测试样本进行排序,“最可能”是正例的排在最前面,“最不可能”是正例的排在最后面。这样,分类过程就相当于在这个排序中以某个截断点将样本分为两部分,前一部分作正例,后一部分则作反例。这样做的好处是,在不同的应用任务中,我们可根据任务需求来采用不同的截断点,若我们更重视查准率,则可选择排序中靠前的位置进行阶段;若更重视查全率,则可选择靠后的位置进行截断。

9、考虑到“代价敏感错误率”这一指标,我们希望选取最小化“总体代价”的学习器。而在这种非均等代价下,ROC曲线不能直接反映出学习器的期望总体代价,因此,我们引入了代价曲线(cost curve),P35

10、

实际上,在比较两个模型的性能这件事情上远比大家想象的复杂得多。

因为这涉及到几个重要的因素:首先,我们希望比较的是泛化性能,然后通过实验评估方法我们获得的只是测试集上的性能,两者的对比结果可能未必相同;第二,测试集上的性能与测试集本身的选择有很大关系。且不论使用不同大小的测试集会得到不同的结果,即便使用相同大小的测试集,若包含的测试样例不同,测试结果也会不同。第三,很多算法实际上都是有一定的随机性的,即便使用相同的的参数设置,在同一个测试集上运行多次,其结果也会有不同。

因此,正因为有这么多的无法确定的因素,所以我们才要在统计学上去寻求帮助

一般来说,我们首先要在统计意义上去验证单个学习期的度量指标是否是统计意义上可靠的,然后还需要在统计意义上去验证是否学习器A比学习器B在统计意义上性能优异些。

为了确定两个模型之间存在真正的差别,我们需要进行统计显著性检验。最后我们希望得到的是类似这样一个陈述:经检验,A分类器确实比B分类器好,且该论断的误差在正负4%以内。

总的来说,因为我们为了这样那样的目的(主要是考虑到计算开销),导致了我们使用的训练集并不是全体数据集。因此,这带了这样那样的问题(拟合问题,不独立同分布问题等),因此我们提出了这样那样的“补救措施(各种划分数据的方法,各种算法的改进)”。可以这样说,我们通过训练集得到的一系列参数,并不一定能够完全反映整体数据集,也就是说,这些参数不一定是可信的。

因此,我们在实际根据参数评估之前,要确定这些评估参数是可信的!!!

其思想是建立在评估参数有可能是错误的基础上的。

11、线性模型形式简单,易于建模,但却蕴含机器学习中一些重要的基本思想。许多功能更强大的非线性模型可在线性模型的基础上通过引入层级结构或高维映射而得。

线性模型一般用向量形式写成这样:f(x)=wTx+b,例如:f好瓜=0.2X色泽+0.5X根蒂+0.3*X敲声+1

12、对于离散的标称属性连续化时,考虑两种情况。一是,若属性值直接存在“序(order)”关系,则可以通过连续化将其转化为连续值。如{高,矮}可以转化为{1.0,0.0}。二是,若属性值间不存在序关系,则通常转化为K维向量。如{西瓜,南瓜,黄瓜}可转化为{1,0,0},{0,1,0},{0,0,1}。

13、线性回归(linear regression)试图学得一个线性模型,以尽可能准确地预测实值输出标记。均方误差是回归任务中最常用的性能度量(因为均方误差有非常好的几何意义)。我们求一个线性回归模型,通常就是取均方误差最小的那个。基于均方误差最小化来进行模型求解的方法称为“最小二乘法”。当然,最小二乘法的用途很广,不仅限于线性回归。

在线性回归中,最小二乘法就是试图找到一条直线,使所有样本到直线上的欧式距离之和最小。

14、处理类别不平衡问题的策略

目前我们已经学习到的分类学习方法都有一个共同的基本假设,那就是不同类别的训练样例数目相当。如果说,不同类别的训练样例数目稍有差别,那么通常影响不大。但若差别很大,则会对学习过程造成困扰。如在异常检测中,可能正常的数据占99%,而异常的数据只占1%。但恰恰是这1%的异常数据是有价值的而99%的数据是没有价值的。因此,如果我们直接那这样的训练集去跑,那么势必学习出来的模型没有任何价值。因为你没有提供给学习器足够的样例去学习,当然你可以说这个算法不行,但是针对这种类别不平衡的问题,目前学习算法也并没有很好的解决措施。所以我们只能想办法从数据方面来进行改进了。

类别不平衡学习的一个基本策略就是再缩放。其实就是我们通过对训练集进行一些人为的调整(增加或删除样例),來使得训练集中的样本类别达到平衡。

我们知道,理想的假设是:“训练集是真实样本总体的无偏采样”,然而,这个假设在现实生活中往往是不成立的。因此,目前处理这类问题的技术一般来说就是:过采样(增加一些正例,使得正、反例数目接近)和欠采样(去除一些反例使得正、反例数目接近)。

欠采样的时间开销通常远小于过采样法。因为它丢弃了很多反例,使得分类器的训练集远小于初始训练集,而过采样法增加了很多正例,使得分类器的训练集大于初始集。

这里需要注意的是,过采样法不能简单地对初始正例样本进行重复采样,这样做会导致严重的过拟合。正确做法是,通过对训练集里的正例进行插值来产生额外的正例;而欠采样也不能随机的丢弃反例,因为这样可能会丢失一些重要信息。正确做法是,采用集成学习。把一大份的反例分成一小份小份的,分别供不同的学习器使用。

15.机器学习的现实情况:

1、除非对每个可能的数据进行训练,否则总会存在多个假设使得真实错误率不为0,即学习器无法保证和目标函数完全一致

2、训练样本是随机选取的,训练样本总有一定的误导性

因此,任何机器学习算法都无法保证百分之百的精确,所以我们引入概率。

我们对一个学习器的要求为:

1、我们不要求学习器输出零错误率的假设,只要求错误率被限制在某常数ε范围内,ε可为任意小。

2、不要求学习器对所有任意抽取的数据都能成功预测,只要求其失败的概率被限定在某个常数μ的范围内,μ可取任意小。

简而言之,我们只要求学习器可能学习到一个近似正确的假设,故得到了“可能近似正确学习”或PAC学习(这是计算学习里面的内容)

一个可PAC学习的学习器要满足两个条件:

1、学习器必须以任意高的概率输出一个错误率任意低的假设

2、学习过程的时间最多以多项式方式增长

对于PAC来说,训练样本的数量和学习所需的计算资源是密切相关的

概括的说,我们知道机器学习不可能做到哲学意义上找到完美,但我们可以做到概率上的适用。根本上的原因是因为我们使用的数据集不可能就是真正的完整的数据集。我们能拿到的数据集只能看作是一种独立同分布的抽样数据集(而且这个独立同分布也不是完全意义上的就是,同样是概率),因为才会有PAC来保证说,我们这个机器学习在概率上是可行的,同时为了尽可能的消除这种影响,在具体的算法中,你才会看到很多措施。

最后多说一句,PAC可以看作是在理论上为机器学习打下了一个框架和基础。这个理论有点古老且富有争议,但现在仍然有很多人坚持做这个。

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号