1 引言
1.1 碎碎念
参加过了两期夏令营,本来可以直接拿着证书去申请一个实践证明美滋滋地把分加(怎么是分nu啊恼),DataWhale的人工智能教程不得不说是本人目前见过的,做得做好的,于是我跟着又报了第五期的夏令营。之前也是在实验室做过Unity MLAgent,让蜂鸟学会找蜜吃的一个小ML实验,自那以后也是想稍微对ML方面深入亿下。
1.2 真·ML引言
机器学习(Machine Learning,简称ML)是一种让机器从数据中自动学习并改进其性能的技术(让计算机模拟人类的action)。简单来说,就是通过大量数据来训练一个模型,使其能够完成特定的任务。(以下内容是以书中以视频点击次数预测为例)
2 机器学习流程
2.1 预测任务
目标:假设想要预测一个视频频道未来的观看次数,以便了解频道的流量和潜在的获利能力。后台会提供很多相关信息,如每天点赞的人数、订阅人数、观看次数等。
2.2 建模步骤
机器学习找函数的过程可以分为三个主要步骤:
第一步:定义模型
首先定义一个带有未知参数的函数
f
f
f,用于预测未来的观看次数。例如,可以将函数写成
y
=
b
+
w
x
1
y = b + wx_{1}
y=b+wx1,其中y是预测的总观看次数,x1是前一天的总观看次数。这里的
b
b
b和
w
w
w是未知的参数,分别称为偏置和权重。
第二步:计算损失
为了评估模型的预测效果,这里还需要定义一个损失函数
L
L
L,用来量化预测值与实际值之间的差异。常用的损失函数是均方误差(MSE),即
(
预测值
−
实际值
)
2
(预测值 - 实际值)^2
(预测值−实际值)2的平均值。通过调整
b
b
b和
w
w
w的值可以计算出不同参数组合下的损失值。
第三步:优化参数
最后,需要找到一组
b
b
b和
w
w
w的值,使得损失函数
L
L
L最小。这通常通过梯度下降法来实现。这里可以随机选择一个初始的
b
b
b和
w
w
w值,然后计算损失函数对这些参数的梯度(即偏导数)。根据梯度的方向和大小,去更新
b
b
b和
w
w
w的值,逐步逼近最优解。
3 梯度下降法
梯度下降法是一种常用的优化算法,用于寻找损失函数的最小值。具体步骤如下:
选择初始点:随机选择一个初始的
b
b
b和
w
w
w 值(例如b0和w0)。
计算梯度:计算当前点处损失函数对
b
b
b 和
w
w
w 的偏导数。
更新参数:根据梯度的方向和大小,以及学习率
η
η
η,更新
b
b
b和
w
w
w的值。学习率决定了参数更新的步长,学习率大则步长大,学习率小则步长小。
重复迭代:重复步骤2和3,直到损失函数收敛到最小值或达到预设的迭代次数。
4 尾声-结果
通过梯度下降法,可以找到一组最优的 b b b和 w w w值(例如b*=100, w*=0.97),使得损失函数L最小。在训练数据(2017-2020年的数据)上,该模型的平均误差为480,即预测的观看次数与实际观看次数的平均差异约为500人。
图片来源:《深度学习详解》李宏毅老师,DataWhale
引用资料来自DataWhale AI 夏令营,仅供个人学习参考。