Questions tagged «machine-learning»

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

2
论弱学习者的“力量”
关于集成学习中的弱学习者,我有几个密切相关的问题(例如,促进学习)。 这听起来可能很愚蠢,但是使用弱者而不是强者有什么好处?(例如,为什么不使用“强”的学习方法来增强?) 弱学习者是否有某种“最佳”力量(例如,同时保持所有其他整体参数不变)?当谈到他们的力量时,是否有一个“最佳位置”? 相对于合奏法,我们如何衡量一个弱学习者的力量。我们如何定量衡量使用集成的边际收益? 我们如何比较几种弱学习算法,以确定给定的集成方法使用哪种算法? 如果给定的集成方法对弱分类器的帮助大于对强分类器的帮助,我们如何告诉给定的分类器已经“太强大”而无法在增强分类器时产生任何明显的收益?

3
支持向量回归用于多元时间序列预测
有没有人尝试使用支持向量回归进行时间序列预测? 我了解支持向量机,部分了解支持向量回归,但是我不了解如何将其用于建模时间序列,尤其是多元时间序列。 我试图阅读一些论文,但是它们的水平太高了。谁能用外行的方式解释他们将如何工作,尤其是在多元时间序列方面? 编辑:详细说明一下,让我尝试用股价示例进行说明。 假设我们有N天的股价。然后,对于每一天,我们可以构造一个特征向量,在一个简单的情况下,它可以是前一天的价格和当天的价格。每个特征向量的响应将是第二天的价格。因此,给定昨天的价格和今天的价格,目标是预测第二天的价格。我不明白的是,假设我们有六个月的训练数据,您如何将重点放在较新的特征向量上?

9
如何确定神经网络预测的置信度?
为了说明我的问题,例如,假设我有一个训练集,其中输入具有一定程度的噪声,但输出却没有噪声。 # Training data [1.02, 1.95, 2.01, 3.06] : [1.0] [2.03, 4.11, 5.92, 8.00] : [2.0] [10.01, 11.02, 11.96, 12.04] : [1.0] [2.99, 6.06, 9.01, 12.10] : [3.0] 如果无噪声(不是实际的梯度),那么这里的输出就是输入数组的梯度。 训练网络后,对于给定的输入,输出应类似于以下内容。 # Expected Output [1.01, 1.96, 2.00, 3.06] : 95% confidence interval of [0.97, 1.03] [2.03, 4.11, 3.89, 3.51] : 95% …

2
所有机器学习算法是否都线性地分离数据?
我是编程和机器学习的狂热者。仅仅几个月前,我开始学习机器学习编程。像许多没有定量科学背景的人一样,我也通过修补广泛使用的ML软件包(插入符号R)中的算法和数据集,开始学习ML。 前一段时间,我读了一个博客,其中作者谈论了ML中线性回归的用法。如果我没记错的话,他谈到了最终所有机器学习如何甚至在线性或非线性问题上都使用某种“线性回归”(不确定他是否使用了这个精确术语)。那个时候我不明白他的意思。 我对将机器学习用于非线性数据的理解是使用非线性算法来分离数据。 这是我的想法 假设要对线性数据进行分类,我们使用线性方程,对于非线性数据,我们使用非线性方程说y = s i n (x )ÿ= m x + cÿ=米X+Cy=mx+cÿ= š 我Ñ (X )ÿ=s一世ñ(X)y=sin(x) 该图像是从支持向量机的sikit学习网站上拍摄的。在SVM中,我们将不同的内核用于ML。因此,我最初的想法是线性内核使用线性函数分离数据,而RBF内核使用非线性函数分离数据。 但是后来我看到了这个博客,作者在其中谈论了神经网络。 为了对左子图中的非线性问题进行分类,神经网络以如下方式转换数据:最后,我们可以对右子图中的转换数据使用简单的线性分离 我的问题是,最终所有机器学习算法是否都使用线性分离进行分类(线性/非线性数据集)?

2
弹性网逻辑回归中选择最佳alpha
我正在使用glmnetR中的程序包通过在的网格上从0到1 选择lambda值来对医疗数据集执行弹性网逻辑回归。我的缩写代码如下:αα\alpha alphalist <- seq(0,1,by=0.1) elasticnet <- lapply(alphalist, function(a){ cv.glmnet(x, y, alpha=a, family="binomial", lambda.min.ratio=.001) }) for (i in 1:11) {print(min(elasticnet[[i]]$cvm))} 对于从到每个alpha值,以为增量输出平均交叉验证误差:0.00.00.01.01.01.00.10.10.1 [1] 0.2080167 [1] 0.1947478 [1] 0.1949832 [1] 0.1946211 [1] 0.1947906 [1] 0.1953286 [1] 0.194827 [1] 0.1944735 [1] 0.1942612 [1] 0.1944079 [1] 0.1948874 根据我在文献中所读的内容,的最佳选择是使cv错误最小化。但是在整个Alpha范围内,误差有很多变化。我看到了几个局部最小值,全局最小值为。αα\alpha0.1942612alpha=0.8 安全alpha=0.8吗?或者,带来的变动,我应该重新运行cv.glmnet更多的交叉验证倍(如而不是),或者是更大数量的之间的增量,并得到CV错误路径清晰的画面?10 α202020101010αα\alphaalpha=0.01.0

3
为什么Lars和Glmnet为Lasso问题提供不同的解决方案?
我想更好地理解R封装Lars和Glmnet,这是用来解决问题的套索: (有关变量和样本,请参见第3页的www.stanford.edu/~hastie/Papers/glmnet.pdf)米我Ñ( β0β)∈ [Rp + 1[ 12 N∑我= 1ñ( y一世- β0- xŤ一世β)2+ λ | |β| |升1个]米一世ñ(β0β)∈[Rp+1个[1个2ñ∑一世=1个ñ(ÿ一世-β0-X一世Ťβ)2+λ||β||升1个]min_{(\beta_0 \beta) \in R^{p+1}} \left[\frac{1}{2N}\sum_{i=1}^{N}(y_i-\beta_0-x_i^T\beta)^2 + \lambda||\beta ||_{l_{1}} \right]pppññN 因此,我将它们都应用于相同的玩具数据集。不幸的是,对于相同的数据输入,这两种方法不能提供相同的解决方案。有人知道差异的来源吗? 我得到的结果如下:生成一些数据(8个样本,12个特征,Toeplitz设计,所有内容都居中)之后,我使用Lars计算了整个套索路径。然后,我使用由Lars计算的lambda序列(乘以0.5)运行Glmnet,希望获得相同的解决方案,但我没有。 可以看到解决方案是相似的。但是我如何解释这些差异?请在下面找到我的代码。这里有一个相关的问题:用于计算LASSO解决方案的GLMNET或LARS?,但没有包含我的问题的答案。 设定: # Load packages. library(lars) library(glmnet) library(MASS) # Set parameters. nb.features <- 12 nb.samples <- 8 nb.relevant.indices <- 3 snr <- 1 nb.lambdas …

8
仅使用距离矩阵而不是按特征点数据执行K均值(或其近亲)聚类
我想对我拥有的对象执行K-均值聚类,但是这些对象并未描述为空间中的点,即按objects x features数据集。但是,我能够计算任何两个对象之间的距离(它基于相似度函数)。因此,我处理了距离矩阵objects x objects。 我之前已经实现了K-means,但这是通过点数据集输入实现的。而且在没有输入距离矩阵的情况下,我不清楚如何将群集更新为没有点表示的群集“中心”。通常如何做?为此,是否存在K均值或方法的版本?

4
您将如何设计一个机器学习系统来玩《愤怒的小鸟》?
在玩了太多《愤怒的小鸟》之后,我开始观察自己的策略。事实证明,我开发了一种非常具体的方法来使每个级别获得3星。 这让我想知道开发一个能够玩《愤怒的小鸟》的机器学习系统所面临的挑战。与游戏互动并发射鸟类是微不足道的。但是我有一个问题是关于系统的“构建块”。 机器学习系统似乎可以使用简单的概念或对该问题的理解。这通常被编码为要素作为输入。因此,系统似乎需要具有理解一些高级概念以生成策略的能力。 这是真的?另外,开发这样的系统有哪些挑战或困难部分? 编辑#1: 这里有一些澄清。获得3星是一个难题,因为您必须最大化积分。这可以通过两种非排他性的方式来完成:1)最小化使用的鸟类数量(每只未使用的鸟类获得10,000分)。2)最大程度地破坏玻璃,木材和其他物体。每个被破坏的物体都会给你分数。一只鸟有可能摧毁价值超过10,000点的物体。 这是有关“高级概念”的更多解释。为了最大化上述点,您需要使用每只鸟的特殊能力。因此,这意味着根据地图的布局发射具有不同轨迹的不同鸟类。并且,在比赛时,我制定了一种策略,该策略以特定顺序摧毁某些鸟类。 似乎,如果不了解如何使用每只鸟来破坏特定区域,系统将无法学会获得3星。那么,您如何管理和编码类似的东西?您如何确保系统可以学习这些高级概念?

1
使用单热编码时删除列之一
我的理解是,如果您的数据集具有高度相关的特征,则在机器学习中可能会出现问题,因为它们有效地编码了相同的信息。 最近有人指出,当对分类变量进行单次编码时,最终会具有相关功能,因此应删除其中一个作为“参考”。 例如,将性别编码为两个变量is_male和is_female会产生两个完全负相关的特征,因此他们建议仅使用其中一个,有效地将基线设置为男性,然后查看is_female列在预测算法中是否重要。 这对我来说很有意义,但是我没有在网上找到任何东西来暗示可能是这种情况,所以这是错误的还是我遗漏了一些东西? 可能的(未回答的)重复项:一键编码特征的共线性对SVM和LogReg是否重要?


2
我们什么时候应该离散化/合并连续的独立变量/特征,什么时候不应该离散化/合并它们?
我们何时应该离散化/绑定自变量/特征,何时不应该离散化/组合? 我试图回答这个问题: 通常,我们不应该进行合并,因为合并会丢失信息。 合并实际上增加了模型的自由度,因此,合并后可能导致过度拟合。如果我们有一个“高偏差”模型,合并可能不是坏事,但是如果我们有一个“高方差”模型,则应该避免合并。 这取决于我们使用的模型。如果是线性模式,并且数据具有很多“异常值”,则装箱概率会更好。如果我们有一个树模型,那么离群值和合并将有很大的不同。 我对吗?还有什么? 我以为应该多次问这个问题,但我只能在这些帖子中找到简历 我们应该对连续变量进行分类吗? 分解一个连续的预测变量有什么好处?

2
受限玻尔兹曼机器:如何在机器学习中使用?
背景: 是的,可以使用受限玻尔兹曼机(RBM)来启动神经网络的权重。此外,它可以在一个“层-层”的方式被用于建立一个深信念网络(即,培养一个上的顶部第层(ñ - 1 )个层,然后训练ñ + 1上的顶层第ñ个层,漂洗和重复...) ññn(n − 1 )(ñ-1个)(n-1)n + 1ñ+1个n+1ññn。 关于如何使用RBM,可以从《受限玻尔兹曼机器》(RBM)的“ 良好”教程的线程中找到详细信息,在该 文章中可以找到一些论文和教程。 我的问题是: RBM是否真的用于工业项目或学术项目中 如果是,如何使用它以及在哪个项目上使用? 有没有流行的库(例如tensorflow,Caffe,Theono等)提供RBM模块? 感谢分享。我想知道成果管理制在实践中是否真的有用。

5
过度拟合:没有银弹吗?
我的理解是,即使遵循正确的交叉验证和模型选择程序,如果人们对模型的搜索足够困难,就会出现过度拟合的情况,除非对模型的复杂性,期限施加了限制。此外,很多时候人们尝试从数据中学习对模型复杂性的惩罚,这会破坏他们可以提供的保护。 我的问题是:以上陈述有多少真相? 我经常听到ML的实践者说:“ 在我的公司/实验室,我们总是尝试使用每种可用的模型(例如,从caret或scikit-learn之类的库中获得),看看哪种模型最合适。” 我经常争论说,即使他们认真对待交叉验证并以他们想要的任何方式保留保留集,这种方法也很容易过拟合。此外,他们搜索的难度越大,就越容易适应。换句话说,过度优化是一个真正的问题,没有启发式方法可以帮助您系统地与之抗衡。我这样想是不是错了?

4
“半监督学习”-过度拟合吗?
我正在阅读Kaggle竞赛获奖解决方案的报告(恶意软件分类)。该报告可在此论坛帖子中找到。问题是分类问题(九个类别,度量标准是对数损失),其中训练集中有10000个元素,测试集中有10000个元素。 在比赛期间,针对30%的测试集对模型进行了评估。另一个重要因素是模型的表现非常出色(准确性接近100%) 作者使用以下技术: 我们提出的另一项重要技术是半监督学习。我们首先通过选择最佳模型的最大概率来生成测试集的伪标签。然后,我们将使用训练数据和测试数据以交叉验证的方式再次预测测试集。例如,将测试数据集分为A,B,C和D四个部分。我们使用整个训练数据,并将测试数据A,B,C及其伪标签一起用作新的训练集,并预测测试设置D。 相同的方法用于预测A,B和C。这是由Xiaozhou发明的,效果出乎意料,并且可以减少局部交叉验证损失,公共LB损失和私人LB损失。最佳的半监督学习模型可以使私人LB对数丢失达到0.0023,这是我们所有解决方案中的最高分。 我真的不知道它如何改善结果。是因为30%的测试集被“泄漏”了,这是使用此信息的一种方式吗? 还是有任何理论上的原因可以解释其原理?

3
如何仅训练阳性病例来预测结果?
为了简单起见,假设我正在研究垃圾邮件/非垃圾邮件的经典示例。 我有一组20000封电子邮件。在这些邮件中,我知道2000是垃圾邮件,但没有任何非垃圾邮件的例子。我想预测其余18000个垃圾邮件是否为垃圾邮件。理想情况下,我要寻找的结果是电子邮件为垃圾邮件的概率(或p值)。 在这种情况下,我可以使用哪种算法做出明智的预测? 目前,我正在考虑一种基于距离的方法,该方法可以告诉我电子邮件与已知垃圾邮件的相似程度。我有什么选择? 更笼统地说,我可以使用监督学习方法吗?或者我是否必须在训练中包含负面案例才能做到这一点?我是否仅限于无监督学习方法?那么半监督方法呢?

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.