ML _10.4_P1-3_李宏毅笔记

ML _10.4_P1-3_李宏毅笔记

本文是参考B站台大李宏毅ML教学视频(https://www.bilibili.com/video/BV1JE411g7XF?p=1)学习后的记录。

0 INTRODUCTION

  • Machine Learning:定义:自动找 Recognition(函式)。步骤:find a( set of function-model), goodness of function, pick the best function。
  • 从结果类型角度ML共分四大类:(1)Regression输出的是一个数值,(Binary) (2)Classification输出的是 Yes(1) 或 No(2) / 正面 或 负面, (3)Multi-class Classification输出是选择Class 1,Class 2,Class3…中的选项,(4)Generation 产生需要的信息(eg.文句、图片…)。
  • 从学习方式角度ML分为:
    Supervised learning监督学习:提供已标注(Labeled Data)的训练资料。
    Reinforcement Learning强化学习:相比于sup ml,rei ml不提供labeled data,只提供一个好or坏的评分机制(learning from critics)。
    Unsupervised Learning非监督学习:提供未标注的训练资料。
  • Loss:评估模型多不好,数值越大模型越不好。
  • linear function线性函数,network architecture (包含RNN与CNN架构)提供函数搜寻范围,explainable AI 提供判决结果的原因,adversarial attack 刻意加杂讯,network compression网络压缩,anomaly detection异常检测 使机器知道自己不知道,transfer learning迁移学习,使ai可以应对实际运用中的变式,meta learning 元学习,学习如何学习, lifelong learning 终身学习,eg.天网。

1 Regression

  • output a scalar 输出标量

  • Step1 find a model: Model:x feature, w weight, b bias.ML _10.4_P1-3_李宏毅笔记

  • Step 2 godness of function-Find loss fuction :ML _10.4_P1-3_李宏毅笔记
    ML _10.4_P1-3_李宏毅笔记

  • Step 3 pick the best function :
    ML _10.4_P1-3_李宏毅笔记
    ML _10.4_P1-3_李宏毅笔记
    Gradient Descent (梯度下降法) :For finding the best function——star f。
    注:只要loss func对它的参数是可微分的就可以用,不需要一定是线性方程
    步骤:
    1,Pick an initial value (先算一个参数 w):ML _10.4_P1-3_李宏毅笔记
    2,ML _10.4_P1-3_李宏毅笔记
    3,ML _10.4_P1-3_李宏毅笔记
    whereML _10.4_P1-3_李宏毅笔记
    is learning rate. 决定参数更新幅度,该值越大学习效率越高。

4,Continue this step until finding w ,
ML _10.4_P1-3_李宏毅笔记
Until gradient(梯度)ML _10.4_P1-3_李宏毅笔记
is equal to zero.(Linear function 中局部最优解就是全局最优解)。

  • 针对多参数问题:和单个参数处理方式一样。
    For two paraments:ML _10.4_P1-3_李宏毅笔记

此时,局部最优解不一定是全局最优解。

  • 使用高次泰勒展开可以提高training data的准确性,但不保证可以降低testing data的误差率,即存在过拟合overfitting。

  • Regularization (正则化):
    修改loss 函数,ML _10.4_P1-3_李宏毅笔记

    ML _10.4_P1-3_李宏毅笔记

其中,ML _10.4_P1-3_李宏毅笔记
是常数,需要手调(自定义)。
其中,ML _10.4_P1-3_李宏毅笔记
参数w越小,曲线越平滑,即函数f对输入的变化越不敏感,即,ML _10.4_P1-3_李宏毅笔记
因此,为了使函数f不容易受输入值变化的影响,我们希望该函数变得更平滑,即使w更小,为了使w在满足L函数尽可能小的前提下尽可能的变小,我们就需要使参数ML _10.4_P1-3_李宏毅笔记
尽可能大,这样就可以使曲线变得平滑。
实测如下:ML _10.4_P1-3_李宏毅笔记
但testing 为何会先小后大? 答:这是因为曲线越平滑,函数越不敏感,所以当函数过于平滑,即对输入的变化过于迟钝时,自然就会使testing 结果不好。
综上考虑testing与training,结果为 training=4.1,testing=11.1.