文章 "您应当知道的 MQL5 向导技术(第 15 部分):协同牛顿多项式的支持向量机" 新评论 MetaQuotes 2025.01.06 14:54 新文章 您应当知道的 MQL5 向导技术(第 15 部分):协同牛顿多项式的支持向量机已发布: 支持向量机基于预定义的类,按探索增加数据维度的效果进行数据分类。这是一种监督学习方法,鉴于其与多维数据打交道的潜力,它相当复杂。至于本文,我们会研究进行价格行为分类时,如何运用牛顿多项式更有效地做到非常基本的 2-维数据实现。 支持向量机(SVM)是一种机器学习分类算法。分类不同于我们之前在这里和这里文章中研究过的聚类,两者之间的主要区别在于,分类在有监督的情况下将数据分成预定义的集合,而聚类则寻求在无监督的情况下判定这些集合的内容和数量。 简言之,如果要向数据添加维度,SVM 通过参考每个数据点与所有其它数据点的关系,来进行数据分类。如果能够定义一个超平面来清晰地剖析预定义的数据集,则分类就能达成。 所参考的数据集往往拥有多个维度,正是这一属性令 SVM 成为针对此类数据集进行分类的非常强力的工具,尤其若是每个集合中的数字很小、或数据集合的相对比例偏斜的情况下。拥有 2 个以上维度的 SVM 的实现源代码非常复杂,并且 python 或 C# 中的用例往往都一直使用函数库,以至于用户只需输入最少的代码即可获得结果。 高维数据倾向于曲线拟合训练数据,这令其在样本数据以外不太可靠,这是 SVM 的一个主要缺陷。另一方面,低维数据能做到更好的交叉验证,并有更多常见的用例。 至于本文,我们将研究一个非常基础的 SVM 案例,它处理 2-维数据(也称为线性 SVM),而完整的实现源代码也会在不引用任何第三方函数库的情况下分享。通常,分离超平面来自以下两种方法之一:多项式内核、或径向内核。后者更复杂,这里不予讨论,故我们只与前者打交道,即多项式内核。 作者:Stephen Njuki SergioTForex 2024.04.11 11:05 #1 我对这篇文章很感兴趣,但是在编译时我遇到了这个问题: file 'C:\Users\sxxxxx\AppData\Roaming\MetaQuotes\Terminal\4B1CE69F57770545xxxxxxxx2C\MQL5\Include\my\Cnewton.mqh' not found Gamuchirai Zororo Ndawana 2024.04.11 11:32 #2 SergioTForex #: 我对这篇文章很感兴趣,但是在编译时我遇到了这个问题: file 'C:\Users\sxxxxx\AppData\Roaming\MetaQuotes\Terminal\4B1CE69F57770545xxxxxxxx2C\MQL5\Include\my\Cnewton.mqh' not found 是的,兄弟没有包含那个库。我一直在读他的一些文章,但我还没有完全读完这篇文章。不过据我所知,他把以前讨论过的工作延续了下来。所以,如果你按时间顺序往回看,我相信你会发现这门课的。 SergioTForex 2024.04.16 09:21 #3 我没有找到Cnewton.mqh Milan Zivanovic 2024.04.16 10:31 #4 SergioTForex #: 我没有找到Cnewton.mqh 有这个名字的类(在以前的文章中),但在本例中不一样,无法使用和编译。 这篇文章的作者应该把这个库包括进来,这样我们就可以使用它了。 Stephen Njuki 2024.04.16 12:57 #5 Milan Zivanovic #:有一个同名的类(在以前的文章中),但在本例中不一样,无法使用和编译。这篇文章的作者应该把这个库包括进来,这样我们就可以使用它了。 您好、 附件已添加,文章已发送出版。 应该很快就会更新。 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
新文章 您应当知道的 MQL5 向导技术(第 15 部分):协同牛顿多项式的支持向量机已发布:
支持向量机基于预定义的类,按探索增加数据维度的效果进行数据分类。这是一种监督学习方法,鉴于其与多维数据打交道的潜力,它相当复杂。至于本文,我们会研究进行价格行为分类时,如何运用牛顿多项式更有效地做到非常基本的 2-维数据实现。
支持向量机(SVM)是一种机器学习分类算法。分类不同于我们之前在这里和这里文章中研究过的聚类,两者之间的主要区别在于,分类在有监督的情况下将数据分成预定义的集合,而聚类则寻求在无监督的情况下判定这些集合的内容和数量。
简言之,如果要向数据添加维度,SVM 通过参考每个数据点与所有其它数据点的关系,来进行数据分类。如果能够定义一个超平面来清晰地剖析预定义的数据集,则分类就能达成。
所参考的数据集往往拥有多个维度,正是这一属性令 SVM 成为针对此类数据集进行分类的非常强力的工具,尤其若是每个集合中的数字很小、或数据集合的相对比例偏斜的情况下。拥有 2 个以上维度的 SVM 的实现源代码非常复杂,并且 python 或 C# 中的用例往往都一直使用函数库,以至于用户只需输入最少的代码即可获得结果。
高维数据倾向于曲线拟合训练数据,这令其在样本数据以外不太可靠,这是 SVM 的一个主要缺陷。另一方面,低维数据能做到更好的交叉验证,并有更多常见的用例。
至于本文,我们将研究一个非常基础的 SVM 案例,它处理 2-维数据(也称为线性 SVM),而完整的实现源代码也会在不引用任何第三方函数库的情况下分享。通常,分离超平面来自以下两种方法之一:多项式内核、或径向内核。后者更复杂,这里不予讨论,故我们只与前者打交道,即多项式内核。
作者:Stephen Njuki