Questions tagged «cross-validation»

在模型拟合期间反复保留数据的子集,以便量化保留的数据子集上的模型性能。

2
贝叶斯不需要测试集是真的吗?
我最近观看了埃里克·马(Eric J. Ma)的演讲,并查看了他的博客文章,他引用了拉德福德·尼尔(Radford Neal)的观点,认为贝叶斯模型不会过拟合(但可以过拟合),并且在使用它们时,我们不需要测试集来验证它们(对于在我看来,引号似乎是在谈论使用验证集来调整参数)。老实说,这些论点并不能说服我,而且我也无权阅读这本书,因此,您能为这种说法提供更详细,更严格的论点吗? 顺便说一句,在此同时,埃里克·马指出我讨论关于同一主题。

1
哪种深度学习模型可以对不互斥的类别进行分类
示例:我的职位描述中有一句话:“英国Java高级工程师”。 我想使用深度学习模型将其预测为2类:English 和IT jobs。如果我使用传统的分类模型,则只能预测softmax最后一层具有功能的标签。因此,我可以使用2个模型神经网络来预测两个类别的“是” /“否”,但是如果我们有更多类别,那就太贵了。那么,我们是否有任何深度学习或机器学习模型可以同时预测2个或更多类别? “编辑”:使用传统方法使用3个标签,它将由[1,0,0]编码,但在我的情况下,它将由[1,1,0]或[1,1,1]编码 示例:如果我们有3个标签,并且所有这些标签都适合一个句子。因此,如果softmax函数的输出为[0.45,0.35,0.2],我们应该将其分类为3个标签或2个标签,或者可以是一个?我们这样做的主要问题是:分类为1个,2个或3个标签的最佳阈值是多少?
9 machine-learning  deep-learning  natural-language  tensorflow  sampling  distance  non-independent  application  regression  machine-learning  logistic  mixed-model  control-group  crossover  r  multivariate-analysis  ecology  procrustes-analysis  vegan  regression  hypothesis-testing  interpretation  chi-squared  bootstrap  r  bioinformatics  bayesian  exponential  beta-distribution  bernoulli-distribution  conjugate-prior  distributions  bayesian  prior  beta-distribution  covariance  naive-bayes  smoothing  laplace-smoothing  distributions  data-visualization  regression  probit  penalized  estimation  unbiased-estimator  fisher-information  unbalanced-classes  bayesian  model-selection  aic  multiple-regression  cross-validation  regression-coefficients  nonlinear-regression  standardization  naive-bayes  trend  machine-learning  clustering  unsupervised-learning  wilcoxon-mann-whitney  z-score  econometrics  generalized-moments  method-of-moments  machine-learning  conv-neural-network  image-processing  ocr  machine-learning  neural-networks  conv-neural-network  tensorflow  r  logistic  scoring-rules  probability  self-study  pdf  cdf  classification  svm  resampling  forecasting  rms  volatility-forecasting  diebold-mariano  neural-networks  prediction-interval  uncertainty 

2
我们应该一直做简历吗?
我的问题:即使是相对较大的数据集,我也应该进行简历吗? 我有一个相对较大的数据集,我将对数据集应用机器学习算法。 由于我的电脑运行不快,因此CV(和网格搜索)有时会花费很长时间。特别是,由于许多调整参数,SVM永远都不会停止。因此,如果我进行简历,那么我需要选择一个相对较小的数据。 另一方面,验证集也应该很大,因此我认为使用与训练集大小相同(或更大)的验证集是个好主意。(也就是说,我使用大型验证集代替CV进行参数调整。) 所以我现在至少有两个选择。 对小数据集进行简历。 使用相对较大的训练集和验证集而不使用简历。 其他想法。 最好的主意是什么?无论是理论上还是实践上的意见都值得欢迎。

2
在交叉验证之前执行无监督特征选择实际上是否还好?
在“统计学习的要素”中,我发现以下语句: 有一项条件:可以在不进行样品检测之前进行初始的无监督筛选步骤。例如,在开始交叉验证之前,我们可以在所有50个样本中选择具有最高方差的1000个预测变量。由于此过滤不涉及类标签,因此不会给预测变量带来不公平的优势。 这真的有效吗?我的意思是,通过预先过滤属性,我们不会模仿训练数据/新数据环境-那么,是否对正在执行的过滤没有监督是很重要的吗?在交叉验证过程中实际执行所有预处理步骤是否更好?如果不是这种情况,则意味着可以预先执行所有无监督的预处理,包括功能归一化/ PCA等。但是,通过对整个训练集进行这些操作,实际上是在向训练集泄漏一些数据。我可以同意,相对稳定的数据集,这些差异很可能应该很小-但这并不意味着它们不存在,对吧?思考这个问题的正确方法是什么?


1
使用k折CV的原始(?)模型选择
当使用k-fold CV在回归模型中进行选择时,我通常会针对每个模型及其标准误差SE分别计算CV误差,并且我会在CV误差最低的模型的1 SE中选择最简单的模型(1标准错误规则,请参见此处的示例)。但是,最近有人告诉我,这样我就高估了可变性,并且在选择两个模型A和B之间的特定情况下,我确实应该以不同的方式进行: 对于长度每个折叠,计算两个模型预测之间的逐点差异。然后计算折叠KKKNKNKN_KMSDK=∑NKi=1(y^Ai−y^Bi)2NK−−−−−−−−−−−−−−−√MSDK=∑i=1NK(y^Ai−y^Bi)2NKMSD_K=\sqrt{\frac{\sum_{i=1}^{N_K}\left(\hat{y}_{Ai}-\hat{y}_{Bi}\right)^2}{N_K}} 像往常一样在折痕上平均,并将此CV差值误差(及其标准误差)用作泛化误差的估计量。MSDKMSDKMSD_K 问题: 你能理解这个吗?我知道使用CV错误作为广义错误的估计因素有理论上的原因(我不知道这些原因是什么,但我知道它们存在!)。我不知道使用此“差异” CV错误背后是否有理论上的原因。 我不知道这是否可以推广到两个以上模型的比较中。计算所有成对模型的差异似乎是冒险的(多次比较?):如果您拥有两个以上的模型,该怎么办? 编辑:我的公式是完全错误的,此处描述了正确的指标,而且复杂得多。好吧,我很高兴在盲目应用公式之前在这里问过!感谢@Bay帮助我理解他/她的启发性答案。所描述的正确方法是实验性的,因此我会坚持使用我信任的工作马,CV错误!

2
模型构建过程是交互式的时进行回测或交叉验证
我有一些预测模型,我想对其性能进行回测(即,获取我的数据集,将其“倒带”到上一个时间点,并查看该模型的预期性能)。 问题是我的某些模型是通过交互过程构建的。例如,按照弗兰克·哈雷尔(Frank Harrell)的回归建模策略中的建议,在一个模型中,我使用了受限制的三次样条来处理特征与响应之间可能的非线性关联。我根据领域知识和关联强度的单变量度量来分配每个样条的自由度。但是,我要允许模型的自由度显然取决于数据集的大小,在进行回测时,数据集的变化很大。如果我不想在每次对模型进行回测时都分别手动选择自由度,那么我还有其他选择吗? 再例如,我目前正在通过发现具有高杠杆作用的点来进行离群值检测。如果我愿意手工进行此操作,则只需查看每个高杠杆数据点,仔细检查数据是否干净,然后过滤掉或手工清理。但这依赖于很多领域知识,因此我不知道如何使过程自动化。 我将不胜感激建议和解决方案,无论是(a)解决模型构建过程中交互部分自动化的一般问题,还是(b)针对这两种情况的具体建议。谢谢!

2
袋外误差估计是否可以增强?
在随机森林中,每棵树都是在数据的唯一Boostrap样本上并行生长的。由于预计每个Bo​​ostrap样本将包含约63%的独特观测值,因此将约37%的观测值排除在外,可用于测试树。 现在,似乎在随机梯度增强中,还有一个类似于RF中的估计:OOBerrorOOBerrorOOB_{error} 如果bag.fraction设置为大于0(建议为0.5),则gbm将计算出袋装的预测性能改善估计值。它评估在选择下一个回归树时未使用的那些观察结果的偏差减少。 资料来源:Ridgeway(2007),第3.3节(第8页)。 我无法理解其工作方式/是否有效。说我要按顺序添加一棵树。我正在原始数据集的随机子样本上生长这棵树。我可以在不用于生长的观察结果上测试这棵树。同意 但是,由于Boosting是顺序的,所以我宁愿使用到目前为止构建的整个树序列来为那些遗漏的观察提供预测。而且,前面的许多树木很有可能已经看到了这些观察结果。因此,不是真的像RF一样在每个回合上都未对模型进行过测试,对吗? 那么,这怎么称为“袋外”误差估计呢?对我来说,似乎已经被发现了吗?

3
使用R进行K折或保留交叉验证以进行岭回归
我正在对200个主题和1000个变量的数据预测进行交叉验证。我对岭回归很感兴趣,因为变量数(我想使用)大于样本数。所以我想使用收缩估计量。以下是示例数据: #random population of 200 subjects with 1000 variables M <- matrix(rep(0,200*100),200,1000) for (i in 1:200) { set.seed(i) M[i,] <- ifelse(runif(1000)<0.5,-1,1) } rownames(M) <- 1:200 #random yvars set.seed(1234) u <- rnorm(1000) g <- as.vector(crossprod(t(M),u)) h2 <- 0.5 set.seed(234) y <- g + rnorm(200,mean=0,sd=sqrt((1-h2)/h2*var(g))) myd <- data.frame(y=y, M) myd[1:10,1:10] y X1 …

2
如何在助推树中找到调整参数的最佳值?
我意识到在Boosting Trees模型中有3个调整参数,即 树数(迭代数) 收缩参数 分割数(每个构成树的大小) 我的问题是:对于每个调整参数,我应该如何找到其最佳值?什么方法? 请注意:收缩参数和树木数量参数一起使用,即收缩参数的值越小,树木数量的值就越高。我们也需要考虑到这一点。 我对为分割数找到最佳值的方法特别感兴趣。是否应该基于交叉验证或有关背后模型的领域知识? 这些事情如何gbm在R 的包中进行?

1
R / caret:训练和测试集与交叉验证?
这可能是一个愚蠢的问题,但是当使用插入符号生成模型并使用诸如LOOCV或(甚至更重要)时LGOCV,如果这实际上是交叉验证步骤的话,将数据分为训练集和测试集有什么好处?反正吗? 我阅读了一些相关的问题,他们建议一些交叉验证方法(例如,在插入符号处描述的方法)是出于特征选择的目的。但就我而言,我使用的是randomForest(method = "rf")和kernlab(method = svmRadial),它们在试图清除预测变量的组中未列出。 所以,我的问题是,如果我使用类似的方法cross_val <- trainControl(method = "LGOCV", p = 0.8),那与对80%的数据进行训练,对其余20%的数据进行测试所得模型并反复进行以了解模型是否有效? 如果是这样,是否有必要将我的数据分为训练/测试集? PS:我在根据经验生成的DOE原型进行模型处理时会提出一些要求(想想一些硬货,我们会调整输入,然后使用测试方法来测量该原型的各种属性)。 因此,我没有庞大的数据集,可以使用许多重叠的预测变量级别进行建模-我们经常在每个DOE兴趣点进行一次试验,因为在这种情况下,数据生成非常昂贵。因此,我想使用所有可能的数据建立一个准确的模型,但我想在这里检查一下,我没有遗漏明显的东西,也没有通过拆分来制作一个不好的模型。 编辑:针对@topepo的问题,我正在根据调整配方的化学输入来对化合物的物理测量属性进行建模。我无法讨论我的实际应用,但是我将基于配制内部乳胶​​漆组成一个示例。我正在运行设计的实验,我们将4-5种化学物质混合在一起,也许与%的固体混合,并花费一定的时间加热聚合物溶液以调节聚合度。 然后,我们可以测量流变性,分子量,油漆涂层的硬度,耐水性等。 我们有几个变量的不错的复制品,但是从每个DOE级别完全相同的意义上讲,真正复制品很少。总数据集为〜80个观察值,也许4-5是精确重复。我们已经进行了15种不同的测试,也许对每个观察都进行了5-6次测试。对于25-50%的数据,存在一些响应。 从这里开始,我们想对输出的属性上的7个预测变量的效果进行建模,然后进行优化以定位最有可能提供所需属性的新设计空间。 (因此,请在这里提出我的问题。一旦我拥有训练有素的模型,最好进行“反向”操作并输入所需的响应,以在可能的输入水平上获得最佳的猜测,然后再尝试)。

1
如何比较观察到的事件与预期的事件?
假设我有一个频率为4个可能的事件的样本: Event1 - 5 E2 - 1 E3 - 0 E4 - 12 并且我具有发生事件的预期概率: p1 - 0.2 p2 - 0.1 p3 - 0.1 p4 - 0.6 利用我四个事件的观测频率之和(18),我可以计算事件的预期频率,对吗? expectedE1 - 18 * 0.2 = 3.6 expectedE2 - 18 * 0.1 = 1.8 expectedE1 - 18 * 0.1 = 1.8 expectedE1 - …
9 r  statistical-significance  chi-squared  multivariate-analysis  exponential  joint-distribution  statistical-significance  self-study  standard-deviation  probability  normal-distribution  spss  interpretation  assumptions  cox-model  reporting  cox-model  statistical-significance  reliability  method-comparison  classification  boosting  ensemble  adaboost  confidence-interval  cross-validation  prediction  prediction-interval  regression  machine-learning  svm  regularization  regression  sampling  survey  probit  matlab  feature-selection  information-theory  mutual-information  time-series  forecasting  simulation  classification  boosting  ensemble  adaboost  normal-distribution  multivariate-analysis  covariance  gini  clustering  text-mining  distance-functions  information-retrieval  similarities  regression  logistic  stata  group-differences  r  anova  confidence-interval  repeated-measures  r  logistic  lme4-nlme  inference  fiducial  kalman-filter  classification  discriminant-analysis  linear-algebra  computing  statistical-significance  time-series  panel-data  missing-data  uncertainty  probability  multivariate-analysis  r  classification  spss  k-means  discriminant-analysis  poisson-distribution  average  r  random-forest  importance  probability  conditional-probability  distributions  standard-deviation  time-series  machine-learning  online  forecasting  r  pca  dataset  data-visualization  bayes  distributions  mathematical-statistics  degrees-of-freedom 

4
Logistic回归中的模型选择和模型性能
我对逻辑回归中的模型选择和模型性能有疑问。我有基于三个不同假设的三个模型。前两个模型(分别命名为z和x)在每个模型中只有一个解释变量,而第三个模型(分别命名为w)更复杂。我正在使用AIC来选择w模型的变量,然后使用AIC来比较三个模型中最能解释因变量的模型。我发现w模型的AIC最低,现在想对该模型进行一些性能统计,以了解该模型的预测能力。既然我所知道的是,该模型比其他两个模型更好,但并不是那么好。 由于我已经使用所有数据来学习模型(以便能够比较所有三个模型),我该如何提高模型性能?从我收集到的信息来看,我不能仅对使用AIC从模型选择中获得的最终模型进行k折交叉验证,而是需要从头开始并包括所有解释变量,这是正确的吗?我想这是我与AIC选择的最终模型,我想知道它的性能如何,但确实意识到我已经对所有数据进行了训练,因此该模型可能会产生偏差。因此,如果我应该从头开始考虑所有折叠的所有解释变量,那么我将在某些折叠中得到不同的最终模型,我是否可以仅从折叠中选择具有最佳预测能力的模型,并将其应用于完整数据集进行比较AIC与其他两个模型(z和x)一起使用吗?或如何运作? 我的问题的第二部分是有关过度参数化的基本问题。我有156个数据点,其中52个为1,其余为0。对于w模型,我有14个解释变量可供选择,我意识到由于过分参数化,我无法将所有变量都包括在内,我读到您应该只使用因果变量组中的10%,而观察到的数据最少。对我来说只有5个 我正在尝试回答生态学中的一个问题,是否可以选择仅基于生态学就可以解释最佳依存关系的起始变量?或如何选择起始解释变量?完全排除某些变量并不正确。 所以我真的有三个问题: 在具有交叉验证的完整数据集上训练的模型上测试性能是否可以? 如果没有,在进行交叉验证时如何选择最终模型? 我该如何选择起始变量,以便过度参数化? 对不起我的问题和无知。我知道有人问过类似的问题,但仍然有些困惑。赞赏任何想法和建议。

2
有序逻辑回归中的AUC
我使用2种逻辑回归-一种是简单类型,用于二进制分类,另一种是序数逻辑回归。为了计算前者的准确性,我使用了交叉验证,其中我计算了每一折的AUC,然后计算了平均AUC。如何进行顺序逻辑回归?我听说过针对多类预测器的广义ROC,但是我不确定如何计算它。 谢谢!

2
混合模型的交叉验证?
我和我的同事正在R中拟合一系列线性和非线性混合效应模型。我们被要求对拟合的模型进行交叉验证,以便人们可以验证观察到的效应是相对可推广的。这通常是一项琐碎的任务,但是在我们的案例中,我们必须将整个数据分为一个培训部分和一个测试部分(出于CV目的),它们没有共同的水平。例如, 训练数据可以基于组1,2,3,4;然后,对拟合的模型在组5上进行交叉验证。 因此,由于在训练数据上估计的基于组的随机效应不适用于测试数据,因此会产生问题。因此,我们无法对模型进行简历。 有没有相对简单的解决方案?还是有人编写了解决该问题的软件包?任何提示都欢迎! 谢谢!

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.