首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
01 | 我们为什么选择机器学习?
02 | 学习AI对我们有什么帮助?
03 | AI概览:宣传片外的人工智能
04 | AI项目流程:从实验到落地
05 | NLP领域简介:NLP基本任务及研究方向
06 | NLP应用:智能问答系统
07 | NLP应用:文本校对系统
08 | NLP的学习方法:如何在AI爆炸时代快速上手学习?
09 | 深度学习框架简介:如何选择合适的深度学习框架?
10 | 深度学习与硬件:CPU
11 | 深度学习与硬件:GPU
12 | 深度学习与硬件:TPU
13 | AI项目部署:基本原则
14 | AI项目部署:框架选择
15 | AI项目部署:微服务简介
16 | 统计学基础:随机性是如何改变数据拟合的本质的?
17 | 神经网络基础:神经网络还是复合函数
18 | 神经网络基础:训练神经网络
19 | 神经网络基础:神经网络的基础构成
20 | Embedding简介:为什么Embedding更适合编码文本特征?
21 | RNN简介:马尔可夫过程和隐马尔可夫过程
22 | RNN简介:RNN和LSTM
23 | CNN:卷积神经网络是什么?
24 | 环境部署:如何构建简单的深度学习环境?
25 | PyTorch简介:Tensor和相关运算
26 | PyTorch简介:如何构造Dataset和DataLoader?
27 | PyTorch简介:如何构造神经网络?
28 | 文本分类实践:如何进行简单的文本分类?
29 | 文本分类实践的评价:如何提升进一步的分类效果?
30 | 经典的数据挖掘方法:数据驱动型开发早期的努力
31 | 表格化数据挖掘基本流程:看看现在的数据挖掘都是怎么做的?
32 | Pandas简介:如何使用Pandas对数据进行处理?
33 | Matplotlib简介:如何进行简单的可视化分析?
34 | 半自动特征构建方法:Target Mean Encoding
35 | 半自动特征构建方法:Categorical Encoder
36 | 半自动特征构建方法:连续变量的离散化
37 | 半自动特征构建方法:Entity Embedding
38 | 半自动构建方法:Entity Embedding的实现
39 | 半自动特征构建方法:连续变量的转换
40 | 半自动特征构建方法:缺失变量和异常值的处理
41 | 自动特征构建方法:Symbolic learning和AutoCross简介
42 | 降维方法:PCA、NMF 和 tSNE
43 | 降维方法:Denoising Auto Encoders
44 | 降维方法:Variational Auto Encoder
45 | 变量选择方法
46 | 集成树模型:如何提升决策树的效果
47 | 集成树模型:GBDT和XgBoost的数学表达
48 | 集成树模型:LightGBM简介
49 | 集成树模型:CatBoost和NGBoost简介
50 | 神经网络建模:如何让神经网络实现你的数据挖掘需求
当前位置:
首页>>
技术小册>>
NLP入门到实战精讲(上)
小册名称:NLP入门到实战精讲(上)
### 42 | 降维方法:PCA、NMF 和 tSNE 在数据科学与自然语言处理(NLP)的广阔领域中,降维技术是一种至关重要的数据处理手段。它旨在通过减少数据集中的特征数量来简化数据分析过程,同时尽量保留原始数据的关键信息。这一过程不仅有助于降低计算复杂度,还能提升模型的理解性和可视化效果。本章将深入探讨三种常用的降维方法:主成分分析(PCA)、非负矩阵分解(NMF)以及t-分布随机邻域嵌入(t-SNE),并阐述它们在NLP及更广泛数据分析场景中的应用。 #### 42.1 主成分分析(PCA) **基本原理** 主成分分析是一种广泛使用的线性降维技术,它通过正交变换将可能相关的变量转换为一组线性不相关的变量,即主成分。这些主成分按照方差从大到小排列,第一主成分具有最大的方差,代表数据中的最大变异方向。通过选择前几个主成分,可以在保留大部分信息的同时显著减少数据维度。 **在NLP中的应用** 在NLP领域,PCA常被用于文本数据的预处理,尤其是在处理高维词向量或文档-词矩阵时。例如,在文档分类任务中,原始文档-词矩阵可能非常稀疏且维度极高,直接使用这样的矩阵进行模型训练不仅效率低下,还可能因为维度灾难而导致过拟合。通过PCA降维,可以提取出文档的主要特征,降低模型训练的复杂度,同时保留足够的分类信息。 **实现步骤** 1. **数据标准化**:由于PCA对数据的尺度敏感,通常需要先对数据进行标准化处理,即减去均值并除以标准差。 2. **计算协方差矩阵**:计算标准化后数据的协方差矩阵,或等价地,使用相关矩阵。 3. **求解特征值和特征向量**:对协方差矩阵进行特征分解,得到特征值和对应的特征向量。 4. **选择主成分**:根据特征值的大小选择前几个主成分,这些主成分对应的特征向量即为新的坐标轴。 5. **数据投影**:将原始数据投影到新的坐标轴上,得到降维后的数据。 **优点与局限** - **优点**:计算效率高,易于实现;能够有效去除噪声和冗余信息。 - **局限**:只适用于线性关系的数据;可能丢失部分重要但非线性相关的信息。 #### 42.2 非负矩阵分解(NMF) **基本原理** 非负矩阵分解是一种非负约束下的矩阵分解方法,它将一个非负矩阵分解为两个非负矩阵的乘积。这种分解方式使得分解后的矩阵具有更好的可解释性,因为非负性在现实世界中往往具有实际意义(如频率、概率等)。 **在NLP中的应用** NMF在NLP中广泛应用于主题建模,它能够将文档-词矩阵分解为文档-主题矩阵和主题-词矩阵,从而揭示文档中的潜在主题结构。与传统的潜在语义分析(LSA)相比,NMF通过非负约束保证了分解结果的直观性和可解释性,使得每个主题下的词都呈现出正相关关系。 **实现步骤** 1. **初始化**:随机生成两个非负矩阵,它们的乘积作为原始矩阵的近似。 2. **迭代更新**:使用乘法更新规则或梯度下降法等优化算法,迭代更新两个矩阵,以最小化重构误差(通常是Frobenius范数)。 3. **收敛判断**:当重构误差小于预设阈值或迭代次数达到上限时停止更新。 4. **结果解释**:分析文档-主题矩阵和主题-词矩阵,解释每个主题的含义及其与文档的关系。 **优点与局限** - **优点**:分解结果直观、可解释性强;适用于处理非负数据。 - **局限**:对初始值敏感;计算复杂度较高,特别是在大规模数据集上。 #### 42.3 t-分布随机邻域嵌入(t-SNE) **基本原理** t-SNE是一种用于高维数据可视化的非线性降维技术。它通过在高维空间中计算数据点之间的相似度,并在低维空间中寻找一个映射,使得这些相似度在低维空间中得以保留。与传统的降维方法不同,t-SNE在高维空间中使用高斯分布来衡量相似度,而在低维空间中使用t分布,这有助于解决“拥挤问题”,即在高维空间中相距较远的点在低维空间中容易重叠的问题。 **在NLP中的应用** t-SNE在NLP中常用于文本数据的聚类分析和可视化展示。通过将文本数据(如词向量、文档向量)映射到二维或三维空间,可以直观地观察文本之间的相似性和聚类结构。这对于理解文本数据的内在规律和发现潜在的模式具有重要意义。 **实现步骤** 1. **构建相似度矩阵**:在高维空间中计算数据点之间的相似度,构建相似度矩阵。 2. **初始化低维映射**:在低维空间中随机初始化数据点的位置。 3. **优化映射**:通过梯度下降等方法优化低维映射,使得低维空间中的相似度尽可能接近高维空间中的相似度。 4. **可视化**:将优化后的低维映射绘制在二维或三维平面上,进行可视化展示。 **优点与局限** - **优点**:能够揭示数据的复杂结构,可视化效果好;对局部结构敏感,适合发现小簇和异常点。 - **局限**:计算复杂度较高,特别是在大规模数据集上;对参数敏感,需要仔细调整以获得最佳效果;结果可能不稳定,每次运行可能产生不同的结果。 ### 结语 本章详细介绍了三种常用的降维方法——PCA、NMF和t-SNE,并探讨了它们在NLP领域的应用。PCA作为线性降维的经典方法,在去除冗余信息和噪声方面表现出色;NMF通过非负约束增强了分解结果的可解释性,适用于主题建模等任务;t-SNE则以其强大的非线性降维能力和可视化效果成为高维数据探索的有力工具。每种方法都有其独特的优势和局限性,在实际应用中应根据具体问题和数据特性选择合适的降维方法。
上一篇:
41 | 自动特征构建方法:Symbolic learning和AutoCross简介
下一篇:
43 | 降维方法:Denoising Auto Encoders
该分类下的相关小册推荐:
NLP入门到实战精讲(中)
AI 大模型企业应用实战
人人都能学AI,66个提问指令,14个AI工具
AI 时代的软件工程
大模型应用解决方案-基于ChatGPT(下)
生成式AI的崛起:ChatGPT如何重塑商业
人工智能原理、技术及应用(上)
深度强化学习--算法原理与金融实践(五)
AI时代架构师:ChatGPT与架构师(下)
一本书读懂AIGC提示词
ChatGPT商业变现
ChatGPT实战开发微信小程序