Datawhale X 李宏毅苹果书AI夏令营 学习笔记1
一、机器学习的定义——“找函数”
机器学习就是让机器具备找一个函数的能力。
假设要找的函数的输出是一个数值,一个标量(scalar),这种机器学习的任务称为回归(regression)。
还有的输出是从设定好的选项里面选择一个,称为分类(classification)。
而输出是画一张图,写一篇文章等有结构的东西,则被称之为结构化学习(structured learning)。
二、机器学习案例——“怎么找”
机器学习找函数的过程,分成 3 个步骤。第一个步骤是写出一个带有未知参数的函数 f
1. 写出带有未知参数的函数 f——模型
例如,y = b + w ∗ x1
带有未知的参数(parameter)的函数称为模型(model)。
特征(feature) x1 是已知的 ,w 和 b 是未知的参数。
w 称为权重(weight),b 称为偏置(bias)。
2. 定义损失函数L——“偏差”
例如,定义损失
我们可以为不同的 w 跟 b 的组合,计算它的损失,就可以画出等高线图。越偏红,损失越大,这一组 w 跟 b 越差。越偏蓝,损失越小,这一组 w 跟 b 越好,越精准。(可以看做是一个三维图形)画出来的等高线图称为误差表面(error surface)。
3. 找一个优化算法,以调参使L最小。
梯度下降(gradient descent)是经常会使用优化的方法。
右侧红点这个位置是真的可以让损失最小的地方,称为全局最小值(global minima),而 wT 这个地方称为局部最小值(local minima),其左右两边都比这个地方的损失还要高一点,但是它不是整个误差表面上面的最低点。
事实上局部最小值是一个假问题,在做梯度下降的时候,真正面对的难题不是局部最小值。
由此我们发现其局限性。所以可以对此进行改进,防止太低的泛化能力。(待补充)
对于两个参数的情况,微分即可。由此扩展到二维。
学习率(learning rate)η 也会影响步伐大小。学习率是自己设定的,如果 η 设大一点,每次参数更新就会量大,学习可能就比较快。如果 η 设小一点,参数更新就很慢,每次只会改变一点点参数的数值。这种在做机器学习,需要自己设定,不是机器自己找出来的,称为超参数(hyperparameter)
注意:如果η 过大过小都是不合适的。过大可能反而会偏离任意一个最优解,而过小可能学习能力太弱,拟合程度过低,找到的局部最优解离与全局最优解相差很大。