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

 
Mihail Marchukajtes:
Y 现在我明白了。换句话说,我们首先要训练,比如说,一个没有老师的网络。然后我们把得到的数值写入分类器的权重,然后用老师进一步训练分类器。假设我们已经收到了神经元引导的微调的权重,权重继续被优化?????换句话说,通过没有老师的预学习,我们为分类器设置初始权重,使其达到全局最小值。这就是它的工作原理吗?

"深度 "学习是有意义的,因为在反向传播过程中导数的衰减(sigmoid)/爆炸性增长(hyertangent),当层数明显多于4-5层时,这个问题被自动编码器或RBM 逐层预训练的 "拐杖 "所规避。 其本质上是进行分层的非线性特征选择(就像PCA ,只是非线性的,而且是多次的),然后可以由高层轻松处理,然后通过通常的Backprop快速微调整个系统的目标集(有一个老师)。

:https://www.youtube.com/watch?v=iowsPfk7uUY

当然,有很多 "专家 "拿着文章,在ZZ 上吃着狗肉,他们对所有情况下应该使用R 中的哪个包心知肚明,所以我在空中说,反正没人相信。深度神经网络,如CNN,当你了解它们是如何工作的时候,你不能用它们来做市场预测,因为这么大的特征层次只需要用于图片、视频和NLP,因为有一个大的层次,我们的世界是这样建立的,物体是由物体组成的,等等。与NLP 相同,因为语言是有层次的。市场上没有这样的事情,你交易的是一种时间框架,小的时间框架上发生的事情对你来说是噪音。投资者在一个时间框架内做出决定,他们不依赖于黄牛和HFTs,更不依赖于对冲者、套利者等的决定。而深层网络中的层次结构意味着一致性,小的定义大的,雪崩由雪花组成。

11. Data mining. Глубокие нейронные сети
11. Data mining. Глубокие нейронные сети
  • 2015.11.24
  • www.youtube.com
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Методы обработки больших объемов данных" (осень 2015) Лекция №11 - "Глубокие нейронные сети" Лектор ...
 
吉安尼

它看起来很酷,但价格有点贵。

1 我想在免费的东西上练习,看看它是如何在没有滞后的情况下实时工作的,而有一个演示有巨大的滞后。

2 你能简明扼要地描述一下这样的信号是如何在交易中使用的,以及MO?如果不是秘密,当重要消息发布时,你是否有时间交易,或者有人提前一秒、半秒开始冲击市场并上钩?

1 与网站配对。

2 买得比预期好,卖得比预期差。

 

"深度 "学习是有意义的,因为在反向传播过程中导数的衰减(sigmoid)/爆炸性增长(hyertangent),当层数明显多于4-5层时,这个问题被自动编码器或RBM 逐层预训练的 "拐杖 "所规避。 其本质上是进行分层的非线性特征选择(就像PCA ,只是非线性的,而且是多次的),然后可以由高层轻松处理,然后通过通常的Backprop快速微调整个系统的目标集(有一个老师)。

:https://www.youtube.com/watch?v=iowsPfk7uUY

当然,有很多 "专家 "拿着文章,在ZZ 上吃着狗肉,他们对所有情况下应该使用R 中的哪个包心知肚明,所以我在空中说,反正没人相信。深度神经网络,如CNN,当你了解它们是如何工作的时候,你不能用它们来做市场预测,因为这么大的特征层次只需要用于图片、视频和NLP,因为有一个大的层次,我们的世界是这样建立的,物体是由物体组成的,等等。与NLP 相同,因为语言是有层次的。市场上没有这样的事情,你交易的是一种时间框架,小的时间框架上发生的事情对你来说是噪音。投资者在一个时间框架内做出决定,他们不依赖于黄牛和HFTs,更不依赖于对冲者、套利者等的决定。而深网中的等级制度意味着一致性,即小的定义大的,雪花组成雪崩。

谢谢你,我一定会看视频的。但我更喜欢雷谢托夫的方法。我看到了他的文章,他详细解释了他的预测器是如何设置的,所以。我期待着重做文章的代码。那是由版主处理的。并欢迎大家参与讨论,因为我对数据准备和训练有自己的看法,在一般.....
 

"深度 "学习是有意义的,因为在反向传播过程中导数的衰减(sigmoid)/爆炸性增长(hyertangent),当层数明显多于4-5层时,这个问题被自动编码器或RBM 逐层预训练的 "拐杖 "所规避。 其本质上是进行分层的非线性特征选择(就像PCA ,只是非线性的,而且是多次的),然后可以很容易地由高层处理,然后通过通常的Backprop快速地按目标集微调整个系统(有老师)。

:https://www.youtube.com/watch?v=iowsPfk7uUY

当然,有很多 "专家 "拿着文章,在ZZ 上吃着狗肉,他们对所有情况下应该使用R 中的哪个包心知肚明,所以我在空中说,反正没人相信。深度神经网络,如CNN,当你了解它们是如何工作的时候,你不能用它们来做市场预测,因为这么大的特征层次只需要用于图片、视频和NLP,因为有一个大的层次,我们的世界是这样建立的,物体是由物体组成的,等等。与NLP 相同,因为语言是有层次的。在市场上没有这样的事情,你交易的是一种时间框架,在较小的时间框架上发生什么对你来说是噪音。投资者在一个时间框架内做出决定,他们不依赖于黄牛和HFTs,更不依赖于对冲者、套利者等的决定。而深层网络中的等级制度意味着连贯性,即小的决定大的,雪花组成雪崩。

出于某种原因,谈话不断地滑向对这种或那种模式的优点和缺点的讨论。

即使我的经验不那么丰富,模型本身对成功交易的贡献也非常小。

正是对目标及其预测因素的定义,决定了它。

关于ZZ的例子,我多次试图表明,即使像ZZ这样明显的、能说明问题的、美丽的目标变量也是不一样的,在仔细检查时有无法克服的障碍。

如果我们谈论预测因素,对我这个一生都在从事经济工作的人来说,非常明显的是:。

  • 预测器必须与目标变量相关 - 对目标变量的预测能力
  • 预测器必须领先于目标变量

如果一个人只专注于解决这两个基本面的经济和外汇预测,那么成功将只来自这两个参数。而选择与目标及其预测因子最匹配的模型只能略微提高性能,可能会对模型的寿命给出一些有效的考虑,而不需要重新训练。


我再次呼吁将重点放在目标变量上,并对这个特定的目标变量的预测因素进行论证。

PS。

进入货币对的相互关系。得到了一些令我惊讶的结果。特别是。

  • 欧元兑美元和英镑兑美元货币对相互之间没有关系。而这是在广泛公布的相关性的情况下。在这些配对上建立VAR模型是没有希望的。
  • 澳元兑美元与主要货币对一点关系都没有。

 
桑桑尼茨-弗门科

进入货币对的相互关系。得到了一些令我惊讶的结果。特别是。

  • 欧元兑美元和英镑兑美元货币对相互之间没有关系。而这是在广泛公布的相关性的情况下。在这些配对上建立VAR模型是没有希望的。
  • 澳元兑美元与主要货币对一点关系都没有。

说出这种推论的原因可能是对的
 
桑桑尼茨-弗门科

出于某种原因,谈话不断地漂移到对某些模型的优点和缺点的讨论。

尽管没有多少经验告诉我,对成功交易的贡献是非常小的。

正是对目标及其预测因素的定义,决定了它。

关于ZZ的例子,我多次试图表明,即使像ZZ这样明显的、能说明问题的、美丽的目标变量也是不一样的,在仔细检查时有无法克服的障碍。

如果我们谈论预测因素,对我这个一生都在从事经济工作的人来说,非常明显的是:。

  • 预测器应与目标变量相关 - 对目标变量的预测能力
  • 预测器必须领先于目标变量

如果一个人只专注于解决这两个基本面的经济和外汇预测,那么成功将只来自这两个参数。而选择与目标及其预测因子最匹配的模型只能略微提高性能,可能会对模型的寿命给出一些有效的考虑,而不需要重新训练。


我再次呼吁将重点放在目标变量上,并对这个特定的目标变量的预测因素进行论证。

PS。

进入货币对的相互关系。得到了一些令我惊讶的结果。特别是。

  • 欧元兑美元和英镑兑美元货币对相互之间没有关系。而这是在广泛公布的相关性的情况下。在这些配对上建立VAR模型是没有希望的。
  • 澳元兑美元与主要货币对一点关系都没有。

我同意你在这里的观点,但我想做一个更正。首先对第一点进行澄清。与目标无关,但与原因有关。也就是说,预测者发生了变化,目标也发生了变化,反之亦然。然后,第二点就简单地落空了。不需要预期。输入是输出的原因,这就足够了。再说,大家都忘了你在哪里工作。交易所的主要内容是价格。找到输入,这是价格变化的原因,任何TS,我向你保证,绝对是任何TS都会正常工作。但这是一个秘密!!!!!不要告诉任何人....你们毕竟应该读读我的文章。不要以为我没有在宣传或什么。当然,我担心只有我一个人读它:-)只是开玩笑。因此,在阅读之后,很多问题都会落空。在这里,除了人工智能本身(让我们假设你有一个网格),你需要适当地组织数据收集,小心地使用指标,以便不发生偷看,等等。我认为这篇文章显示了市场的一种做法。我曾经如此专注于网格,以至于最后交易会成为第二天性。我认为,现在有这样的专家,对他们来说,交易只是一个实验问题.....。
 
至于深度神经网络 在交易中的应用,有其合理性,但要进行的操作数量相当大,假设网络是按时钟工作的,但分析时要从分钟开始,分钟概括,然后五分钟概括,等等。IMHO
 

Mihail Marchukajtes:
我同意你在这里的观点,但我想做一个更正。首先,我想澄清第一点。不是与目标有关,而是要成为目标的原因。也就是说,预测者发生了变化,目标也发生了变化,反之亦然。然 后,第二点就简单地落空了。不需要预期。输入是输出的原因,这就足够了。再说,大家都忘了你在哪里工作。交易所的主要内容是价格。找 到导致价格变化的输入,任何TS,我向你保证,绝对是任何TS都会正常工作。

=================================================================================

这绝对是正确的观点。只是我想重新表述一下:目标应该由预测者产生。

 
mytarmailS:
尽管如此,你并没有回答如何用R实现的问题,如果我理解正确的话。

答案并不那么简单。这里有一个方法,例如,用神经元,但你需要了解神经元是如何工作的,它有哪些公式,等等。

假设有一个简单的神经元,有四个输入,隐藏层的三个感知器,和一个输出。这样一个神经元在数学上的工作方式是这样的。

#include <math.h>
double sigmoid(double x)
{
     return 1.0 / (1.0 + exp(-x));
}

double NeuralNetwork(double* input, double* bias, double* weight){
    double perc_output[3]; //временный массив для хранения промежуточных результатов каждого перцептрона

    double perc_output[0] = sigmoid(bias[0] + input[0] * weight[0] + input[1] * weight[1] + input[2] * weight[2]  + input[3] * weight[3]);
    double perc_output[1] = sigmoid(bias[1] + input[0] * weight[4] + input[1] * weight[5] + input[2] * weight[6]  + input[3] * weight[7]);
    double perc_output[2] = sigmoid(bias[2] + input[0] * weight[8] + input[1] * weight[9] + input[2] * weight[10] + input[3] * weight[11]);
    double result         = sigmoid(bias[3] + perc_output[0] * weight[12] + perc_output[1] * weight[13] + perc_output[2] * weight[14]);
    return result;
}


现在你可以拿一个有训练实例的表格,并找到每个实例的结果

double nn_input[4]; //массив со входными значениями

double nn_bias[4]; //массив сдвигов, на текущем этапе тут будут рандомные значения
double nn_weight[15]; //массив весов, на текущем этапе тут будут рандомные значения

//для всех обучающих примеров находим по очереди результат нейронки. При этом массивы nn_bias и nn_weight не должны меняться
double results[trainSampleCount];
// trainSampleCount = число обучающих примеров
for(int i=0; i<trainSampleCount; i++){
  nn_input = trainSamples[i]; //синтаксис реально не такой, нужно из обучающей таблицы взять i-тую строку и запихнуть в этот массив nn_input
  results[i] = NeuralNetwork(nn_input, nn_bias, nn_weight);
}

接下来,例如,在结果数组中绘制预测的利润,并对其进行评估。

上面的代码可以塞进优化器。优化器应该在nn_bias和nn_weight数组中找到合适的权重和偏移值。
1)根据其算法,改变nn_bias和nn_weight的值
2)找到所有训练实例的结果
3)绘制交易图
4)估计交易图,用这个估计值作为后续优化步骤的适配值
5) 重复优化算法的第1-4步,直到利润表变得可以接受为止。

这就是它的全部内容,但有一个细微的差别--我试过的那些优化器不能处理权重,它们只是在所有结果都等于0.5时找到某个局部最小值,以最小化平均误差,然后卡在那里。你需要在这里运用一些技巧,我还没有任何进一步的进展。
神经元的结构越复杂--权重就越多,优化算法就越难选择它们,在大的神经元上,它们只是停滞不前,几乎不能改善最初的结果。

 
Dr.Trader:

你必须在这里运用某种技巧。

这个技巧其实是已知的,只是我没有看到任何软件来实现它。衍生品。

神经元、平衡绘图、图形评估都是公式。因此,你可以找到nn_bias和nn_weight相对于最终估计值的导数。
在一些关于MO的培训视频中,讲师谈到了未来的新的编程语言,例如有人正试图制作一种语言,可以自动计算任何复杂公式中任何变量的导数(不是通过重新计算一个小的数值,而是通过分析)。这就是那种会有帮助的东西。

也就是说,通常采取一个训练的例子,对于每一个权重,分析地确定它对结果的改善程度,权重也相应地略微增加或减少。我们也需要这样做,但不是一次一个例子,而是针对所有的例子,导数不是针对训练结果一个一个地寻求,而是立即针对图形的最终评估。


还有一个小缺点--所有这些在这种形式下都不会对交易有帮助。我们只是调整理想图表的权重,我们会在新数据上得到100%的过度训练和暴跌。为了获得真正的利润,有必要对神经元的结构进行调整,最终它可能会成为类似卷积网络 的东西。