Questions tagged «machine-learning»

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

3
隐马尔可夫模型阈值
我已经开发出了使用mfcc和隐马尔可夫模型进行声音识别的概念验证系统。当我在已知声音上测试系统时,它会提供令人鼓舞的结果。尽管系统在输入未知声音时返回的结果具有最接近的匹配结果,并且得分的差异并不明显,但它是未知声音,例如: 我训练了3种隐藏式马尔可夫模型,一种用于讲话,一种用于从水龙头出来的水,另一种用于敲打桌子。然后,我对它们进行了看不见的数据测试,并得到以下结果: input: speech HMM\knocking: -1213.8911146444477 HMM\speech: -617.8735676792728 HMM\watertap: -1504.4735097322673 So highest score speech which is correct input: watertap HMM\knocking: -3715.7246152783955 HMM\speech: -4302.67960438553 HMM\watertap: -1965.6149147201534 So highest score watertap which is correct input: knocking HMM\filler -806.7248912250212 HMM\knocking: -756.4428782636676 HMM\speech: -1201.686687761133 HMM\watertap: -3025.181144273698 So highest score knocking which is correct input: …

2
处理具有可变数量特征的数据集
对具有可变数量特征的数据进行分类的方法有哪些? 例如,考虑一个问题,其中每个数据点都是x和y点的向量,而每个实例的点数不相同。我们可以将每对x和y点视为一个特征吗?还是应该以某种方式总结这些点,以便每个数据点都具有固定数量的功能?

3
一个人能告诉一个小学生统计学和机器学习什么?
下周,我们有一个来自当地一家学校的实习生。他短暂实习的概念是了解现实世界的工作方式以及某些工作的处理方式,日常工作的样子等。 现在我想知道,一个人能告诉/展示/演示这样一个关于统计学和机器学习的小孩,以便他/她 了解这方面的基本思想 变得很热情(假设孩子的先验知识对其他兴趣没有太大权重) 第二天不会忘记的 我主要是在寻找粘贴图像,演示示例等。 孩子的背景: 15-16岁 基本的数学概念是已知的(什么是图形,三个规则,什么是变量(从数学上讲,不是统计学上的说法)) 由于此问题的难点是在没有任何背景知识的情况下向您解释您所在的地区,因此该问题也可以作为与亲戚和朋友聊天的参考。 旁注:我特意跳过了对工作的描述,因此该问题不太具体,该问题通常与该站点的主题有关。

2
将分类特征编码为数字以进行机器学习
许多机器学习算法,例如神经网络,都希望处理数字。因此,当您拥有分类数据时,需要对其进行转换。绝对的意思是,例如: 汽车品牌:奥迪,宝马,雪佛兰...用户ID:1、25、26、28 ... 即使用户ID是数字,它们也只是标签,并不意味着在连续性方面(例如年龄或总金额)。 因此,基本方法似乎使用二进制向量来编码类别: 奥迪:1,0,0 ...宝马:0,1,0 ...雪佛兰:0,0,1 ... 类别很少时还可以,但除此之外,它看起来效率低下。例如,当您有10,000个用户ID进行编码时,它就是10,000个功能。 问题是,有没有更好的方法?也许涉及概率之一?

8
机器学习的“热门算法”是什么?
对于开始学习机器学习的人来说,这是一个幼稚的问题。这些天,我正在阅读Marsland的著作《机器学习:算法的观点》。我觉得它作为入门书籍很有用,但是现在我想进入高级算法,那些算法目前效果最好。我最感兴趣的是生物信息学:生物网络的聚类和生物序列中的模式发现,尤其是应用于单核苷酸多态性(SNP)分析。您能为我推荐一些评论或书籍吗?

1
当对不平衡的类进行过度/欠采样时,最大化准确性与最小化错误分类成本是否有所不同?
首先,我想描述一些数据挖掘书籍用来解释如何处理不平衡数据集的常见布局。通常,主要部分名为不平衡数据集,它们涵盖了以下两个子部分:成本敏感分类和抽样技术。 似乎面对一个罕见的类问题,您可以执行成本敏感的分类和抽样。相反,我认为,如果稀有类别也是分类的目标,并且对该类别的记录进行错误分类的代价高昂,则应该应用成本敏感的技术。 另一方面,如果分类的目标总体上具有良好的准确性,而不关注特定类别,则采样技术(例如过采样和欠采样)将很有用。 这种信念来自MetaCost的基本原理,MetaCost是使分类器对成本敏感的一种通用方法:如果一个人希望使分类器对成本敏感,以便惩罚稀有类的分类错误,则他应该对另一类进行过采样。粗略地讲,分类器尝试适应其他类别,并且变为稀有类别所特有的。 这与对稀有类进行过度采样相反,这是解决此问题的通常建议方法。稀有类别的过采样或其他类别的过采样有助于提高整体准确性。 拜托,如果您确认我的想法,那将是很棒的。 如此说来,不平衡数据集面临的常见问题是: 我是否应该尝试获取与其他稀有记录一样多的稀有记录? 我的答案是,如果您正在寻找准确性:好的。您可以执行此操作,以查找更多罕见的类示例,或者删除其他类的某些记录。 如果您使用成本敏感技术专注于稀有类,我会回答:您只能找到更多稀有类示例,但不应删除其他类的记录。在后一种情况下,您将无法让分类器适应其他类别,并且罕见的类别错误分类错误可能会增加。 你会怎么回答?

1
在SVM中解释与超平面的距离
在直观地理解SVM时,我有一些疑问。假设我们已经使用一些标准工具(例如SVMLight或LibSVM)训练了SVM模型进行分类。 当我们使用该模型对测试数据进行预测时,该模型将为每个测试点生成一个具有“ alpha”值的文件。如果alpha值为正,则测试点属于1类,否则它属于2类。现在,我们可以说具有更大“ alpha”值的测试点属于具有“较高”概率的相应类吗? 与第一个问题类似,当我们训练了SVM时。SV非常靠近超平面。那么这是否意味着SV很有可能属于该类别?我们可以将一个点属于一个类的概率与到“超平面”的距离联系起来吗?“ alpha”值代表距“超平面”的距离吗? 感谢您的输入。

1
什么时候要使用AdaBoost?
正如我听说AdaBoost分类器在工作中反复提到的那样,我想对它的工作原理以及何时使用它有更好的了解。我已经继续阅读了许多在Google上找到的关于它的论文和教程,但是分类器的某些方面仍然难以理解: 我见过的大多数教程都将AdaBoost视为找到许多分类器的最佳加权组合。这对我来说很有意义。没有意义的是AdaBoost似乎只接受一个弱学习者的实现(即MALLET)。这有什么意义?如果只有一个分类器提供给AdaBoost,是否不应该返回权重为1的相同分类器?它如何从第一个分类器产生新的分类器? 何时真正要使用AdaBoost?我已经读过它应该是最好的即用型分类器,但是当我尝试提升MaxEnt分类器时,我得到的f分数达到70%以上,AdaBoost谋杀了它,并给了我f-得分大约是15%,而召回率却很高,而精度却很低。所以现在我很困惑。我什么时候想使用AdaBoost?如果可能的话,我正在寻找更多的直观而不是严格的统计答案。

2
机器学习时间序列的排序
在阅读了RJ Hyndman的关于交叉验证和时间序列的“研究技巧”之一之后,我回到了我的一个老问题,我将在这里尝试表述。这个想法是,在分类或回归问题中,数据的排序并不重要,因此可以使用k倍交叉验证。另一方面,在时间序列中,数据的排序显然非常重要。 但是,当使用机器学习模型预测时间序列时,一种常见的策略是将序列为一组“输入-输出向量”,该向量在时间具有形式。{y1,...,yT}{y1,...,yT}\{y_1, ..., y_T\}ttt(yt−n+1,...,yt−1,yt;yt+1)(yt−n+1,...,yt−1,yt;yt+1)(y_{t-n+1}, ..., y_{t-1}, y_{t}; y_{t+1}) 现在,一旦完成了重塑,我们是否可以认为不需要对所得的“输入-输出向量”进行排序?例如,如果我们使用具有n个输入的前馈神经网络来“学习”这些数据,则无论我们向模型显示矢量的顺序如何,我们都将获得相同的结果。因此,我们是否可以使用k-fold交叉验证的标准方法,而无需每次都重新拟合模型?

2
当选择的特征数量减少时,为什么随机森林OOB误差估计会提高?
我在微阵列数据集上应用随机森林算法作为分类器,将其分为两个已知的具有1000多个特征的组。初次运行后,我查看了这些功能的重要性,并使用5个,10个和20个最重要的功能再次运行树算法。 我发现,对于所有功能,前10位和前20位的OOB错误率估计为1.19%,而前5位功能的错误率为0%。 这对我来说似乎是违反直觉的,因此我想知道您是否可以解释我是否缺少某些内容或使用了错误的指标。 我在ntree = 1000,nodesize = 1和mtry = sqrt(n)中使用R中的randomForest包


1
插入符glmnet与cv.glmnet
在glmnet内部caret使用搜索最佳lambda和cv.glmnet执行相同任务的比较中似乎有很多困惑。 提出了许多问题,例如: 分类模型train.glmnet与cv.glmnet? 在插入符号中使用glmnet的正确方法是什么? 使用`caret`交叉验证`glmnet` 但是没有给出答案,这可能是由于问题的可重复性。在第一个问题之后,我给出了一个非常相似的示例,但确实存在相同的问题:为什么估计的lambda如此不同? library(caret) library(glmnet) set.seed(849) training <- twoClassSim(50, linearVars = 2) set.seed(849) testing <- twoClassSim(500, linearVars = 2) trainX <- training[, -ncol(training)] testX <- testing[, -ncol(testing)] trainY <- training$Class # Using glmnet to directly perform CV set.seed(849) cvob1=cv.glmnet(x=as.matrix(trainX),y=trainY,family="binomial",alpha=1, type.measure="auc", nfolds = 3,lambda = seq(0.001,0.1,by = 0.001),standardize=FALSE) …

4
机器学习算法的预测间隔
我想知道以下所述的过程是否有效/可以接受,并且有任何合理的理由。 想法:监督学习算法不假设数据的基础结构/分布。最终,他们输出点估计。我希望以某种方式量化估计的不确定性。现在,ML模型的建立过程本质上是随机的(例如,在用于超参数调整的交叉验证的采样中以及在随机GBM中的子采样中),因此建模管道将为每个具有不同种子的相同预测变量提供不同的输出。我的想法(天真)是一遍又一遍地运行此过程以得出预测的分布,我希望可以对预测的不确定性做出陈述。 如果重要的话,我使用的数据集通常很小(约200行)。 这有意义吗? 需要说明的是,我实际上并没有按照传统意义引导数据(即,我没有对数据进行重新采样)。每次迭代都使用相同的数据集,我只是利用xval和随机GBM中的随机性。

3
如何为纵向大数据建模?
传统上,我们使用混合模型来建模纵向数据,例如: id obs age treatment_lvl yield 1 0 11 M 0.2 1 1 11.5 M 0.5 1 2 12 L 0.6 2 0 17 H 1.2 2 1 18 M 0.9 我们可以假设不同人的随机截距或斜率。但是,我要解决的问题将涉及庞大的数据集(数百万人,每天进行1个月的观测,即每个人将进行30次观测),目前我不知道是否有软件包可以完成此级别的数据。 我可以使用spark / mahout,但它们不提供混合模型,我的问题是,是否仍然可以修改数据以便可以使用RandomForest或SVM对此数据集进行建模? 我可以利用任何功能工程技术来帮助RF / SVM解决自相关问题吗? 非常感谢! 一些潜在的方法,但我没有时间把它们写成火花 如何将随机效果纳入randomForest 具有纵向数据的SVM回归

1
GAM vs LOESS vs花键
语境:我想提请在不出现参数散点图一条线,所以我使用geom_smooth()的ggplot中R。它会自动返回geom_smooth: method="auto" and size of largest group is >=1000, so using gam with formula: y ~ s(x, bs = "cs"). Use 'method = x' to change the smoothing method.我收集的GAM代表广义加性模型,并使用三次样条曲线。 以下看法正确吗? 黄土以特定值估算响应。 样条曲线是连接适合数据的不同分段函数(构成广义加性模型)的近似值,三次样条曲线是此处使用的特定样条曲线类型。 最后,何时应使用花键,何时应使用LOESS?

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.