Hello,各位小伙伴们,今天我们来聊聊深度学习。作为一个零基础小白,李宏毅老师的《深度学习详解》可谓是一个良师益友。它带着我们从零基础入门,逆袭IT大佬。今天,我们就聊聊我对机器学习的了解吧。
机器学习的概念
首先,我们要先了解一下机器学习的概念,机器学习就是让机器去找一个函数的能力,这个函数可以是一个值,一个标量,也可以是一个选项,还可以是一个结构性的物体(比如文章,图片)。基于这三种结果的不同,我们可以将机器学习分为三个种类,即:回归,分类和结构化学习。
回归:我们把机器学习中那些找到的函数输出的是一个值或标量的学习方式称为回归,比如我们要预测明天的天气,我们可以通过数据湿度,云层,温度,光照等数据来预测明天的天气,像这样通过找一个可以计算的函数来拟合天气变化并输出一个值的方式就是回归。
分类:我们把机器学习中那些找到的函数输出的是一个选择的学习方式称为分类。与回归不同的是,分类是在已知的有限的选项里择出一个最优解,而回归则是在已知的条件下去推测未知可能是什么。举个例子,AlphaGo下棋时,棋盘的空间是有限的,能落子的地方也是有限的,第一步棋相当于在361个点中挑一个点下,剩下的棋子在360个格子找一个最优解下。
结构化学习:机器产生一个有结构的物体,比如文章或图片。
机器学习的过程
在这里我们以回归为例,举一个例子。
我们大家都知道在bilibili上发布视频,在b站后台可以看到很多数据信息,比如一天下来的点击量,收藏量,点赞量,留言数,硬币数等。通过这些后台信息我们可以评判视频的热度和观众的喜爱度,进而进行调整,把视频做得更好。如果一个up主想要预测明天自己的视频有多少点击量,他可以自己根据以往的数据进行估计,但这样计算量庞大。但机器学习可以运用回归的方法帮我们解决这个烦恼。
机器找函数的方法分为几大步骤:
1.写出一个带有未知参数的函数f,用来预测明天视频的点击量
y = b + x
我们可以将第一天的点击量代入y,将第一天的天数定位x,即x=1,这样我们就得到了一个有关于b和的方程,同理,我们将其代入第二天的数据,又可以得到另一个方程,解方程组,我们就可以得到一个y关于x的表达式,这就是我们机器最初始的模型。在这里,我们将b称为偏置,称为权重。
2.定义损失,不断对函数f进行拟合和修正:损失也是一个函数。既然是假设,我们得到的数据就会和真实数据有出入。我们将真实数据与预估数据之间的差值称为损失。模型的数据与前两天的数据一定是吻合的,但在第三天以后也许会有出入。比如说,我预估明天我会有5400的点击量,实际上我有7500的点击量,那么今天我的数据损失就是2100。为了使我们获得的数据更为准确,我们需要对模型进行校正,以下是校正模型的过程:
L=
这里的L是平均损失,我们将每天的损失计算出来,相加得到总和后除以总的天数,最终得到的就是平均损失L。
计算每天的损失,我们通常采用两种办法:
- 平均绝对误差:计算y与之间绝对值的差距: e=
- 均方误差:计算y与之间平方的差距: e = (y − ) ^2
这两种方式主要适用于不同场景:平均绝对值适用于不需要关注异常值时,均方误差适用于需要关注异常值时;平均值误差不会放大异常值的影响,均方误差可以放大异常值对整体的影响。
误差表面: 我们把作为x轴,b作为y轴,用(,b)和点的颜色来表示损失L。我们用红色来表示那些L值较大的点(RGB: 255,0,0),用蓝色来表示那些L值较小的点 (RGB: 0,0,255),处于中间的L值用过渡色来表示,就形成了我们五彩斑斓的误差表面。与此同时,我们还要引入一个等高线的概念。
- 这个地方的斜率,斜率越大跨度越大
-
学习率(learning rate) η,由使用者自己决定
- 设定调整次数。规定有限次的次数,在调试过程中找到最小的L值对应的和b
- 理性情况:调试过程中出现极小值,参数位置不再更新
- 注意:机器停止运行时找到的最小值L不一定是全局最小值L,由于限制,我们也只能采用这两种方式找到最小的L值。
好啦各位小伙伴们,今天的分享就到这里~