数据科学

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

1
什么是AlphaGo Zero中的“新型强化学习算法”?
由于某种原因,尽管AlphaGo Zero取得了令人难以置信的效果,但它却没有像原始的AlphaGo那样受到广泛的宣传。从头开始,它已经击败了AlphaGo Master,并通过了许多其他基准测试。更令人难以置信的是,它已经在40天之内完成了。Google称其为“世界上最好的Go播放器”。 DeepMind声称这是“强化学习的新形式”-这种技术真的新颖吗?还是有其他时间使用过这种技术-如果是,那么他们的结果是什么?我认为我所谈论的要求是:1)没有人为干预,并且2)没有历史性的发挥,但是这些都是灵活的。 这似乎是一个类似的问题,但所有答案似乎都始于AlphaGo Zero是此类产品的第一个假设。

2
为什么在我的GPU上进行培训需要这么长时间?
细节: GPU:GTX 1080 训练:约110万张属于10个类别的图像 验证:约15万张属于10类的图像 每个纪元时间:〜10小时 我已经设置了CUDA,cuDNN和Tensorflow(以及Tensorflow GPU)。 我不认为我的模型这么复杂,每个纪元需要10个小时。我什至检查了我的GPU是否是问题所在,但不是。 培训时间是由于完全连接的层吗? 我的模特: model = Sequential() model.add() model.add(Conv2D(64, (3, 3), padding="same", strides=2)) model.add(Activation('relu')) model.add(Dropout(0.25)) model.add(Conv2D(64, (3, 3), padding="same", strides=2)) model.add(Activation('relu')) model.add(Dropout(0.25)) model.add(Conv2D(32, (3, 3))) model.add(Activation('relu')) model.add(MaxPooling2D(pool_size=(3, 3), strides=2)) model.add(Flatten()) model.add(Dense(256)) model.add(Activation('relu')) model.add(Dense(4096)) model.add(Activation('relu')) model.add(Dense(10)) model.add(Activation('softmax')) model.summary() opt = keras.optimizers.rmsprop(lr=0.0001, decay=1e-6) model.compile(loss='categorical_crossentropy', optimizer=opt, …

2
如何检查死亡的鲁鲁神经元
背景:在使神经网络适应relu激活的同时,我发现有时预测变得接近恒定。我相信这是由于如本文所述在训练过程中神经元神经元死亡。(神经网络中的“垂死的ReLU”问题是什么?) 问题:我希望做的是在代码本身中实现检查,以检查神经元是否死亡。之后,如果需要,代码可以重新调整网络。 因此,检查死亡神经元的最佳条件是什么?目前,我正在考虑将预测中的低方差作为一个标准进行检查。 如果有帮助,即时通讯使用keras。

3
具有任意数量的输入和输出的人工神经元网络(ANN)
我想使用ANN解决我的问题,但是问题是我的输入和输出节点号不固定。 我问了我的问题之前做了一些谷歌搜索,发现RNN可以帮助我解决我的问题。但是,我发现的所有示例都以某种方式定义了输入和输出节点的数量。 因此,我正在寻找一种策略,如何使其成为现实,或者至少是一些示例,在Keras或PyTorch中更可取。 有关我的问题的更多详细信息: 我有两个输入列表,其中第一个的长度是固定的,等于2,fe: in_1 = [2,2] 但是第二个列表的长度是灵活的,长度可以从3到inf,fe: in_2 = [1,1,2,2] 要么 in_2 = [1,1,1,2,2,2,3,3,3] 同样,输入列表彼此依赖。第一个列表显示输出列表的维度。因此,如果in_1 = [2,2],则意味着输出必须具有重塑为[2,2]形式的可能性。 目前,我正在考虑将两个输入列表合并为一个: in = in_1 + in_2 = [2, 2, 1, 1, 2, 2] 此外,输出与in_2列表fi的长度相同: 如果输入列表是: in_1 = [2, 2] in_2 = [1, 1, 2, 2] 输出应为: out = [1, 2, 1, …

3
脑电数据的递归(CNN)模型
我想知道如何在EEG环境中解释循环架构。具体来说,我将其视为循环CNN(与LSTM等架构相反),但也许它也适用于其他类型的循环网络 当我读到R-CNN时,通常会在图像分类上下文中对它们进行解释。通常将它们描述为“随着时间的推移学习”或“包括time-1对当前输入的影响” 当使用EEG数据时,这种解释/解释会变得非常混乱。在此处可以找到在 EEG数据上使用R-CNN的示例 想象一下,我有一些训练示例,每个示例都包含一个1x512数组。该阵列在512个连续的时间点捕获1个电极的电压读数。如果将其用作循环CNN的输入(使用1D卷积),则模型的循环部分实际上并没有捕获“时间”,对吗?(如先前讨论的说明/解释所暗示),因为在这种情况下,时间已经被数组的第二维捕获了 因此,通过这样的设置,网络的循环部分实际上允许我们对常规CNN无法(如果不是时间)进行建模吗? 在我看来,循环仅意味着进行卷积,将结果添加到原始输入中,然后再次进行卷积。重复执行x个重复步骤。这个过程实际上有什么好处?

1
DropOut如何与卷积层一起工作?
Dropout(论文,解释)将某些神经元的输出设置为零。因此对于MLP,您可以为鸢尾花数据集采用以下架构: 4 : 50 (tanh) : dropout (0.5) : 20 (tanh) : 3 (softmax) 它将像这样工作: softmax(W3⋅tanh(W2⋅mask(D,tanh(W1⋅input_vector)))softmax(W3⋅tanh⁡(W2⋅mask(D,tanh⁡(W1⋅input_vector)))softmax(W_3 \cdot \tanh(W_2 \cdot \text{mask}(D, \tanh(W_1 \cdot input\_vector))) 与,,,,(为简单起见,忽略了偏见​​)。input_vector∈R4×1input_vector∈R4×1input\_vector \in \mathbb{R}^{4 \times 1}W1∈R50×4W1∈R50×4W_1 \in \mathbb{R}^{50 \times 4}D∈{0,1}50×1D∈{0,1}50×1D \in \{0, 1\}^{50 \times 1}W2∈R20×50W2∈R20×50W_2 \in \mathbb{R}^{20 \times 50}W3∈R20×3W3∈R20×3W_3 \in \mathbb{R}^{20 \times 3} 与和D=(d)ijD=(d)ijD = (d)_{ij} dij∼B(1,p=0.5)dij∼B(1,p=0.5)d_{ij} \sim …
10 dropout 

4
如何比较特征选择方法的性能?
有几种特征选择 /变量选择方法(例如,参见Guyon&Elisseeff,2003;Liu等,2010): 过滤器方法(例如,基于相关性,基于熵,基于随机森林重要性), 包装器方法(例如,前向搜索,爬山搜索)和 特征选择是模型学习的一部分的嵌入式方法。 机器学习工具(例如R,Python等)也实现了许多已发布的算法。 比较不同的特征选择算法并为给定问题/数据集选择最佳方法的合适方法是什么?另一个问题是,是否存在已知的衡量特征选择算法性能的指标?

1
Keras中的模型合并有何意义?
我了解到Keras具有根据以下功能“合并”两个模型的功能: from keras.layers import Merge left_branch = Sequential() left_branch.add(Dense(32, input_dim=784)) right_branch = Sequential() right_branch.add(Dense(32, input_dim=784)) merged = Merge([left_branch, right_branch], mode='concat') Mergint神经网络有什么意义,在什么情况下有用?这是一种整体建模吗?在性能上,几种“模式”(concat,avg,点等...)之间有什么区别?
10 keras 

1
Spark ALS:向新用户推荐
问题 如何在Spark训练的ALS模型中预测新用户的评分?(新=训练期间未见) 问题 我在这里关注官方的Spark ALS教程: http://ampcamp.berkeley.edu/big-data-mini-course/movie-recommendation-with-mllib.html 我能够用不错的MSE建立一个很好的推荐者,但是我在为模型输入新数据方面很挣扎。本教程在培训之前会更改第一位用户的评分,但这确实是一个技巧。他们给出以下提示: 9.2。增强矩阵因子: 在本教程中,我们将您的评分添加到训练集中。获得建议的更好方法是先训练矩阵分解模型,然后使用评分来扩充模型。如果您觉得这很有趣,则可以看看MatrixFactorizationModel的实现,并了解如何为新用户和新电影更新模型。 该实现对我完全没有帮助。理想情况下,我正在寻找类似的东西: predictions = model.predictAllNew(newinput) 但是不存在这种方法。我可以去修改原始的RDD,但是我认为这需要我重新训练模型,因此也不是理想的解决方案。当然必须有一种更优雅的方式吗? 我现在的位置: 我想我需要找到新向量的潜在表示。根据原始论文,我们可以这样计算: Xü= (是ŤCüÿ+ λ 我)− 1ÿŤCüp (ü )Xü=(ÿŤCüÿ+λ一世)-1个ÿŤCüp(ü)X_u = (Y^T C^u Y + \lambda I)^{-1} Y^T C^u p(u) CüCüC^u 我目前的尝试: V = model.productFeatures().map(lambda x: (x[1])).collect() #product latent matrix Y Cui = alpha * np.abs(newinput) Cui …

4
特征选择与分类精度关系
为分类器选择可用功能子集的方法之一是根据标准(例如信息增益)对它们进行排名,然后使用分类器和已分类功能的子集计算准确性。 例如,如果您的要素是A, B, C, D, E,并且如果它们的排名如下D,B,C,E,A,则可以使用D,D, B然后D, B, C,然后D, B, C, E... 来计算精度,直到精度开始下降。一旦开始减少,就停止添加功能。 在上面的example1中,您将选择要素F, C, D, A并删除其他要素,因为它们会降低准确性。 该方法假设在模型中添加更多特征会提高分类器的准确性,直到达到特定点为止,之后再添加其他特征会降低准确性(如示例1所示) 但是,我的情况有所不同。我已经应用了上述方法,发现添加更多功能会降低精度,直到精度提高为止。 在这种情况下,如何选择功能?您是否只剩F下其余部分?您是否知道为什么精度会先降低然后再提高?

5
机器学习中的维度跳跃
机器学习中的维数跳变问题是什么(在卷积神经网络和图像识别中发生)?我已经在谷歌上搜索了,但是我所得到的只是关于材料形状变形物理的信息。如果有人通过与机器学习有关的示例对它进行解释,这对我会更有帮助。任何人都可以帮我解决这个问题或向我指出可以使用的资源吗?

4
可视化经常一起购买的物品
我在CSV文件中插入了以下结构的数据集: Banana Water Rice Rice Water Bread Banana Juice 每行表示一起购买的物品的集合。例如,第一行表示的项目Banana,Water和Rice购在一起。 我想创建如下所示的可视化文件: 这基本上是一个网格图,但是我需要一些工具(可能是Python或R),该工具可以读取输入结构并生成类似于上述的图表作为输出。

3
我们什么时候应该认为数据集不平衡?
我面临的情况是数据集中正例和负例的数量不平衡。 我的问题是,是否有任何经验法则可以告诉我们何时应对大型类别进行二次抽样,以便在数据集中实施某种平衡。 例子: 如果正面示例的数量是1,000,负面示例的数量是10,000,我应该在整个数据集中训练分类器,还是应该对负面示例进行二次抽样? 1,000个肯定示例和100,000个否定示例的相同问题。 10,000个正数和1,000个负数的相同问题。 等等...

1
使用Keras重塑数据以进行深度学习
我是Keras的初学者,我从MNIST示例开始,以了解库的实际工作方式。Keras示例文件夹中MNIST问题的代码段为: import numpy as np np.random.seed(1337) # for reproducibility from keras.datasets import mnist from keras.models import Sequential from keras.layers import Dense, Dropout, Activation, Flatten from keras.layers import Convolution2D, MaxPooling2D from keras.utils import np_utils batch_size = 128 nb_classes = 10 nb_epoch = 12 # input image dimensions img_rows, img_cols = 28, …

3
Word2Vec和Doc2Vec是分布式表示还是分布式表示?
我已经读过分布表示法是基于分布假设的,即在相似上下文中出现的单词往往具有相似的含义。 Word2Vec和Doc2Vec都根据此假设建模。但是,在原始论文中,即使它们的标题也为Distributed representation of words and phrases和Distributed representation of sentences and documents。因此,这些算法是基于分布表示还是分布式表示。 其他模型(例如LDA和LSA)如何?

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.