机器学习之监督学习介绍

有监督学习提供数据并提供数据对应结果的机器学习过程。

监督学习的过程:

一、监督学习三要素

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

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

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

二、监督学习实现步骤

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

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

  • 确定模型选择的准则,也就是学习策略
  • 实现求解最优模型的算法,也就是学习算法
  • 通过学习算法选择最优模型
  • 利用得到的最优模型,对新数据进行预测或分析

三、监督学习模型评估策略

1.模型评估

我们将数据输入到模型中训练出了对应模型,但是模型的效果好不好呢?我们需要对模型的好坏进行评估。首先说一下什么是训练集和测试集。

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

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

(1)损失函数

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

(2) 损失函数的分类

  • 0-1损失函数

             

  • 平方损失函数

          

  • 绝对损失函数

        

  • 对数损失函数

     

(3)训练误差和测试误差

  • 训练误差

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

           

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

  • 测试误差

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

            

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

2.模型选择

(1)欠拟合和过拟合

  • 欠拟合

模型没有很好的捕捉到数据特征,特征集过小,导致模型不能很好地拟合数据,称之为欠拟合(under-fitting)

欠拟合的本质是对数据的特征“学习”得不够

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

  • 过拟合

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

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

注意:

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

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

(2)正则化和交叉验证

正则化

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

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

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

  • 结构风险最小化的典型实现是正则化

          --形式:

              

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

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

交叉验证

数据集划分

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

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

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

  • 简单交叉验证

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

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

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

  • S折交叉验证

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

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

  • 留一交叉验证

四、分类和回归

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

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

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

通俗地讲,分类问题就是预测数据属于哪一种类型,就像房屋出售预测,通过大量数据训练模型,然后去预测某个给房屋能不能出售出去,属于能够出售类型还是不能出售类型。

回归问题就是预测一个数值,比如给出房屋一些特征,预测房价

1.分类问题

  • 在监督学习种,当输入变量Y去有限个离散值时,预测问题就成立分类(classification)问题
  • 监督学习从数据中学习一个分类模型或分类决策函数,称为分类器(classifier)分类器对新的输入进行预测,称为分类
  • 分类问题包括学习和分类两个过程。学习过程中,根据已知的训练数据集来利用学习方法学习一个分类器;分类过程中,利用已习得的分类器对新的输入实力进行分类。
  • 分类问题可以用很多学习方法来解决,比如K近邻、决策树、感知机、逻辑斯蒂回归、支撑向量机、朴素贝叶斯法、神经网络等

2.回归问题

  • 回归问题用于预测输入变量和输出变量之间的关系
  • 回归模型就是表示从输入变量到输出变量之间映射的函数
  • 回归问题的学习等价于函数拟合:选择一条函数曲线,使其很好地拟合已知数据,并且能够很好地预测未知数据
  • 回归问题的分类

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

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

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

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

猜你喜欢

转载自blog.csdn.net/lovebaby1689/article/details/111057669