数据科学

数据科学专业人员,机器学习专家以及有兴趣了解该领域的人员的问答

4
后续的卷积层如何工作?
这个问题归结为“卷积层如何正确工作。 假设我有一个灰度图像。因此图像只有一个通道。在第一层中,我使用过滤器和填充进行卷积。然后我有另一个卷积层,其中有卷积和过滤器。我有多少个特征图?3 × 3 k 1 5 × 5 k 2n × 米n×mn \times m3 × 33×33\times 3ķ1个k1k_15 × 55×55 \times 5ķ2k2k_2 1型卷积 第一层被执行。之后,我有特征图(每个过滤器一个)。这些中的每一个的大小均为。通过从填充的输入图像中提取像素来创建每个像素。 Ñ × 米3 ⋅ 3 = 9ķ1个k1k_1n × 米n×mn \times m3 ⋅ 3 = 93⋅3=93 \cdot 3 = 9 然后第二层被应用。每个单个过滤器都分别应用于每个特征图。这将为每个特征图生成特征图。因此,第二层之后有特征图。每个新要素地图的每个像素都是通过从以前获取填充要素地图的 “像素”而创建的。ķ 1 ķ 1 × ķ …

4
培训高度不平衡的数据集的快速指南
我在训练集中有大约1000个正样本和10000个负样本的分类问题。因此,该数据集非常不平衡。普通随机森林只是试图将所有测试样本标记为多数类。 这里给出了有关子采样和加权随机森林的一些很好的答案:用高度偏向的数据集训练树群有什么意义? 除RF之外,还有哪些分类方法可以最好地解决问题?

6
SVD和PCA如何处理大数据?
我有大量数据(大约8GB)。我想使用机器学习对其进行分析。因此,我认为我应该先使用SVD再使用PCA来降低数据维数以提高效率。但是,MATLAB和Octave无法加载如此大的数据集。 我可以使用哪些工具对大量数据执行SVD?

2
什么是地面真理
在机器学习的背景下,我看到了“ 地面真理 ”一词经常使用。我进行了很多搜索,并在Wikipedia中找到以下定义: 在机器学习中,术语“地面真理”是指有监督学习技术的训练集分类的准确性。在统计模型中使用它来证明或否定研究假设。术语“地面实况调查”是指为此测试收集适当的客观(可证明)数据的过程。与黄金标准比较。 贝叶斯垃圾邮件过滤是监督学习的常见示例。在该系统中,人工学习了垃圾邮件和非垃圾邮件之间的区别。这取决于用于训练算法的消息的地面真相-地面真相中的错误将与垃圾邮件/非垃圾邮件裁决中的错误相关。 关键是我真的无法理解它的意思。是,标签用于每个数据对象或目标函数赋予一个标签给每个数据对象,或者也许别的东西吗?

3
在CPU和GPU之间进行选择以训练神经网络
我已经看到了有关GPU“开销”的讨论,对于“小型”网络,在CPU(或CPU网络)上进行训练实际上可能比GPU更快。 什么是“小”? 例如,具有100个隐藏单元的单层MLP是否会“很小”? 对于循环架构,我们对“小”的定义会改变吗? 在决定在CPU或GPU上进行训练时,还应该考虑其他标准吗? 编辑1: 我刚刚找到了一篇博客文章(可能已过时?它是从2014年开始的): “ ...大多数网卡仅适用于已向CPU注册的内存,因此两个节点之间的GPU到GPU的传输将是这样的:GPU 1到CPU 1到网卡1到网卡2到CPU 2到GPU2。这意味着,如果选择一个速度较慢的网卡,则在一台计算机上可能无法实现加速;即使使用快速网卡,如果群集很大,相比时,甚至连GPU都无法获得加速。对CPU而言,因为GPU的工作速度太快,以至于网卡无法跟上它们的步伐。 这就是为什么许多大公司(例如Google和Microsoft)使用CPU而不是GPU群集来训练其大型神经网络的原因。” 因此,根据本文的观点,使用CPU可能更快。还是这样吗? 编辑2:是的,该博客文章可能非常过时,因为: 现在看来,节点内的GPU是通过PCIe总线连接的,因此通信速度约为6GiB / s。(例如:https : //www.youtube.com/watch?v=el1iSlP1uOs,大约需要35分钟)。发言者暗示这比从GPU1到CPU再到GPU2快。这意味着网卡不再是瓶颈。


4
神经网络解析字符串数据?
因此,我才刚刚开始学习神经网络如何操作以识别模式并对输入进行分类,并且我已经看到了人工神经网络如何解析图像数据并对图像进行分类(使用convnetjs进行演示),以及其中的关键将对图像进行降采样,每个像素将一个输入神经元刺激到网络中。 但是,我是否想用字符串输入来解决问题?我得到的用例是用户观看过的电影的“推荐引擎”。电影有很多字符串数据(标题,情节,标签),我可以想象将文本“缩减采样”到描述该电影的几个关键词,但是即使我解析出描述该电影的前五个词,认为我需要每个英语单词都需要输入神经元才能比较一组电影吗?我可以将输入神经元限制为仅用于集合中的单词,但是随后它可以通过添加新电影(用户以新词观看新电影)来成长/学习吗?我见过的大多数库都不允许在训练系统后添加新的神经元? 是否存在将字符串/单词/字符数据映射到神经网络输入的标准方法?还是神经网络真的不是像这样解析字符串数据的正确工具(哪种是更好的字符串数据模式匹配工具?)?


4
我应该使用什么算法来基于简历数据进行工作分类?
请注意,我正在R中做所有事情。 问题如下: 基本上,我有一份简历列表。有些候选人以前有工作经验,有些则没有。这里的目标是:基于简历的文字,我想将其分类为不同的工作领域。在候选人没有任何经验/是学生的情况下,我尤其如此,我想做出一个预测,以分类该候选人毕业后最有可能属于哪个工作领域。 问题1:我知道机器学习算法。但是,我以前从未做过NLP。我在互联网上遇到了潜在的Dirichlet分配。但是,我不确定这是否是解决我的问题的最佳方法。 我的初衷是: 使这成为有监督的学习问题。假设我们已经有大量带标签的数据,这意味着我们已经正确标记了职位列表中的求职者。我们使用ML算法(即最近的邻居...)对模型进行训练,并输入那些没有工作经验的候选人/没有学生的未标记数据,并尝试预测他们将属于哪个工作领域。 更新 问题2:通过提取简历中的所有内容并在文本文件中打印这些数据来创建文本文件,这样每个简历都与一个包含非结构化字符串的文本文件相关联,是一个好主意吗?将文本挖掘技术应用于文本文件,并使数据结构化,甚至创建文本文件中使用的术语频率矩阵?例如,文本文件可能看起来像这样: I deployed ML algorithm in this project and... Skills: Java, Python, c++ ... 这就是我所说的“非结构化”的意思,即将所有内容折叠成一个单行字符串。 这种方法是错误的吗?如果您认为我的方法有误,请纠正我。 问题3:棘手的部分是:如何识别和提取关键字?tm在R中使用包?tm 软件包基于什么算法?我应该使用NLP算法吗?如果是,我应该看什么算法?请为我指出一些很好的资源以供参考。 任何想法都很棒。

4
如果有新的观察结果,是否应该对模型进行重新训练?
因此,我尚未找到有关此主题的任何文献,但似乎值得深思: 如果有新的观察结果,那么模型训练和优化的最佳实践是什么? 在预测开始下降之前,有什么方法可以确定重新训练模型的周期/频率吗? 如果针对聚合数据重新优化参数,是否过度拟合? 注意,学习不一定是在线的。在最近的预测中观察到重大差异后,不妨升级现有模型。

3
从MultiOutputClassifier了解predict_proba
我正在scikit-learn网站上跟踪此示例,以使用随机森林模型执行多输出分类。 from sklearn.datasets import make_classification from sklearn.multioutput import MultiOutputClassifier from sklearn.ensemble import RandomForestClassifier from sklearn.utils import shuffle import numpy as np X, y1 = make_classification(n_samples=5, n_features=5, n_informative=2, n_classes=2, random_state=1) y2 = shuffle(y1, random_state=1) Y = np.vstack((y1, y2)).T forest = RandomForestClassifier(n_estimators=10, random_state=1) multi_target_forest = MultiOutputClassifier(forest, n_jobs=-1) multi_target_forest.fit(X, Y).predict(X) print(multi_target_forest.predict_proba(X)) 由此predict_proba我得到2个5x2数组: [array([[ …


3
超调XGBoost参数
在处理分类因变量和连续因变量方面,XGBoost一直表现出色。但是,如何为XGBoost问题选择优化的参数? 这是我为最近的Kaggle问题应用参数的方式: param <- list( objective = "reg:linear", booster = "gbtree", eta = 0.02, # 0.06, #0.01, max_depth = 10, #changed from default of 8 subsample = 0.5, # 0.7 colsample_bytree = 0.7, # 0.7 num_parallel_tree = 5 # alpha = 0.0001, # lambda = 1 ) clf <- xgb.train( …
27 r  python  xgboost 

4
Jaccard相似度和余弦相似度的应用和差异
雅卡德相似度和余弦相似度是比较项目相似度时的两个非常常见的度量。但是,我不清楚在哪种情况下哪个应该比另一个更好。 有人可以帮助澄清这两个度量的差异(概念或原理的差异,而不是定义或计算的差异)及其优选应用吗?
27 similarity 

1
具有多种功能的RNN
我对机器学习算法(基本的随机森林和线性回归类型的东西)有一些自学的知识。我决定分支并开始与Keras学习RNN。在查看大多数通常涉及库存预测的示例时,我没有找到实现多个功能的任何基本示例,除了第一列是功能日期,另一列是输出。我是否缺少关键的基本事物? 如果有人举个例子,我将不胜感激。 谢谢!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.