Datawhale X 李宏毅深度学习入门笔记 第五期

Hello,各位小伙伴们,今天我们来聊聊深度学习。作为一个零基础小白,李宏毅老师的《深度学习详解》可谓是一个良师益友。它带着我们从零基础入门,逆袭IT大佬。今天,我们就聊聊我对机器学习的了解吧。

 

机器学习的概念

首先,我们要先了解一下机器学习的概念,机器学习就是让机器去找一个函数的能力,这个函数可以是一个值,一个标量,也可以是一个选项,还可以是一个结构性的物体(比如文章,图片)。基于这三种结果的不同,我们可以将机器学习分为三个种类,即:回归分类结构化学习

回归:我们把机器学习中那些找到的函数输出的是一个值或标量的学习方式称为回归,比如我们要预测明天的天气,我们可以通过数据湿度,云层,温度,光照等数据来预测明天的天气,像这样通过找一个可以计算的函数来拟合天气变化并输出一个值的方式就是回归。

分类:我们把机器学习中那些找到的函数输出的是一个选择的学习方式称为分类。与回归不同的是,分类是在已知的有限的选项里择出一个最优解,而回归则是在已知的条件下去推测未知可能是什么。举个例子,AlphaGo下棋时,棋盘的空间是有限的,能落子的地方也是有限的,第一步棋相当于在361个点中挑一个点下,剩下的棋子在360个格子找一个最优解下。

结构化学习:机器产生一个有结构的物体,比如文章或图片。

 

机器学习的过程

在这里我们以回归为例,举一个例子。

我们大家都知道在bilibili上发布视频,在b站后台可以看到很多数据信息,比如一天下来的点击量,收藏量,点赞量,留言数,硬币数等。通过这些后台信息我们可以评判视频的热度和观众的喜爱度,进而进行调整,把视频做得更好。如果一个up主想要预测明天自己的视频有多少点击量,他可以自己根据以往的数据进行估计,但这样计算量庞大。但机器学习可以运用回归的方法帮我们解决这个烦恼。

机器找函数的方法分为几大步骤:

     1.写出一个带有未知参数的函数f,用来预测明天视频的点击量

                                                 y = b + eq?%5Comegax

     我们可以将第一天的点击量代入y,将第一天的天数定位x,即x=1,这样我们就得到了一个有关于b和eq?%5Comega的方程,同理,我们将其代入第二天的数据,又可以得到另一个方程,解方程组,我们就可以得到一个y关于x的表达式,这就是我们机器最初始的模型。在这里,我们将b称为偏置eq?%5Comega称为权重

     2.定义损失,不断对函数f进行拟合和修正:损失也是一个函数。既然是假设,我们得到的数据就会和真实数据有出入。我们将真实数据与预估数据之间的差值称为损失。模型的数据与前两天的数据一定是吻合的,但在第三天以后也许会有出入。比如说,我预估明天我会有5400的点击量,实际上我有7500的点击量,那么今天我的数据损失就是2100。为了使我们获得的数据更为准确,我们需要对模型进行校正,以下是校正模型的过程:

                                               L=eq?%5Cfrac%7B%7D%7B%7Deq?%5Cfrac%7B1%7D%7BN%7Deq?%5Csum_%7Bn%7D%5E%7B%7Deq?e_%7Bn%7D

这里的L是平均损失,我们将每天的损失计算出来,相加得到总和后除以总的天数,最终得到的就是平均损失L。

计算每天的损失,我们通常采用两种办法:

  • 平均绝对误差:计算y与eq?%5Chat%7By%7D之间绝对值的差距:  e=eq?%5Cleft%20%7C%20y-%5Ctilde%7By%7D%20%5Cright%20%7C
  • 均方误差:计算y与eq?%5Chat%7By%7D之间平方的差距: e = (y eq?%5Chat%7By%7D) ^2

这两种方式主要适用于不同场景:平均绝对值适用于不需要关注异常值时,均方误差适用于需要关注异常值时;平均值误差不会放大异常值的影响,均方误差可以放大异常值对整体的影响。

有一些任务中 y yˆ 都是概率分布,这个时候可能会选择 交叉熵
 
为了更加直观明确地找出最符合数据变换的模型,我们引入了 误差表面的方法。
 
683b9e46f0a7498e9a649efb2c285ee2.png

 

误差表面: 我们把eq?%5Comega作为x轴,b作为y轴,用(eq?%5Comega,b)和点的颜色来表示损失L。我们用红色来表示那些L值较大的点(RGB: 255,0,0),用蓝色来表示那些L值较小的点 (RGB: 0,0,255),处于中间的L值用过渡色来表示,就形成了我们五彩斑斓的误差表面。与此同时,我们还要引入一个等高线的概念。

 
(误差)等高线:在地理上,我们将同一海拔高度的位置连接起来,形成了等高线图。同理,我们将同一L值的点连接起来,形成了等高线。在误差表面中,最内层,最蓝的那一圈L值对应的点就是最符合我们数据的模型。很快,我们得到了这些点对应的 eq?%5Comega值和b值。
 
 
    3.寻找最优解:在寻找最优解的过程中,我们采用了 梯度下降法。我们先控制变量,假定b不变, eq?%5Comega不断改变时,我们就会得到不同的L值,这一条L不断变化的曲线就是我们的目标。我们需要在这条曲线中找到L值最小的点,现在我们需要用到数学知识了:
    
    在一条曲线中,有 极小值最小值两个概念。
 
    局部极小值是相对于取值范围来说, 导函数值为0的点所对应的值,它可能是最低点,也有可能不是。注意:一个点导函数的值如果为负,则说明左边高右边低,我们可以增大 eq?%5Comega以达到极小值;反之,则说明左边低右边高,我们可以减小 eq?%5Comega以达到极小值。
     
    这里还需要注意一点:极小值的点的左边导函数值为负,右边为正。
 
    机器在运算时会不断调整 eq?%5Comega的取值以找到极小值,取值范围为[w,w1], eq?%5Comega1取值决定于两个因素:
  •     这个地方的斜率,斜率越大跨度越大
  •     学习率(learning rate) η,由使用者自己决定
                                                                   η ∂L / ∂w |  ww0
 
    最小值是全局中数值最小的值。
 
 
为了找到L的最小值,机器通常会采用两种方法:
  • 设定调整次数。规定有限次的次数,在调试过程中找到最小的L值对应的eq?%5Comega和b
  • 理性情况:调试过程中出现极小值,参数位置不再更新
  • 注意:机器停止运行时找到的最小值L不一定是全局最小值L,由于限制,我们也只能采用这两种方式找到最小的L值。

736d75c270d1428f870e770961dc5ee5.png

好啦各位小伙伴们,今天的分享就到这里~

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值