神经网络与线性回归

2024年11月18日 | 阅读 10 分钟

神经网络和线性回归简介

神经网络和线性回归是设备学习和事实分析领域的基础工具。线性回归是最古老、最直接的策略之一,它试图通过拟合线性方程来模拟因变量与一个或多个自变量之间的关系。它的简单性、易于解释性和效率使其成为关系呈线性时进行预测建模的流行选择。

相比之下,受人脑结构启发的神经网络是一种更复杂、更强大的技术。这些网络由相互连接的节点(神经元)层组成,可以捕获和模拟数据中复杂的模式和非线性关系。每个神经元都使用权重、偏差和激活函数处理输入数据,这使得神经网络能够从大量数据集中学习并以高精度进行预测或分类。

虽然线性回归在变量之间关系呈线性且易于解释的场景中表现出色,但神经网络在处理具有复杂非线性交互的大量数据方面表现突出。它们能够泛化和适应各种问题,从图像识别到自然语言处理,这使得它们在现代人工智能应用中至关重要。然而,这种能力是以计算需求增加和可解释性降低为代价的,而线性回归则没有这些缺点。

模型架构和结构

神经网络层和神经元

相互连接的神经元层构成了神经网络,每一层都修改了单个记录。最重要的组成部分是:

  • 输入层:数据集是此累积的输入功能来源。此层中的每个神经元都与单个输入功能相关联。
  • 隐藏层:这些层位于输入层和输出层之间。它们通过使用激活函数、权重和偏差来处理输入。网络可以通过更广泛的神秘层和神经元来检查更复杂的设计。
  • 输出层:此层创建最终预测或分类。结果层中的神经元样式与所需输出值的数量相匹配。对于多类分类,可能会有许多神经元,而对于二元分类,则只有一个神经元。
  • 激活函数:通过引入非线性,激活功能允许网络学习复杂的模式。常见的激活功能包括 tanh、sigmoid 和 ReLU(修正线性单元)。
  • 前向和反向传播
    • 前向传播:将信息从输入通过各层发送以产生输出的过程。
    • 反向传播:对因输出错误而改变权重和偏差的过程应用梯度下降等优化方法的过程。

线性回归方程和线性

线性回归通过使用线性方程在因变量和一个或多个自变量之间建立连接。以下是线性回归模型的形式:

  • 模型公式:一条直线用于表示一个自变量和因变量之间的关系,在简单的线性回归中。
  • 多元线性回归:将此概念扩展到多个自变量,将因变量建模为这些变量的线性组合。
  • 线性假设:假定自变量与每个独立变量之间的关系是线性的,这意味着独立变量的变化会在主要变量中产生成比例的变化。
  • 普通最小二乘法 (OLS):这是用于估计线性方程系数的方法。它通过最小化所定位值与通过线性模型预测值之间的平方差之和来工作。
  • 正规方程:这是一种直接找到系数的数学方法,通常适用于数据点和功能数量较少且计算可行的情况。
  • 梯度下降:一种迭代优化算法,用于通过反复调整系数来找到系数,以限制成本函数,该函数衡量定位值和预测值之间的差异。

训练和学习过程

训练神经网络:反向传播和梯度下降

训练神经网络涉及调整其权重和偏差,以减少其预测中的错误。最重要的步骤是:

  • 初始化:网络的权重和偏差被初始化,通常使用小的随机值。
  • 前向传播:输入数据通过网络,逐层传递,使用当前的权重和偏差计算输出。
  • 损失计算:使用损失函数(例如回归任务的均方误差或分类任务的交叉熵)计算网络预测与真实目标之间的误差(或损失)。
  • 反向传播:使用微积分的链式法则计算损失函数相对于每个权重和偏差的梯度。这涉及将误差通过网络反向传播,从输出层到输入层。
  • 梯度下降:权重和偏差沿着减少损失的方向更新。这是通过减去损失函数的梯度乘以学习率(一个控制步长的小的正值)来完成的。
  • 时期和批处理:整个教育数据集被分成较小的批次。每个批次都用于更新权重和偏差,这使得训练过程更加高效并有助于处理大型数据集。

训练线性回归模型:最小二乘法和梯度下降

训练线性回归模型包括找到最能匹配输入数据的最优化系数。主要策略是:

  • 普通最小二乘法 (OLS):训练线性回归模型的最常见方法。它找到最小化观察值和模型预测值之间平方差之和的系数。
  • OLS 步骤:
    • 制定设计矩阵:创建一个矩阵,其中每行代表一个观察值,每列代表一个自变量。
    • 计算系数:使用矩阵运算,计算最小化残差平方和的系数。
  • 梯度下降:训练线性回归模型的替代方法,在函数范围很大或闭式解计算成本高昂时特别有用。

该系统包括迭代更新系数以最小化成本函数(均方误差):

  • 用小的随机值初始化系数。
  • 计算每个语句的预测值和误差。
  • 计算成本函数相对于每个系数的梯度。
  • 通过减去梯度和学习率的乘积来更新系数。
  • 重复这些步骤进行多次迭代,直到系数收敛到最佳值。

批量、小批量和随机梯度下降

  • 批量梯度下降:在每次生成时使用整个数据集计算梯度。
  • 随机梯度下降 (SGD):一次使用一个语句更新系数,这使得过程更快但噪声更大。
  • 小批量梯度下降:批量和 SGD 之间的一种折衷,其中使用小批量数据计算梯度。

性能指标和评估

评估神经网络模型

评估神经网络模型的性能涉及使用各种指标和策略来衡量其准确性、可靠性和泛化能力。关键因素包括:

  • 准确性:正确预测的百分比占预测总数的百分比,通常用于分类任务。
  • 损失函数:衡量预测值和实际值之间的差异。常见的损失函数包括回归的均方误差 (MSE) 和分类的交叉熵损失。

精确度、召回率和 F1 分数

  • 精确度:真阳性预测与预期阳性总数的比率。它衡量了积极预测的准确性。
  • 召回率:真阳性预测与实际阳性总数的比率。它衡量了模型捕获积极事件的能力。
  • F1 分数:精确度和召回率的调和平均值,在两者之间提供平衡。
  • 混淆矩阵:用于评估分类模型性能的表格。它显示真阳性、真阴性、假阳性和假阴性。

ROC 曲线和 AUC

  • ROC 曲线:分类器整体性能的图形表示,绘制在各种阈值设置下的真阳性率与假阳性率。
  • AUC(曲线下面积):总结 ROC 曲线的单个标量值。更高的 AUC 表示更好的版本性能。

过拟合和欠拟合

  • 过拟合:当模型在训练数据上表现良好,但在未见过的数据上表现不佳时。可以通过训练和验证性能之间的显着差异来检测。
  • 欠拟合:当模型在训练和验证数据上都表现不佳时,表明它无法捕获数据中的底层模式。
  • 交叉验证:一种通过将数据划分为多个子集并在这些子集的不同组合上训练/测试模型来评估模型泛化能力的方法。
  • 正则化技术:L1 和 L2 正则化(惩罚大权重)等方法可防止过拟合。

评估线性回归模型

评估线性回归模型涉及评估模型与数据的拟合程度以及预测新数据的准确性。关键组成部分包括:

  • R 平方 (R²):一种统计量度,表示因变量中可从自变量预测的方差百分比。R² 越高表示模型拟合越好。
  • 调整后的 R 平方:R² 的调整版本,考虑了模型中预测变量的数量。它根据独立变量的数量和样本大小调整统计量,在使用多个预测变量时提供更准确的度量。
  • 均方误差 (MSE):观察值与预期值之间平方差的平均值。它提供了模型所犯错误的严重程度的概念。
  • 均方根误差 (RMSE):均方误差的平方根,提供与因变量相同的单位的误差度量。它比 MSE 更易于解释。
  • 平均绝对误差 (MAE):观察值与预期值之间绝对差的平均值。它衡量预测中错误的平均值。
  • 残差分析:检查残差(观察值与预期值之间的差异)以检查可能表明模型存在问题(例如非线性或异方差性(非规则方差))的模式。
  • F 统计量和 p 值
    • F 统计量评估模型的整体重要性,测试是否至少有一个预测变量具有非零系数。
    • 单个系数的 p 值检查系数为零(无影响)的零假设。低 p 值表示出色的预测变量。
  • 交叉验证:与神经网络类似,线性回归中的交叉验证涉及将数据划分为多个子集,并在这些子集的不同组合上训练/测试模型以评估其泛化能力。
  • Durbin-Watson 统计量:测试残差中的自相关,确保残差是无偏的。
  • 方差膨胀因子 (VIF):衡量自变量之间的多重共线性程度。高 VIF 值表明预测变量高度相关,这可能会影响回归系数的稳定性和可解释性。

比较分析

何时选择神经网络而非线性回归

  • 复杂和非线性关系:当输入和输出变量之间的关系复杂且非线性时,神经网络是合适的。它们可以捕获线性回归无法建模的数据中复杂的模式和交互。
  • 大型高维数据:神经网络在大型数据集和高维数据上表现良好。它们可以处理大量特征和观测值,使其非常适合图像和语音识别等任务,其中数据丰富且复杂。
  • 特征工程和提取:神经网络可以自动学习和从原始数据中提取相关特征,减少了对大量手动特征工程的需求。这在涉及非结构化数据(例如图像、音频和文本)的任务中特别有用。
  • 深度学习应用:对于需要深度学习策略的任务,例如用于图像处理的卷积神经网络 (CNN) 或用于序列数据的循环神经网络 (RNN),神经网络是首选,因为它们具有专门的架构。
  • 实时和自适应学习:神经网络可以实时适应和学习,使其适用于在线推荐系统、自动驾驶和动态定价模型等应用程序。
  • 处理多模态数据:神经网络可以同时集成和学习不同类型的数据(例如,文本、图像和音频),这对于需要多模态数据分析的应用程序很有用。
  • 对噪声的鲁棒性:通过正确的正则化技术(例如,Dropout、批量归一化),神经网络可以对噪声数据变得鲁棒,使其适用于数据质量可能有所不同的实际应用。

何时选择线性回归而非神经网络

  • 简单性和可解释性:线性回归易于实现并提供易于解释的结果。当模型透明度和理解每个预测变量的影响至关重要时,它是一个极佳的选择,例如在学术研究和某些商业应用中。
  • 小型低维数据:对于特征数量有限的小型数据集,线性回归更合适。它计算效率高,不需要大量数据即可产生可靠结果。
  • 线性假设:当因变量和自变量之间的关系近似线性时,线性回归是最佳选择。它直接建模线性关系,而无需引入不必要的复杂性。
  • 快速训练和预测:线性回归训练速度快,预测速度快,使其适用于计算资源有限或需要快速预测的应用程序。
  • 基线模型和比较:线性回归可以作为与更复杂模型进行比较的良好基线模型。它提供了一个参考点,以评估神经网络增加的复杂性是否显着提高了性能。
  • 超参数较少:与神经网络相比,线性回归的超参数较少,简化了模型选择和训练过程。
  • 避免过拟合:在过拟合是一个问题的情况下,特别是对于小型数据集,线性回归的简单性有助于避免拟合数据中的噪声。与没有正则化的神经网络相比,它更不容易过拟合。
  • 预测建模和预测:对于简单的预测建模和预测任务,例如销售预测、需求预测或风险评估,线性回归通常足够且有效。