特征向量降维常见的几种方法

高纬度特征带来的问题

这里就简单描述下。
通常我们会使用特征训练模型或特征矩阵求相似度。高维的特征带来的计算成本非常大,甚至完不成。同时一般高维的特征都比较稀疏,直接使用高维的特征训练需要样本量很大,难以拟合,模型效果不好。

训练模型时特征的筛选

通常我们训练模型时,会人为挑选特征,控制每类特征维度范围,比如年龄我们使用one-hot的方式表示,分成0-10,10-20...,>100这几个段,也就是将年龄映射成了11维,相比如果每个年龄表示一维,这也是一种降维的方法。

还有一种降维的方式是,假如我们人为不确定那种特征的好坏,我们可以将初选的所有特征(所有维度)哪去训练,将得到的模型中权重为0或与0相差甚微的特征(向量去掉),再重新训练,一直到比较合适为止。

工作中常用的两种降维方式

除上诉几种简单的降维方法。工作中还经常遇到两种情况需要降低特征维度。

embedding

拿用户来说,好的产品活跃用户非常多(如微信),假如用户数超过10亿。假设我们需要用用户做协同过滤,此时就需要知道用户间的相似度。不管使用哪种相似度计算方法(余弦,jaccard等等),我们首选要得到的是等维度的用户向量。假设我们通过某种办法(下面会详细描述)将每个用户都embedding成了128维的向量,我们就可以拿这个用户向量矩阵通过计算框架(如:faiss)去计算每个用户topN的相似用户及相似度。

又假如我们要把用户向量选做特征参与gbdt的训练,此时也是要首先获取用户的向量表示。

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 将1000个数据点降维到100个点有以下几种方法: 1. 主成分分析(PCA):它是一种常用的无监督降维方法,通过线性变换将原始数据投影到一个新的坐标系中,使得数据在新坐标系下的方差最大化,从而减少特征的数量,得到降维后的数据。 2. 线性判别分析(LDA):它是一种有监督的降维方法,通过寻找能够最大化不同类别之间的差异和最小化同一类别内部差异的线性投影,来实现数据降维。 3. t-SNE算法:它是一种非线性降维方法,能够在保留数据相对距离的同时将高维数据映射到二维或三维空间中,常用于可视化高维数据集。 4. 自编码器(Autoencoder):它是一种基于神经网络的无监督降维方法,通过训练一个编码器和解码器来学习原始数据的潜在表达,然后使用编码器将数据降维,从而得到降维后的数据。 这些方法各有优劣,选择适合自己数据集特点和需求的方法可以得到更好的降维效果。 ### 回答2: 把1000个数据点降维到100个点的方法有多种,其中包括以下几种常见方法: 1. 主成分分析(Principal Component Analysis, PCA):PCA是一种常用的无监督降维方法,通过线性变换将原始数据点投影到新的坐标系中,新坐标系的选择是使得投影后的方差最大化。通过PCA可以找到原始数据中最重要的主成分,从而降低数据的维度。 2. 线性判别分析(Linear Discriminant Analysis, LDA):LDA是一种常用的有监督降维方法,通过线性变换将原始数据映射到一个低维空间中,该空间最大化了不同类别之间的距离,同时最小化了同一类别内部的距离。LDA在分类问题中常用于提取能够区分不同类别的特征。 3. 非负矩阵分解(Non-negative Matrix Factorization, NMF):NMF是一种常用的非线性降维方法,适用于原始数据具有非负性质的情况。NMF将原始数据矩阵分解为两个非负矩阵的乘积,分解后的矩阵可以用于降维表示。 4. t-SNE:t-SNE是一种用于可视化高维数据的非线性降维方法,通过优化目标函数来保持原始数据点之间的距离关系。t-SNE能够保留数据中的局部结构,用于发现数据中的子群体和聚类结构。 除了以上几种方法,还可以使用因子分析、核主成分分析、局部线性嵌入(Locally Linear Embedding, LLE)等降维方法。它们各自有不同的数学原理和适用范围,根据具体的问题和数据特点选择合适的降维方法。 ### 回答3: 将1000个数据点降维到100个点可以使用多种方法。以下是几种常见降维方法: 1. 主成分分析(PCA):PCA是一种常用的线性降维方法,通过找到数据方差最大的方向,将数据映射到低维空间。它通过计算数据的协方差矩阵,得到特征向量,并选择前100个最重要的特征向量降维。 2. 线性判别分析(LDA):LDA是一种监督学习的降维方法,它试图找到可以使得不同类别之间的距离最大化、同类别内部距离最小化的投影方向。通过计算类别内离散度和类别间离散度,得到特征向量,并选择前100个最重要的特征向量降维。 3. t分布邻域嵌入(t-SNE):t-SNE是一种非线性降维方法,将高维数据映射到一个低维空间,保留局部结构的信息。它通过计算数据点之间的相似度来构建一个概率分布,然后在低维空间中最小化原始概率分布与降维后概率分布之间的差异,得到降维后的数据点。 4. 高维随机投影(Random Projection):随机投影是一种简单而快速的降维方法,通过将高维数据点投影到一个低维子空间上。它利用了随机矩阵的性质,可以在保持距离几乎不变的情况下将维度降低。使用随机生成的投影矩阵,将1000维的数据点投影到100维空间。 总而言之,这些方法都有其优缺点,根据具体的数据特点和降维需求来选择适合的方法

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值