数据科学

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



5
什么时候模型不足?
逻辑经常指出,通过对模型进行拟合,可以增强其概括能力。就是说,显然,在某个时候,模型的拟合不足会导致模型变得更糟,无论数据的复杂性如何。 您怎么知道您的模型何时达到了适当的平衡,并且不符合其要建模的数据? 注意:这是我的问题“ 为什么过度拟合不好? ” 的后续措施。

4
1x1卷积与完全连接的层如何相同?
我最近阅读了Yan LeCuns对1x1卷积的评论: 在卷积网中,没有“全连接层”之类的东西。只有带有1x1卷积内核和完整连接表的卷积层。 ConvNets不需要固定大小的输入,这是一个非常罕见的事实。您可以在碰巧产生单个输出矢量(没有空间范围)的输入上训练它们,然后将它们应用于更大的图像。然后,您将获得输出矢量的空间图,而不是单个输出矢量。每个向量都会在输入的不同位置看到输入窗口。 在这种情况下,“完全连接的层”实际上充当1x1卷积。 我想看一个简单的例子。 例 假设您具有完全连接的网络。它只有一个输入层和一个输出层。输入层有3个节点,输出层有2个节点。这个网络具有3 ⋅ 2 = 63⋅2=63 \cdot 2 = 6参数。为了更加具体,可以说您在输出层和权重矩阵中具有ReLU激活功能 Wb=(021315)∈R2×3=(813)∈R2W=(011235)∈R2×3b=(813)∈R2 \begin{align} W &= \begin{pmatrix} 0 & 1 & 1\\ 2 & 3 & 5\\ \end{pmatrix} \in \mathbb{R}^{2 \times 3}\\ b &= \begin{pmatrix}8\\ 13\end{pmatrix} \in \mathbb{R}^2 \end{align} f(x)=ReLU(W⋅x+b)f(x)=ReLU(W⋅x+b)f(x) = ReLU(W \cdot x + b)x∈R3x∈R3x …

3
RNN vs CNN的高水平
我一直在考虑递归神经网络(RNN)及其变种以及卷积神经网络(CNN)及其变种。 这两点是否可以公平地说: 使用CNN将组件(例如图像)分解为子组件(例如图像中的对象,例如图像中对象的轮廓等) 使用RNN创建子组件的组合(图像标题,文本生成,语言翻译等) 如果有人想指出这些陈述中的任何错误之处,我将不胜感激。我的目标是在CNN和RNN的使用上建立更清晰的基础。

8
为什么互联网公司在数据科学家工作中更喜欢Java / Python?
我在数据科学家的职位描述中多次看到要求Python / Java经验而无视R的情况。以下是我从我通过Linkedin申请的一家公司的首席数据科学家那里收到的一封个人电子邮件。 X,感谢您的联系和表达兴趣。您确实具有良好的分析技能。但是,由于我们是互联网/移动组织,所以我们所有的数据科学家都必须具备Java / Python方面的良好编程技能,并且我们所做的一切都是在线的。 尽管我尊重首席数据科学家的决定,但我无法清楚地了解Python可以完成R无法完成的任务。有人愿意详细说明吗?实际上,我很想学习Python / Java,请提供更多细节。 编辑:我在Quora上找到了一个有趣的讨论。 为什么Python是数据科学家的首选语言? Edit2:来自Udacity的有关机器学习的语言和库的博客

2
何时在统一初始化上使用(He或Glorot)正常初始化?批处理规范化有什么影响?
我知道残留网络(ResNet)使He正常的初始化很流行。在ResNet中,使用He常规初始化,而第一层使用He统一初始化。 我浏览过ResNet论文和“深入整流器”论文(他的初始化论文),但是我没有发现任何有关普通init和统一init的信息。 也: 批处理规范化使我们可以使用更高的学习率,而对初始化则不必那么小心。 在批处理规范化论文的摘要中,可以说批处理规范化使我们在初始化时不那么小心。 ResNet本身仍在关注何时使用普通init和统一init(而不是仅使用统一init)。 所以: 何时使用(He或Glorot)正态分布初始化而不是统一初始化? 批处理归一化的正态分布初始化效果是什么? 除了注释: 使用正常的init和Batch Normalization进行押韵,但是我还没有找到支持这一事实的论文。 我知道ResNet使用He init而不是Glorot init,因为He init在深度网络上的性能更好。 我了解Glorot初始化与He初始化。 我的问题是关于普通vs统一初始化。

8
聚类地理位置坐标(纬线,长线对)
什么是正确的地理位置聚类方法和聚类算法? 我正在使用以下代码对地理位置坐标进行聚类: import numpy as np import matplotlib.pyplot as plt from scipy.cluster.vq import kmeans2, whiten coordinates= np.array([ [lat, long], [lat, long], ... [lat, long] ]) x, y = kmeans2(whiten(coordinates), 3, iter = 20) plt.scatter(coordinates[:,0], coordinates[:,1], c=y); plt.show() 使用K均值进行地理位置聚类是否正确,因为它使用的是欧几里得距离,而不是Haversine公式作为距离函数?

9
使用Python进行可重复数据科学的工具和协议
我正在使用Python进行数据科学项目。该项目分为几个阶段。每个阶段包括使用Python脚本获取数据集,辅助数据,配置和参数,以及创建另一个数据集。我将代码存储在git中,以便覆盖该部分。我想听听: 数据版本控制工具。 能够重现阶段和实验的工具。 此类项目的协议和建议的目录结构。 自动化的构建/运行工具。

3
如何解决深度神经网络中的欠拟合问题
当我开始使用人工神经网络(NN)时,我认为必须克服过度拟合作为主要问题。但是实际上,我什至无法让我的神经网络通过20%的错误率障碍。我什至无法在随机森林中超越我的分数! 我正在就如何使NN开始捕获数据趋势寻求一些非常笼统或不那么笼统的建议。 为了实现NN,我将Theano Stacked Auto Encoder与教程中的代码结合使用,该代码非常有用(错误率低于5%),可以对MNIST数据集进行分类。它是一个多层感知器,顶部有softmax层,每个隐藏的层后来被预先训练为自动编码器(在第8章的教程中有完整介绍)。有〜50个输入要素和〜10个输出类别。NN具有乙状神经元,所有数据均标准化为[0,1]。我尝试了许多不同的配置:隐藏层和神经元的数量(100-> 100-> 100、60-> 60-> 60、60-> 30-> 15等),不同的学习和预训练费率等 我能得到的最好的结果是,验证集的错误率是20%,测试集的错误率是40%。 另一方面,当我尝试使用Random Forest(来自scikit-learn)时,在验证集上我容易得到12%的错误率,在测试集上得到25%(!)。 我的具有预训练的深层NN表现如何如此糟糕?我该怎么办?

4
潜在Dirichlet分配与分层Dirichlet过程
潜在Dirichlet分配(LDA)和Hierarchical Dirichlet Process(HDP)都是主题建模过程。主要区别在于LDA要求指定主题数,而HDP则不需要。为什么会这样?两种主题建模方法的优缺点是什么?
49 nlp  topic-model  lda 

8
为什么过度拟合对机器学习不利?
逻辑经常指出,通过过度拟合模型,模型的概括能力受到限制,尽管这仅意味着过度拟合会阻止模型在经过一定复杂度后得以改进。无论数据的复杂性如何,过度拟合都会导致模型变得更糟,如果是,为什么会这样呢? 相关:对以上问题的跟踪: “ 何时模型不足? ”

4
神经网络:使用哪个成本函数?
我正在使用TensorFlow主要用于神经网络的实验。尽管现在我已经做了大量的实验(XOR问题,MNIST,一些回归的东西……),但是我为特定的问题选择“正确的”成本函数很困难,因为总的来说我可以被认为是一个初学者。 在上TensorFlow之前,我自己使用Python和NumPy编写了一些完全连接的MLP和一些递归网络,但大多数情况下,我遇到了一个简单的平方误差和简单的梯度设计就足够了的问题。 但是,由于TensorFlow本身提供了很多成本函数以及构建自定义成本函数的功能,所以我想知道是否存在某种专门针对神经网络上的成本函数的教程?(我已经完成了一半的TensorFlow官方教程,但它们并没有真正解释为什么特定成本函数或学习者用于特定问题-至少对于初学者而言) 举一些例子: cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(y_output, y_train)) 我猜想它在两个输入上都应用了softmax函数,以便一个向量的总和等于1。但是对数与logits的交叉熵到底是什么呢?我以为它会汇总值并计算交叉熵...那么一些度量标准度量值呢?如果我对输出进行归一化,求和并求平方误差,这是否会完全相同?此外,为什么将其用于MNIST(甚至更困难的问题)?当我想分类为10个甚至1000个类时,汇总这些值是否会完全破坏有关输出实际上是哪个类的任何信息? cost = tf.nn.l2_loss(vector) 这个是来做什么的?我以为l2损失几乎是平方误差,但TensorFlow的API告诉它输入只是一个张量。根本不知道这个主意吗? 此外,我经常看到这种用于交叉熵的方法: cross_entropy = -tf.reduce_sum(y_train * tf.log(y_output)) ...但是为什么要使用它?数学上的交叉熵损失不是: -1/n * sum(y_train * log(y_output) + (1 - y_train) * log(1 - y_output)) 哪里是(1 - y_train) * log(1 - y_output)在最TensorFlow例子的一部分?它不丢失吗? 答:我知道这个问题是很开放的,但是我不希望得到详细列出每个问题/成本函数的10页。我只需要简短总结一下何时使用哪个成本函数(一般而言还是在TensorFlow中,对我来说并不重要),以及有关此主题的一些解释。和/或一些初学者的资源;)

9
贝叶斯网络在任何方面都胜过神经网络吗?
在计算机视觉任务中,神经网络获得了最高的结果(请参见MNIST,ILSVRC,Kaggle Galaxy Challenge)。它们似乎比“计算机视觉”中的所有其他方法都要好。但是,还有其他任务: Kaggle分子活性挑战 回归:Kaggle Rain预测,也是第二名 握住并举起第二名,也获得第三名 -从EEG录音中识别手部动作 我对ASR(自动语音识别)和机器翻译不太确定,但我想我还听说过(递归)神经网络(开始)胜过其他方法。 我目前正在学习贝叶斯网络,我想知道在哪些情况下通常会使用这些模型。所以我的问题是: 在贝叶斯网络或至少非常相似的模型方面,是否存在任何挑战/(竞争)竞争? (附注:我也看到了决策树,2,3,4,5,6,7胜在最近的几Kaggle挑战)

9
R语言适合大数据吗
R有许多针对数据分析的库(例如JAGS,BUGS,ARULES等),并在流行的教科书中提到,例如:J.Krusche,Doing Bayesian Data Analysis;B.Lantz,“用R进行机器学习”。 我已经看到将数据集视为大数据的5TB准则。 我的问题是:R是否适合大数据问题中常见的数据量?在具有如此大小的数据集的情况下使用R时,是否有策略要采用?
48 bigdata  r 

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.