当前位置:   article > 正文

【李宏毅机器学习2020】Basic Concept 基础概念(p4) 学习笔记_basic concept (lab1) - comp6203 intelligent agents

basic concept (lab1) - comp6203 intelligent agents 中文学习指南 (robinluonan

全文总结于哔哩大学的视频:李宏毅2020机器学习深度学习(完整版)国语

2020版课后作业范例和作业说明在github上:点击此处

李宏毅上传了2020版本的机器学习视频和吴恩达的CS229机器学习相比,中文版本的机器学习显得亲民了许多,李宏毅的机器学习是英文的ppt+中文讲解,非常有利于大家入门。吴恩达的CS229中偏向于传统机器学习(线性回归、逻辑回归、Naive Bayes、决策树、支持向量机等),李宏毅2020版本的机器学习中除了最前面的回归、分类,后面更多篇幅涉及卷积神经网络(CNN)、循环神经网络(RNN)、强化学习(RL)等深度学习的内容。

博客内容多为转载。结合哔哩大学的视频观看效果更佳。
在这里插入图片描述


Review

越复杂的model,在testing data上的error未必越低。

error来自两个地方:

  1. bias
  2. variance
    在这里插入图片描述

f_star是f_hat的一个估测值,f_star可能不等于f_hat,距离可能来自于bias,也可能来自于variance方差

在这里插入图片描述

估测变量x的mean均值(假设变量x的均值为μ,方差为σ^2):

​ 先sample N个点,将其算平均值m,一般都不等于x的均值μ

但是计算m的期望值,会正好等于μ

在这里插入图片描述

在这里插入图片描述
N越大,分布越集中;N越小,分布越分散
在这里插入图片描述
估测x的σ^2

在这里插入图片描述

重点图如下,便于理解

错误来自于bias(瞄准的位置)和variance(枪的性能),理想情况是二者都小/没有。

点越集中,方差越小;离中心越远,偏差越大。
在这里插入图片描述

平行时空,抓到不同的宝可梦

在这里插入图片描述

不同宇宙中,找到的f*是不同的

在这里插入图片描述

在100个平行的宇宙中,各抓取10个宝可梦,都去找一个f*

100个不同的w和b

在这里插入图片描述


简单模型:很集中,variance很小

复杂模型:散布分散,variance很大

原因:简单模型受不同data影响较小

在这里插入图片描述


靶心代表理想的函数,目标结果。

在这里插入图片描述

实验结果如下:

黑线代表:靶心位置;

红线代表:做5000次实验每一次找出的f*都不一样,model也不一样;

蓝线代表:将这5000次f*平均后

     f
    
    
     ˉ
    
   
  
  
   \bar f
  
 
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 1.02566em; vertical-align: -0.19444em;"></span><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.83122em;"><span class="" style="top: -3em;"><span class="pstrut" style="height: 3em;"></span><span class="mord mathdefault" style="margin-right: 0.10764em;">f</span></span><span class="" style="top: -3.26344em;"><span class="pstrut" style="height: 3em;"></span><span class="accent-body" style="left: -0.08333em;">ˉ</span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height: 0.19444em;"><span class=""></span></span></span></span></span></span></span></span></span></p> 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

在这里插入图片描述

下图的解释:

model是一个function set,使用一个范围表示function set。最好的function也只能从function set里选出来。

  • 而一个简单的model的space很小,又可能没有包含target,所以无论如何sample,平均起来都不可能得到target。

  • 复杂的model,space很大,他的function set包含了target,只不过可能无法找出那个target,因为每次给的training data不一样,如果散布在target附近的,则只要平均起来就可能得到

           f
          
          
           ˉ
          
         
        
        
         \bar f
        
       
      </span><span class="katex-html"><span class="base"><span class="strut" style="height: 1.02566em; vertical-align: -0.19444em;"></span><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.83122em;"><span class="" style="top: -3em;"><span class="pstrut" style="height: 3em;"></span><span class="mord mathdefault" style="margin-right: 0.10764em;">f</span></span><span class="" style="top: -3.26344em;"><span class="pstrut" style="height: 3em;"></span><span class="accent-body" style="left: -0.08333em;">ˉ</span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height: 0.19444em;"><span class=""></span></span></span></span></span></span></span></span></span></p> </li></ul> 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

在这里插入图片描述


如下图,其中

简单model:大bias,小variance

复杂model:小bias,大variance

error来自bias(红线)和variance(绿线),蓝色线是二者共同造成的影响

  • error来自于variance很大:overfitting 过拟合(太复杂了)
  • error来自于bias很大:underfitting 欠拟合(太简单了)

在这里插入图片描述

如何知道目前是bias大还是variance大?

  • 如果你的模型没有办法fit你和你的training example(少数的几个training data点),代表bias大,underfitting了。
  • 如果在training data上得到一个小的error,而在testing data上却得到一个error,说明这个model的variance大,说明overfitting了

在这里插入图片描述

解决方法:

bias大:

  • 要redesign一个新model,有可能model根本没有包含target
          f
         
         
          ^
         
        
       
       
        \hat{f}
       
      
     </span><span class="katex-html"><span class="base"><span class="strut" style="height: 1.15232em; vertical-align: -0.19444em;"></span><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.95788em;"><span class="" style="top: -3em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord mathdefault" style="margin-right: 0.10764em;">f</span></span></span><span class="" style="top: -3.26344em;"><span class="pstrut" style="height: 3em;"></span><span class="accent-body" style="left: -0.08333em;">^</span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height: 0.19444em;"><span class=""></span></span></span></span></span></span></span></span></span>,所以可以考虑加入更多的feature、更高的次数。(增加data没有效果)</li></ul> 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

variance大:

  • 增加data数量,数据集增强,很有效控制variance过大的方法
  • Regularization正则化,在loss function后加一项

在这里插入图片描述


在bias和variance中权衡,选择一个模型可以平衡两种error,使得总error最小。

但是不可以做的事情是:利用自己手上已有的testing set来选择最好的模型的时候,选出来的模型在真正的testing data上,未必是最好的模型

testing set有自己的bias:数据采集的偏差。除非你的testing set比较好地代表了总体分布,否则实际使用时Err一定会变差

在这里插入图片描述
在这里插入图片描述

正确做法: 交叉验证cross validation

在这里插入图片描述

若不相信某次分trin和test的数据集,可以分好多次,即,N折交叉验证N-fold Cross Validation

把最好的效果的model用在最后的testing test

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/173266
推荐阅读
相关标签
  

闽ICP备14008679号