监督学习介绍

1、监督学习三要素

模型(model):总结数据的内在规律,用数学函数描述的系统

策略(strategy):选取最优模型的评价准则

算法(algorithm):选取最优模型的具体方法

2、监督学习实现步骤

1、得到一个有限的训练数据集

2、确定包含所有学习模型的集合

3、确定模型选择的准则,也就是学习策略

4、实现求解最优模型的算法,也就是学习算法

5、通过学习算法选择最优模型

6、利用得到的最优模型,对新数据进行预测或分析

 3、模型评估策略

1、模型评估

         训练集和测试集

        损失函数和经验风险

        训练误差和测试误差

2、模型选择

        过拟合和欠拟合

        正则化和交叉验证

1、训练集和测试集

我们将用来训练模型的数据称为训练集,将用来测试模型好坏的集合称为测试集

训练集:输入到模型中对模型进行训练的数据集合。

测试集:模型训练完成后测试训练效果的数据集合。

2、损失函数

损失函数用来衡量模型预测误差的大小。

定义:选取模型 f 为决策函数,对于给定的输入参数 X,f(X) 为预测结果,Y 为真实结果;f(X) 和 Y 之间可能会有偏差,我们就用一个损失函数(loss function)来度量预测偏差的程度,记作 L(Y,f(X))。

损失函数是系数的函数

损失函数值越小,模型就越好

0 – 1 损失函数

平方损失函数

绝对损失函数

对数损失函数

2.1、经验风险

经验风险

模型 f(X) 关于训练数据集的平均损失称为经验风险(empirial risk),记作 Remp

经验风险最小化(Empirical Risk Minimization,ERM)

        这一策略认为,经验风险最小的模型就是最优的模型

        样本足够大时,ERM 有很好的学习效果,因为有足够多的“经验”

        样本较小时,ERM 就会出现一些问题

3、训练误差和测试误差

训练误差

训练误差(training error)是关于训练集的平均损失。

训练误差的大小,可以用来判断给定问题是否容易学习,但本质上并不重要。

测试误差

测试误差(testing error)是关于测试集的平均损失。

测试误差真正反映了模型对未知数据的预测能力,这种能力一般被称为 泛化能力。

4、过拟合和欠拟合

模型没有很好地捕捉到数据特征,特征集过小,导致模型不能很好地拟合数据,称之为欠拟合(under-fitting)。 欠拟合的本质是对数据的特征“学习”得不够。

例如,想分辨一只猫,只给出了四条腿、两只眼、有尾巴这三个特征,那么由此训练出来的模型根本无法分辨猫。

把训练数据学习的太彻底,以至于把噪声数据的特征也学习到了,特征集过大,这样就会导致在后期测试的时候不能够很好地识别数据,即不能正确的分类,模型泛化能力太差,称之为过拟合(over-fitting)

例如,想分辨一只猫,给出了四条腿、两只眼、一条尾巴、叫声、颜色,能够捕捉老鼠、喜欢吃鱼、… …,然后恰好所有的训练数据的猫都是白色,那么这个白色是一个噪声数据,会干扰判断,结果模型把颜色是白色也学习到了,而白色是局部样本的特征,不是全局特征,就造成了输入一个黑猫的数据,判断出不是猫。

5、模型的选择

当模型复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值之后再增大。

当模型复杂度过大时,就会发生过拟合;所以模型复杂度应适当。

 6、正则化

结构风险最小化(Structural Risk Minimization,SRM)

是在 ERM 基础上,为了防止过拟合而提出来的策略

在经验风险上加上表示模型复杂度的正则化项(regularizer),或者叫惩罚项

正则化项一般是模型复杂度的单调递增函数,即模型越复杂,正则化值越大

结构风险最小化的典型实现是正则化(regularization)

形式:

第一项是经验风险,第二项 J (f ) 是正则化项, 是调整两者关系的系数

正则化项可以取不同的形式,比如,特征向量的L1范数或L2范数

奥卡姆剃刀

奥卡姆剃刀(Occam‘s razor)原理:如无必要,勿增实体。

正则化符合奥卡姆剃刀原理。它的思想是:在所有可能选择的模型中,我们应该选择能够很好地解释已知数据并且十分简单的模型。

如果简单的模型已经够用,我们不应该一味地追求更小的训练误差,而把模型变得越来越复杂。

7、交叉验证

数据集划分

        如果样本数据充足,一种简单方法是随机将数据集切成三部分:训练集(training set)、验证集 (validation set)和测试集(test set)。

        训练集用于训练模型,验证集用于模型选择,测试集用于学习方法评估。

数据不充足时,可以重复地利用数据——交叉验证(cross validation)

简单交叉验证

        数据随机分为两部分,如70%作为训练集,剩下30%作为测试集;

        训练集在不同的条件下(比如参数个数)训练模型,得到不同的模型;

        在测试集上评价各个模型的测试误差,选出最优模型;

S折交叉验证

        将数据随机切分为S个互不相交、相同大小的子集;S-1个做训练集,剩下一个做测试集;

        重复进行训练集、测试集的选取,有S种可能的选择;

留一交叉验证

4、分类和回归

监督学习问题主要可以划分为两类,即 分类问题回归问题

        分类问题预测数据属于哪一类别。 —— 离散

        回归问题根据数据预测一个数值。 —— 连续

4.1、分类问题

在监督学习中,当输出变量 Y 取有限个离散值时,预测问题就成了分类(classification)问题;

监督学习从数据中学习一个分类模型或分类决策函数,称为分类器(classifier);分类器对新的输入进行预测,称为分类

分类问题包括学习和分类两个过程。学习过程中,根据已知的训练数据集利用学习方法学习一个分类器;分类过程中,利用已习得的分类器对新的输入实力进行分类;

分类问题可以用很多学习方法来解决,比如k近邻、决策树、感知机、逻辑斯谛回归、支撑向量机、朴素贝叶斯法、神经网络等。

4.1.1、精确率和召回率

评价分类器性能的指标一般是分类准确率(accuracy),它定义为分类器对测试集正确分类的样本数与总样本数之比。

对于二类分类问题,常用的评价指标是精确率(precision)召回率(recall)。

通常以关注的类为正类,其它为负类,按照分类器在测试集上预测的正确与否,会有四种情况出现,它们的总数分别记作:

TP:将正类预测为正类的数目

FN:将正类预测为负类的数目

FP:将负类预测为正类的数目

TN:将负类预测为负类的数目

精确率

精确率指的是“所有预测为正类的数据中,预测正确的比例”

召回率

召回率指的是“所有实际为正类的数据中,被正确预测找出的比例”

4.2、回归问题

回归问题用于预测输入变量和输出变量之间的关系;

回归模型就是表示从输入变量到输出变量之间映射的函数;

回归问题的学习等价于函数拟合:选择一条函数曲线,使其很好地拟合已知数据,并且能够很好地预测未知数据。

回归问题的分类:

        按照输入变量的个数:一元回归和多元回归

        按照模型类型:线性回归和非线性回归

回归学习的损失函数 —— 平方损失函数

如果选取平方损失函数作为损失函数,回归问题可以用著名的 最小二乘法(least squares)来求解。

5、 模型求解算法(学习算法)

 梯度下降算法

牛顿法拟牛顿法

5.1、 梯度下降算法

梯度下降(gradient descent)是一种常用的一阶优化方法,是求解无约束优化问题最简单、最经典的方法之一。

梯度方向:函数变化增长最快的方向(变量沿此方向变化时函数增长最快);

负梯度方向:函数变化减少最快的方向(变量沿此方向变化时函数减少最快);

损失函数是系数的函数,那么如果系数沿着损失函数的负梯度方向变化,此时损失函数减少最快,能够以最快速度下降到极小值。

沿着负梯度方向迭代,迭代后的 θ 使损失函数 J(θ) 更小:

比如我们在一座大山上的某处位置,由于我们不知道怎么下山,于是决定走一步算一步,也就是在每走到一个位置的时候,求解当前位置的梯度,沿着梯度的负方向,也就是当前最陡峭的位置向下走一步,然后继续求解当前位置梯度,向这一步所在位置沿着最陡峭最易下山的位置走一步。这样一步步的走下去,一直走到觉得我们已经到了山脚。当然这样走下去,有可能我们不能走到山脚,而是到了某一个局部的山谷处。

从上面的解释可以看出,梯度下降不一定能够找到全局的最优解,有可能是一个局部最优解

如果损失函数是凸函数,梯度下降法得到的解就一定是全局最优解。

5.2、牛顿法和拟牛顿法

牛顿法(Newton method)

迭代公式:

  

其中 是 f(x) 的梯度向量在 x(k) 的值,

是 f(x) 的海塞矩阵在 x(k) 的值

梯度下降法只考虑了一阶导数,而牛顿法考虑了二阶导数,因此收敛速度更快。

拟牛顿法(quasi Newton method)

牛顿法需要求解目标函数的海赛矩阵的逆矩阵,计算比较复杂;

拟牛顿法通过正定矩阵近似海赛矩阵的逆矩阵,从而大大简化了计算过程。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值