基本概念
全连接层
全连接层
(Fully Connected Layer)是一种常见的神经网络层类型。它也被称为密集连接层(Dense Layer)或线性层(Linear Layer)。
全连接层的主要特点是,该层中的每个神经元都与前一层的所有神经元相连接。在全连接层中,每个神经元都接收前一层中所有神经元的输出,并产生一个新的输出。这意味着每个神经元都与上一层中的所有特征或节点进行全局连接。
全连接层通常是神经网络的最后几层,用于将前一层的特征映射到最终输出的形式。例如,在图像分类任务中,全连接层接收来自卷积层或池化层的特征图,并将其映射到不同类别的输出。
在全连接层中,每个连接都关联一个权重,这些权重用于调整输入特征的重要性,并在模型训练过程中进行学习。此外,全连接层通常还包括一个激活函数,用于引入非线性性质,增加模型的表达能力。
然而,随着深度学习的发展,全连接层在某些场景下也存在一些问题。全连接层的连接数量与输入特征的维度成正比,导致参数量巨大,计算复杂度高,容易出现过拟合等问题。因此,在一些应用中,人们更倾向于使用卷积层或其他结构来替代全连接层,以降低模型复杂度并提高性能。
模型选择、欠拟合和过拟合
作为机器学习科学家,我们的目标是发现模式(pattern)。 但是,我们如何才能确定模型是真正发现了一种泛化的模式, 而不是简单地记住了数据呢? 例如,我们想要在患者的基因数据与痴呆状态之间寻找模式, 其中标签是从集合痴呆轻度认知障碍健康
中提取的。 因为基因可以唯一确定每个个体(不考虑双胞胎), 所以在这个任务中是有可能记住整个数据集的。
我们不想让模型只会做这样的事情:“那是鲍勃!我记得他!他有痴呆症!”。 原因很简单:当我们将来部署该模型时,模型需要判断从未见过的患者。 只有当模型真正发现了一种泛化模式时,才会作出有效的预测。
更正式地说,我们的目标是发现某些模式, 这些模式捕捉到了我们训练集潜在总体的规律。 如果成功做到了这点,即使是对以前从未遇到过的个体, 模型也可以成功地评估风险。 如何发现可以泛化的模式是机器学习的根本问题。
困难在于,当我们训练模型时,我们只能访问数据中的小部分样本。 最大的公开图像数据集包含大约一百万张图像。 而在大部分时候,我们只能从数千或数万个数据样本中学习。 在大型医院系统中,我们可能会访问数十万份医疗记录。 当我们使用有限的样本时,可能会遇到这样的问题: 当收集到更多的数据时,会发现之前找到的明显关系并不成立。
将模型在训练数据上拟合的比在潜在分布中更接近的现象称为过拟合
(overfitting), 用于对抗过拟合的技术称为正则化
(regularization)。 在前面的章节中,有些读者可能在用Fashion-MNIST数据集做实验时已经观察到了这种过拟合现象。 在实验中调整模型架构或超参数时会发现: 如果有足够多的神经元、层数和训练迭代周期, 模型最终可以在训练集上达到完美的精度,此时测试集的准确性却下降了。
训练误差和泛化误差
训练误差
(training error)是指, 模型在训练数据集上计算得到的误差。 泛化误差
(generalization error)是指, 模型应用在同样从原始样本的分布中抽取的无限多数据样本时,模型误差的期望。
倾向于影响模型泛化的因素。
- 可调整参数的数量。当可调整参数的数量(有时称为自由度)很大时,模型往往更容易过拟合。
- 参数采用的值。当权重的取值范围较大时,模型可能更容易过拟合。
- 训练样本的数量。即使模型很简单,也很容易过拟合只包含一两个样本的数据集。而过拟合一个有数百万个样本的数据集则需要一个极其灵活的模型。
激活函数
激活函数
(activation function)通过计算加权和并加上偏置来确定神经元是否应该被激活, 它们将输入信号转换为输出的可微运算。 大多数激活函数都是非线性的。 由于激活函数是深度学习的基础
线性回归
在线性回归中,我们通常有一个变量作为因变量(Y),我们想要预测它;以及一个或多个自变量 $(X)$ ,我们用来进行预测。最简单的线性回归模型是简单线性回归, 它涉及一个自变量和一个因变量, 模型形式可以表示为:
$$
Y=\beta_0+\beta_1 X+\epsilon
$$
- $Y$ 是因变量, 即我们想要预测的量。
- $X$ 是自变量, 即用来预测因变量的输入变量。
- $\beta_0$ 是截距, 是当 $X=0$ 时的 $Y$ 值。
- $\beta_1$ 是斜率, 表示 $X$ 变化一个单位时 $Y$ 的平均变化量。
- $\epsilon$ 是误差项, 表示模型未能解释的随机误差。
如果自变量不止一个, 即有多个 $X_1, X_2, \ldots, X_n$, 那么模型就变成了多元线性回归, 模型形式为:
$$
Y=\beta_0+\beta_1 X_1+\beta_2 X_2+\ldots+\beta_n X_n+\epsilon
$$
线性回归的关键是找到系数 $\beta_0, \beta_1, \ldots, \beta_n$ 的最佳估计值, 这通常通过最小二乘法来实现, 即找到一条直线, 使得所有数据点到这条直线的垂直距离(即残差)的平方和最小。
线性回归的应用非常广泛, 例如在经济学、生物统计、环境科学、农业科学、市场研究等领域都有应用。然而, 线性回归也有其局限性, 它假设变量之间是线性关系, 且误差项是独立同分布的, 这些假设在实际应用中不一定总是满足。因此, 在使用线性回归模型时, 需要对模型的假设进行检验, 并根据实际情况做出适当的调整。