【Datawhale X 李宏毅苹果书 AI夏令营】机器学习基础内容摘抄与理解

机器学习是什么?

机器学习就是让机器具备找一个函数的能力。

对于语音识别,这个函数的输入是声音信号,输出是这段声音信号的内容。

对于图像识别,图像识别函数的输入是一张图片,输出是这个图片里面的内容。

什么是回归?

不要尝试用字面意思来理解,我一度不明白回归这俩字是什么意思。

假设要找的函数的输出是一个数值,一个标量(scalar),这种机器学习的任务称为回归。

举个回归的例子,假设机器要预测未来某一个时间的 PM2.5 的数值。机器要找一个函数 f,其输入是可能是种种跟预测 PM2.5 有关的指数,包括今天的 PM2.5 的数值、平均温度、平均的臭氧浓度等等,输出是明天中午的 PM2.5的数值,找这个函数的任务称为回归(regression)。

什么是分类?

分类任务要让机器做选择题。人类先准备好一些选项,这些选项称为类别(class),现在要找的函数的输出就是从设定好的选项里面选择一个当作输出,该任务称为分类。

举个例子,每个人都有邮箱账户,邮箱账户里面有一个函数,该函数可以检测一封邮件是否为垃圾邮件。分类不一定只有两个选项,也可以有多个选项。

以函数y = b+wx_{1}为例

什么是模型?

带有未知的参数(parameter)的函数称为模型(model)。

例如 w 跟 b 就是是未知的参数。

其中w 称为权重(weight),b 称为偏置(bias)。

什么是特征?

特征(feature) x1 是这个函数里面已知的,它是来自于后台的信息。

特征不是常量,而是一个变量。

什么是损失函数?

损失函数的输入是模型里面的参数,模型是y = b+wx_{1},而 b 跟 w 是未知的,损失是函数 L(b, w),其输入是模型参数 b 跟w。损失函数输出的值代表,现在如果把这一组未知的参数,设定某一个数值的时候,这笔数值好还是不好。

简单的理解就是每一个样本经过模型后会得到一个预测值,然后得到的预测值和真实值的差值就成为损失(损失值越小证明模型越是成功)。

什么是平均绝对误差(MAE)?

估测的值跟实际的值之间的差距,其实有不同的计算方法,计算 y 与 \hat{y} 之间绝对值的差距,如下式所示,称为平均绝对误差(Mean Absolute Error,MAE)。

e=|\hat{y}-y|

其中,\hat{y} 为估测的值,y为真实值,e为差距。

什么是均方误差(MSE)?

如果算 y 与 \hat{y} 之间平方的差距,如下式所示,则称为均方误差(Mean SquaredError,MSE)。

e=(\hat{y}-y)^{2}

什么是误差表面(error surface)?

调整不同的 w 和不同的 b,求取各种 w 和各种 b,组合起来以后,我们可以为不同的 w 跟 b 的组合,都去计算它的损失,就可以画出如下图所示的等高线图

在这个等高线图上面,越偏红色系,代表计算出来的损失越大,就代表这一组 w 跟 b 越差。如果越偏蓝色系,就代表损失越小,就代表这一组 w 跟 b 越好。

如下图所示的等高线图,就是试了不同的参数,计算它的损失,画出来的等高线图称为误差表面(error surface)。

什么是梯度下降?什么是学习率?

找一组最好的 w 跟 b,使得代入进去函数可以让损失 L 的值最小,这是一个最优化问题。

梯度下降(gradient descent)是经常会使用优化的方法。为了要简化起见,先假设只有一个未知的参数 w,b 是已知的。

w 代不同的数值的时候,就会得到不同的损失,这一条曲线就是误差表面,只是刚才在前一个例子里面,误差表面是 2 维的,这边只有一个参数,所以这个误差表面是 1 维的。

怎么样找一个 w 让损失的值最小呢? 如下图所示,首先要随机选取一个初始的点w^{0}。接下来计算 \frac{\partial L}{\partial w}|_{w=w^{0}},在 w 等于 w^{0} 的时候,参数 w 对损失的微分。计算在这一个点,在 w^{0} 这个位置的误差表面的切线斜率,也就是这一条蓝色的虚线,它的斜率,如果这一条虚线的斜率是负的,代表说左边比较高,右边比较低。在这个位置附近,左边比较高,右边比较低。如果左边比较高右边比较低的话,就把 w 的值变大,就可以让损失变小。如果算出来的斜率是正的,就代表左边比较低右边比较高。左边比较低右边比较高,如果左边比较低右边比较高的话,就代表把 w 变小了,w 往左边移,可以让损失的值变小。这个时候就应该把 w 的值变小。我们可以想像说有一个人站在这个地方,他左右环视一下,算微分就是左右环视,它会知道左边比较高还是右边比较高,看哪边比较低,它就往比较低的地方跨出一步。

这一步的步伐的大小取决于两件事情:

  • 第一件事情是这个地方的斜率,斜率大步伐就跨大一点,斜率小步伐就跨小一点。
  • 另外,学习率(learning rate)η 也会影响步伐大小。学习率是自己设定的,如果 η 设大一点,每次参数更新就会量大,学习可能就比较快。如果 η 设小一点,参数更新就很慢,每次只会改变一点点参数的数值。

什么是超参数

机器学习中,需要自己设定,不是机器自己找出来的参数,称为超参数(hyperparameter)。

为什么损失可以是负的?

损失函数是自己定义的,在刚才定义里面,损失就是估测的值跟正确的值的绝对值。如果根据刚才损失的定义,它不可能是负的。但是损失函数是自己决定的,比如设置一个损失函数为绝对值再减 100,其可能就有负的。这个曲线并不是一个真实的损失,并不是一个真实任务的误差表面。因此这个损失的曲线可以是任何形状。

什么是全局最小值?什么是局部最小值?

如下图所示,右侧红点这个位置是真的可以让损失最小的地方,称为全局最小值(global minima)。

而 w^{T} 这个地方称为局部最小值(local minima),其左右两边都比这个地方的损失还要高一点,但是它不是整个误差表面上面的最低点。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值