机器学习(Machine Learning,ML)
机器学习就是让机器具备找一个函数的能力。
1、回归 Regression
Regression:The function outputs a scalar.
回归类似做填空题。
2、分类 Classification
Classification:Given options(classes), the function outputs the correct one.
分类类似做选择题。
3、结构化学习 Structured learning
产生有结构的物体,例如画一幅画、写一篇文章。
回归方法与分类方法的区别?
(1)回归预测的是连续数值,而分类预测的是离散的类别。
(2)回归任务常用MSE、RMSE、MAE等指标来评估性能;而分类任务则使用准确率、精确率、召回率、F1分数等。
(3)回归任务通常使用MSE或MAE作为损失函数,而分类任务则使用交叉熵损失。
(4)回归更多地应用于需要预测具体数值的场景,类似填空题,如销售预测、股票价格预测等;分类则更多用于需要确定类别归属的场景,类似选择题,如文本分类、图像识别等。
找函数的过程
1、写出一个带有未知参数的函数f
带有未知的参数(parameter)的函数称为模型(model)
已知的x称为特征(feature)
与x有关的参数w称为权重(weight)
与x无关的参数b称为偏置(bias)
2、定义损失(Loss)
损失函数(Loss Function)是衡量模型预测值与实际值之间差异的标准。
-
回归问题中的损失函数:
-
(1)均方误差 (MSE, Mean Squared Error)
适用于数值预测问题,计算的是预测值与真实值之间的平方差的平均值。
-
(2)均方根误差 (RMSE, Root Mean Squared Error)
MSE的平方根形式,使得误差以相同的单位表示。
-
(3)平均绝对误差 (MAE, Mean Absolute Error)
计算预测值与真实值之间绝对差的平均值,不考虑误差的方向。
-
(4)平均绝对百分比误差 (MAPE, Mean Absolute Percentage Error)
表示预测误差相对于真实值的百分比,适用于比较不同尺度的数据集。
-
(5)Huber 损失
在误差较小时使用平方形式,在误差较大时使用线性形式,可以减少异常值的影响。
-
-
分类问题中的损失函数:
-
(1)交叉熵损失 (Cross-Entropy Loss)
常用于二分类或多分类问题中,特别是当输出层使用sigmoid或softmax激活函数时。
-
(2)对数损失 (Log Loss)
对数形式的交叉熵损失,常用于概率输出的评估。
-
(3)Hinge 损失
常用于支持向量机 (SVM),用于最大化类别间的间隔。
-
3、解最优化问题
梯度下降:用于寻找函数的局部最小值(在凸函数中则是全局最小值)。这个过程涉及到迭代地更新参数,以便沿着函数梯度(或者说导数)的负方向移动,从而逐渐减少函数的值。
-
梯度:
- 在数学中,梯度是一个多元函数的向量,由各个变量的偏导数组成。
- 对于一个函数 ,梯度 是一个向量,其中每个元素是 关于 中相应变量的偏导数。
- 梯度指向函数值增加最快的方向。
-
梯度下降的基本思想:
-
梯度下降的目标是最小化一个函数。
-
我们从一个初始点开始,并沿着梯度的负方向更新 。
-
更新公式:
-
-
学习率 () :
- 学习率决定了我们沿着梯度方向移动的步长。
- 如果学习率太大,我们可能会在最小值周围“跳跃”,导致算法无法收敛。
- 如果学习率太小,算法可能需要很多次迭代才能达到最小值,这会使收敛过程变得非常缓慢。
-
迭代过程:
- 梯度下降是一个迭代过程,我们在每一步中根据当前点的梯度来更新参数。
- 迭代继续进行,直到满足某个停止标准,例如梯度足够小或者达到预定的最大迭代次数。
-
梯度下降的变体:
- 批量梯度下降 (Batch Gradient Descent) :在每一次迭代中,使用所有训练样本来计算梯度。
- 随机梯度下降 (Stochastic Gradient Descent, SGD) :在每一次迭代中,仅使用一个训练样本来估计梯度。
- 小批量梯度下降 (Mini-Batch Gradient Descent) :在每一次迭代中,使用一部分训练样本来估计梯度,这是批量梯度下降和随机梯度下降的折中方案。
为什么在深度学习中,小批量梯度下降(mini-batch gradient descent)相比于大批量梯度下降,可能在测试时表现更好?
A. 小批量更新更稳定。
B. 小批量有助于减少过拟合。
C. 小批量可以更快地完成训练。
D. 小批量可以减少内存的使用。
具体来说:
- A. "小批量更新更稳定" — 小批量梯度下降的更新通常比批量梯度下降更加不稳定,因为它们受到随机性的更大影响。
- B. "小批量有助于减少过拟合" — 这个选项是合理的,因为小批量梯度下降由于其固有的随机性,可以在一定程度上模拟正则化的效果,从而有助于减少过拟合。
- C. "小批量可以更快地完成训练" — 这与测试时的表现好坏没有直接关联。
- D. "小批量可以减少内存的使用" — 这与测试时的表现好坏没有直接关联。
学习链接: