问题标签 [dimensionality-reduction]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
machine-learning - Dimensionality reduction in exhaustive channel/feature selection
My data consist of 16channelsx128samplesx400trials. I wanna perform exhaustive channel selection in this dataset. Where should I apply PCA?
neural-network - 无法使此自动编码器网络正常运行(使用卷积层和 maxpool 层)
自编码器网络似乎比普通的分类器 MLP 网络要复杂得多。在使用Lasagne进行了几次尝试之后,我在重建输出中得到的所有结果都类似于MNIST数据库的所有图像的模糊平均,而不区分输入数字的实际含义。
我选择的网络结构是以下级联层:
- 输入层 (28x28)
- 2D 卷积层,滤波器大小 7x7
- 最大池化层,大小 3x3,步幅 2x2
- 密集(全连接)扁平化层,10 个单元(这是瓶颈)
- 密集(全连接)层,121 个单元
- 将图层重塑为 11x11
- 2D 卷积层,滤波器大小 3x3
- 2D 放大层因子 2
- 2D 卷积层,滤波器大小 3x3
- 2D 放大层因子 2
- 2D 卷积层,滤波器大小 5x5
- 特征最大池化(从 31x28x28 到 28x28)
所有 2D 卷积层都具有未绑定的偏差、sigmoid 激活和 31 个过滤器。
所有全连接层都有 sigmoid 激活。
使用的损失函数是平方误差,更新函数是adagrad
。学习块的长度是 100 个样本,乘以 1000 个 epoch。
为了完整起见,以下是我使用的代码:
关于如何改进这个网络以获得功能合理的自动编码器的任何想法?
python-2.7 - 这些是在 Scikit learn 中使用 DictVectorizer 的不可调和的缺点吗?
我有 5+ 百万数据来预测人们的种族。一个文本特征会产生数以万计的特征。例如,名称“Smith”会产生“sm”、“mi”、“it”等。然后我需要将其转换为一些稀疏矩阵
由于生成的特征数以万计,我不能使用以下给我一个数组,否则我会收到内存不足的错误。
据我所知,scikilearn 中的许多其他功能/模块只允许拟合数组格式数据。例如:http ://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html#sklearn.decomposition.PCA和http://scikit-learn.org/stable/modules/feature_selection.html用于降维和特征选择。
machine-learning - 决定降维、分类和聚类?
您能否帮助我理解它,因为我不确定我是否正确理解它。
假设我有一个人的数据集,有 100 个特征,各种特征,如身高、体重、年龄等。我想分类是正常还是异常。我所说的异常是指如果一个 20 岁的男人身高 170 厘米和 150 公斤,则将其识别为异常。
我应该使用自组织图来降低维度(这 100 个特征),然后使用 K-means 将它们分为正常和异常吗?这是一个正确的方法吗?或者我可以只使用 K-NN 将它们分类为正常 - 异常而无需任何降维?
K-NN 可以使用多少功能?到目前为止,我发现的所有示例都只使用了两个。
如果以后我想知道为什么这个人被列入了异常类,我怎么会发现这是因为这两个特征,他的体重根据他的身高?
python - 在矩阵上使用降维
对于监督学习,我的矩阵非常大,因此只有某些模型同意使用它。我读到 PCA 可以在很大程度上帮助降低维度。
下面是我的代码:
我希望将 PCA 应用于 matrix_tmp,因为它的大小约为 (202180x9984)。如何修改我的代码以包含它?
scikit-learn - Sklearn PCA 自动设置 n_components
我正在尝试使用带有以下代码的 Sklearn PCA 将我的 5000-D 数据减少到 32-D
通过上面的代码,我得到了形状为 (10,10) 的 newData(10 个 10 维样本)。我对 PCA 的理解是它应该产生形状为 (10,32) 的 newData,但这里不是这种情况。将输入数据 (arr) 更改为 50 个样本,我得到了形状为 (50,32) 的 newData,这是我所期望的。如果该值小于给定的 n_components (在这种情况下为 32),sklearn 似乎会自动将 n_components 设置为 min(num_samples,num_dimension)。
谁能告诉我这样做的目的是什么?
hash - 通过计算 Min-Hash 比较两个对象
我需要比较 Java/Type-script 对象的不同状态。这些对象在执行过程中会发生变化,所以我无法直接比较它们。我需要根据我能够存储的计算出的“哈希值”来比较它们。
通常,Min-Hash算法非常适合这类问题。但是,Min-Hash 纯粹基于比较字符串集,因此无法比较内容以某种方式“有序”的集合,即数字。
让我解释一下我的意思。考虑一个由以下组成的对象
被散列到100101010
. 在不同的时间,同一对象由
这导致哈希100010010
现在通常通过检查汉明距离来比较这些哈希值。
这允许根据Jaccard 指数计算它们的相似性 (9-3)/9=0.66
。
但是,我希望看到从 到 的细微变化42
以41
某种方式反映在哈希中。即两个状态之间的相似度应该更像0.95
。确切的数字无关紧要。
在不需要存储大量附加值的情况下,我将如何做到这一点?
python-3.x - Python中的独立分量分析(ICA)
python中是否有任何可用的包来执行独立分量分析(ICA)?
请提供一些指针和链接,以便我可以从 python 开始。
cluster-analysis - 聚类或球形k-means之前高维稀疏数据的降维?
我正在尝试构建我的第一个推荐系统,在其中创建用户特征空间,然后将它们聚集到不同的组中。然后为了让推荐适用于特定用户,首先我找出用户所属的集群,然后推荐他/她最近的邻居表现出兴趣的实体(项目)。我正在处理的数据是高维和稀疏的。在实施上述方法之前,有几个问题,他们的答案可能会帮助我采用更好的方法。
由于我的数据是高维和稀疏的,我应该进行降维然后应用聚类,还是应该使用适用于稀疏高维数据的球形 K-means 等算法?
创建用户集群后,我应该如何找到最近的邻居。(我应该采用哪种距离度量,因为我已经读到欧几里得距离不是高维数据的好度量)?