机器学习基本流程(2)模型训练
一、定义目标函数设计好模型后,接下来便是让模型“学习”如何完成任务,此过程称为“模型训练”。在训练过程中,机器通过调整模型参数,使预测结果越来越准确。例如,为训练一个区分苹果和桔子的模型,首先设计一个简单的线性模型:Y = A × 颜色 + B × 大小 + C其中,A、B 和 C 为模型参数,决定了模型的具体形式(如图12.4中的蓝色分类面)。训练目标就是利用数据确定这些参数,从而使模型能够更准
目录
一、定义目标函数
设计好模型后,接下来便是让模型“学习”如何完成任务,此过程称为“模型训练”。在训练过程中,机器通过调整模型参数,使预测结果越来越准确。
例如,为训练一个区分苹果和桔子的模型,首先设计一个简单的线性模型:
Y = A × 颜色 + B × 大小 + C
其中,A、B 和 C 为模型参数,决定了模型的具体形式(如图 12.4中的蓝色分类面)。
训练目标就是利用数据确定这些参数,从而使模型能够更准确地进行分类。
为达成这一目标,首先需要收集苹果和桔子的样本,构建一个“训练集”在训练集中,用 T 表示样本的类别:苹果记为 T=1,桔子记为 T=0。
第二步是定义一个“损失函数”,它用来衡量模型预测值 Y 与实际值T 之间的差距。例如,可以定义损失函数 L 为:
L = (Y − T )
其中,Y 是模型的预测值,T 是实际的分类标记。显然,损失函数值越小,表明 Y 和T 越接近,模型预测越准确。因此,模型训练任务可转化为一个简单的数学问题:求参数(A,B,C)的值,使损失函数L 的值最小。

二、优化方法: 随机优化法 VS 梯度下降法
定义了损失函数,下一步是通过最小化损失函数来完成模型训练。这一过程本质上是一个数学优化过程。研究者提出了很多优化方法,不同优化方法的特性不同,适用的场景也不同。
图展示了使用“随机尝试法”来最小化损失函数L 的过程。首先对A, B, C 随机取一个初始值,然后在该取值附近随机尝试新的参数组合。如果新组合使 L 减小,则更新参数;否则继续尝试。重复这一过程后,如
(A)-(D)所示,L 逐渐降低,苹果-桔子的分类边界也越来越准确。
“随机优化法”通过不断尝试来发现更好的解。这一方法的优势是不受任务限制,只要损失函数可计算就可以应用;不足之处是这种随机尝试的效率太低。为了提高优化效率,通常的方法是利用损失函数的几何信息来加速优化进程。在众多优化方法中,“梯度下降法”因其简单高效而被广泛采用。
梯度下降法的原理类似于人从山顶下山:想象一个人站在山坡上,目标是到达最低谷。他会:
- 从当前位置向四周探索,找到坡度最陡的方向;
- 沿此方向迈出一步;
- 重复这一过程直至到达最低谷。
如果将参数看作地理坐标,目标函数值看作山的高度,整个目标函数构成一座山坡曲面(见图 12.8)。在此曲面上,梯度下降法就是选择一个初始位置A(损失较高),在 A 点附近寻找损失下降最快的方向,沿该方向迈出一小步到达点B,不断重复这一过程,直至损失函数不再显著下降,达到低谷C。数学上,坡度最陡的方向称为“梯度方向”,因此该方法称为“梯度下降法”。
如果使用梯度下降法训练苹果-桔子分类模型,具体步骤如下:随机初始化参数 A, B, C;计算损失函数在当前位置的梯度;沿梯度反方向更新参数;重复直至损失函数不再显著下降。
到目前为止,梯度下降法是机器学习中最常用的优化方法。与图所示的随机尝试法相比,它利用了损失函数的局部几何信息,因此效率更高。与其他更高级的优化方法相比,梯度下降法简单高效,特别适合大数据学习。

训练过程中分类面的变化

梯度下降法示意图
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)