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

 
交易员博士

遗传学试图为有限数量的函数调用 找到正确的参数。通过缩小这个参数的变体数量(30而不是200),遗传学家可以更详细地调查从1到30的区域。而且正确地说,如果你知道寻找某些模型参数的具体限制,最好直接把这些信息交给遗传学家。


或者说。

在代码中加入这一行(绿色的),那么遗传学家将在种群中拥有500个个体,而不是默认的50个。而且她将能够测试10倍的模型(但脚本运行时间也将增加10倍),能够尽可能多地尝试模型参数的组合。即使有最大的200个神经元,我认为遗传学也可以用0.85找到更好的结果,或者至少接近它。

我无法理解你在说什么遗传学。ELM中没有遗传学。看看ELM理论或elmNN包的描述就知道了。

"ELM算法是SLFN(单隐层前馈网络)的另一种训练方法,它不需要任何迭代调整,也不需要设置参数,如学习率、动量等,这些都是目前传统基于梯度的学习算法(如反向传播)的问题。

用ELM训练SLFN是一个三步骤的学习模型。

给定一个训练集P = {(xi , ti )|xi E R , ti E R , i = 1, ..., N},隐藏节点输出函数G(a, b, x),以及隐藏节点数量L

1)随机分配隐藏节点参数(ai , bi ),i = 1,..., L.这意味着输入层和隐藏层之间以及隐藏层的弧形权重是随机产生的。

2) 使用其中一个可用的激活函数计算隐藏层输出矩阵H。

3) 计算输出权重B:B = ginv(H) %*% T(矩阵乘法),其中T是训练集的目标输出。

ginv(H)是隐层输出矩阵H的Moore-Penrose广义反值,由MASS包函数ginv计算。

一旦SLFN被训练出来,一般测试集的输出就是简单的Y = H %*% B(矩阵乘法)。突出的特点。

- ELM的学习速度非常快。

- 与传统的基于梯度的学习算法不同,ELM只对可微分的激活函数起作用,而对所有有界的非恒定的片状连续激活函数起作用。

- 与传统的基于梯度的学习算法面临的几个问题,如局部最小值、不适当的学习率和过度拟合等不同,ELM倾向于直接达到解决方案,没有这些琐碎的问题。

- ELM学习算法看起来比其他流行的学习算法简单得多:神经网络和支持向量机"。

即使有少量的神经元,也不可能获得两个完全相同的神经网络。你对将连续输出转移到一个类别的阈值的定义是不正确的。阈值=0.5是最坏的情况。可接受=中位数/但也有更高级的。

祝好运

 
马克西姆-德米特里耶夫斯基

哦,这将是值得一读的东西,我已经忘记了它是什么。或者说,忘记了GBM和XGboost之间的区别......或者不知道

gbm可以提升任何模型,xgb似乎是在树上。

我知道,提升比装袋稍好,通过装袋建立森林。但我不知道再培训的情况。


重新启动与模型类型 无关。

一个模型在两种情况下被重新训练。

  • 噪声预测器的存在是一个主要问题,只有通过拟合预测器才能解决。
  • 模型的过度拟合--对其参数的 "优化",通常是在一个小样本上。这种过拟合的问题可以通过开发者的经验来解决。

 
桑桑尼茨-弗门科

SanSanych,不要再歇斯底里了

 
弗拉基米尔-佩雷文科

我无法理解你在说什么遗传学。ELM中不存在遗传学。看看ELM理论或elmNN包的描述就知道了。

"ELM算法是SLFN(单隐层前馈网络)的另一种训练方法,它不需要任何迭代调整,也不需要设置参数,如学习率、动量等,这些都是目前传统基于梯度的学习算法(如反向传播)的问题。

用ELM训练SLFN是一个三步骤的学习模型。

给定一个训练集P = {(xi , ti )|xi E R , ti E R , i = 1, ..., N},隐藏节点输出函数G(a, b, x),以及隐藏节点数量L

1)随机分配隐藏节点参数(ai , bi ),i = 1,..., L.这意味着输入层和隐藏层之间以及隐藏层的弧形权重是随机产生的。

2) 使用其中一个可用的激活函数计算隐藏层输出矩阵H。

3) 计算输出权重B:B = ginv(H) %*% T(矩阵乘法),其中T是训练集的目标输出。

ginv(H)是隐层输出矩阵H的Moore-Penrose广义反值,由MASS包函数ginv计算。

一旦SLFN被训练出来,一般测试集的输出就是简单的Y = H %*% B(矩阵乘法)。突出的特点。

- ELM的学习速度非常快。

- 与传统的基于梯度的学习算法不同,ELM只对可微分的激活函数起作用,而对所有有界的非恒定的片状连续激活函数起作用。

- 与传统的基于梯度的学习算法面临的几个问题,如局部最小值、不适当的学习率和过度拟合等不同,ELM倾向于直接达到解决方案,没有这些琐碎的问题。

- ELM学习算法看起来比其他流行的学习算法简单得多:神经网络和支持向量机"。

即使有少量的神经元,也不可能获得两个完全相同的神经网络。你错误地定义了将连续输出转移到一个类别的阈值。阈值=0.5是最坏的情况。可接受=中位数/但也有更高级的。

祝好运

在我的小型训练文件中,训练课程之间的匹配度是100%。

 

你在什么时间段内倾倒数据?

我有2年的差距和15秒的数据差异。预测因素。30个自然数和1000多个以"(double)(val1 < val2) "格式生成的。

起初我也认为应该减少预测器的数量,但实践表明,多多益善。

当然,2年内有1000个预测器,就有大约3GB的容量。用R来做这样的量并不严重。

Python在数据挖掘方面击败了R,因为有Cython和Jython,它们可以插入TensorFlow、Spark、MXNet等项目

 
交易员博士

遗传学试图为有限数量的函数调用 找到正确的参数。通过缩小这个参数的变体数量(30而不是200),遗传学家可以更详细地调查从1到30的区域。而正确的做法是,如果你知道寻找某些模型参数的具体限制,最好马上把这些信息交给遗传学家。


或者说。

在代码中加入这一行(绿色的),那么遗传学家将在种群中拥有500个个体,而不是默认的50个。而且她将能够测试10倍的模型(但脚本运行时间也将增加10倍),能够尽可能多地尝试模型参数的组合。即使最大的神经元数量为200个,我认为遗传学也能用0.85找到更好的结果,或者至少接近它。

谢谢!!!!它确实有了很大的改进。好吧,让我们看看情况如何......最主要的是要稳定地赚取...

 
弗拉基米尔-佩雷文科

我不明白你说的是什么遗传学。

它就在我一百页前给米哈伊尔看的R脚本中。遗传算法 正在通过elmnn的参数(激活函数、gpsh颗粒、隐藏神经元的数量)。遗传学的健身函数使用这些参数训练一个elmnn模型的委员会,通过kfold等进行评估。

我自己写了这个脚本,当时我受到你关于elmnn和贝叶斯优化的文章的启发。但我已经实施了遗传学,而不是baes,这种方式工作起来更快,而且委员会的估计是根据我的品味做出的。

 
桑桑尼茨-弗门科

该模型在两种情况下被重新训练。

  • 噪声预测器的存在是一个主要问题,只能通过选择预测器来解决。

这个问题不只是针对你,--针对所有人。

在实践中,情况就是这样,即如果有噪声预测器,NS不能脱离50-55%。如果你把它捡起来,它甚至可以发出70%。

但为什么会这样呢?
1)那么,NS在训练过程中应该自动为噪声预测器选择接近0的权重(相当于把它们排除在选择之外)。我们在本支部开始时的问题中看到了这一点。
2)如果不通过训练来低估权重,那么至少辍学应该把它们筛掉......

 
交易员博士

这是在R脚本中,我在大约一百页前给迈克尔看的。遗传算法 尝试elmnn的参数(激活函数,gpsh颗粒,隐藏神经元的数量)。在遗传学的健身功能中,一个elmnn模型的委员会使用这些参数进行训练,通过kfold等估计。

把它复制到你的博客,也许别人会需要它。在这里寻找东西是不现实的。
 
elibrarius

这个问题不只是针对你,--针对所有人。

在实践中是这样的,也就是说,如果有噪声预测器,那么NS不能脱离50-55%。如果你拿起它,它甚至可以发出70%。

但为什么会这样呢?
1)那么,NS在训练过程中应该自动为噪声预测器选择接近0的权重(相当于把它们排除在选择之外)。我们在本支部开始时的问题中看到了这一点。
2)如果不通过训练来低估重量,那么至少辍学应该把他们筛选出来......

仍然有一个额外的维度,你必须以某种方式画一条曲线通过它,也许会有很大的误差

相反,辍学会增加误差,不是吗?