【人工智能实验室】第二次培训之机器学习理论基础

一、什么是机器学习

        如果把算法比作带有输入和输出的机器,那么能够让算法提取数据中蕴含的规律,通过利用数据,训练出模型,然后使用模型预测的一种方法,这就叫机器学习。 (其实单看这个概念还是很抽象)

        监督学习:输入机器的数据是带有标签的。

        无监督学习:输入机器的数据不带有标签。

                                         (PPT中“盗的图”)

二、回归问题

        线性回归

        说来说去其实我觉得这就是高中数学统计那部分的知识,根据数据去选择合适的函数,再根据这些数据去计算这个函数的参数(比如y=ax+b中的a,b)。

        损失函数(如图公式所示)

                                   

        这个过程大致是这样的:将模型与数据点之间的距离差之和做为衡量模型匹配好坏的标准,误差越小,  匹配程度越大。其实吧这个损失函数不就是高中统计那部分学的的什么卡方检验、相关系数、相关性的概念嘛,不多说了哈哈哈哈。

三、分类问题

         我觉得分类问题也可以叫离散问题或者0-1问题,其输出结果就俩,非黑即白(“黑”和“白”根据具体情况去定义)。

        分类问题可以引入非线性函数,比如sigmoid函数,当然这个仍然需要调整a、b参数值让模型不断改变以匹配数据点;而且分类问题也要用到损失函数。

(调整a、b)   (损失函数)

(非线性函数)

 四、区分线性问题与回归问题

        (1)不同之处:

           ①输出不同:回归问题输出是定量(比如说有具体的数值),分类问题输出是定性(就是描述性语言,好坏或阴晴);

         ②应用场景不同:回归问题通常是用来预测一个,如预测房价或一个产品的实际价格为500元,通过回归分析预测值为499元。 分类问题是用于将事物打上一个标签,通常结果为离散值,例如判断一幅图片上的动物是一只猫还是一只狗。分类通常是建立在回归之上,分类的最后一层通常要使用softmax函数进行判断其所属类别。

         (2)相同之处:

           ①过程类似:数据集特定规律—>选择函数—>确定参数得到模型—>模型评价—>如果模型不好继续得到新的a、b,再进行评估,直到找到最恰当的a、b—>得到模型预测任务。

           ②回归和分类可以相互转化:分类模型可将回归模型的输出离散化,回归模型也可将分类模型的输出连续化。例如设定回归问题达到某阈值将其判定为好,未达到判定为不好,这样就从回归问题转化为分类问题。

四、各类超参数介绍

       注:下述内容学习自这篇博客        (98条消息) 深度学习超参数介绍及调参_xu_fu_yong的专栏-CSDN博客_深度学习超参数

        (1)超参数介绍

          ① 通常是手工设定,不断试错调整;

          ②超参数是在开始学习过程之前或者训练中设置值的参数,需要为它根据已有或现有的经验指定“正确”的值,也就是人为为它设定一个值,它不是通过系统学习得到的;

          ③模型参数通常是有数据来驱动调整,超参数则不需要数据来驱动

        (2)深度学习中包含哪些参数    

              通常可以将超参数分为三类:网络参数、优化参数、正则化参数

​              网络参数:可指网络层与层之间的交互方式(相加、相乘或者串接等)、卷积核数量和卷积核尺寸、网络层数(也称深度)和激活函数等。

​              优化参数:一般指学习率(learning rate)、批样本数量(batch size)、不同优化器的参数以及部分损失函数的可调参数。

​              正则化:权重衰减系数,丢弃法比率(dropout)。


        (3)为什么要参数调优

           ①平衡模型优化寻找最优解正则项之间的关系(正则项的引入是为了解决过拟合问题)模型优化希望最小化经验风险,而容易陷入过拟合,正则项用来约束模型复杂度;

           ②网络模型优化调整的目的是为了寻找到全局最优解(或者相比更好的局部最优解),而正则项又希望模型尽量拟合到最优;

           ③如何平衡两者之间的关系,得到最优或者较优的解就是超参数调整优化的目的

       (4)超参数的重要性顺序

          ① !!学习率!!:直接控制着训练中网络梯度更新的量级,直接影响着模型的有效容限能力(现在还不了解这玩意儿是啥)。通常情况下,一个或者一组优秀的学习率既能加速模型的训练,又能得到一个较优甚至最优的精度。过大或者过小的学习率会直接影响到模型的收敛。

              损失函数上的可调参数:需要结合实际的损失函数来调整,大部分情况下这些参数也能很直接的影响到模型的的有效容限能力。可分为如下三类:

                第一类,辅助损失结合常见的损失函数:起到辅助优化特征表达的作用。例如度量学习中的Center loss,通常结合交叉熵损失伴随一个权重完成一些特定的任务。这种情况下一般建议辅助损失值不高于或者不低于交叉熵损失值的两个数量级;

                第二类,多任务模型的多个损失函数:每个损失函数之间或独立或相关,用于各自任务,这种情况取决于任务之间本身的相关性;

                第三类,独立损失函数:这类损失通常会在特定的任务有显著性的效果。例如RetinaNet中的focal loss,其中的参数γ,α,对最终的效果会产生较大的影响。这类损失通常论文中会给出特定的建议值。

          ②批样本数量:定了数量梯度下降的方向。过小的批数量,极端情况下,如batch size为1,即每个样本都去修正一次梯度方向,样本之间的差异越大越难以收敛。若网络中存在BN,batch size过小则更难以收敛,甚至垮掉,这是因为数据样本越少,统计量越不具有代表性,噪声也相应的增加。而过大的batch size,会使得梯度方向基本稳定,容易陷入局部最优解,降低精度。一般参考范围会取在[1:1024]之间,当然这个不是绝对的,需要结合具体场景和样本情况。

Batch Size定义:一次训练所选取的样本数。
Batch Size的大小影响模型的优化程度和速度。同时其直接影响到GPU内存的使用情况,假如你GPU内存不大,该数值最好设置小一点。

            动量优化器的动量参数β:计算梯度的指数加权平均数,并利用该值来更新参数,设置为 0.9 是一个常见且效果不错的选择。

           ③Adam优化器的超参数:Adam优化器中的β1,β2,ϵ,常设为 0.9、0.999、10−8就会有不错的表现。

              权重衰减系数:通常会有个建议值,例如0.0005 ,使用建议值即可,不必过多尝试。

              丢弃法比率(dropout):通常会在全连接层之间使用防止过拟合,建议比率控制在[0.2,0.5]之间。使用dropout时需要特别注意两点:一、在RNN中,如果直接放在memory cell中,循环会放大噪声,扰乱学习,一般会建议放在输入和输出层;二、不建议dropout后直接跟上batchnorm,dropout很可能影响batchnorm计算统计量,导致方差偏移,这种情况下会使得推理阶段出现模型完全垮掉的极端情况。

              网络参数:通常情况下增加网络层数能增加模型的容限能力,但模型真正有效的容限能力还和样本数量和质量、层之间的关系等有关,所以一般情况下会选择先固定网络层数,调优到一定阶段或者有大量的硬件资源支持可以在网络深度上进行进一步调整。

(第③部分不建议实践中过多尝试,下图为转载内容)

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------                                                            补充                                                                                  --  ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

损失函数及梯度下降:

 --------------------------------------------------------------------------------------------------------------------------------

常用RGB颜色表 (bokee.com)          

おすすめ

転載: blog.csdn.net/Wendy030/article/details/121189946