《深度学习详解》- 1.1 通过案例了解机器学习
一,本篇内容总结:
1.介绍了机器学习所要解决的问题:
回归(regression):根据已有数据预测未知数据,输出为一个数值(标量)。
分类(classification):顾名思义,需要注意的是分类不止二元分类,也可以有多个选项。
结构化学习(structured learning):产生有结构的物体,比如让机器画一张图,写一篇文章。
2.通过一个案例来介绍机器学习的简单流程:
假设我们想预测一个频道的未来观看次数。简单流程如下:
- 模型建立:假设一个带有未知参数的函数,例如 y=b+w*x1 ,其中 y 是要预测的观看次数 x1 是前一天的观看次数,b 和 w 是未知参数。
- 定义损失函数:损失函数用于衡量预测值与实际值之间的差距。常见的损失函数有平均绝对误差(MAE)和均方误差(MSE)。根据不同的参数 b 和 w,可以计算出不同的损失值,绘制出“误差表面”。
- 优化模型参数:通过梯度下降法来优化参数 b和 w,使损失函数达到最小值,从而找到最优解。梯度下降法的关键是计算参数在误差表面上的斜率,然后调整参数的值以逐步降低损失。
二,任务:
1.书中本篇粗体术语解释:
机器学习(Machine Learning,ML):是一种让计算机通过学习数据来自动完成任务的技术。它就像教计算机如何从经验中学习,让计算机从数据中自动学习并改进。
深度学习(Deep Learning,DL):机器学习的一个子领域,使用多层神经网络来模拟人脑的工作原理。深度学习擅长处理大量数据和复杂的模式识别任务,如图像识别和自然语言处理。
回归(regression):一种监督学习方法,用于预测连续型输出变量(数值)。例如,通过回归分析可以预测房价、温度变化等。
分类(classification):另一种监督学习方法,用于将输入数据分类到不同的类别或标签中。常见的例子包括垃圾邮件分类、图像分类等。
参数(parameter):模型内部需要学习的数值,如线性回归中的斜率和截距,或者神经网络中的权重和偏置。这些参数通过训练过程来调整,使模型能够准确预测或分类。
模型(model):指机器学习中的算法及其相应的参数组合。模型用于从数据中学习模式,并对新数据进行预测。
特征(feature) :输入到机器学习模型中的数据属性或变量。特征用于描述数据的不同方面,例如一个人的年龄、性别、收入等信息可以作为模型的特征。
权重(weight):神经网络中的参数,决定了每个特征对最终输出的影响程度。权重通过训练过程不断调整,以减少预测误差。
偏置(bias):神经网络中的一个参数,允许模型在没有输入时产生输出。偏置有助于调整模型的输出,使其更好地拟合数据。
平均绝对误差(Mean Absolute Error,MAE):一种评估模型预测准确性的度量,表示预测值与实际值之间的平均绝对差异。MAE越小,模型的预测精度越高。
均方误差(Mean SquaredError,MSE):一种评估模型预测准确性的度量,表示预测值与实际值之间的平方差的平均值。MSE越小,模型的预测精度越高。
交叉熵(cross entropy):一种用于分类问题的损失函数,衡量模型的预测概率分布与实际分布之间的差异。交叉熵越小,模型的分类准确性越高。
误差表面(error surface):指损失函数的图形表示,它展示了不同参数值的组合下的误差大小。优化过程的目标是找到误差表面的最低点(全局最小值或局部最小值)。
梯度下降(gradient descent):一种用于最小化损失函数的优化算法,通过计算损失函数相对于参数的梯度,不断调整参数以减少误差。
学习率(learning rate):在梯度下降过程中控制参数更新步长的超参数。学习率决定了模型每次更新参数时走多大步,学习率过大可能导致错过最优解,过小则可能收敛速度过慢。
超参数(hyperparameter):在模型训练之前设置的参数,影响模型的学习过程,例如学习率、批量大小、神经网络的层数等。与模型内部参数不同,超参数通常通过实验或经验调整。
全局最小值(global minima):损失函数在所有可能的参数组合中达到的最低点。找到全局最小值意味着找到了使模型误差最小的最佳参数组合。
局部最小值(local minima):损失函数在一个局部范围内的最低点,但不是整个参数空间的最低点。局部最小值可能导致模型在训练过程中停滞而无法找到全局最小值。
2.重要公式:
3.机器学习找函数步骤:
在机器学习中寻找一个函数来拟合数据通常涉及以下三个基本步骤:
-
模型选择(Model Selection):
- 选择一个合适的模型或函数形式。这一步骤包括决定使用哪种类型的算法(如线性回归、决策树、支持向量机等),以及该模型的具体形式(例如多项式阶数对于多项式回归)。模型的选择取决于问题的性质(如分类还是回归)、数据的特点(如特征的数量和类型)以及预期的输出。
-
参数学习(Parameter Learning 或 Training):
- 利用训练数据集来调整模型中的参数,以使模型能够尽可能准确地预测目标变量。这一阶段涉及到定义一个损失函数(Loss Function),它衡量了模型预测值与实际值之间的差异。然后通过优化算法(如梯度下降法、随机梯度下降法或其他更高级的方法)来最小化这个损失函数。
-
模型评估(Model Evaluation):
- 在验证集或测试集上评估模型的性能,以检查模型是否过拟合或者欠拟合。这通常涉及到计算一些评价指标(如准确率、精确率、召回
4.归纳梯度下降的步骤:
梯度下降是一种常用的优化算法,用于求解机器学习和深度学习中的最小化问题,特别是用来最小化损失函数。下面是一个基于梯度下降法的基本步骤归纳:
-
初始化参数:
首先需要为模型的所有参数(权重和偏置项)设定初始值。这些初始值可以是随机的或是预设的某个值。 -
计算梯度:
计算损失函数关于每个参数的梯度(即偏导数)。梯度指向了损失函数增长最快的方向,因此负梯度方向就是我们希望更新参数的方向。 -
更新参数:
使用计算出的梯度来更新参数。更新公式通常是:θ = θ - α * ∇J(θ)
,其中θ
是参数,α
是学习率,∇J(θ)
是损失函数 J 关于参数 θ 的梯度。 -
重复步骤:
迭代执行步骤2和步骤3,直到满足停止条件。停止条件可能是达到预定的最大迭代次数,或者是梯度的大小(即参数的变化量)小于某个阈值,表明已经接近局部极小值。 -
调整学习率:
学习率的选择对收敛速度和效果有重要影响。太大的学习率可能导致参数更新幅度过大而无法收敛;太小的学习率则会导致收敛过程非常缓慢。在实际应用中,可能需要调整学习率,甚至采用自适应学习率方法。 -
监控收敛:
在每次迭代后检查损失函数的值,确保其逐渐减小。同时,也可以监控训练过程中的其他指标,比如验证集上的表现,以防止过拟合。
梯度下降有几种变体,比如批量梯度下降(Batch Gradient Descent)、随机梯度下降(Stochastic Gradient Descent, SGD)和小批量梯度下降(Mini-batch Gradient Descent)。每种变体在计算梯度和更新参数的方式上有所不同,但基本原理是一致的。