• 监督学习的介绍


    一、定义

    监督学习是利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程,也称为监督训练或有教师学习。它是一种机器学习的方法,目的是让模型能够从已知的输入和输出之间的关系中学习,并且能够对新的输入做出正确的预测。

    二、具体介绍

    1、监督学习三要素

    模型(model):总结数据的内在规律,用数学函数描述的系统
    策略(strategy):选取最优模型的评价准则
    算法(algorithm):选取最优模型的具体方法

    2、监督学习实现步骤

    1、得到一个有限的训练数据集
    2、确定包含所有学习模型的集合
    3、确定模型选择的准则,也就是学习策略
    4、实现求解最优模型的算法,也就是学习算法
    5、通过学习算法选择最优模型
    6、利用得到的最优模型,对新数据进行预测或分析

    3、模型评估策略

    (1)模型评估

    训练集和测试集
    损失函数和经验风险
    训练误差和测试误差
    
    • 1
    • 2
    • 3

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

    训练集:输入到模型中对模型进行训练的数据集合。
    测试集:模型训练完成后测试训练效果的数据集合。

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

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

        这一策略认为,经验风险最小的模型就是最优的模型
        样本足够大时,ERM 有很好的学习效果,因为有足够多的“经验”
        样本较小时,ERM 就会出现一些问题
    
    • 1
    • 2
    • 3

    ④训练误差和测试误差

    i)训练误差(training error)是关于训练集的平均损失。训练误差的大小,可以用来判断给定问题是否容易学习,但本质上并不重要。
    ii)测试误差(testing error)是关于测试集的平均损失。其真正反映了模型对未知数据的预测能力,这种能力一般被称为泛化能力。

    (2)模型选择

        过拟合和欠拟合
        正则化和交叉验证
    
    • 1
    • 2

    ①过拟合和欠拟合

    模型把训练数据学习的太彻底,以至于把噪声数据的特征也学习到了,特征集过大,这样就会导致在后期测试的时候不能够很好地识别数据,即不能正确的分类,模型泛化能力太差,称之为过拟合(over-fitting)。例如,想分辨一只猫,给出了四条腿、两只眼、一条尾巴、叫声、颜色,能够捕捉老鼠、喜欢吃鱼、… …,然后恰好所有的训练数据的猫都是白色,那么这个白色是一个噪声数据,会干扰判断,结果模型把颜色是白色也学习到了,而白色是局部样本的特征,不是全局特征,就造成了输入一个黑猫的数据,判断出不是猫。

    模型没有很好地捕捉到数据特征,特征集过小,导致模型不能很好地拟合数据,称之为欠拟合(under-fitting)。 欠拟合的本质是对数据的特征“学习”得不够。例如,想分辨一只猫,只给出了四条腿、两只眼、有尾巴这三个特征,那么由此训练出来的模型根本无法分辨猫。

    ②模型的选择
    当模型复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值之后再增大。
    当模型复杂度过大时,就会发生过拟合;所以模型复杂度应适当。

    ③正则化
    结构风险最小化(Structural Risk Minimization,SRM),是在 ERM 基础上,为了防止过拟合而提出来的策略。在经验风险上加上表示模型复杂度的正则化项(regularizer),或者叫惩罚项。正则化项一般是模型复杂度的单调递增函数,即模型越复杂,正则化值越大。结构风险最小化的典型实现是正则化(regularization),如果简单的模型已经够用,我们不应该一味地追求更小的训练误差,而把模型变得越来越复杂。

    ④交叉验证
    数据集划分

        如果样本数据充足,一种简单方法是随机将数据集切成三部分:训练集(training set)、验证集 (validation set)和测试集(test set)。
        训练集用于训练模型,验证集用于模型选择,测试集用于学习方法评估。
        数据不充足时,可以重复地利用数据——交叉验证(cross validation)
    
    • 1
    • 2
    • 3

    简单交叉验证

        数据随机分为两部分,如70%作为训练集,剩下30%作为测试集;
        训练集在不同的条件下(比如参数个数)训练模型,得到不同的模型;
        在测试集上评价各个模型的测试误差,选出最优模型;
    
    • 1
    • 2
    • 3

    S折交叉验证

        将数据随机切分为S个互不相交、相同大小的子集;S-1个做训练集,剩下一个做测试集;
        重复进行训练集、测试集的选取,有S种可能的选择;
    
    • 1
    • 2

    留一交叉验证

    三、类别

    监督学习有很多种算法,每种算法都有自己的优缺点,适用于不同的问题和数据。下面介绍一些比较常用的监督学习算法。

    1、线性回归:这是一种最基本的监督学习算法,它的目的是找到一个线性函数,使得它能够最好地拟合输入和输出之间的关系。线性回归可以用于处理连续型的输出变量,比如预测房价、股票价格等。线性回归的优点是简单易懂,计算效率高,但是缺点是不能处理非线性的关系,也不能处理分类问题。
    2、逻辑回归:这是一种用于处理分类问题的监督学习算法,它的目的是找到一个逻辑函数,使得它能够最好地划分不同类别的输入。逻辑回归可以用于处理二分类或多分类问题,比如预测是否患病、是否点击广告等。逻辑回归的优点是简单易懂,可以给出概率输出,但是缺点是不能处理非线性的关系,也不能处理回归问题。
    3、决策树:这是一种用于处理分类或回归问题的监督学习算法,它的目的是构建一棵树形结构,使得它能够最好地划分不同类别或预测输出值的输入。决策树可以用于处理离散型或连续型的输入和输出变量,比如预测贷款是否违约、预测销量等。决策树的优点是直观易懂,可以处理非线性的关系,但是缺点是容易过拟合,也容易受到噪声和异常值的影响。
    4、支持向量机:这是一种用于处理分类或回归问题的监督学习算法,它的目的是找到一个超平面或超曲面,使得它能够最好地划分不同类别或预测输出值的输入。支持向量机可以用于处理高维或非线性的数据,比如图像识别、文本分类等。支持向量机的优点是具有很强的泛化能力,可以处理复杂的关系,但是缺点是计算效率低,参数选择困难。
    5、神经网络:这是一种用于处理分类或回归问题的监督学习算法,它的目的是构建一个由多层神经元组成的网络结构,使得它能够最好地拟合输入和输出之间的关系。神经网络可以用于处理任意类型和形式的数据,比如语音识别、自然语言处理等。神经网络的优点是具有很强的表达能力,可以处理非常复杂和抽象的关系,但是缺点是训练效率低,容易陷入局部最优解。

    以上就是一些常见的监督学习算法,当然还有很多其他的算法,比如k-近邻、朴素贝叶斯、随机森林、梯度提升树等。不同的算法适用于不同的问题和数据,选择合适的算法需要考虑很多因素,比如数据的特征、规模、分布、噪声等,以及模型的复杂度、可解释性、稳定性等。一般来说,没有一种算法是万能的,需要根据具体的情况进行比较和测试,才能找到最优的解决方案。

    引用

    [1]https://www.dandelioncloud.cn/article/details/1489391056461615105
    [2]https://blog.csdn.net/qq_39315069/article/details/119361967
    [3]https://baijiahao.baidu.com/s?id=1761426464724224950&wfr=spider&for=pc

  • 相关阅读:
    【单细胞高级绘图】08.细胞通讯_两组比较_气泡图
    Spring-Java
    万字好文:大报文问题实战
    react简单的服务器渲染示例(含redux, redux-thunk的使用)
    C5750X7R2E105K230KA(电容器)MSP430F5249IRGCR微控制器资料
    pdf怎么合并成一个pdf?超实用的几种合并方法
    推荐模型-上下文感知-2018:AutoInt
    天工开物 #9 Why Async Rust(译文)
    ESP8266-Arduino编程实例-BMP388气压传感器驱动
    手把手教你从零开始腾讯云服务器部署(连接建站教程)
  • 原文地址:https://blog.csdn.net/weixin_45639224/article/details/132647084