隐藏任务①
找出本篇中形如回归(regression)加粗字体的术语,并用自己的话进行解释,列成表格。
回归(regression) | 假设要找的函数的输出是一个数值,一个标量(scalar),这种机器学习的任务称为回归。 |
分类(classification) | 分类任务要让机器做选择题。人类先准备好一些选项,这些选项称为类别(class),现在要找的函数的输出就是从设定好的选项里面选择一个当作输出,该任务称为分类。 |
结构化学习structured learning) | 机器不只是要做选择题或输出一个数字,而是产生一个有结构的物体。这种叫机器产生有结构的东西的问题称为结构化学习。 |
领域知识(domain knowledge) | 对研究的问题本质上的了解,即已知的数据。 |
模型(model) | 带有未知的参数(parameter)的函数称为模型(model)。 y = b + w ∗x1,而 b 跟 w 是未知的。 w 称为权重(weight),b 称为偏置(bias)。 |
损失(loss) | 损失也是一个函数。这个函数的输入是模型里面的参数,如模型是 y = b + w ∗x1,损失是函数 L(b, w),其输入是模型参数 b 跟w。 损失函数输出的值代表,现在如果把这一组未知的参数,设定某一个数值的时候,这笔数值好还是不好。 |
平均绝对误差(Mean Absolute Error,MAE) | 计算估测的值跟实际的值之间的差距,y 与 yˆ 之间绝对值的差距, e = |yˆ − y| |
均方误差(Mean SquaredError,MSE) | 计算估测的值跟实际的值之间的差距,y 与 yˆ 之间平方的差距, e = (yˆ − y)^2 |
交叉熵(cross entropy) | 可以调整不同的 w 和不同的 b,求取各种w 和各种 b,组合起来以后,我们可以为不同的 w 跟 b 的组合,都去计算它的损失,就可以画出等高线图。 画出来的等高线图称为误差表面(error surface)。 |
梯度下降(gradient descent) | 就是要找的w跟b,这个可以让损失最小的 w 跟 b称为 w∗跟 b∗代表它们是最好的一组w跟b,可以让损失的值最小。 梯度下降(gradient descent)是经常会使用优化的方法。 |
学习率(learning rate) | η 也会影响步伐大小。 学习率是自己设定的,如果 η 设大一点,每次参数更新就会量大,学习可能就比较快。如果 η 设小一点,参数更新就很慢,每次只会改变一点点参数的数值。 |
超参数(hyperparameter) | 机器学习中需要自己设定,不是机器自己找出来的,称为超参数(hyperparameter)。 |
全局最小值(global minima) | 真的可以让损失最小的地方。 |
局部最小值(local minima) | 其左右两边都比这个地方的损失还要高一点,但是它不是整个误差表面上面的最低点。 |
隐藏任务②
整理出本篇中所有的公式,手动摘录,并尝试理解。
y = b + wx1 | 机器学习找函数的过程,分成 3 个步骤。第一个步骤是写出一个带有未知参数的函数 f,其能预测未来观看次数。比如将函数写成y = b + wx1 |
e = |yˆ − y| | 计算估测的值跟实际的值之间的差距,y 与 yˆ 之间绝对值的差距,平均绝对误差(Mean Absolute Error,MAE) |
e = (yˆ − y)^2 | 计算估测的值跟实际的值之间的差距,y 与 yˆ 之间平方的差距,均方误差(Mean SquaredError,MSE) |
、
假设有两个参数,随机初始值为 w0, b0。要计算 w, b 跟损失的微分,计算在 w = w0 的位置,b = b0 的位置,要计算 w 对 L 的微分,计算 b 对 L 的微分:
计算完后更新 w 跟 b,把 w0 减掉学习率乘上微分的结果得到 w1,把 b0 减掉学习率乘上微分的结果得到 b1:
隐藏任务③
找出机器学习找函数的3个步骤!并查找资料,交叉佐证这些步骤。
三步骤可概括为:
第一步: 【定义模型】据问题要求,初步确定一个数学模型并初始化其参数。
第二步:【定义损失函数】定义一个损失函数来量化模型预测的准确性,收集并且整理数据,进行初步的分析。
第三步:【优化】使用优化算法来最小化损失函数,从而找到最佳的模型参数。
隐藏任务④
归纳梯度下降的步骤。
首先选择一个点,在这个点取微分,并定义一个学习率η ,设步长为该点的微分乘上学习率【当曲线趋近平缓的时候,微分也小,往后逼近的速度也会变慢】,按照这个步长依次往最小点逼近,直到逼近或者达到一个相对满意的效果。
若是两个变量,要乘以负数的步长,因为双变量的微分有方向,要按照一个钝角的方向才能靠拢。
隐藏任务⑤
思考为什么局部最小是一个假问题,局部最小怎么解决?真正的难题是什么?
(1)线性回归不存在局部最小值的原因在于其损失函数是凸函数、损失空间没有弯曲,凸函数保证了所有的局部最小值也是全局最小值,即任何找到的最小值点都是该函数的最低点。
(2)局部最小值可以通过函数形式来避免,如设置绝对值,平方等让函数变成凸函数,就可以避免局部最少值的的情况。
(3)真正的难题是鞍点和梯度消失,以及模型的过拟合。