今天,我们先从机器学习中的概念开始学习。
一、机器学习中的重要概念
-
机器学习 (Machine Learning, ML): 机器学习是让机器具备从数据中学习的能力,目标是找到输入与输出之间的复杂函数关系。机器学习可以应用于多种任务,比如语音识别、图像识别和时间序列预测等。
-
深度学习 (Deep Learning, DL): 深度学习是机器学习的一个子领域,利用多层神经网络来学习数据的复杂特征,常用于处理大规模数据和复杂任务。
-
标量 (Scalar) :表示仅具有大小而没有方向的量。在机器学习中,标量通常指单一的数值,而不涉及向量或矩阵那样的多维数据。
-
回归 (Regression): 机器学习中的回归任务是预测连续的数值(标量)输出,换句话说,机器从数据中找出预测函数的过程就是回归。
-
分类 (Classification): 分类任务是指将输入数据分配到预定义的类别中。分类任务可以有两个或多个类别。
-
结构化学习 (Structured Learning): 结构化学习是指机器学习模型不仅输出一个数值或类别,还可以生成一个结构化的对象,如生成文本、图片等。
-
特征 (Feature): 特征是用于描述输入数据的属性或变量。例如,在流量预测中,昨日的访问量即是特征。
-
模型 (Model): 模型通常表示一个未知的函数,其中包含需要通过数据进行学习的未知参数。模型的最终目标是确定这些函数的参数并且使得函数所预测的结果尽可能接近真实值。
-
权重 (Weight): 权重是模型中的参数,用于调整输入特征对输出结果的影响。它是通过训练过程学习到的。
-
偏置 (Bias): 偏置是模型中的另一个参数,它可以帮助调整模型的输出,使其不完全依赖于输入特征,因此可以增加模型的灵活性。
-
损失函数 (Loss Function): 损失函数用于评估模型预测结果与真实结果之间的差距。常见的损失函数包括平均绝对误差 (Mean Absolute Error, MAE)、均方误差 (Mean Squared Error, MSE)和交叉熵 (Cross Entropy) 等。损失函数是人为定义的,因此损失函数曲线可以是任何形状。
-
梯度下降 (Gradient Descent): 梯度下降是一种优化算法,用于通过迭代调整模型参数,使损失函数的值达到最小。它是机器学习训练模型中的常用迭代方法。
-
超参数 (Hyperparameter): 超参数是在模型训练前设定的参数,不通过数据学习得到。比如学习率、训练次数等。
-
学习率 (Learning Rate): 学习率即是梯度下降算法中的一个超参数,决定了每次参数更新的步伐大小。学习率过大或过小都会影响模型的收敛效果。
-
局部最小值 (Local Minima): 在优化过程中,损失函数可能会陷入局部最小值,而非全局最小值。这是梯度下降等优化算法可能面临的问题。
-
全局最小值 (Global Minima): 全局最小值是损失函数在整个参数空间中的最小值。找到全局最小值意味着找到最优的模型参数。
二、机器学习的过程
1.定义问题
首先,我们应该根据现实问题来确定机器学习的任务。在我的理解中,回归关心的是解决预测连续数值的问题,而分类解决的是离散数值的问题。比如,我们根据以往的天气数据来预测未来的降水量是多少就是一个回归问题,因为未来下多少降水量都是有可能的,数值可以是连续的;如果我们想判断水有没有沸腾就是一个分类问题,因为只有两种可能性,沸腾(True=1)和没有沸腾(False=0),数值是离散的,两者除外没有其他情况。如果想生成某个对象且对象具有结构化特征,就是结构化学习,例如生成一篇日记。
2.收集数据并预处理数据
为了尽可能的使机器学习能实现让我们满意的效果,我们需要从实际问题出发来搜集需要的数据,对数据进行清洗(异常值和缺失值的处理)和预处理(可视化与特征工程),最后得到训练模型所需要的数据集。
3.建立模型
经过步骤2.后,我们可以尝试建立机器学习的模型了,通常是一个含未知参数的数学表达式,如线性函数、非线性函数等。我们以建立线性回归模型举例。
其中, 是预测值,
是输入特征,
是对应的未知权重,
是未知偏置项。
4.训练模型
首先,我们得将数据集划分成训练集与验证集。我们可以利用训练集来初步确定模型的未知参数。
然后,我们需要利用验证集的数值,通过不断减小损失来优化迭代模型。
通过有以下两种损失函数来计算损失:
平均绝对误差 (Mean Absolute Error, MAE)
均方误差 (Mean Squared Error, MSE)
其中,是模型预测值,
是验证集中的真实值,
是验证集样本数量。
常用的优化方法是梯度下降法(Gradient Descent), 通常为正数,
为迭代次数
5.确定并应用模型
最后,我们经过不断步骤4. 训练可以得到一个效果不错的模型。然后,可以尝试使用该模型解决实际问题了。
三、总结
此次,我们进行了机器学习中的重要概念学习,对使用机器来建立线性回归模型有了更深刻的认识。但现实生活中的问题常常是复杂的,单一的数据与线性回归通常不容易取得好效果。所以,我们还需要去学习如何清洗、预处理和观察数据,如何根据数据建立更复杂的模型和评估模型以获得更棒的效果。
正如那句名言:“数据与特征决定了机器学习的上限,而模型和算法只是逼近这个上限。"
参考文献与图片来源:
1. 《深度学习详解》李宏毅
感谢Datawhale AI夏令营为广大学习者提供的一切!!!