Datawhale X 李宏毅苹果书 AI夏令营 (第一章 机器学习基础)
一、概要
- 机器学习:让机器具备寻找一个函数的能力
- 机器学习的三类主要任务
- 回归:寻找的函数输出是一个数值或标量
- 分类:寻找的函数输出是一个选择题的选项
- 结构化学习: 寻找的函数输出的不仅是一个数字或者是选择题的答案,还需要产生一个有结构的结果,比如一张图、一篇文章等
二、机器学习的主要步骤
2.1 写出带有未知参数的函数
书中以视频的观看次数举了一个形象的例子。假设我们已经知道了最近的点赞人数、订阅人数、观看次数等,那我们能不能通过一个函数,将我们已知的内容作为输入,最终能够得到未来的观看次数的预计呢?
我们假设这个函数可以长成
f
(
x
)
f(x)
f(x)这个样子,
x
x
x使我们已知的内容,
w
w
w、
b
b
b我们目前并不知道,像这种带有未知参数的函数成为模型。其中,
x
x
x我们称为特征,
y
y
y称为预测的值,
w
w
w称为权重,
b
b
b称为为偏置
f
(
x
)
=
y
=
b
+
w
x
f(x)=y=b+wx
f(x)=y=b+wx
2.2 定义损失函数
我们希望在我们给出输入后,机器学习能给我们以及预测的输出,这个输出最好能够更加贴近真实值。我们称真实值为标签(lable)。
对于评价预测值和真实值之间的距离,参照2.1部分公式的例子,我们可以定义如下的损失函数。
L
(
b
,
w
)
L(b,w)
L(b,w)
我们有很多的方法可以去评估预测值和真实值之间的差异。例如如下式所示,通过平均绝对误差(Mean Absolute Error, MAE) 来对于误差进行评估。
e
=
∣
y
^
−
y
∣
e=|\hat{y}-y|
e=∣y^−y∣
或者也可以选取如下式所示,通过均方绝对误差(Mean Squared Error, MSE) 来对于误差进行评估。
e
=
(
y
^
−
y
)
2
e=(\hat{y}-y)^2
e=(y^−y)2
再或者在有些任务中,我们可以通过如下式所示的交叉熵(cross entropy),来进行评估。当然,目前来看交叉商的公式较为复杂,目前可以先做了解,在后续使用时再对这个评估方法进行进一步的掌握。
H ( P , Q ) = − ∑ x P ( x ) log ( Q ( x ) ) H(P, Q) = -\sum_{x} P(x) \log(Q(x)) H(P,Q)=−x∑P(x)log(Q(x))
综上可以看出,对于损失的评估是多种多样的,可以根据自己的需要,对于损失函数的实现方法进行选择。
但是,我们也能看到,只看到公式,对于理解损失函数的理解可能还是不够直观的。因此,我们可以在尝试不同参数后,将这些参数的结果按照等高线图的方式绘制成误差表面(error surface)。通过这种方法,能够让我们更直观的看到损失函数的分布情况。
2.3 求解优化问题,找到最好的 ( w , b ) (w,b) (w,b)
我们在知道了损失函数后,我们希望,能够通过损失函数,尽可能的选取到对好的一梯度下降发对 ( w , b ) (w,b) (w,b),能够使损失L的值最小。我们目前最常用的方法就是梯度下降法(gradient descent)。
梯度,以二维为例,我们可以粗略的理解为一个函数的切线斜率。三维以上,我们可以粗略的理解为对于某一维度的偏导,也就是将高维的函数压扁成二维,之后在求其切线斜率。
我们希望能够一步一步的在梯度的引导下,逐渐的将我们的损失逼近到最低点。那我们移动的距离,以及移动的方向,应该如何去选择呢?总结来讲,可以分为以下两点。下图也展示了移动的一部分关系。
- 如果一个地方的斜率大,那么就可以移动的大一些;反之,则移动小一些
- 我们引入一个变量 η \eta η称为学习率。如果 η \eta η大一些,每次更新就会量大,学习就会比较快;反之,则会比较慢。这种需要自己家设定,而不是及其寻找出来的参数,我们称为超参数(hyperparameter)
不可否认的是,梯度下降是一个较常用的方法,但是只通过梯度下降法,可能会遇到如下的问题,即没有找到真正最好的解,也没有找到可以让损失最小的 w w w。
我们可以从下图看到,在局部最小值和全局最小值处,梯度都为0,但是使用梯度下降,如果陷入了局部最小值,那么就很难从中出来,到达全局的最优解。对于这个问题,在后续的学习中,会有一些更好的应对这个问题的方法,目前我们了解到这个问题可能会发生就已经可以了。老师在视频课程中提到"Does local minima truely cause the problem?",在后续的学习中,相信会得到解答。
这一部分的最后,让我们以下图的例子作为收尾。不断地通过梯度下降的方法,使得损失值收敛到了一个很小的可以接受的区间,最招实现了对于相对最好的
(
w
,
b
)
(w,b)
(w,b)的找寻。