Questions tagged «machine-learning»

建立“随经验自动改进的计算机系统”的方法和原理。

2
“意图识别器”如何工作?
亚马逊的Alexa,Nuance的Mix和Facebook的Wit.ai都使用类似的系统来指定如何将文本命令转换为意图,即计算机可以理解的东西。我不确定这的“正式”名称是什么,但我称其为“意图识别”。基本上是从“请将灯光设置为50%亮度”到的一种方法lights.setBrightness(0.50)。 指定方法的方式是,让开发人员提供与意图相关的“样本话语”列表,并可选地标记“实体”(基本参数)的位置。这是Wit.ai的示例: 我的问题是:这些系统如何工作?由于它们都非常相似,因此我认为它们都有一些开创性的成果。有谁知道它是什么? 有趣的是,Houndify使用了一个更类似于正则表达式的系统["please"] . ("activate" | "enable" | "switch on" | "turn on") . [("the" | "my")] . ("lights" | "lighting") . ["please"]。我认为这已集成到他们语音识别系统的波束搜索中,而Alexa,Wit.ai和Mix似乎具有单独的“语音”->“文本”和“文本-> Intent”系统。 编辑:我找到了一个起点- 一种通过非正式语音命令进行人机交互的机制。它使用一种称为“潜在语义分析”的方法来比较话语。我将继续阅读。至少它为我提供了引文网络的起点。 编辑2: LSA本质上是比较文本每一段中使用的单词(单词袋)。我看不到它在这种情况下如何很好地工作,因为它完全失去了单词顺序。尽管对于这些类型的命令来说,单词顺序并不重要。 编辑3: 隐藏主题马尔可夫模型看起来可能很有趣。

1
如何确定字符序列是英文单词还是杂音
您将尝试从单词列表中提取什么样的功能以供将来预测,是现有单词还是仅是字符混乱? 我在那儿找到了对任务的描述。 您必须编写一个程序来回答给定单词是否为英语。这很容易-您只需要在词典中查找单词-但有一个重要限制:您的程序不得大于64 KiB。 因此,我认为可以使用逻辑回归来解决问题。我没有大量的数据挖掘经验,但是这项任务对我来说很有趣。 谢谢。

1
在小文本文件上应用word2vec
我是word2vec的新手,请耐心等待。我有一组文本文件,每个文件包含一组1000-3000之间的推文。我选择了一个通用关键字(“ kw1”),并希望使用word2vec查找与“ kw1”语义相关的术语。例如,如果关键字是“ apple”,我希望基于输入文件看到相关的术语,例如“ ipad”,“ os”,“ mac”...。因此,对于每个输入文件,这组与“ kw1”相关的术语会有所不同,因为word2vec将在单个文件上进行训练(例如,5个输入文件,在每个文件上运行word2vec 5次)。 我的目标是在给定公共关键字(“ kw1”)的情况下,为每个输入文件查找相关术语集,该关键字将用于其他目的。 我的问题/疑问是: 将word2vec用于此类任务是否有意义?考虑到输入文件的大小,使用它在技术上是否正确? 我已经从code.google.com下载了代码:https : //code.google.com/p/word2vec/,并进行了如下尝试: time ./word2vec -train $file -output vectors.bin -cbow 1 -size 200 -window 10 -negative 25 -hs 1 -sample 1e-3 -threads 12 -binary 1 -iter 50 ./distance vectors.bin 从结果中可以看出,当我使用“距离”工具获取与“ kw1”相关的术语时,收到了很多嘈杂的术语(停用词)。因此,我确实删除了停用词和其他嘈杂的用语,例如用户提及。但是我还没有看到word2vec需要清除输入数据的地方...? 您如何选择正确的参数?当我更改“ -window”,“-iter”等参数时,我看到的结果(运行距离工具)有很大不同。我应该使用哪种技术来找到参数的正确值。(由于我将按比例放大数据集,因此对我来说,人工尝试和错误是不可能的)。


3
现场感知分解机
谁能解释现场感知因式分解机(FFM)与标准因式分解机(FM)相比如何? 标准:http : //www.ismll.uni-hildesheim.de/pub/pdfs/Rendle2010FM.pdf “现场感知”:http : //www.csie.ntu.edu.tw/~r01922136/kaggle-2014-criteo.pdf

1
R中MLE的Fisher评分v / s坐标下降
R基函数glm()将Fisher评分用于MLE,而glmnet似乎使用坐标下降法来求解相同的方程。坐标下降比费舍尔计分法更省时,因为费舍尔计分法除了计算某些其他矩阵运算外,还计算二阶导数矩阵。这使得执行成本很高,而坐标下降可以在O(np)时间内完成相同的任务。 为什么R基函数使用Fisher评分?与其他优化方法相比,此方法是否有优势?协调血统和费舍尔评分如何比较?我在这个领域比较陌生,因此任何帮助或资源都会有所帮助。

2
用稀疏数据解方程组
我正在尝试求解一组具有40个自变量(x1,...,x40)和一个因变量(y)的方程式。方程的总数(行数)为〜300,我想求解40个系数的集合,该系数最小化y和预测值之间的总平方误差。 我的问题是矩阵非常稀疏,我不知道用稀疏数据解方程组的最佳方法。数据集的示例如下所示: y x1 x2 x3 x4 x5 x6 ... x40 87169 14 0 1 0 0 2 ... 0 46449 0 0 4 0 1 4 ... 12 846449 0 0 0 0 0 3 ... 0 .... 我目前正在使用一种遗传算法来解决此问题,得出的结果大约是观察到的和预期的两个差异。 任何人都可以提出能够解决稀疏数据方程组的不同方法或技术吗?

1
连续在线集群识别的解决方案?
让我向您展示一个假设的在线集群应用程序的示例: 在时间n,点1,2,3,4被分配给蓝色群集A,点b,5,6,7被分配给红色群集B。 在时间n + 1,引入了新的点a,该点被分配给蓝色聚类A,但也导致点b也被分配给蓝色聚类A。 最后,点1,2,3,4,a,b属于A,点5,6,7属于B。对我来说,这似乎是合理的。 乍一看似乎很简单,实际上有点棘手-要跨时间步长维护标识符。让我尝试通过更多边界示例来阐明这一点: 绿点将导致两个蓝色和两个红色点合并为一个簇,我任意决定将其着色为蓝色-请注意,这已经是我在工作中的启发性思维! 做出此决定的计算机将必须使用规则。例如,当点合并到群集中时,群集的身份由多数决定。在这种情况下,我们将面临平局-蓝色和红色可能是新(此处为蓝色)群集的有效选择。 想象一下靠近绿色的第五个红色点。然后大多数将是红色(3红色vs 2蓝色),因此红色将是新群集的一个不错的选择-但这将与最右边群集的红色的更清晰选择相矛盾,因为那些群集是红色的,可能应该保持这种状态。 我觉得这很可疑。归根结底,我想这还没有完美的规则-启发式优化了某些稳定性标准。 这最终导致我的问题: 这个“问题”是否具有可以引用的名称? 是否有“标准”的解决方案,并... ...甚至可能有R包吗? 重复聚类中聚类身份的合理继承

2
用于服务器监控的神经网络
我正在寻找pybrain来接收服务器监视器警报并确定问题的根本原因。我很高兴使用监督学习对其进行培训并整理培训数据集。数据的结构如下: 服务器类型A#1 警报类型1 警报类型2 服务器类型A#2 警报类型1 警报类型2 服务器类型B#1 警报类型99 警报类型2 因此,有n台服务器,其中x个警报可以是UP或DOWN。这两个n和x是可变的。 如果服务器A1的警报1和2为DOWN,则可以说该服务器上的服务a已关闭,并且是问题的原因。 如果所有服务器上的警报1都关闭,则可以说服务a是原因。 原因可能有多种选择,因此直接分类似乎不合适。 我还想将以后的数据源绑定到网络上。例如只是ping某些外部服务的脚本。 由于进行了串行服务检查,因此可能不会立即触发所有适当的警报,因此可以在一分钟内关闭一台服务器,然后在五分钟后关闭另一台服务器,从而启动警报。 首先,我正在尝试做一些基本的事情: from pybrain.tools.shortcuts import buildNetwork from pybrain.datasets import SupervisedDataSet from pybrain.supervised.trainers import BackpropTrainer INPUTS = 2 OUTPUTS = 1 # Build network # 2 inputs, 3 hidden, 1 output neurons net = buildNetwork(INPUTS, 3, …

4
特征提取技术-汇总数据序列
我经常在建立一个模型(分类或回归)时,在该模型中有一些序列预测变量,我一直在寻找技术建议,以便以最佳方式将其总结为预测变量。 举一个具体的例子,假设正在建立一个模型来预测客户是否会在未来90天内离开公司(t和t + 90之间的任何时间;因此是二进制结果)。可用的预测因素之一是时段t_0至t-1期间客户的财务余额水平。也许这代表了前12个月的每月观测值(即12次测量值)。 我正在寻找构建本系列文章功能的方法。我使用每个客户系列的描述,例如均值,高,低,标准差,拟合OLS回归来得出趋势。是他们计算特征的其他方法吗?其他衡量变化或波动的方法吗? 加: 就像在下面的回复中提到的那样,我也考虑过(但忘记在此处添加)动态时间规整(DTW),然后在所得的距离矩阵上进行分层聚类-创建一些聚类,然后使用聚类成员身份作为功能。评分测试数据可能必须遵循对新案例和聚类质心进行DTW的过程-将新数据系列与其最接近的质心进行匹配...


4
生成分类规则的算法
因此,我们有潜力将一种机器学习应用程序很好地适合分类器所解决的传统问题领域,即,我们拥有一组属性,这些属性描述了最终出现的项目和“存储桶”。但是,不是创建模型对于诸如朴素贝叶斯(Naive Bayes)或类似分类器之类的概率,我们希望我们的输出是一组大致人类可读的规则,可由最终用户查看和修改。 关联规则学习看起来像解决这类问题的算法家族,但是这些算法似乎专注于识别功能的常见组合,并且不包括这些功能可能指向的最终存储桶的概念。例如,我们的数据集如下所示: Item A { 4-door, small, steel } => { sedan } Item B { 2-door, big, steel } => { truck } Item C { 2-door, small, steel } => { coupe } 我只想要说“如果大而有两扇门,那是一辆卡车”的规则,而不是说“如果是四成之门也很小”的规则。 我可以想到的一种解决方法是,仅使用关联规则学习算法,而忽略不涉及结束存储桶的规则,但这似乎有些hacker。我是否错过了一些算法系列?还是我一开始就错误地解决了这个问题?

3
TensorFlow是一个完整的机器学习库吗?
我是TensorFlow的新手,在使用它之前,我需要了解TensorFlow的功能和缺点。我知道这是一个深度学习框架,但除了我们可以在张量流中使用的其他机器学习算法之外。例如我们可以使用TensorFlow使用SVM还是随机森林?(我知道这听起来很疯狂) 简而言之,我想知道TensorFlow支持哪些机器学习算法。仅仅是深度学习还是更多?

2
特征缩放的后果
我目前正在使用SVM,并将训练功能扩展到[0,1]的范围。我首先调整/变换训练集,然后将相同的变换应用于测试集。例如: ### Configure transformation and apply to training set min_max_scaler = MinMaxScaler(feature_range=(0, 1)) X_train = min_max_scaler.fit_transform(X_train) ### Perform transformation on testing set X_test = min_max_scaler.transform(X_test) 假设训练集中的给定特征的范围为[0,100],而测试集中的相同特征的范围为[-10,120]。在训练集中,该特征将被适当地缩放为[0,1],而在测试集中,该特征将被缩放到最初指定的范围之外的范围,例如[-0.1,1.2]。 我想知道测试集功能超出用于训练模型的功能范围会带来什么后果?这有问题吗?

1
t-SNE Python实现:Kullback-Leibler分歧
如[1]中所述,t-SNE的工作方式是逐渐减小Kullback-Leibler(KL)散度,直到满足特定条件为止。t-SNE的创建者建议使用KL散度作为可视化的性能标准: 您可以比较t-SNE报告的Kullback-Leibler差异。十次运行t-SNE并选择KL散度最低的解决方案是非常好的[2] 我尝试了t-SNE的两种实现: python:sklearn.manifold.TSNE()。 R:tsne,来自库(tsne)。 这两种实现都在设置详细程度后为每次迭代输出错误(Kullback-Leibler散度)。但是,它们不允许用户获取此信息,这对我来说有点奇怪。 例如,代码: import numpy as np from sklearn.manifold import TSNE X = np.array([[0, 0, 0], [0, 1, 1], [1, 0, 1], [1, 1, 1]]) model = TSNE(n_components=2, verbose=2, n_iter=200) t = model.fit_transform(X) 产生: [t-SNE] Computing pairwise distances... [t-SNE] Computed conditional probabilities for sample 4 / …

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.