DataWhale共学深度学习-Task01:机器学习基础(深度学习教程1.1节)

39 阅读3分钟

机器学习基础

机器学习任务:1.分类 2.回归

第一步定义模型

函数f

y = b + w ∗ x1

带有未知的参数(parameter)的函数称为模型(model)。 模型在机器学习里面,就是一个带有未知的参数的函数

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

而 w 跟 b 是未知的参数。w 称为权重(weight),b 称为偏置(bias)。

第二步定义损失(loss)

误差

估测的值和实际的值之间的差距 为平均绝对误差(Mean Absolute Error,MAE)

image.png

如果算 y 与 yˆ 之间平方的差距,如式 (1.7) 所示,则称为均方误差(Mean Squared

Error,MSE)。

image.png

如果 y 和 yˆ 都是概率分布,则可能使用交叉熵(cross entropy)

一文搞懂熵(Entropy),交叉熵(Cross-Entropy)

zhuanlan.zhihu.com/p/149186719

第三步解一个最优化的问题。找一个 w 跟 b,把未知的参数找

一个数值出来,看代哪一个数值进去可以让损失 L 的值最小,就是要找的 w 跟 b,这个可以

让损失最小的 w 跟 b 称为 w ∗ 跟 b ∗ 代表它们是最好的一组 w 跟 b,可以让损失的值最小。

梯度下降(gradient descent) 是经常会使用优化的方法。

怎么样找一个 w 让损失的值最小呢?

首先要随机选取

一个初始的点 w 0。接下来计算在 w 等于 w 0 的时候,损失关于参数 w 的偏导数。

计算在这一个点,在 w 0 这个位置的误差表面的切线斜率

学习率(learning rate)η 也会影响步伐大小。学习率是自己设定的 这种在做机器学习,需要自己设定,不是机器自己找出来的,称为超参数(hyperparameter)。

image.png

image.png

注:损失函数是自己定义的,所以虽然损失是绝对值但是能是负的,,比如设置一

个损失函数为绝对值再减 100,其可能就有负的。这个曲线并不是一个真实的损失,并

不是一个真实任务的误差表面。因此这个损失的曲线可以是任何形状。

优化过程: 计算一下 w 1 微分的结果,再决定现在要把 w 1 移动多少,

再移动到 w 2,再继续反复做同样的操作,不断地移动 w 的位置

往往有两种情况会停下来。

  • 1.第一种情况是一开始会设定说,在调整参数的时候,在计算微分的时候,最多计算几次。

上限可能会设为 100 万次,参数更新 100 万次后,就不再更新了, 更新次数也是一个超参数。

  • 2.它的微分的值就是这一项,算出来正好是 0 的时候,如果这一项正好算出来是 0,0 乘上学习 率 η 还是 0,所以参数就不会再移动位置。

image.png

线性模型

Sigmoid 函数激活

image.png

image.png

Sigmoid 的数量也是一个超参数

批量(batch)

回合(epoch)

样本(example)

批量大小(batch size)

Sigmoid 或 ReLU 称为激活函数(activation function)。

Sigmoid 或 ReLU 称为神经元(neuron),很多的神经元称为神经网络(neural network)。