机器学习基础
机器学习任务:1.分类 2.回归
第一步定义模型
函数f
y = b + w ∗ x1
带有未知的参数(parameter)的函数称为模型(model)。 模型在机器学习里面,就是一个带有未知的参数的函数
特征(feature) x1 是这个函数里面已知的,它是来自于后台的信息
而 w 跟 b 是未知的参数。w 称为权重(weight),b 称为偏置(bias)。
第二步定义损失(loss)
误差
估测的值和实际的值之间的差距 为平均绝对误差(Mean Absolute Error,MAE)
如果算 y 与 yˆ 之间平方的差距,如式 (1.7) 所示,则称为均方误差(Mean Squared
Error,MSE)。
如果 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)。
注:损失函数是自己定义的,所以虽然损失是绝对值但是能是负的,,比如设置一
个损失函数为绝对值再减 100,其可能就有负的。这个曲线并不是一个真实的损失,并
不是一个真实任务的误差表面。因此这个损失的曲线可以是任何形状。
优化过程: 计算一下 w 1 微分的结果,再决定现在要把 w 1 移动多少,
再移动到 w 2,再继续反复做同样的操作,不断地移动 w 的位置
往往有两种情况会停下来。
- 1.第一种情况是一开始会设定说,在调整参数的时候,在计算微分的时候,最多计算几次。
上限可能会设为 100 万次,参数更新 100 万次后,就不再更新了, 更新次数也是一个超参数。
- 2.它的微分的值就是这一项,算出来正好是 0 的时候,如果这一项正好算出来是 0,0 乘上学习 率 η 还是 0,所以参数就不会再移动位置。
线性模型
Sigmoid 函数激活
Sigmoid 的数量也是一个超参数。
批量(batch)
回合(epoch)
样本(example)
批量大小(batch size)
Sigmoid 或 ReLU 称为激活函数(activation function)。
Sigmoid 或 ReLU 称为神经元(neuron),很多的神经元称为神经网络(neural network)。