交易中的机器学习:理论、模型、实践和算法交易 - 页 2697 1...269026912692269326942695269626972698269927002701270227032704...3399 新评论 Renat Fatkhullin 2022.08.22 05:50 #26961 Roman #:请解释如何使用损失函数 如何使用目标函数进行最小化?第二个问题。 在 Matlab 中,函数 fminsearch() 使用 Nelder-Mead 算法。ENUM_LOSS_FUNCTION 中没有这种算法。 我们能指望添加这种算法吗? 训练神经网络的任务是找到一种能使训练样本误差最小的算法,为此需要使用损失函数。损失 方法用于计算偏差,您可以指定ENUM_LOSS_FUNCTION 枚举的 14 种类型中的一种 。 获得的偏差值随后将用于完善神经网络的参数,这需要使用衍生法(Derivative method),它可以计算激活函数的导数值,并将其写入传递的向量/矩阵中。 由于可以扩展枚举功能,我们可以根据需要添加新的算法。 Roman 2022.08.22 06:13 #26962 Renat Fatkhullin #:训练神经网络的任务是找到一种算法,使训练样本的误差最小,为此需要使用损失函数。 要计算偏差,需要使用损失 方法,您可以指定 14 种ENUM_LOSS_FUNCTION 枚举类型中的一种 。 获得的偏差值将用于完善神经网络的参数,使用Derivative 方法计算激活函数的导数值,并将其写入传递的向量/矩阵中。由于可以扩展枚举功能,我们可以根据需要添加新的算法。 我是通过 MAPE 的例子 弄明白的。 我以为这是一个能使目标函数最小化的损失函数。而这只是一个度量计算。 vector Forecast = {28.252177870295327, 1.386017247821653, 1.321279511381957}; vector Fact = {45.979999999999997, 1.710000000000000, 1.340000000000000}; double MAPE = Forecast.Loss(Fact,LOSS_MAPE); Print(DoubleToString(MAPE,2) + " %"); 19.63 % 这在代码中也是一样的 vector Forecast = {28.252177870295327, 1.386017247821653, 1.321279511381957}; vector Fact = {45.979999999999997, 1.710000000000000, 1.340000000000000}; vector loss = {0.,0.,0.}; for(int i=0; i<3; i++) loss[i] = fabs(Forecast[i] - Fact[i]) / Fact[i]; double MAPE = loss.Mean()*100; Print(DoubleToString(MAPE,2) + " %"); 19.63 % 然后是对文档描述的 疑问。 描述中是否有错误? 也许更正确的说法是: 以 MSE、MAE 等指标 计算损失值? 毕竟,最小化损失的函数应该由您自己编写。 这里的描述有些奇怪。 Документация по MQL5: Методы матриц и векторов / Машинное обучение / Loss www.mql5.com Loss - Машинное обучение - Методы матриц и векторов - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Maxim Dmitrievsky 2022.08.22 08:40 #26963 Aleksey Vyazmikin #:寻找同伴,踏上一段有趣而刺激的未知旅程,寻找神秘的预言/特征/迹象。我有一张寻找它们的地图,需要有人来设置陷阱,思考这些奇妙现象的习性和光环。旅途并不轻松,漫长但令人兴奋,我相信我们不会没有战利品!如果您有兴趣--请提问! 在我们之前,一切都已经被发明出来了,所以我想直接跳上火车。现在,我们将在 metatrader 中获得神经网络,然后就可以放松一下了。一般来说,我们可以买入天然气期货,然后卖出。 Aleksey Vyazmikin 2022.08.22 11:57 #26964 Maxim Dmitrievsky #: 所以,一切都已经在我们面前被发明了,所以我想直接跳上火车 也许已经发明了,但显然不是在开放源代码的表面上。 为了搜索和选择预测因子,我正在开发一种系统方法,即对预测因子进行分类,这些预测因子主要基于指标数据。我希望能从代码库中筛选出有趣的东西。一般来说,在我的范例中有一个概念 "事件",它是可以影响价格的东西,由预测器来描述。会有不同类型的事件,例如 "价格突破水平线"(由指标生成),这些事件的描述由预测器负责,包括时间、事件的历史、事件的相对性(归一化)--坐标系也将被选择。 这种方法本身是可行的,它可以选择有趣的变体,但我们需要生成这些变体。 我正在寻找能够加快这一过程并增强批判性和创造性思维的人。 是的,不会有感兴趣的人,我会一个人慢慢地、乏味地挑选。 mytarmailS 2022.08.22 12:33 #26965 Aleksey Vyazmikin #:可能是发明的,但显然不是在公开来源的表面上。为了搜索和选择预测因子,我正在开发一种系统方法,即对预测因子进行分类,这些预测因子主要基于指标数据。我希望能从代码库中筛选出有趣的东西。一般来说,在我的范例中有一个概念 "事件",它是可以影响价格的东西,由预测器来描述。会有不同类型的事件,例如 "价格突破水平线"(由指标生成),这些事件的描述由预测器负责,包括时间、事件的历史、事件的相对性(归一化)--坐标系也将被选择。该方法本身是有效的,它允许您选择有趣的变体,但您需要生成这些变体。我正在寻找能够加快这一过程并增强批判性和创造性思维的人。是的,不会有感兴趣的人,我会慢慢地、乏味地挑选一个。 我已经创建了所有这些 Maxim Kuznetsov 2022.08.22 12:59 #26966 Aleksey Vyazmikin #:可能是发明的,但显然不是在公开来源的表面上。为了搜索和选择预测因子,我正在开发一种系统方法,即对预测因子进行分类,这些预测因子主要基于指标数据。我希望能从代码库中筛选出有趣的东西。一般来说,在我的范例中有一个概念 "事件",它是可以影响价格的东西,由预测器来描述。会有不同类型的事件,例如 "价格突破水平线"(由指标生成),这些事件的描述由预测器负责,包括时间、事件的历史、事件的相对性(归一化)--坐标系也将被选择。该方法本身是有效的,它允许您选择有趣的变体,但您需要生成这些变体。我正在寻找能够加快这一过程并增强批判性和创造性思维的人。是的,不会有感兴趣的人,我会一个人慢慢地、乏味地挑选。 别忘了加上实时时间......否则你会和其他人一样:-) 例如 2 个:y=abs(sin(x))*sin(x) ;频率为 1 天和 1 周;最好提前计算相位移动 因为指标和直线交叉的概率取决于它们。 顺便说一句,傅里叶在这里是有害的,令人讨厌 :-) Aleksey Vyazmikin 2022.08.22 13:06 #26967 mytarmailS #: 我已经创造了这一切。 你真厉害 你发现了很多有趣的、可持续的东西吗? 解决方案在终端工作的问题解决了吗? Aleksey Vyazmikin 2022.08.22 13:07 #26968 Maxim Kuznetsov #:别忘了加上实时时间......否则你就会和其他人一样:-)a la 2 pcs:y=abs(sin(x))*sin(x) ;频率为 1 天和 1 周;相移最好提前计算出来因为指标和直线交叉的概率取决于它们。顺便说一句,傅里叶是有害的,这里的人讨厌傅里叶:-) 在我的幻想中,我并不聪明....。实时 "是什么意思? mytarmailS 2022.08.22 13:24 #26969 Aleksey Vyazmikin #:0)你真是个好孩子!1)你发现了很多有趣的、可持续发展的东西吗?2)终端解决方案的工作问题解决了吗? 0)是的,我就是这样......)1) 我还没有部署整个系统、1.存在维度诅咒和组合爆炸的问题,但理论上是可以解决的,有利于准确性....。2.2. 搜索算法很慢,很多东西需要用 C 或 C++ 来写,我不知道怎么做。3.即使是优化算法也无法在大日期中搜索到模式,你需要在本地搜索模式....。但总的来说,如果行不通,就什么都行不通....2) 是的。顺便说一句,"事件 "一词可以用 "规则 "代替。 Maxim Kuznetsov 2022.08.22 13:31 #26970 Aleksey Vyazmikin #:在我的幻想中,我并不聪明.....。什么叫 "实时"? 价格穿越任何一条线(以及触发指标信号)的概率取决于一天中的时间和星期。 有必要在 NN 和 DL 中添加周期时间。最简单的方法是正弦波。依赖关系是非线性的,因此只需将其平方,并考虑符号。将有两个额外的输入负责时间参考。午夜/正午在任何地方都是不同的,因此最好提前计算并给出相位。这是模型与现实世界及其时间的联系。 如果没有明确给出这些时间,那么在我看来,要么你会得到一个南瓜,要么整个模型会自己尝试获取并输出这些时间。 1...269026912692269326942695269626972698269927002701270227032704...3399 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
请解释如何使用损失函数
如何使用目标函数进行最小化?
第二个问题。
在 Matlab 中,函数 fminsearch() 使用 Nelder-Mead 算法。
ENUM_LOSS_FUNCTION 中没有这种算法。
我们能指望添加这种算法吗?
训练神经网络的任务是找到一种能使训练样本误差最小的算法,为此需要使用损失函数。损失 方法用于计算偏差,您可以指定ENUM_LOSS_FUNCTION 枚举的 14 种类型中的一种 。
获得的偏差值随后将用于完善神经网络的参数,这需要使用衍生法(Derivative method),它可以计算激活函数的导数值,并将其写入传递的向量/矩阵中。
由于可以扩展枚举功能,我们可以根据需要添加新的算法。
训练神经网络的任务是找到一种算法,使训练样本的误差最小,为此需要使用损失函数。 要计算偏差,需要使用损失 方法,您可以指定 14 种ENUM_LOSS_FUNCTION 枚举类型中的一种 。
获得的偏差值将用于完善神经网络的参数,使用Derivative 方法计算激活函数的导数值,并将其写入传递的向量/矩阵中。
由于可以扩展枚举功能,我们可以根据需要添加新的算法。
我是通过 MAPE 的例子 弄明白的。
我以为这是一个能使目标函数最小化的损失函数。
而这只是一个度量计算。
19.63 %
这在代码中也是一样的
19.63 %
然后是对文档描述的 疑问。
描述中是否有错误?
也许更正确的说法是:
以 MSE、MAE 等指标 计算损失值?
毕竟,最小化损失的函数应该由您自己编写。
这里的描述有些奇怪。
寻找同伴,踏上一段有趣而刺激的未知旅程,寻找神秘的预言/特征/迹象。
我有一张寻找它们的地图,需要有人来设置陷阱,思考这些奇妙现象的习性和光环。
旅途并不轻松,漫长但令人兴奋,我相信我们不会没有战利品!
如果您有兴趣--请提问!
所以,一切都已经在我们面前被发明了,所以我想直接跳上火车
也许已经发明了,但显然不是在开放源代码的表面上。
为了搜索和选择预测因子,我正在开发一种系统方法,即对预测因子进行分类,这些预测因子主要基于指标数据。我希望能从代码库中筛选出有趣的东西。一般来说,在我的范例中有一个概念 "事件",它是可以影响价格的东西,由预测器来描述。会有不同类型的事件,例如 "价格突破水平线"(由指标生成),这些事件的描述由预测器负责,包括时间、事件的历史、事件的相对性(归一化)--坐标系也将被选择。
这种方法本身是可行的,它可以选择有趣的变体,但我们需要生成这些变体。
我正在寻找能够加快这一过程并增强批判性和创造性思维的人。
是的,不会有感兴趣的人,我会一个人慢慢地、乏味地挑选。
可能是发明的,但显然不是在公开来源的表面上。
为了搜索和选择预测因子,我正在开发一种系统方法,即对预测因子进行分类,这些预测因子主要基于指标数据。我希望能从代码库中筛选出有趣的东西。一般来说,在我的范例中有一个概念 "事件",它是可以影响价格的东西,由预测器来描述。会有不同类型的事件,例如 "价格突破水平线"(由指标生成),这些事件的描述由预测器负责,包括时间、事件的历史、事件的相对性(归一化)--坐标系也将被选择。
该方法本身是有效的,它允许您选择有趣的变体,但您需要生成这些变体。
我正在寻找能够加快这一过程并增强批判性和创造性思维的人。
是的,不会有感兴趣的人,我会慢慢地、乏味地挑选一个。
可能是发明的,但显然不是在公开来源的表面上。
为了搜索和选择预测因子,我正在开发一种系统方法,即对预测因子进行分类,这些预测因子主要基于指标数据。我希望能从代码库中筛选出有趣的东西。一般来说,在我的范例中有一个概念 "事件",它是可以影响价格的东西,由预测器来描述。会有不同类型的事件,例如 "价格突破水平线"(由指标生成),这些事件的描述由预测器负责,包括时间、事件的历史、事件的相对性(归一化)--坐标系也将被选择。
该方法本身是有效的,它允许您选择有趣的变体,但您需要生成这些变体。
我正在寻找能够加快这一过程并增强批判性和创造性思维的人。
是的,不会有感兴趣的人,我会一个人慢慢地、乏味地挑选。
别忘了加上实时时间......否则你会和其他人一样:-)
例如 2 个:y=abs(sin(x))*sin(x) ;频率为 1 天和 1 周;最好提前计算相位移动
因为指标和直线交叉的概率取决于它们。
顺便说一句,傅里叶在这里是有害的,令人讨厌 :-)
我已经创造了这一切。
你真厉害
你发现了很多有趣的、可持续的东西吗?
解决方案在终端工作的问题解决了吗?
别忘了加上实时时间......否则你就会和其他人一样:-)
a la 2 pcs:y=abs(sin(x))*sin(x) ;频率为 1 天和 1 周;相移最好提前计算出来
因为指标和直线交叉的概率取决于它们。
顺便说一句,傅里叶是有害的,这里的人讨厌傅里叶:-)
在我的幻想中,我并不聪明....。实时 "是什么意思?
0)你真是个好孩子!
1)你发现了很多有趣的、可持续发展的东西吗?
2)终端解决方案的工作问题解决了吗?
在我的幻想中,我并不聪明.....。什么叫 "实时"?
价格穿越任何一条线(以及触发指标信号)的概率取决于一天中的时间和星期。
有必要在 NN 和 DL 中添加周期时间。最简单的方法是正弦波。依赖关系是非线性的,因此只需将其平方,并考虑符号。将有两个额外的输入负责时间参考。午夜/正午在任何地方都是不同的,因此最好提前计算并给出相位。这是模型与现实世界及其时间的联系。
如果没有明确给出这些时间,那么在我看来,要么你会得到一个南瓜,要么整个模型会自己尝试获取并输出这些时间。