文章 "您应当知道的 MQL5 向导技术(第 15 部分):协同牛顿多项式的支持向量机"

 

新文章 您应当知道的 MQL5 向导技术(第 15 部分):协同牛顿多项式的支持向量机已发布:

支持向量机基于预定义的类,按探索增加数据维度的效果进行数据分类。这是一种监督学习方法,鉴于其与多维数据打交道的潜力,它相当复杂。至于本文,我们会研究进行价格行为分类时,如何运用牛顿多项式更有效地做到非常基本的 2-维数据实现。

支持向量机(SVM)是一种机器学习分类算法。分类不同于我们之前在这里这里文章中研究过的聚类,两者之间的主要区别在于,分类在有监督的情况下将数据分成预定义的集合,而聚类则寻求在无监督的情况下判定这些集合的内容和数量。

简言之,如果要向数据添加维度,SVM 通过参考每个数据点与所有其它数据点的关系,来进行数据分类。如果能够定义一个超平面来清晰地剖析预定义的数据集,则分类就能达成。

所参考的数据集往往拥有多个维度,正是这一属性令 SVM 成为针对此类数据集进行分类的非常强力的工具,尤其若是每个集合中的数字很小、或数据集合的相对比例偏斜的情况下。拥有 2 个以上维度的 SVM 的实现源代码非常复杂,并且 python 或 C# 中的用例往往都一直使用函数库,以至于用户只需输入最少的代码即可获得结果。

高维数据倾向于曲线拟合训练数据,这令其在样本数据以外不太可靠,这是 SVM 的一个主要缺陷。另一方面,低维数据能做到更好的交叉验证,并有更多常见的用例。

至于本文,我们将研究一个非常基础的 SVM 案例,它处理 2-维数据(也称为线性 SVM),而完整的实现源代码也会在不引用任何第三方函数库的情况下分享。通常,分离超平面来自以下两种方法之一:多项式内核、或径向内核。后者更复杂,这里不予讨论,故我们只与前者打交道,即多项式内核。

作者:Stephen Njuki

 


我对这篇文章很感兴趣,但是在编译时我遇到了这个问题:


file 'C:\Users\sxxxxx\AppData\Roaming\MetaQuotes\Terminal\4B1CE69F57770545xxxxxxxx2C\MQL5\Include\my\Cnewton.mqh' not found


 
SergioTForex #:


我对这篇文章很感兴趣,但是在编译时我遇到了这个问题:


file 'C:\Users\sxxxxx\AppData\Roaming\MetaQuotes\Terminal\4B1CE69F57770545xxxxxxxx2C\MQL5\Include\my\Cnewton.mqh' not found


是的,兄弟没有包含那个库。

我一直在读他的一些文章,但我还没有完全读完这篇文章。

不过据我所知,他把以前讨论过的工作延续了下来。所以,如果你按时间顺序往回看,我相信你会发现这门课的。
 
我没有找到Cnewton.mqh
 
SergioTForex #:
我没有找到Cnewton.mqh

有这个名字的类(在以前的文章中),但在本例中不一样,无法使用和编译。

这篇文章的作者应该把这个库包括进来,这样我们就可以使用它了。

 
Milan Zivanovic #:

有一个同名的类(在以前的文章中),但在本例中不一样,无法使用和编译。

这篇文章的作者应该把这个库包括进来,这样我们就可以使用它了。

您好、

附件已添加,文章已发送出版。 应该很快就会更新。