数据科学

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

3
NER的无监督功能学习
我已经利用CRF算法实现了NER系统,其手工制作的功能给出了很好的结果。问题是我使用了许多不同的功能,包括POS标签和引理。 现在,我想针对不同的语言制作相同的NER。这里的问题是我不能使用POS标签和引理。我开始阅读有关深度学习和无监督特征学习的文章。 我的问题是: 是否可以使用CRF算法进行无监督特征学习的方法?有没有人尝试过并获得良好的结果?是否有任何有关此问题的文章或教程? 我仍然不完全了解这种功能创建方式,因此,我不想花很多时间来解决不起作用的问题。因此,任何信息都将真正有帮助。现在,基于深度学习创建整个NER系统还有些困难。

1
t-SNE Python实现:Kullback-Leibler分歧
如[1]中所述,t-SNE的工作方式是逐渐减小Kullback-Leibler(KL)散度,直到满足特定条件为止。t-SNE的创建者建议使用KL散度作为可视化的性能标准: 您可以比较t-SNE报告的Kullback-Leibler差异。十次运行t-SNE并选择KL散度最低的解决方案是非常好的[2] 我尝试了t-SNE的两种实现: python:sklearn.manifold.TSNE()。 R:tsne,来自库(tsne)。 这两种实现都在设置详细程度后为每次迭代输出错误(Kullback-Leibler散度)。但是,它们不允许用户获取此信息,这对我来说有点奇怪。 例如,代码: import numpy as np from sklearn.manifold import TSNE X = np.array([[0, 0, 0], [0, 1, 1], [1, 0, 1], [1, 1, 1]]) model = TSNE(n_components=2, verbose=2, n_iter=200) t = model.fit_transform(X) 产生: [t-SNE] Computing pairwise distances... [t-SNE] Computed conditional probabilities for sample 4 / …

3
数据可视化以进行模式分析(与语言无关,但首选R)
我想从磁盘映像中绘制字节,以便了解其中的模式。这主要是一项学术任务,因为我几乎可以确定这种模式是由磁盘测试程序创建的,但是无论如何我都希望对其进行反向工程。 我已经知道该模式是对齐的,具有256个字符的周期性。 我可以设想出两种可视化此信息的方式:通过时间查看的16x16平面(3个维度),其中每个像素的颜色是字符的ASCII码,或者每个周期256个像素行(2个维度)。 这是模式的快照(可以看到多个),通过xxd(32x16)可以看到: 无论哪种方式,我都试图找到一种可视化此信息的方法。对于任何人来说,进行信号分析可能都不难,但是我似乎找不到使用开源软件的方法。 我想避免使用Matlab或Mathematica,并且我更喜欢R中的答案,因为我最近一直在学习它,但是无论如何,任何语言都是可以接受的。 更新,2014-07-25:鉴于以下Emre的答案,这是该模式的样子,鉴于该模式的前30MB,以512而不是256对齐(此对齐看起来更好): 任何进一步的想法都欢迎!
11 r  visualization 

4
使用HPC群集
在我的大学里,我们有一个HPC计算集群。我使用集群来训练分类器,依此类推。因此,通常,要将作业发送到集群(例如python scikit-learn脚本),我需要编写一个Bash脚本,其中包含(其中包括)一个命令qsub script.py。 但是,我发现此过程非常令人沮丧。通常会发生的事情是,我在笔记本电脑上编写了python脚本,然后登录到服务器并更新了SVN信息库,因此我在此处获得了相同的python脚本。然后,我编写该Bash脚本或对其进行编辑,以便可以运行bash脚本。 如您所见,这确实令人沮丧,因为对于python脚本的每个小小的更新,我都需要执行许多步骤才能在计算集群中执行它。当然,当我不得不将数据放在服务器上并在服务器上使用数据集的路径时,任务会变得更加复杂。 我敢肯定,这里有很多人正在将计算集群用于其数据科学任务。我只想知道你们是如何管理将作业发送到集群的?

4
在哪里可以下载股票的历史市值和每日交易量数据?
有很多来源可以提供历史库存数据,但它们仅提供OHLC字段以及数量和调整后的收盘价。我发现还有两个来源提供了市值数据集,但它们仅限于美国股票。Yahoo Finance在线提供了这些数据,但是没有下载(或我不知道)的选项。 在哪里可以使用股票代码来下载国家/地区各个顶级证券交易所股票的数据? 是否可以通过Yahoo Finance或Google Finance下载它? 我需要过去十年左右的数据,因此需要一些脚本或API来做到这一点。
11 dataset 

3
面向数据科学的数据集/统计学硕士研究问题
我想探索“数据科学”。这个词对我来说似乎有点模糊,但是我希望它要求: 机器学习(而不是传统的统计); 一个足够大的数据集,您必须在集群上运行分析。 具有一定编程背景的统计学家可以访问哪些好的数据集和问题,以用于探索数据科学领域? 为了尽可能缩小范围,理想情况下,我希望链接到开放的,使用良好的数据集和示例问题。

3
如何处理自然语言查询?
我对自然语言查询很好奇。斯坦福拥有强大的处理自然语言的软件。我还看到了Apache OpenNLP库和文本工程的通用体系结构。 自然语言处理的用途非常多,这使得这些项目的文档难以快速吸收。 您能为我简化一下吗,并概括性地概述执行将简单问题基本转换为SQL所需的任务吗? 我的流程图中的第一个矩形有点神秘。 例如,我可能想知道: How many books were sold last month? 我希望将其翻译成 Select count(*) from sales where item_type='book' and sales_date >= '5/1/2014' and sales_date <= '5/31/2014'
11 nlp 


1
scikit-learn n_jobs参数有关CPU使用率和内存
在scikit-learn上的大多数估计器中n_jobs,fit/ predict方法中都有一个参数,用于使用来创建并行作业joblib。我注意到将其设置为-1仅创建1个Python进程并最大化内核,导致CPU使用率最高达到2500%。这与将其设置为大于1的正整数有很大的不同,后者会以〜100%的使用率创建多个Python进程。 设置它如何影响多CPU Linux服务器上的CPU和内核使用率?(例如,如果n_jobs=88个CPU完全锁定,还是这些CPU仍为某些其他任务/进程保留了一些内核?) 另外,MemoryError设置n_jobs=-1大型数据集时,我有时会得到提示。但是,单个Python进程的内存使用量通常徘徊在30%到40%之间。如何根据的值管理/复制数据和内存n_jobs?



2
训练时间过长,Adam优化器的行为异常
我正在尝试在64个随机生成的数据点上训练单个感知器(1000个输入单元,1个输出,没有隐藏层)。我正在使用Adam优化器使用Pytorch: import torch from torch.autograd import Variable torch.manual_seed(545345) N, D_in, D_out = 64, 1000, 1 x = Variable(torch.randn(N, D_in)) y = Variable(torch.randn(N, D_out)) model = torch.nn.Linear(D_in, D_out) loss_fn = torch.nn.MSELoss(size_average=False) optimizer = torch.optim.Adam(model.parameters()) for t in xrange(5000): y_pred = model(x) loss = loss_fn(y_pred, y) print(t, loss.data[0]) optimizer.zero_grad() loss.backward() optimizer.step() 最初,损耗迅速降低,如预期的那样: …

1
CNN中密集层的数量和大小
我见过的大多数网络在最后的softmax层之前都有一两个密集层。 有没有选择密集层的数量和大小的原则方法? 对于相同数量的参数,两个密集层是否比一层更具代表性? 应该在每个致密层之前还是仅一次施加压降?
11 convnet 

4
机器学习与深度学习
我对“机器学习”和“深度学习”这两个术语之间的区别感到困惑。我已经用Google搜索并阅读了许多文章,但是对我来说仍然不是很清楚。 Tom Mitchell对机器学习的一个已知定义是: 据说一个计算机程序可以从经验E中学习有关某类任务T和性能度量P的信息,如果计算机对T中任务的性能(由P度量)随经验E的提高而有所提高。 如果我将猫和狗分类为taks T的图像分类问题,从这个定义中我了解到,如果我给ML算法提供一堆狗和猫的图像(经验E),则ML算法可以学习如何区分新图像是狗还是猫(前提是性能指标P定义明确)。 然后是深度学习。我了解深度学习是机器学习的一部分,并且上述定义成立。任务T的性能随经验E的提高而提高。到目前为止一切都很好。 该博客指出,机器学习和深度学习之间是有区别的。根据Adil的不同,在(传统)机器学习中,功能必须是手工制作的,而在深度学习中,功能是必须学习的。下图阐明了他的说法。 我对(传统)机器学习中的功能必须手工制作感到困惑。根据汤姆·米切尔(Tom Mitchell)的上述定义,我认为可以从经验E和性能P了解这些功能。机器学习还可以学到什么? 在深度学习中,我了解到,根据经验,您将学习功能以及它们之间的相互关系以提高性能。我是否可以得出结论,在机器学习中功能必须是手工制作的,所学到的是功能的组合?还是我想念其他东西?

4
绩效评估:为什么称为召回?
精度是相关实例的比例,而召回(也称为敏感度)是相关实例的比例。 我知道他们的意思,但我不知道为什么叫回忆?我不是英语母语人士。我知道回忆意味着记住,那么我不知道这个含义与这个概念的相关性!也许覆盖范围更好,因为它显示了覆盖了多少实例...或任何其他术语。 而且敏感性也对我不明智! 您能否帮助我将这些词与概念联系起来并有所了解?

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.