计算与分析2-深度学习
请给出“梯度下降”的定义,并简述和讨论任一种梯度下降算法
梯度下降的定义
梯度下降(Gradient Descent)是一种优化算法,用于寻找可微函数的局部最小值。其核心思想是:从任意初始点出发,沿着函数在该点梯度的反方向(即函数值下降最快的方向)迭代更新参数,逐步逼近目标函数的最小值点。
随机梯度下降(Stochastic Gradient Descent, SGD)算法简述与讨论
算法原理
- 核心逻辑:每次迭代仅使用一个样本计算梯度并更新参数,而非遍历全部数据集
特点与讨论
- 优势:
- 计算效率高:每次迭代仅处理一个样本,内存消耗小,适合大规模数据集。
- 随机性带来逃脱局部最优的可能:更新方向因样本随机性而波动,可能跳出浅局部最优解。
- 不足:
- 梯度估计噪声大:单个样本的梯度可能偏离整体梯度方向,导致迭代过程震荡。
- 收敛不稳定:可能在最优解附近频繁波动,难以精确收敛。
- 改进方向:
- 小批量梯度下降(Mini-Batch GD):折中 SGD 和批量梯度下降(BGD),每次使用小批量样本(如 32/64 个)计算梯度,平衡效率与稳定性。
- 学习率调度:通过动态调整学习率(如衰减策略)缓解震荡,提升收敛精度。
简单介绍一下线性回归模型,并说一下优缺点
线性回归模型简介
线性回归是一种监督学习模型,假设因变量 y 与自变量 x1,x2,…,xn 之间存在线性关系,通过最小化预测值与真实值的误差(通常用均方误差 MSE)来拟合参数
优点
- 原理简单易懂:数学逻辑清晰,可解释性强,参数含义直观(如权重反映特征对目标的影响程度)。
- 计算效率高:无需复杂迭代,可通过最小二乘法直接求解解析解,适合大规模数据。
- 基线模型价值:常作为其他复杂模型的性能对比基准,或用于初步探索数据关系。
缺点
- 假设严格:要求因变量与自变量呈线性关系,且误差需满足正态分布、同方差等假设,实际数据中易不满足。
- 抗噪能力弱:对异常值敏感,少量极端数据可能显著影响参数拟合。
- 表达能力有限:无法捕捉非线性关系,需手动构造特征或结合多项式变换增强能力。
简单介绍一下极大似然估计,并说一下优缺点
优点
- 理论性质优良:
- 当样本量足够大时,MLE 具有一致性(收敛于真实参数)、渐近正态性和渐近有效性(方差达到 C-R 下界)。
- 应用范围广:
- 不依赖先验知识,仅基于观测数据建模,适用于多种概率分布(如高斯、二项、泊松分布等)。
- 计算形式统一:
- 无论分布类型如何,均可通过最大化似然函数求解,便于算法实现(如梯度上升法)。
缺点
- 对模型假设敏感:
- 若真实数据分布与假设模型不符,估计结果可能偏差较大(如假设正态分布但数据存在厚尾)。
- 可能陷入局部最优:
- 似然函数可能存在多个极值点,优化过程中易收敛到局部极大值而非全局最优。
- 小样本下表现不稳定:
- 样本量较小时,MLE 可能过度拟合数据,甚至出现无意义的参数估计(如方差估计为 0)。
- 复杂模型求解困难:
- 当似然函数无解析解时,需依赖数值优化(如牛顿法),计算复杂度高或难以收敛。
监督、半监督和无监督学习及哪些具体的算法
一、监督学习(有标注数据训练)
- 核心特点:利用输入 - 输出对(x,y)学习映射关系。
- 典型算法:
- 分类算法:逻辑回归(Logistic Regression)、支持向量机(SVM)、决策树(Decision Tree)、随机森林(Random Forest)、K 最近邻(KNN)。
- 回归算法:线性回归(Linear Regression)、梯度提升树(GBDT/XGBoost/LightGBM)。
- 深度学习:卷积神经网络(CNN,图像分类)、循环神经网络(RNN,序列预测)。
二、半监督学习(少量标注 + 大量未标注数据)
- 核心特点:结合标注数据的监督信息和未标注数据的分布规律。
- 典型算法:
- 生成式模型:半监督高斯混合模型(GMM)、半监督 SVM(S3VM)。
- 图模型:标签传播(Label Propagation)、半监督聚类 - 分类结合(如先聚类后标注)。
- 自训练(Self-Training):用已训练模型对未标注数据预测,选高置信度样本加入训练集。
三、无监督学习(无标注数据)
- 核心特点:从数据中挖掘隐含结构或模式。
- 典型算法:
- 聚类算法:K 均值聚类(K-means)、层次聚类(Hierarchical Clustering)、DBSCAN(密度聚类)。
- 降维算法:主成分分析(PCA)、t-SNE、自编码器(Autoencoder)。
- 关联规则学习:Apriori 算法、FP-Growth 算法(用于挖掘频繁项集)。
- 生成模型:变分自编码器(VAE)、生成对抗网络(GAN,无监督生成样本)。
什么叫做泛化能力,如何提高?
泛化能力定义
指模型对未见过的新数据的预测或适应能力,反映模型从训练数据中学习到的规律能否推广到真实场景
提高泛化能力的方法
- 数据层面
- 增加数据量:通过数据增强(旋转、缩放、加噪声等)扩充训练集。
- 确保数据多样性:覆盖更多真实场景样本,避免训练数据偏差。
- 模型层面
- 简化模型复杂度:如使用正则化(L1/L2)、dropout、早停法抑制过拟合。
- 选择合适模型:避免盲目使用复杂模型(如用线性模型替代深度网络处理线性数据)。
- 训练层面
- 优化训练策略:动态调整学习率、使用批量归一化(BN)稳定训练。
- 集成学习:结合多个模型预测(如随机森林、Boosting)降低单一模型方差。
什么叫做偏差、方差和协方差?
前馈神经网络的定义和应用范围
前馈神经网络的定义
- 结构特点:神经元分层排列,信息从输入层单向传递至输出层,层间全连接或部分连接,无反馈环路(区别于循环神经网络 RNN)。
- 核心组件:输入层、隐藏层(可多层)、输出层,每层通过激活函数(如 ReLU、sigmoid)处理线性变换后的信号。
应用范围
- 计算机视觉:图像分类(如 AlexNet)、目标检测(如 YOLO)、图像分割。
- 自然语言处理:文本分类、情感分析、词嵌入(如 Word2Vec 前馈结构)。
- 语音识别:语音特征提取与模式分类。
- 推荐系统:用户偏好预测(如协同过滤与前馈网络结合)。
- 数据预测与回归:时间序列分析、房价预测等连续值预测任务。
- 强化学习:策略网络或价值函数近似(如 DQN 中的前馈结构)。
什么叫做LSTM网络,核心结构是什么,其优点是什么
LSTM 网络(长短期记忆网络)的定义
- 类型:递归神经网络(RNN)的变种,专门设计用于解决传统 RNN 的 “长期依赖” 问题(梯度消失导致难以处理长序列)。
核心结构
- 细胞状态(Cell State):
- 贯穿网络的 “记忆管道”,通过遗忘门、输入门、输出门控制信息的保留与更新,实现长时记忆存储。
- 三大门控单元:
- 遗忘门(Forgot Gate):决定细胞状态中哪些信息被丢弃,输出 0-1 之间的值(1 表示保留,0 表示遗忘)。
- 输入门(Input Gate):决定哪些新信息被存入细胞状态,由 “输入信号” 和 “候选状态” 共同更新。
- 输出门(Output Gate):根据细胞状态和当前输入,决定最终输出的隐藏状态。
优点
- 解决长期依赖:通过门控机制选择性保留历史信息,避免梯度随时间步长指数衰减(梯度消失)。
- 适应性记忆:自动学习对不同时序信息的 “记忆” 或 “遗忘”,适用于长序列处理(如文本、语音)。
- 训练稳定性:相比传统 RNN,LSTM 的梯度传播更稳定,深层网络训练更容易收敛。
- 广泛适用性:在自然语言处理(机器翻译、文本生成)、时间序列预测、语音识别等领域表现优异
什么叫做GAN网络
GAN 网络(生成对抗网络)的定义
GAN(Generative Adversarial Networks)是一种通过博弈论思想设计的生成模型,由生成器(Generator) 和判别器(Discriminator) 两个神经网络构成,通过对抗训练机制学习数据的概率分布,从而生成接近真实样本的新数据。
核心原理(对抗训练过程)
- 生成器(G):目标是 “欺骗” 判别器,输入随机噪声(如正态分布向量),输出伪造样本(尽量接近真实数据分布)。
- 判别器(D):目标是区分真实样本与生成样本,输出概率值(1 表示 “肯定是真实样本”,0 表示 “肯定是伪造样本”)。
- 对抗过程:
- 生成器试图生成让判别器误判为 “真实” 的样本,而判别器不断提高识别能力,两者在迭代训练中共同进化,最终达到纳什均衡(生成器输出的样本与真实样本分布一致,判别器无法区分)
为什么对于小图像数据集一般要采用预训练网络
1. 解决数据不足导致的过拟合
- 小数据集下直接训练网络(如全连接网络)易因参数过多、样本少而陷入过拟合
- 预训练网络已在大规模数据集(如 ImageNet)上学习到通用视觉特征(边缘、纹理、形状等),迁移至小数据集时可显著减少对新数据的依赖
2. 利用迁移学习提升泛化能力
- 预训练网络的底层特征(如底层卷积层提取的基础视觉特征)具有跨任务通用性,仅需微调少量高层参数即可适配新任务。
- 例如:在 1000 类 ImageNet 上预训练的 ResNet,迁移至 10 类花卉分类时,只需替换最后全连接层并微调顶层参数。
3. 减少训练成本与时间
- 预训练网络已完成大量计算(如数百万样本的迭代优化),小数据集下只需训练少量新参数,大幅降低算力需求和训练时间。
4. 避免随机初始化的低效性
- 随机初始化的网络需从噪声中学习基础特征,而预训练权重提供了更接近最优解的起点,加速收敛过程。
对于小数据集一般采用什么网络? :预训练网络(迁移学习)
在自然语言处理中用到哪些神经网络?
1. 循环神经网络(RNN)及其变种
- RNN:按时间步处理序列,隐含层自连接传递历史信息,适用于时序依赖建模(如语言模型)。
- LSTM(长短期记忆网络):通过门控机制解决 RNN 梯度消失问题,擅长长序列建模(机器翻译、文本生成)。
- GRU(门控循环单元):LSTM 的简化版,参数更少,训练效率更高(情感分析、问答系统)。
2. 卷积神经网络(CNN)
- TextCNN:一维卷积提取文本局部 n-gram 特征,用于文本分类、短文本匹配。
- 膨胀卷积(Dilated CNN):扩大感知野捕获长距离依赖(机器翻译、文档生成)。
- 门控卷积网络(GCNN):引入门控机制增强语义特征选择(语音识别、对话系统)。
3. Transformer 及其变种
- Transformer:基于自注意力机制,完全摒弃循环结构,并行计算能力强,擅长长距离依赖建模(BERT、GPT 系列的基础架构)。
- BERT:双向 Transformer 编码器,预训练后微调用于各类 NLP 任务(文本分类、命名实体识别)。
- GPT(Generative Pre-trained Transformer):单向 Transformer 解码器,专注于生成任务(文本续写、对话系统)。
4. 注意力机制(Attention)相关模型
- 自注意力(Self-Attention):计算序列内部各位置的依赖关系,赋予关键信息更高权重(Transformer 核心模块)。
- 编码器 - 解码器注意力(Encoder-Decoder Attention):机器翻译中建立源语言与目标语言的对齐关系(如 Transformer 翻译模型)。
评估模型通常用训练集和测试集,为何要加上验证集?
验证集的核心作用及必要性
1. 防止过拟合与调参优化
- 训练集:用于模型参数学习(拟合数据分布);
- 验证集:独立于训练集,用于动态调整超参数(如学习率、正则化强度、网络层数),避免模型在训练集上过拟合而在真实数据上表现不佳。
2. 模型选择与早期停止
- 对比不同模型架构(如 CNN vs. Transformer)时,通过验证集指标(如准确率、损失值)筛选最优模型;
- 训练过程中监控验证集损失,触发早停机制以防止过度拟合噪声。
3. 保持测试集的客观性
- 测试集:仅在模型最终评估时使用,若直接用测试集调参会导致数据窥探偏差(Test Set Overfitting),使评估结果高估模型泛化能力。
- 验证集作为 “中间桥梁”,确保测试集始终保持对模型的 “新鲜度”。