Questions tagged «machine-learning»

机器学习算法可建立训练数据模型。术语“机器学习”的定义模糊不清;它包括所谓的统计学习,强化学习,无监督学习等。始终添加更多特定标签。

2
功能数量的增加会导致准确性下降,但prec / recall会增加
我是机器学习的新手。目前,我正在使用Naive Bayes(NB)分类器,通过NLTK和python将小文本分为正,负或中性3类。 在进行了一些测试之后,使用由300,000个实例(16,924个正值,7,477个负值和275,599个中性值)组成的数据集,我发现当我增加特征数量时,精度下降,但是正负类的精度/召回率却上升。这是NB分类器的正常行为吗?我们可以说使用更多功能会更好吗? 一些数据: Features: 50 Accuracy: 0.88199 F_Measure Class Neutral 0.938299 F_Measure Class Positive 0.195742 F_Measure Class Negative 0.065596 Features: 500 Accuracy: 0.822573 F_Measure Class Neutral 0.904684 F_Measure Class Positive 0.223353 F_Measure Class Negative 0.134942 提前致谢... 编辑2011/11/26 我已经使用朴素贝叶斯分类器测试了3种不同的特征选择策略(MAXFREQ,FREQENT,MAXINFOGAIN)。首先是每类的准确性和F1度量: 然后,在将MAXINFOGAIN与前100个和前1000个功能一起使用时,我用增量训练集绘制了火车误差和测试误差: 因此,在我看来,尽管使用FREQENT可以获得最高的准确性,但是最好的分类器是使用MAXINFOGAIN的分类器,对吗?吗?使用前100个功能时,我们会产生偏差(测试错误接近训练错误),添加更多训练示例将无济于事。为了改善这一点,我们将需要更多功能。具有1000个功能,偏差会减少,但误差会增加...这样可以吗?我是否需要添加更多功能?我真的不知道该怎么解释... 再次感谢...

5
有什么好资源可以比较不同分类器的优缺点?
最好的现成2类分类器是什么?是的,我想这是一百万美元的问题,是的,我知道没有免费的午餐定理,而且我还阅读了前面的问题: 什么是最适合您的应用程序的现成2类分类器? 和最差的分类 不过,我仍然有兴趣阅读有关该主题的更多信息。 什么是良好的信息来源,包括对不同分类器的特征,优势和特征的一般比较?


5
机器学习技术在小样本临床研究中的应用
当目标是在分类环境中隔离有趣的预测变量时,您如何在小样本临床研究中应用随机学习或惩罚回归(具有L1或L2罚分,或其组合)等机器学习技术呢?这不是关于模型选择的问题,也不是关于如何找到变量效果/重要性的最佳估计的问题。我不打算进行强力推断,而只是使用多变量建模,因此避免一次针对感兴趣的结果测试每个预测变量,并避免考虑它们之间的相互关系。 我只是想知道这种方法是否已经在这种特殊的极端情况下应用,比如说20-30个对象中有10-15个分类变量或连续变量的数据。这是不完全情况下,我觉得这里的问题是关系到我们班试图解释(这往往是没有得到很好的平衡)的数量,和(很)小样本。我知道在生物信息学的背景下有关该主题的大量文献,但是我没有找到任何与通过心理计量表型进行生物医学研究有关的参考文献(例如,整个神经心理学问卷调查)。n≪pn≪pn\ll p 对相关论文有任何提示或指示吗? 更新资料 我愿意接受任何其他用于分析此类数据的解决方案,例如C4.5算法或其派生类,关联规则方法以及任何用于监督或半监督分类的数据挖掘技术。


5
如何同时处理多次序列?
我有一个数据集,其中包括25个期间的几种产品(1200种产品)的需求,我需要预测下一个时期每种产品的需求。起初,我想使用ARIMA并为每种产品训练一个模型,但是由于产品数量和(p,d,q)参数的调整,这非常耗时且不切实际。是否建议在先前需求为自变量的情况下使用回归(自回归)? 我能否知道是否有任何方法可以训练一个模型来预测所有1200种产品的需求?如果您能建议使用Python中的任何库,我将不胜感激,因为我正在使用Python。

4
什么是人工神经网络?
深入研究神经网络文献时,我们发现了具有神经形态拓扑结构的其他方法(“神经网络”架构)。而且我并不是在说通用逼近定理。示例如下。 然后,让我感到奇怪的是:人工神经网络的定义是什么?它的拓扑似乎涵盖了所有内容。 例子: 我们做出的第一个标识是在PCA和线性自动编码器之间,编码器和解码器具有约束权重,而瓶颈层则具有阈值激活。 此外,在线性模型(特殊情况下为逻辑回归)和没有隐藏层且只有一个输出层的神经网络之间进行了通用标识。此标识打开了几扇门。 傅里叶和泰勒级数?人工神经网络。SVM?人工神经网络。高斯过程?ANN(具有无限隐藏单元的单个隐藏层)。 因此,同样容易地,我们可以将具有这些算法的专门损失函数的任意正则化版本合并到神经网络框架中。 但是,我们挖掘的越多,相似之处就越多。我只是偶然发现了深度神经决策树,该树通过决策树来识别特定的ANN架构,并允许通过ANN方法(例如Gradient Descent反向传播)来学习这些决策树。由此,我们可以仅从神经网络拓扑结构构建随机森林和梯度增强决策树。 如果一切都可以表示为人工神经网络,那么什么定义了人工神经网络呢?

2
神经网络与其他一切
我没有从google找到满意的答案。 当然,如果我拥有的数据量达到数百万,那么深度学习就是一种方法。 我已经读到,当我没有大数据时,也许最好在机器学习中使用其他方法。给出的原因是过度拟合。机器学习:即查看数据,特征提取,从收集的内容中构建新特征等。例如删除高度相关的变量等。整个机器学习9码。 我一直想知道:为什么具有一层隐藏层的神经网络不是解决机器学习问题的灵丹妙药?它们是通用估计器,可以通过辍学,l2正则化,l1正则化,批归一化来管理过度拟合。如果我们只有50,000个培训示例,那么培训速度通常不会成为问题。在测试时,它们比随机森林要好。 那么为什么不呢?-像通常那样清理数据,估算缺失值,将数据居中,标准化数据,将其扔到具有一个隐藏层的神经网络集合中并应用正则化,直到看不到过度拟合为止,然后进行训练他们到最后。梯度爆炸或梯度消失是没有问题的,因为它只是2层网络。如果需要较深的层,则意味着要学习分层功能,然后其他机器学习算法也不好。例如,SVM是仅具有铰链损耗的神经网络。 一个示例,其中其他一些机器学习算法的性能将超过经过精心调整的2层(也许是3?)神经网络。您可以给我链接到问题,然后我将训练最好的神经网络,我们可以看到2层或3层神经网络是否低于其他任何基准机器学习算法。

3
支持向量机和超平面的直觉
在我的项目中,我想创建一个逻辑回归模型来预测二进制分类(1或0)。 我有15个变量,其中2个是分类变量,其余的则是连续变量和离散变量的混合。 为了适应逻辑回归模型,建议我使用SVM,感知器或线性编程检查线性可分离性。这与此处提出的有关线性可分离性测试的建议有关。 作为机器学习的新手,我了解上述算法的基本概念,但从概念上讲,我很难想象如何分离具有多个维度(例如15个)的数据。 在线资料中的所有示例通常都显示两个数值变量(高度,重量)的二维图,这些二维变量在类别之间显示出明显的差距,并且易于理解,但在现实世界中,数据通常具有更高的维度。我一直被虹膜数据集吸引,试图通过这三个物种拟合一个超平面,以及如何在两个物种之间做到这一点特别困难,即使不是不可能,这两个类现在也让我无法幸免。 当我们具有更高的维数时,如何假设当我们超过一定数量的特征时,我们使用内核映射到更高的维空间以实现这种可分离性,这是怎么实现的? 同样为了测试线性可分离性,使用的度量标准是什么?是SVM模型的准确性,即基于混淆矩阵的准确性吗? 任何有助于更好地理解该主题的帮助将不胜感激。下面也是我的数据集中两个变量的图的样本,它显示了这两个变量的重叠程度。



3
对于线性分类器,更大的系数是否意味着更重要的特征?
我是从事机器学习的软件工程师。根据我的理解,线性回归(例如OLS)和 线性分类(例如对数回归和SVM)基于已训练系数 和特征变量→ x之间的内积进行预测:w⃗ w→\vec{w}x⃗ x→\vec{x} y^=f(w⃗ ⋅x⃗ )=f(∑iwixi)y^=f(w→⋅x→)=f(∑iwixi) \hat{y} = f(\vec{w} \cdot \vec{x}) = f(\sum_{i} w_i x_i) 我的问题是:训练模型后(即在计算系数之后),对于对于模型更准确地预测更重要的特征变量,系数是否会变大?wiwiw_i 换句话说,我想问的是,仅通过按系数值对变量排序,然后选择系数最高的特征,是否可以将系数的相对大小用于特征选择?如果此方法有效,那么为什么不选择功能(以及包装器和过滤器方法等)。 我之所以这样问,是因为我遇到了关于L1与L2正则化的讨论。有一个说明说: 经常提到内置特征选择是L1规范的有用属性,而L2规范则没有。这实际上是L1范数的结果,它倾向于产生稀疏系数(如下所述)。假设该模型有100个系数,但其中只有10个具有非零系数,这实际上是在说“其他90个预测变量对预测目标值无用”。 在两行之间阅读时,我猜想如果系数接近0,则具有该系数的特征变量的预测力必须很小。 编辑:我也将z缩放应用于我的数字变量。

2
报告随机森林的训练错误有哪些措施?
我目前正在使用randomForestR中的程序包为分类问题拟合随机森林,并且不确定如何报告这些模型的训练错误。 当我使用通过命令获得的预测来计算时,我的训练误差接近0%: predict(model, data=X_train) X_train训练数据在哪里。 在回答一个相关问题时,我读到一个人应该使用袋外(OOB)训练误差作为随机森林的训练误差度量。该数量是通过使用以下命令获得的预测计算得出的: predict(model) 在这种情况下,OOB训练误差非常接近平均10-CV测试误差,即11%。 我想知道: 报告OOB训练错误作为随机森林的训练错误度量通常被接受吗? 传统的训练误差测量值人为地低是真的吗? 如果传统的训练误差度量是人为地降低的,那么我可以比较哪两个度量来检查RF是否过拟合?

5
内核SVM:我想对映射到更高维度的特征空间有一个直观的了解,以及这如何使线性分离成为可能
我试图了解内核SVM背后的直觉。现在,我了解了线性SVM的工作原理,通过决策线可以最大程度地分割数据。我也了解将数据移植到高维空间的原理,以及如何使在新空间中找到线性决策线变得更容易。我不了解的是如何使用内核将数据点投影到这个新空间。 我对内核的了解是,它有效地表示了两个数据点之间的“相似性”。但这与预测有何关系?

1
如果研究中验证准确性高而测试准确性低怎么办?
我对机器学习研究中的验证有一个特定的问题。 众所周知,机器学习机制要求研究人员在训练数据上训练他们的模型,通过验证集从候选模型中进行选择,并报告测试集的准确性。在非常严格的研究中,测试集只能使用一次。但是,它永远不可能成为研究方案,因为在发表(甚至提交)论文之前,我们必须提高性能,直到测试准确性优于最新结果为止。 现在出现了问题。假设50%是最先进的结果,而我的模型通常可以达到50--51的精度,平均而言更好。 但是,我的最佳验证准确性(52%)产生了非常低的测试准确性,例如49%。然后,如果我无法进一步提高验证acc,则必须报告49%的总体性能,这对我来说是没有希望的。这确实使我无法研究问题,但是对我的同伴来说并不重要,因为他们没有看到52%的符合率,我认为这是一个离群值。 那么,人们通常在研究中如何做? ps k-fold验证没有帮助,因为相同的情况仍然可能发生。

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.