问题标签 [svm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
machine-learning - 实现支持向量回归的最佳 MATLAB 工具箱?
在这篇关于 SVM 的 Wikipedia 文章中,有许多链接指向支持向量机的 MATLAB 工具箱的不同实现。任何人都可以建议在速度、易用性等方面哪些是最好的?
unix - 您如何解决命名管道的问题?
我有一个二进制程序*,它获取所提供文件的内容,对其进行处理,并通过标准输出在屏幕上打印结果。对于自动化脚本,我想使用命名管道将数据发送到该程序并自己处理输出。在尝试让脚本工作后,我意识到二进制程序从命名管道接受数据存在问题。为了说明这个问题,我概述了几个使用 unix shell 的测试。
很容易证明程序通过处理实际数据文件来工作。
这将导致 output.txt 包含来自 file.txt 的已处理信息。
如本演示所示,命名管道 (pipe.txt) 的工作原理。
这将导致 output.txt 在通过管道发送后包含来自 file.txt 的数据。
当二进制程序从命名管道而不是文件读取时,事情不能正常工作。
在这种情况下,即使 cat 和 binprog 终止, output.txt 也不包含任何数据。使用 top 和 ps,我可以看到 binprog “运行”并且似乎在工作。一切都执行没有错误。
为什么在第三个示例中 binprog 没有输出?
我可以尝试哪些事情来使它正常工作?
[*] 有问题的程序是来自libsvm的 svm-scale 。我选择概括示例以保持它们的简洁。
statistics - 具有目标函数的多元映射/回归
概述
我有一个维度为 N 的“输入”的多元时间序列,我想将其映射到维度为 M 的输出时间序列,其中 M < N。输入的范围为 [0,k],输出的范围为 [0,1 ]。我们将序列中某个时间片的输入向量称为“ I[t] ”,将输出向量称为“ O[t] ”。
现在,如果我知道对<I[t], O[t]>的最佳映射,我可以使用一种标准的多元回归/训练技术(例如 NN、SVM 等)来发现映射函数。
问题
我不知道特定<I[t], O[t]>对之间的关系,而是对输出时间序列的整体适应度有所了解,即适应度由完整输出序列上的惩罚函数控制。
我想确定映射/回归函数“ f ”,其中:
这样惩罚函数 P(O) 被最小化:
[请注意,惩罚函数 P 正在将f的多次应用生成的结果系列应用于I[t]的跨时间。也就是说f是I[t]的函数,而不是整个时间序列]
I 和 O 之间的映射非常复杂,以至于我不知道哪些函数应该构成它的基础。因此,期望必须尝试许多基函数。
对解决此问题的一种方法有看法,但不希望对提案产生偏见。
想法?
algorithm - 指向一些好的 SVM 教程的指针
我一直在努力掌握支持向量机的基础知识,并下载并阅读了许多在线文章。但还是没能掌握。
我想知道,如果有一些
- 不错的教程
- 可用于理解的示例代码
或者你能想到的东西,这将使我能够轻松地学习 SVM 基础知识。
PS:我以某种方式设法学习了 PCA(主成分分析)。顺便说一句,你们会猜到我正在研究机器学习。
r - 如何在 R 中绘制 SVM 的分类图
我在 R 中有一个 SVM,现在我想绘制这台机器的分类空间。我在互联网上找到了一些例子,但我似乎无法理解它们。
我的 R 脚本如下:
我无法让 plot 命令工作。我想要一个类似这样的图表http://bm2.genes.nig.ac.jp/RGM2/R_current/library/e1071/man/images/plot.svm_001.png
language-agnostic - 支持向量机 - 分离超平面问题
从我所看到的,似乎分离超平面必须是形式
xw + b = 0。
我不太明白这个符号。据我了解,x.w
是一个内积,所以它的结果将是一个标量。你怎么能用标量 + b 来表示超平面?我对此很困惑。
此外,即使它是x + b = 0,它不是一个直接通过原点的超平面吗?据我了解,分离的超平面并不总是通过原点!
r - 帮助在 R 中对 kernlab 的 SVM 使用 predict()?
我正在尝试使用kernlab
R 包来做支持向量机(SVM)。对于我非常简单的示例,我有两条训练数据。A和B。
(A 和 B 属于类型matrix
- 它们是图的邻接矩阵。)
所以我写了一个函数,它接受 A+B 并生成一个核矩阵。
现在我使用kernlab
'sksvm
函数来生成我的预测模型。现在,我只是想让这该死的东西发挥作用——我不担心训练错误等。
那么,问题 1:我是否正确生成了我的模型?合理吗?
到现在为止还挺好。我们创建了自定义内核矩阵,然后使用该矩阵创建了 ksvm 模型。我们将训练数据标记为“1”和“-1”。
现在预测:
哦哦。这没关系。有点期待,真的。“预测”需要某种向量,而不是矩阵。
所以让我们尝试一些事情:
上面的一些测试是荒谬的,但这就是我的观点:无论我做什么,我都无法让 predict() 查看我的数据并进行预测。标量不起作用,向量不起作用。2x2 矩阵不起作用,3x3 矩阵也不起作用。
我在这里做错了什么?
(一旦我弄清楚 ksvm想要什么,那么我就可以确保我的测试数据能够以理智/合理/数学上合理的方式符合该格式。)
machine-learning - 可用的无监督分类方法
我正在做一项涉及“无监督分类”的研究。基本上我有一个 trainSet,我想以无监督的方式对 X 个类中的数据进行聚类。Idea 类似于 k-means 所做的。
比方说
Step1) featureSet 是一个 [1057x10] 矩阵,我想将它们聚类成 88 个聚类。
Step2) 使用之前计算的类来计算testData是如何分类的
问题 - 是否可以使用 SVM 或 NN 来做到这一点?还要别的吗 ?- 还有其他建议吗?
machine-learning - 实现线性二进制 SVM(支持向量机)
我想实现一个简单的 SVM 分类器,在高维二进制数据(文本)的情况下,我认为简单的线性 SVM 是最好的。自己实现它的原因基本上是我想了解它是如何工作的,所以使用库不是我想要的。
问题是大多数教程都涉及一个可以作为“二次问题”解决的方程,但它们从未展示过实际的算法!那么,您能否指出我可以学习的一个非常简单的实现,或者(更好)指向一个一直到实现细节的教程?
非常感谢!