Datawhale X 李宏毅苹果书 AI夏令营
线性模型与损失函数
- 模型参数: 线性模型包含权重
w 和偏置 b,通过训练我们找到了一组参数,使得损失函数的值最小化为480。
- 训练数据: 在2017年至2020年的历史数据上,模型的预测误差为480。这意味着,如果我们假装不知道2020年12月31日之后的任何一天的观看次数,那么使用这组参数预测2021年的观看次数将会产生这样的误差。
- 预测过程: 从2021年1月1日起,每天用前一天的实际观看次数作为输入,预测次日的观看次数。例如,用2020年12月31日的数据预测2021年1月1日的数据,然后用1月1日的数据预测1月2日的数据,以此类推,直到2月14日。
模型泛化能力
- 泛化误差: 当我们将模型应用于未见过的数据(即2021年的数据)时,我们得到了一个不同的误差值
L',其值为0.58。这表明模型在训练数据上表现较好,但在新的数据上效果有所下降。
- 特定事件预测: 在某个特殊的日子(如除夕),模型未能正确预测到观看次数的显著减少,而是迟了一天才做出正确的预测。这是因为模型仅基于过去56天的数据进行预测,没有考虑到特定事件的影响。
神经网络概念
- 神经元: 神经网络中的基本单元被称为神经元,常用的激活函数包括 Sigmoid 和 ReLU。
- 网络结构: 神经网络由多个层组成,每一层包含多个神经元。深层神经网络指的是具有多层的网络。
- 深度学习: 随着层数增加,模型的性能通常会提高。例如,AlexNet(8层)、VGG(19层)、GoogleNet(22层)、ResNet(152层)等网络在图像识别任务上的错误率不断降低。
过拟合与模型选择
- 过拟合: 当模型过于复杂时,可能会在训练数据上表现很好,但在未见过的数据上表现较差。这种现象称为过拟合。
- 模型选择: 在本例中,3层模型在训练数据上的表现不如4层模型好,但在未见过的数据上表现更好。因此,当预测未知数据时,我们应该选择3层模型,因为它在验证集上的表现更好,更能反映模型在新数据上的泛化能力。
机器学习框架
- 模型定义: 设定一个含有未知参数
θ 的函数 fθ(x)。这里的 θ 包括所有模型的参数,如权重和偏置。
- 损失函数: 定义一个损失函数
L,该函数接受模型参数作为输入,并给出一个标量值,用于评估给定参数下模型的表现。
- 优化问题: 寻找一组参数
θ,使得损失函数 L 的值最小。数学上表示为 θ* = argminθL(θ),即找到使损失函数最小化的参数。
实践步骤
- 训练阶段: 使用训练集
(x1, y1), (x2, y2), ..., (xN, yN) 来训练模型,找出最优参数 θ*。
- 测试阶段: 使用测试集
(xN+1, xN+2, ..., xN+M) 来验证模型的泛化能力。将找到的最佳参数 θ* 应用于测试集中的输入 x,得到预测值 fθ*(x),并将结果提交给平台(如Kaggle)。