Questions tagged «machine-learning»

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


2
R中随机森林分类中一组预测变量的相对重要性
我想确定变量集对randomForestR中的分类模型的相对重要性。该importance函数MeanDecreaseGini为每个单独的预测变量提供度量标准-是否像对集合中的每个预测变量求和一样简单? 例如: # Assumes df has variables a1, a2, b1, b2, and outcome rf <- randomForest(outcome ~ ., data=df) importance(rf) # To determine whether the "a" predictors are more important than the "b"s, # can I sum the MeanDecreaseGini for a1 and a2 and compare to that of b1+b2?

2
libsvm数据格式
我正在使用libsvm(http://www.csie.ntu.edu.tw/~cjlin/libsvm/)工具进行支持向量分类。但是,我对输入数据的格式感到困惑。 从自述文件: 训练和测试数据文件的格式为: <label> <index1>:<value1> <index2>:<value2> ... . . . 每行包含一个实例,并以“ \ n”字符结尾。对于分类,<label>是指示类标签的整数(支持多类)。为了回归,<label>目标值可以是任何实数。对于一类SVM,不使用它,因此可以是任何数字。该对<index>:<value>提供一个特征(属性)值:<index>是一个从1开始的整数,<value> 是一个实数。唯一的例外是预先计算的内核, <index>从0开始;请参阅预计算内核部分。索引必须按升序排列。测试文件中的标签仅用于计算准确性或错误。如果未知,则在第一列中填入任何数字。 我有以下问题: 有什么用<index>?它有什么作用? 不同数据实例的相同索引值之间是否存在对应关系? 如果我错过/跳过两者之间的索引怎么办? 我问是因为libsvm的软件包中包含的数据文件* heart_scale *在第12行中,索引从2开始。<value>索引1 的for 是否被视为未知/丢失?注意:软件包随附的tools / checkdata.py工具表示* heart_scale *文件正确。

3
功能工程实用程序:为什么要基于现有功能创建新功能?
我经常看到人们基于机器学习问题的现有功能来创建新功能。例如,在这里:https : //triangleinequality.wordpress.com/2013/09/08/basic-feature-engineering-with-the-titanic-data/人们已经将一个人的家庭规模视为一项新功能,基于现有的功能,包括兄弟姐妹和父母的数量。 但是,这有什么意义呢?我不明白为什么创建相关的新功能很有用。独自执行此操作不是算法的工作吗?

7
推断与估计?
在机器学习的背景下,“推理”和“估计”之间有什么区别? 作为一个新手,我觉得我们可以推断随机变量并估计模型参数。我的理解正确吗? 如果没有,确切的区别是什么,我应该何时使用? 另外,“ learn”的同义词是什么?

2
监督学习,无监督学习和强化学习:工作流基础
监督学习 1)人们根据输入和输出数据构建分类器 2)使用训练数据集对分类器进行训练 3)该分类器已通过测试数据集进行了测试 4)如果输出令人满意,则进行部署 在以下情况下使用:“我知道如何对这些数据进行分类,我只需要您(分类器)对其进行分类即可。” 方法要点:分类标签或产生实数 无监督学习 1)人们根据输入数据建立算法 2)使用一个测试数据集测试该算法(该算法在其中创建分类器) 3)如果分类器令人满意,则进行部署 在以下情况下使用:“我不知道如何对这些数据进行分类,您(算法)可以为我创建分类器吗?” 方法要点:分类标签或预测(PDF) 强化学习 1)人们根据输入数据建立算法 2)该算法呈现取决于输入数据的状态,在该状态下,用户通过算法采取的行动来奖励或惩罚该算法,这种状态会随着时间的流逝而持续 3)该算法从奖励/惩罚中学习并自我更新,这继续 4)始终处于生产状态,它需要学习真实数据以能够呈现状态下的动作 在以下情况下使用:“我不知道如何对这些数据进行分类,您可以对这些数据进行分类,如果正确的话我会给您奖励,如果不正确的话我会给您惩罚。” 这是那种这些做法的流量,我听到了很多关于他们做什么,但实际和示范性的信息是令人吃惊的小!

2
卷积神经网络:输出中的中枢神经元难道不是代表过多的吗?
[这个问题也在堆栈溢出时提出] 简短的问题 我正在研究卷积神经网络,我相信这些网络不会等效地对待每个输入神经元(像素/参数)。假设我们有一个深层网络(许多层),对某些输入图像进行卷积。图像“中间”的神经元具有通往许多深层神经元的许多独特途径,这意味着中间神经元的微小变化会对输出产生强烈影响。但是,图像边缘的神经元只有途径(或取决于确切的实现方式,为1阶),这些途径中的信息会流过该图。看来这些“代表性不足”。111111 我对此感到担忧,因为对边缘神经元的辨别与网络的深度(层数)成指数关系。即使添加最大池化层也不会阻止指数增长,只有完整的连接才能使所有神经元处于平等的地位。但是,我不相信我的推理是正确的,因此我的问题是: 我对吗,这种影响发生在深度卷积网络中吗? 有没有关于这一点的理论,文献中是否曾提及过? 有办法克服这种影响吗? 因为我不确定是否可以提供足够的信息,所以我将详细说明问题说明以及为什么我认为这是一个问题。 更详细的解释 想象一下,我们有一个将图像作为输入的深度神经网络。假设我们在图像上应用了一个像素的卷积滤波器,每次我们将卷积窗口都移动4个像素。这意味着输入中的每个神经元都会将其激活发送给第2层中的16 × 16 = 265个神经元。这些神经元中的每一个都可能将其激活发送给另一个265,这样,我们的最高神经元就可以在265 2个输出神经元中表示,依此类推。64×6464×6464\times 6444416×16=26516×16=26516 \times 16 = 26522226526526526522652265^2 111 333 https://www.dropbox.com/s/7rbwv7z14j4h0jr/deep_conv_problem_stackxchange.png?dl=0 为什么这是个问题? 乍看之下,这种影响似乎并不是问题:原则上,权重应该以网络能够正常工作的方式自动调整。而且,在图像识别中,图像的边缘并不是那么重要。在日常的图像识别测试中,这种效果可能并不明显,但是由于两个原因,它仍然使我感到担忧:1.推广到其他应用程序;以及 2.在非常深的网络中出现的问题。 1.可能还有其他应用程序,例如语音或声音识别,其中最中间的神经元并不是最重要的。在这个领域中通常会应用卷积,但是我找不到任何提及我所关注的效果的论文。 1010102651026510265^{10} 现在想象一下,我们会少量扰动所有神经元。与边缘神经元相比,中枢神经元将导致输出变化更大幅度几个数量级。我相信对于一般应用程序和非常深的网络,应该找到解决问题的方法吗?

8
您会建议哪些数学主题为数据挖掘和机器学习做准备?
我正在尝试整理一门自我指导的数学课程,为学习数据挖掘和机器学习做准备。这是通过在Coursera上开始Andrew Ng的机器学习课程而激发的,并认为在继续之前我需要提高自己的数学技能。我不久前从大学毕业,所以我的代数和统计学(特别是政治科学/心理学课程)很生疏。 主题中的答案是ML的全部必备知识吗?仅建议与机器学习直接相关的书籍或课程;我已经研究了其中的一些课程和书籍,但不完全知道要研究的数学主题(例如:数学地址的哪个领域派生出方程式以“最小化成本函数”?)。建议的另一主题(技能和课程工作需要成为数据分析师)仅提及分析数据所需的各种技能。《数学家统计学导论》线程不适用,因为我还没有数学学位。一个类似的线程,数学家希望获得等同于质量统计程度的知识 有一本令人难以置信的统计书籍清单,不过我还是想从一堆生锈的代数开始着手数学,然后再往上走。 那么,对于那些从事机器学习和数据挖掘工作的人来说,您认为数学的哪些领域对您的工作至关重要?您会建议以什么顺序为数据挖掘和机器学习做准备的数学主题?这是我到目前为止的清单和顺序: 代数 前微积分 结石 线性代数 可能性 统计信息(此处有许多不同的子字段,但不知道如何进行细分) 至于数据挖掘和机器学习,通过我目前的工作,我可以访问有关网站/应用程序活动,客户/订阅交易和房地产数据(静态和时间序列)的记录。我希望将数据挖掘和机器学习应用于这些数据集。 谢谢! 编辑: 为了后代的缘故,我想为CMU的Geoffrey Gordon / Alex Smola的机器学习入门课程分享一个有用的数学自我评估。

3
如何确定多分类器的质量
给定 具有实例和类的数据集,其中每个实例恰好属于一个类xixix_iNNNxixix_iyiyiy_i 多类分类器 经过训练和测试之后,我基本上有了一张表,其中包含测试集中每个实例的真实类和预测类。因此,对于每个实例,我都有一个匹配项()或一个未命中()。yiyiy_iaiaia_ixixix_iyi=aiyi=aiy_i= a_iyi≠aiyi≠aiy_i\neq a_i 如何评估比赛的质量?问题是某些类可以具有许多成员,即,许多实例属于该类。显然,如果所有数据点的50%属于一个类,而我的最终分类器总体上是正确的50%,那么我什么也得不到。我也可以做一个琐碎的分类器,无论输入什么,它都能输出最大的分类。 是否有一种标准方法根据每个类的匹配和匹配的已知测试集结果来估计分类器的质量?区分每个特定类别的匹配率也许甚至很重要? 我能想到的最简单的方法是排除最大类的正确匹配。还有什么?

4
解析字符串的机器学习技术?
我有很多地址字符串: 1600 Pennsylvania Ave, Washington, DC 20500 USA 我想将它们解析为它们的组成部分: street: 1600 Pennsylvania Ave city: Washington province: DC postcode: 20500 country: USA 但是当然,数据是肮脏的:它来自许多国家,以多种语言编写,以不同的方式编写,包含拼写错误,丢失的片段,多余的垃圾等。 现在,我们的方法是将规则与模糊地名词典匹配结合使用,但是我们想探索机器学习技术。我们已将训练数据标记为监督学习。问题是,这是什么样的机器学习问题?它似乎并不是真正的聚类,分类或回归...。 我能想到的最接近的方法是对每个标记进行分类,但是您真的想同时对它们进行分类,以满足诸如“最多应有一个国家”的约束。确实有很多方法可以对字符串进行标记化,并且您想尝试每个字符串并选择最佳字符串。 那么:我可以探索哪些机器学习技术来解析地址?

4
类不平衡下的精确召回曲线的优化
我有一个分类任务,其中有许多预测变量(其中一个是最有参考价值的),并且我正在使用MARS模型来构造我的分类器(我对任何简单的模型都感兴趣,并且使用glms进行说明是没关系)。现在,我在训练数据中存在巨大的班级失衡(每个正样本大约有2700个负样本)。与信息检索任务类似,我更关心预测排名最高的阳性测试样本。因此,Precision Recall曲线上的性能对我很重要。 首先,我只是在训练数据上训练了模型,从而保持了班级的不平衡。我将训练有素的模型显示为红色,最重要的输入显示为蓝色。 培训不平衡数据,评估不平衡数据: 认为班级失衡会导致模型失败,因为学习排名最高的正样本是整个数据集的很小一部分,所以我对正训练点进行了升采样以获得平衡的训练数据集。当我在平衡训练集上绘制性能时,我会获得良好的性能。在PR和ROC曲线中,我训练有素的模型都比输入要好。 训练(上采样的)平衡数据,还评估(上采样的)平衡数据: 但是,如果我使用在平衡数据上训练的模型来预测原始的不平衡训练集,则PR曲线上的性能仍然很差。 培训(上采样的)平衡数据,评估原始不平衡数据: 所以我的问题是: 是由于PR曲线的可视化显示我训练的模型(红色)的性能较差,而ROC曲线却由于类的不平衡而导致性能改善的原因吗? 重采样/上采样/下采样方法能否解决此问题,从而迫使训练集中于高精度/低召回率区域? 还有其他方法可以将培训集中在高精度/低召回率区域吗?

3
R对文本分类任务的缩放程度如何?[关闭]
我试图与R同步。最终我想使用R库进行文本分类。我只是想知道人们在进行文本分类时对R的可伸缩性有何经验。 我可能会遇到高维数据(约30万维)。我正在研究使用SVM和随机森林作为分类算法。 R库会扩展到我的问题规模吗? 谢谢。 编辑1:只是为了澄清,我的数据集可能有1000-3000行(也许更多)和10个类。 编辑2:由于我是R的新手,因此我将要求海报在可能的情况下更加具体。例如,如果您建议一个工作流程/管道,请确保尽可能提及每个步骤中涉及的R库。一些额外的指针(例如示例,示例代码等)将锦上添花。 编辑3:首先,谢谢大家的评论。其次,我很抱歉,也许我应该为这个问题提供更多的背景信息。我是R的新手,但对文本分类却不太了解。我已经使用tm包对我的数据的某些部分进行了预处理(删除,删除停用词,tf-idf转换等),以使您对事物有所了解。即使只有大约200个文档,tm也是如此缓慢,以至于我担心可伸缩性。然后我开始玩FSelector,即使那真的很慢。这就是我进行操作的关键所在。 编辑4:我刚想到我有10个班级,每个班级大约有300份培训文档,实际上我是在整个培训集中构建termXdoc矩阵,从而产生了很高的维度。但是,如何将每个千分之一分类问题简化为一系列二进制分类问题呢?这将大大减少k-1步骤每一步的培训文档的数量(并因此减少维度),不是吗?那么这是一种好方法吗?与普通的多类实现相比,它的准确性如何?

6
Logistic回归和感知器之间有什么区别?
我经历安德鲁Ng的讲课笔记机器学习。 这些注释向我们介绍了逻辑回归,然后介绍了感知器。注释在描述Perceptron时说,我们只是更改了用于逻辑回归的阈值函数的定义。之后,我们可以使用Perceptron模型进行分类。 所以我的问题是-如果需要指定此参数,并且我们将Perceptron视为一种分类技术,那么逻辑回归到底是什么?是仅用于获取数据点属于其中一个类别的概率吗?


5
GBM中的交互深度是什么意思?
我对R中gbm中的交互深度参数有一个疑问。这可能是一个菜鸟问题,对此我深表歉意,但是我认为该参数表示树中终端节点的数量基本上是X方向的,预测变量之间的相互作用?只是想了解它是如何工作的。另外,如果我有一个数据集,其中包含两个不同的因子变量,而同一个数据集,则我得到的模型就完全不同了,除了将这两个因子变量合并为一个因子(例如,因子1中的X级别,因子2中的Y级别,合并变量具有X * Y因子)。后者比前者更具预测性。我曾以为,增加互动深度会促进这种关系。

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.