机器学习和深度学习的基本概念
机器学习(Machine Learning,ML)是让机器具备学习能力的技术,具体来说,就是让机器能够找到一个函数。通过找到这个函数,机器可以完成许多任务,例如语音识别和图像识别。深度学习(Deep Learning,DL)是机器学习的一个子领域,通常涉及更复杂的模型和算法。
机器学习的任务可以分为不同类别,例如:
- 回归(regression):当要找的函数输出是一个数值时,例如预测未来的 PM2.5 数值
- 分类(classification):当要找的函数输出是从设定好的选项中选择一个,例如垃圾邮件检测
- 结构化学习(structured learning):机器生成有结构的物体,如绘画或写作
回归和分类任务的区别
回归(regression):回归任务的目标是预测一个连续的数值(标量)。例如,预测未来某个时间的 PM2.5 数值,输出是一个具体的数值。
分类(classification):分类任务的目标是将输入数据分到预定义的类别中,输出是离散的类别标签。分类可以是二分类(例如,判断一封邮件是否为垃圾邮件)或多分类(例如,识别图像中的物体类别)。
机器学习的运作过程
- 定义模型:首先,写出一个带有未知参数的函数(模型),该函数能够预测目标值。例如,可以将函数表示为 y = b + wx ,其中 y 是要预测的值,x 是已知的特征,w 称为权重(weight),b 称为偏置(bias)
- 定义损失函数:接下来,定义一个损失函数,该函数的输入是模型的参数,输出是预测值与真实值之间的差距。损失函数用于评估模型的预测效果,常见的损失计算方法包括平均绝对误差(MAE)和均方误差(MSE)
- 优化参数:最后,通过优化算法(如梯度下降)来调整模型的参数,以最小化损失函数。这个过程涉及计算损失函数对参数的梯度,并根据梯度更新参数,直到找到使损失最小的参数组合
损失函数
平均绝对误差 MAE
e
=
∣
y
^
−
y
∣
e=|\hat{y}-y|
e=∣y^−y∣
平均绝对误差的值越小,表示模型的预测效果越好,因为这意味着预测值与真实值之间的差距较小。与均方误差(MSE)相比,MAE 对于误差的惩罚较为温和,因为它只计算绝对值,而不对误差进行平方处理
均方误差 MSE
e
=
(
y
−
y
^
)
2
e=(y-\hat{y})^{2}
e=(y−y^)2
均方误差的值越小,表示模型的预测效果越好,因为这意味着预测值与真实值之间的差距较小。MSE 对于较大的误差给予了更高的惩罚,因为误差被平方了
梯度下降法的权重更新
w
1
←
w
0
−
η
∂
L
∂
w
∣
w
=
w
0
w_{1} \leftarrow w_{0}-\left.\eta \frac{\partial L}{\partial w}\right|_{w=w_{0}}
w1←w0−η∂w∂L
w=w0
其中,
η
\eta
η 是学习率,表示每次迭代中参数的更新幅度。该公式用于更新权重 w 以最小化损失函数。
梯度下降的步骤
首先选择一个点,随后在这个点取微分,并且定义一个学习率,假设步长为该点的微分乘上学习率(这样做的好处,当曲线趋近平缓的时候,微分也小,往后逼近的速度也会变慢),就按照这个步长依次往最小点逼近,直到逼近或者达到一个相对满意的效果。如果是两个变量,就要乘以负数的步长,因为这个双变量的微分是有方向的,需要按照一个钝角的方向才能靠拢,而最好的方向显然就是180度,所以要乘负号。