交易中的机器学习:理论、模型、实践和算法交易 - 页 3022

 
Maxim Dmitrievsky #:
我们不需要那样的发展,我们需要的是一个停满雷克萨斯的车库。

不了解市场,连一包意大利面都买不到。

 
mytarmailS #:

不了解市场是什么,连一包意大利面都不会有。

FF 就是一个停满雷克萨斯的车库,我不知道还能怎么解释。
 
Maxim Dmitrievsky #:
FF是一个有雷克萨斯的车库,我不知道还能怎么解释。

我不需要向你解释,我是个大男孩。

你有你的看法,我有我的看法。

我的观点就是我的经验,你无法用言语改变它。

 
mytarmailS #:

我不用解释,我是个大男孩。

你有你的看法,我有我的看法

我的观点就是我的经验,言语无法改变。

可悲的是,这不是观点,而是事实。
你可以画一个秃头魔鬼,而不是 FF,并让它合情合理。
 
Maxim Dmitrievsky #:
可悲的是,这不是观点,而是事实。 。
你可以画一个秃头魔鬼,而不是 FF,并根据它进行调整

你甚至都没意识到你现在在说什么屁话))))

好像 mt 中的优化器不是优化器,优化的不是 FF。

 
mytarmailS #:

你甚至没有意识到你现在说的这些屁话)。

就好像 mt 中的优化器不是优化器,优化的也不是 FF。

这和 mt 有什么关系?你听说过生产优化吗?当你有真正相互依存的流程,但你需要提高效率时。

对成品模型进行 sl/tp 优化也是同样的道理。

而你却在用 FF 从垃圾堆里创造出一个秃头魔鬼。

真的,让我们结束吧,这简直是胡说八道,就好像我在跟一个小学生说话一样。
 

用于 R 的 TORCH书籍 终于出版了。

如果有未来的 DL 魔法师,那就去试试吧。

 
Rorschach #:

您尝试过这种方法 吗?(请在页面下半部查找 "模型解释 "部分)

谢谢你的链接--当我终于开始用 Python 做实验时,它会非常有用!

我想这是这本书的一种新的介绍方式吧?还有其他资料吗?

回答这个问题--在进行叶片剔除时,没有直接使用任何材料。

我没有使用决策树森林,所以原则上没有使用建议中的一些技术。不过,我也使用过类似的方法,例如,通过估算特定树叶的误差方差来确定树叶在集合中的权重。

预测因子对拆分估计的重要性在 CatBoost 中也有体现,但在梯度脉冲法中,由于树是依赖的、连续的,因此你需要调整对指标的理解。该指标本身颇具争议,因为它评估的是树的构建,而贪婪原则并不适用于所有数据。不过,我使用了 8 个样本区间内 100 个模型的平均得分来为 CatBoost 模型选择预测因子--平均而言,这种方法改善了训练结果。该实验的详细内容已在本主题中公布。

我没有在提议的版本中尝试频率相关性--我发明了自己的二进制预测因子和叶子分组方法,这种方法还可以舍弃过于相似的二进制预测因子和叶子。我认为 Python 实现应该运行得更快,因为我的算法并不是最佳的,应该进行比较才能理解。

选择变化较大的预测因子的想法似乎很好,我应该试试。但实际上,在我上面描述的实验中,我只是在最终训练中不使用这类预测因子。更好的办法是了解如何根据变量的历史行为检测其变化趋势,以及波动不可逆转地转变为预测因子概率分布平均范围变化的时刻。我们在纸上有了想法,但还需要编码。

以可视化的方式评估每个预测因子对某一行解决方案的贡献固然有趣,但对于大量的模型预测因子来说,用处不大。不过,我也做过类似的事情--我在这个主题中发布了一个群集--我按颜色突出显示了锂响应的重要性,以及模型中有多少张被用于预测每一行。结果发现,大多数叶片在模型中都不再被激活,即图案根本不会出现--很少有人会想到这一点。

我是否遗漏了那里提出的任何观点?如果有,请具体写出来--我可以描述,也可以不描述。

我不明白关于在神经网络中使用分类特征编码的想法--这里提到了过去的材料。

 
Slava #:

我明白了。损失函数对矩阵和矢量都有效。在这里我们没有完成(没有添加轴参数)

也就是说,在你的例子中,你需要逐行求解。

感谢您的关注

好的,我明白了。但是向量,尤其是 LOSS_BCE 存在一个问题:

double bce(const vector &truth, vector &pred)
{
   double sum = 0;
   pred.Clip(DBL_EPSILON, 1 - DBL_EPSILON);
   const int n = (int)truth.Size();
   for(int i = 0; i < n; ++i)
   {
      sum += truth[i] * MathLog(pred[i]) + (1 - truth[i]) * MathLog(1 - pred[i]);
   }
   return sum / -n;
}

void OnStart()
{
   vector actual_values = {0, 1, 0, 0, 0, 0};
   vector predicted_values = {.5, .7, .2, .3, .5, .6};     // 0.53984624 - keras (correct answer)
   Print(actual_values.Loss(predicted_values, LOSS_BCE));  // 0.6798329317196582 - mql5 API
   Print(bce(actual_values, predicted_values));            // 0.5398464220309535 - custom
}

API 的结果再次与预期结果不符。

 
Aleksey Vyazmikin #:

感谢您提供的链接--当我最终开始使用 Python 进行实验时,它将非常有用!

我是否认为这是本书的一种新的介绍方式?还有其他资料吗?

回答这个问题--在进行叶片选择时,没有直接使用任何东西。

我没有使用决策树森林,所以原则上没有使用建议中的一些技术。不过,我确实使用了一些类似的方法,例如,我使用对特定树叶误差方差的估计来确定树叶在集合中的权重。

预测因子对拆分估计的重要性在 CatBoost 中也有体现,但在梯度预测中,你需要调整对指标的理解,因为树是依存的、连续的。该指标本身颇具争议,因为它评估的是树的构建,而贪婪原则并不适用于所有数据。不过,我曾用 8 个样本区间内 100 个模型的平均得分来为 CatBoost 模型选择预测因子--平均而言,这种方法改善了训练结果。该实验的详细内容发表在本主题中。

我没有在提议的版本中尝试频率相关性--我发明了自己的二进制预测因子和叶子分组方法,这种方法还可以舍弃过于相似的二进制预测因子和叶子。我认为 Python 实现应该运行得更快一些,因为我的算法并不是最佳的,应该进行比较以加深理解。

选择变化较大的预测因子的想法似乎很好,我应该试试。但实际上,在我上面描述的实验中,我只是在最终训练中不使用这类预测因子。更好的办法是了解如何根据变量的历史行为检测其变化趋势,以及当波动不可逆转地转变为预测因子概率分布平均范围变化的时刻。我已经在纸上有了想法,但还需要编码。

以可视化的形式评估每个预测因子对特定行的解决方案的贡献很有趣,但对于大量的模型预测因子来说用处不大。不过,我也做过类似的工作--我在这个主题中发布了一个群组--我通过颜色和模型中用于预测每一行的叶片数量来突出显示锂响应的重要性。结果发现,大多数叶片在模型中停止了激活,即图案根本不再出现--很少有人会想到这一点。

我是否漏掉了那里提出的任何想法?如果有,请具体写出来--我会描述它们或不描述它们。

我不明白关于在神经网络中使用分类特征编码的想法--这里提到了过去的材料。

这很容易实现自动化,而且无需人工干预。

我在上一篇文章中展示了一种类似的算法。

从本质上讲,它是对模型错误的过滤,并将其归入一个单独的类别 "不交易",通过第二个模型更好地学习如何将谷物和谷壳分开。

而第一个模型中只保留谷物。

这与树形规则是一样的,只不过是从侧面看。但是,规则之间应该相互抢夺和比较,这样输出的结果才是精炼的 TC。

例如,从糠中选择谷粒的第一次迭代(垂直虚线左边--OOS):

这里是第 10 次迭代:


原因: