Questions tagged «machine-learning»

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

1
关于xgboost中的过拟合问题的讨论
我的设置如下: 我正在遵循“应用的预测建模”中的指导原则。因此,我过滤了相关功能并得出以下结果: 训练集中的4900个数据点和测试集中的1600个数据点。 我有26个功能,目标是一个连续变量。 我使用5倍交叉验证来训练使用该caret软件包的模型。当我应用MARS模型时,在训练集和测试集上我得到的平均绝对误差(MAE)约为4。 但是,使用xgboost(树算法或线性算法),在训练集上得到的像是0.32(!),在测试集上得到的像是2.4。 因此,如果测试误差是训练误差的8倍,那么我会说:我已经过度拟合了训练数据。无论如何,我仍然在测试中遇到了一个较小的错误。 我在xgboost上使用以下参数: nrounds = 1000和eta = 0.01(增加nrounds和减少eta可能有所帮助,但我的内存不足并且运行时间太长) max_depth = 16:如果我比较其他帖子和默认帖子6,则看起来很大,但问题非常复杂-在这种情况下,也许16不太大。 colsample_bytree = 0.7,subsample = 0.8并且min_child_weight = 5:这样做,我尝试减少过拟合。 如果我减小max_depth,则训练和测试误差会更接近,但仍然存在较大的差距,并且测试误差会更大(略高于3)。 使用线性助推器,我得到最佳参数的大致相同的训练和测试误差: lambda = 90 和`alpha = 0:通过交叉验证发现,lambda应该防止过拟合。 colsample_bytree = 0.8,subsample = 0.8并且min_child_weight = 5:这样做,我尝试减少过拟合。 我的感觉是xgboost仍然过拟合-但训练错误以及据我在实时测试中看到的(我已经使用过xgboost模型,并且实际上已经将它们集成了4天了)看起来还不错(错误是大于测试误差,但现实生活中有关特征和其他变量的预测存在更多不确定性。 您如何看待:如果(如果可能的话)现实生活中的表现优越,我可以接受过拟合吗?我的设置中的xgboost是否趋于过度拟合?

1
负采样在word2vec中如何工作?
我一直在努力理解word2vec中否定采样的概念。我无法消化[负]采样的想法。例如,在米科洛夫(Mikolov)的论文中,负采样期望被表示为 logσ(⟨w,c⟩)+k⋅EcN∼PD[logσ(−⟨w,cN⟩)].log⁡σ(⟨w,c⟩)+k⋅EcN∼PD[log⁡σ(−⟨w,cN⟩)].\log \sigma(\langle w,c\rangle ) + k \cdot \mathbb E_{c_N\sim PD}[\log\sigma(−\langle w,c_N\rangle)]. 我了解左边的,但是我无法理解对否定的词-语境对采样的想法。logσ(⟨w,c⟩)log⁡σ(⟨w,c⟩)\log \sigma(\langle w,c\rangle)

3
决策树桩是线性模型吗?
决策树桩是只有一个拆分的决策树。也可以将其编写为分段函数。 例如,假设是一个矢量,并且X 1是第一部件X,在回归设置,某些决策残端可以是XXxX1个X1个x_1XXx F(x )= { 35X1个≤ 2X1个> 2F(X)={3X1个≤25X1个>2f(x)= \begin{cases} 3& x_1\leq 2 \\ 5 & x_1 > 2 \\ \end{cases} 但这是线性模型吗?其中可以写成?这个问题听起来可能很奇怪,因为如答案和注释中所述,如果我们绘制分段函数,它就不是一条线。请参阅下一部分,以了解为什么我要问这个问题。F(x )= βŤXF(X)=βŤXf(x)=\beta^T x 编辑: 我问这个问题的原因是逻辑回归是一个(广义的)线性模型,决策边界是一条线,也适用于决策树桩。注意,我们还有一个问题:为什么逻辑回归是线性模型?。另一方面,决策树桩似乎不是线性模型。 我问这个问题的另一个原因是因为这个问题: 在提升时,如果基础学习者是线性模型,那么最终模型是否只是简单的线性模型? 在这里,如果我们使用线性模型作为基础学习者,那么除了线性回归之外,我们什么都不会得到。但是,如果我们选择基础学习者作为决策树桩,那么我们将获得非常有趣的模型。 这是一个具有2个特征和1个连续响应的回归决策树桩示例。

5
有什么好的数据集可以学习基本的机器学习算法,为什么呢?
我是机器学习的新手,正在寻找一些可以比较和对比不同机器学习算法(决策树,Boosting,SVM和神经网络)之间差异的数据集。 在哪里可以找到这样的数据集?考虑数据集时我应该寻找什么? 如果您可以指向一些好的数据集,并告诉我是什么使它们成为一个好的数据集,那将是很好的选择?

2
哪种优化方法最适合LSTM?
我一直在使用theano来试验LSTM,并且想知道哪种优化方法(SGD,Adagrad,Adadelta,RMSprop,Adam等)最适合LSTM?是否有关于该主题的研究论文? 另外,答案是否取决于我使用LSTM的应用程序类型?如果是这样,我正在使用LSTM进行文本分类(首先将文本转换为单词向量)。 最后,对于RNN,答案是相同还是不同?任何指向研究论文或个人见解的指针将不胜感激! LSTM似乎很强大,我有兴趣学习更多有关如何最好地使用它们的知识。

2
提升:为什么将学习率称为正则化参数?
所述学习率参数(在梯度)推进收缩每个新的基础模型-通常浅树形是在串联加入的贡献。它被证明可以极大地提高测试仪的精度,这是可以理解的,因为步数越小,损耗函数的最小值就可以越精确地达到。 ν∈[0,1]ν∈[0,1]\nu \in [0,1] 我不明白为什么学习率被视为正则化参数?引用统计学习的要素,第10.12.1节,第364页: 控制树的数量不是唯一可能的正则化策略。与山脊回归和神经网络一样,也可以使用收缩技术。值越小 (收缩率越大),对于相同数量的迭代M,导致更大的训练风险。因此,ν和M都控制训练数据的预测风险。νν\nuMMMνν\nuMMM 正则化意味着“避免过度拟合的方式”,因此很明显迭代次数在这方面至关重要(M太大会导致过度拟合)。但:MMMMMM 值越小(收缩率越大),对于相同数量的迭代M,导致更大的训练风险。νν\nuMMM 仅仅意味着在低学习率的情况下,需要更多的迭代才能在训练集上达到相同的准确性。那么,这与过度拟合有何关系?


2
“逻辑回归”的名称是什么意思?
我从这里检查Logistic回归的实现。 在我阅读了这篇文章之后,似乎重要的部分是找到确定S形函数的最佳系数。因此,我只是想知道为什么将此方法称为“逻辑回归”。它与对数函数有关吗?也许我需要一些历史背景信息才能更好地理解它。


1
预测建模-我们是否应该关注混合建模?
对于预测建模,我们是否需要关注统计概念,例如随机效应和观测值的非独立性(重复测量)?例如.... 我有5个直接邮件广告系列(一年中发生)的数据,这些数据具有各种属性和购买标记。理想情况下,我会结合使用所有这些数据来为广告系列制定时给定的客户属性建立购买模型。原因是购买事件很少见,我想使用尽可能多的信息。给定的客户有可能出现在1至5个广告系列中的任何位置-这意味着记录之间没有独立性。 使用时是否重要? 1)机器学习方法(例如,树,MLP,SVM) 2)统计方法(逻辑回归)? **ADD:** 我对预测建模的想法是,如果模型有效,请使用它。因此,我从未真正考虑过假设的重要性。考虑到我上面描述的情况,我很纳闷。 采取机器学习算法,例如MLP and SVM。这些已成功用于对二进制事件进行建模,例如上面的示例,而且还对时间序列数据进行了清晰的关联。然而,许多使用损失函数是似然的,并假设误差为id。例如,R中的梯度增强树gbm使用从二项式(第10页)得出的偏差损失函数。

2
今天,“最近的邻居”何时有意义?
在1999年,Beyer等人。问, “最近的邻居”何时有意义? 自1999年以来,是否有更好的方法来分析和可视化距离平坦度对NN搜索的影响? [给定的]数据集是否可以为1-NN问题提供有意义的答案?10-NN问题?100-NN问题? 您的专家今天将如何处理这个问题? 1月24日星期一编辑: “距离变白”作为“随着尺寸增加的距离平坦度”的简称呢? 观察“距离泛白”的一种简单方法是运行2-NN,并绘制到最近邻居和第二近邻的距离。下图显示 了蒙特卡洛(Monte Carlo)对于一系列ncluster和尺寸的dist 1和dist 2。此示例显示了缩放的绝对差| dist 2 -dist 1 |的相当好的距离对比度。(相对差| dist 2 / dist 1 |→1作为维数→∞,因此变得毫无用处。) 在给定的上下文中应该使用绝对误差还是相对误差,当然取决于存在的“真实”噪声:困难。 建议:总是运行2-NN;2个邻居在靠近时很有用,在不靠近时有用。


6
机器学习用于估计参数的“基本”思想是什么?
用于估计参数的统计学的“基本”思想是最大可能性。我想知道机器学习中对应的想法是什么。 Qn 1.可以公平地说,机器学习中用于估计参数的“基本”思想是:“损失函数” [注:给我的印象是机器学习算法经常优化损失函数,因此会产生上述问题。] 问题2:是否有任何文献试图弥合统计学与机器学习之间的鸿沟? [注:也许,通过将损失函数与最大似然联系起来。(例如,OLS等于正态分布错误的最大可能性等)

6
对数据集样本进行超参数调整不是一个好主意吗?
我有一个包含140000个示例和30个功能的数据集,我正在为其训练几个分类器以进行二进制分类(SVM,逻辑回归,随机森林等) 在许多情况下,使用网格搜索或随机搜索对整个数据集进行超参数调整在时间上过于昂贵。 我开始使用以下技术 子样本我的数据集 使用获得的分数来调整超参数 使用获得的参数来使用整个数据集训练模型 为了评估在第二步骤I使用每组参数sklearn的GridSearchCV与CV = 10。为了评估在第三步中创建的最终模型,我使用sklearn的cross_val_predict。从这种意义上来说,我评估模型时会遗漏10%的数据,然后对其余模型进行训练,然后对10%的预测准确性进行迭代10次,然后取平均分数。 让我担心的是,我在整个数据集上进行训练所获得的预测准确性确实接近我为最佳参数集调整参数时所获得的评估(每组经过测试的参数均输出通过平均10-交叉验证结果)。 在大多数情况下,cross_val_predict使用所有训练示例(整个数据集)测得的准确性略高于返回的最佳参数评估值。 为了说明这一点,这里是对一组参数的评估(在比我上面描述的更小的数据集上,但是效果是相同的) Best parameters set found on development set: {'kernel': 'rbf', 'C': 9, 'gamma': 0.1} Scores for all sets of parameters 0.851 (+/-0.006) for {'kernel': 'rbf', 'C': 3, 'gamma': 0.5} 0.852 (+/-0.006) for {'kernel': 'rbf', 'C': 3, 'gamma': 0.1} 0.829 …

11
为什么逻辑回归称为机器学习算法?
如果我正确理解,则在机器学习算法中,该模型必须从其经验中学习,即,当模型对新情况给出错误的预测时,它必须适应新的观察结果,并且随着时间的推移,模​​型会变得越来越好。我看不到逻辑回归具有这种特征。那么为什么它仍被视为机器学习算法?在“学习”方面,逻辑回归与普通回归之间有何区别? 对于随机森林,我也有同样的问题! “机器学习”的定义是什么?

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.