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

 

你可以走抛出相同输入的路线。对于每一列的相互关系,计算出平均偏差。这样就可以找到两个最相似的列,其中一个可以被丢弃。其中,可以通过所有栏目的平均偏差来计算,等等。

 
交易员博士

从视觉上看,所有的砝码都被分为两组。如果你想按照重要/不重要来划分,那么5,11,7,1,3,9明显突出,这一组我认为足够了。

这就是正确的解决方案!

我不知道NS能做到这一点。这对我来说是一个启示。

事实证明,NS可以模拟相互作用。

我欠你一个奖。谢谢你!

 

诚然,国家统计局并没有给出一个关于模式类型的想法。也就是说,该模型的可解释性是有问题的。

我将在后面发布创建数据集的逻辑,并谈谈依赖关系的类型。

 
Dr.Trader:

从视觉上看,所有的砝码都被分为两组。如果你想按照重要/不重要来划分,那么5,11,7,1,3,9明显突出,这一组我认为足够了。

如果你有兴趣,可以尝试从数据集中删除任何重要的预测因子,然后重新训练NS,并输出带有权重的图片。我认为会有一个惊喜。

这已经是任务之外的事情了。为了发展这个主题。

 
Alexey Burnakov:

如果你有兴趣,可以尝试从数据集中删除任何一个重要的预测因子,重新训练NS,并显示权重的图片。我认为会有一个惊喜。

这已经是不可能的事了。为了发展这个主题。

炉子是室内的一个非常重要的部分,从这个意义上说,你应该总是从不它跳舞。

窦建德博士

你和NS的例子只是说NS更喜欢你提到的预测因素,而不喜欢其他。做这种事情的算法一抓一大把。

如果这样的选择是在与目标变量相关的、有预测能力的、有预测能力的预测因子中进行的,那么所有这些都是好的。

在我的实践中,在一组任意的预测因子中,总有一些预测因子与目标变量没有关系(或关系很弱)。因此,隐患在于,给定一些这样的噪声预测器或一些随机选择的值,大多数算法,包括NS,都无法在噪声预测器中区分出有信息的预测器。

因此,"炉火纯青 "被定义为一种行动,它首先从无望的、嘈杂的预测器中清除初始预测器集合,然后...

PS。

我没有用NS工作过,但随机森林 在有一定量的噪声预测器的情况下,往往会根据其内置算法丢弃有信息的预测器。因此,在噪音方面,它们具有非凡的性能,其误差小于5%!

SARP

噪声预测器的存在必然导致对模型的重新训练,这意味着对现实世界的所有影响。

 
桑桑尼茨-弗门科

炉子是室内的一个非常重要的部分,从这个意义上说,你应该总是围绕着它跳舞。

窦建德博士

你和NS的例子只是说NS更喜欢你提到的预测因素,而不喜欢其他。做这种事情的算法一抓一大把。

如果这样的选择是在与目标变量相关的、有预测能力的、有预测能力的预测因子中进行的,那么所有这些都是好的。

在我的实践中,在一组任意的预测因子中,总有一些预测因子与目标变量没有关系(或关系很弱)。因此,隐患在于,给定一些这样的噪声预测器或随机选择它们的值,大多数算法,包括NS,都不能在噪声预测器中区分出有信息的预测器。

因此,"炉火纯青 "被定义为一种行动,它首先从无望的、嘈杂的预测器中清除初始预测器集,然后...

PS。

我没有用NS工作过,但随机森林在有一定量的噪声预测器的情况下,往往会根据其内置算法丢弃有信息的预测器。因此,在噪音方面,它们具有非凡的性能,其误差小于5%!

SARP

噪声预测器的存在必然导致对模型的重新训练,这意味着对真正的

NS做得很好。

随机森林无法处理这样一个与一组变量相互作用的任务。而每个预测因子的个别显著性都有意为零。

 

很高兴它成功了 :), 谢谢你的奖品。

我试着去掉一个输入(4种情况)--如果我去掉input_5或input_9,那么其他的都不能工作,同样配置的神经元甚至不能学习到小于50%的误差,在更大的情况下开始只是给出0或1。

如果我删除input_20,那么一切都会好起来,结果是正确的。但有趣的是,如果我删除输入_15,那么神经元甚至不能正常训练,问题与我删除输入_5或输入_9时一样。我没有进一步测试它。

我附上了训练神经元的R代码文件,如果你有兴趣的话。基本上只是从Rattle的日志中稍作修改的代码。

附加的文件:
r_nnet.zip  3 kb
 
Dr.Trader:

很高兴它成功了 :), 谢谢你的奖品。

我试着去掉一个输入(4种情况)--如果我去掉input_5或input_9,那么其他的都不能工作,同样配置的神经元甚至不能学习到小于50%的误差,在更大的情况下开始只是给出0或1。

如果我删除input_20,那么一切都会好起来,结果是正确的。但有趣的是,如果我删除输入_15,那么神经元甚至不能正常训练,问题与我删除输入_5或输入_9时一样。我没有进一步测试它。

我附上了训练神经元的R代码文件,如果你有兴趣的话。基本上只是从Rattle的日志中稍作修改的代码。

把你的卡号或电子钱包号发给我
 

那么,一般来说,这个过程是很清楚的,神经元只是试图将现有的数据纳入一些逻辑中,如果一些输入没有带来新的信息,它就将其影响降到最低,这样就不会造成伤害。我同意,它不太可能找到复杂的投入的相互关系。

另外,R中的nnet包也不完全是一个传统的神经网络。从描述来看,它应该使用二阶学习。通常在神经元中,权重是根据导数变化的,但这里是根据导数的导数变化的。而在训练过程中,会建立一种 "Hessian "矩阵,一次性存储所有训练实例的所有权重的重要数据。他们说这非常酷,这个包一定很强。https://ru.wikipedia.org/wiki/Алгоритм_Бройдена_-_Флетчера_-_Гольдфарба_-_Шанно - 我不明白,但那是如果有人是数学家,那么就会想出办法。

Алгоритм Бройдена — Флетчера — Гольдфарба — Шанно — Википедия
  • ru.wikipedia.org
Алгоритм Бройдена — Флетчера — Гольдфарба — Шанно (BFGS) (англ. Broyden — Fletcher — Goldfarb — Shanno algorithm) — итерационный метод численной оптимизации, предназначенный для нахождения локального максимума/минимума нелинейного функционала без ограничений. BFGS — один из наиболее широко применяемых квазиньютоновских методов. В...
 
关于奇怪的结果。
如果你去掉任何重要的预测因素,任何东西都不会起作用。这就是互动。

每个预测器都没有说输出的状态。因此,考虑个人重要性的算法是行不通的。另外,决策树和随机森林几乎肯定不会起作用,因为它们也是单独看待预测因素的。但是,由数以万计的树木组成的巨大森林可以意外地将重要的预测因素合并到一个分支中,一切都会顺利进行。但这是不可能的。

为什么不呢?

交互是指信息从许多预测器一起流向输出。依赖性算法是这样的:重要预测因子的总和可以是50/50的偶数或奇数。如果是偶数,则输出为1,否则为0。这就是为什么至少去除一个重要的预测因子会打破依赖关系。而增加额外的预测因素会使其变得嘈杂,从而使统计检验显示没有意义。

我真的很惊讶,传统的NS能够发现这样的关系。现在我开始相信MLP检测有意义输入的能力。耶。

总而言之,你一针见血地指出了这一点。如果你试图训练一个随机森林,几乎肯定不会成功。

我也很确定,逻辑 回归会失败。

简而言之,你需要随机列举不同的预测器子集,并为这个问题提供合适的健身函数。或NS )))

我稍后将公布我的方法。

也许其他人会尝试另一种方法来选择预测器,然后我们就可以比较结果了。