Mihail Marchukajtes: Y 现在我明白了。换句话说,我们首先要训练,比如说,一个没有老师的网络。然后我们把得到的数值写入分类器的权重,然后用老师进一步训练分类器。假设我们已经收到了神经元引导的微调的权重,权重继续被优化?????换句话说,通过没有老师的预学习,我们为分类器设置初始权重,使其达到全局最小值。这就是它的工作原理吗?
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Методы обработки больших объемов данных" (осень 2015) Лекция №11 - "Глубокие нейронные сети" Лектор ...
Mihail Marchukajtes: 我同意你在这里的观点,但我想做一个更正。首先,我想澄清第一点。不是与目标有关,而是要成为目标的原因。也就是说,预测者发生了变化,目标也发生了变化,反之亦然。然 后,第二点就简单地落空了。不需要预期。输入是输出的原因,这就足够了。再说,大家都忘了你在哪里工作。交易所的主要内容是价格。找 到导致价格变化的输入,任何TS,我向你保证,绝对是任何TS都会正常工作。
double NeuralNetwork(double* input, double* bias, double* weight){ double perc_output[3]; //временный массив для хранения промежуточных результатов каждого перцептрона
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); }
Y 现在我明白了。换句话说,我们首先要训练,比如说,一个没有老师的网络。然后我们把得到的数值写入分类器的权重,然后用老师进一步训练分类器。假设我们已经收到了神经元引导的微调的权重,权重继续被优化?????换句话说,通过没有老师的预学习,我们为分类器设置初始权重,使其达到全局最小值。这就是它的工作原理吗?
"深度 "学习是有意义的,因为在反向传播过程中导数的衰减(sigmoid)/爆炸性增长(hyertangent),当层数明显多于4-5层时,这个问题被自动编码器或RBM 逐层预训练的 "拐杖 "所规避。 其本质上是进行分层的非线性特征选择(就像PCA ,只是非线性的,而且是多次的),然后可以由高层轻松处理,然后通过通常的Backprop快速微调整个系统的目标集(有一个老师)。
见:https://www.youtube.com/watch?v=iowsPfk7uUY
当然,有很多 "专家 "拿着文章,在ZZ 上吃着狗肉,他们对所有情况下应该使用R 中的哪个包心知肚明,所以我在空中说,反正没人相信我。深度神经网络,如CNN,当你了解它们是如何工作的时候,你不能用它们来做市场预测,因为这么大的特征层次只需要用于图片、视频和NLP,因为有一个大的层次,我们的世界是这样建立的,物体是由物体组成的,等等。与NLP 相同,因为语言是有层次的。市场上没有这样的事情,你交易的是一种时间框架,小的时间框架上发生的事情对你来说是噪音。投资者在一个时间框架内做出决定,他们不依赖于黄牛和HFTs,更不依赖于对冲者、套利者等的决定。而深层网络中的层次结构意味着一致性,小的定义大的,雪崩由雪花组成。
它看起来很酷,但价格有点贵。
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。
进入货币对的相互关系。得到了一些令我惊讶的结果。特别是。
进入货币对的相互关系。得到了一些令我惊讶的结果。特别是。
出于某种原因,谈话不断地漂移到对某些模型的优点和缺点的讨论。
尽管没有多少经验告诉我,对成功交易的贡献是非常小的。
正是对目标及其预测因素的定义,决定了它。
关于ZZ的例子,我多次试图表明,即使像ZZ这样明显的、能说明问题的、美丽的目标变量也是不一样的,在仔细检查时有无法克服的障碍。
如果我们谈论预测因素,对我这个一生都在从事经济工作的人来说,非常明显的是:。
如果一个人只专注于解决这两个基本面的经济和外汇预测,那么成功将只来自这两个参数。而选择与目标及其预测因子最匹配的模型只能略微提高性能,可能会对模型的寿命给出一些有效的考虑,而不需要重新训练。
我再次呼吁将重点放在目标变量上,并对这个特定的目标变量的预测因素进行论证。
PS。
进入货币对的相互关系。得到了一些令我惊讶的结果。特别是。
Mihail Marchukajtes:
我同意你在这里的观点,但我想做一个更正。首先,我想澄清第一点。不是与目标有关,而是要成为目标的原因。也就是说,预测者发生了变化,目标也发生了变化,反之亦然。然 后,第二点就简单地落空了。不需要预期。输入是输出的原因,这就足够了。再说,大家都忘了你在哪里工作。交易所的主要内容是价格。找 到导致价格变化的输入,任何TS,我向你保证,绝对是任何TS都会正常工作。
=================================================================================
这绝对是正确的观点。只是我想重新表述一下:目标应该由预测者产生。
尽管如此,你并没有回答如何用R实现的问题,如果我理解正确的话。
答案并不那么简单。这里有一个方法,例如,用神经元,但你需要了解神经元是如何工作的,它有哪些公式,等等。
假设有一个简单的神经元,有四个输入,隐藏层的三个感知器,和一个输出。这样一个神经元在数学上的工作方式是这样的。
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_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时找到某个局部最小值,以最小化平均误差,然后卡在那里。你需要在这里运用一些技巧,我还没有任何进一步的进展。
神经元的结构越复杂--权重就越多,优化算法就越难选择它们,在大的神经元上,它们只是停滞不前,几乎不能改善最初的结果。
你必须在这里运用某种技巧。
这个技巧其实是已知的,只是我没有看到任何软件来实现它。衍生品。
神经元、平衡绘图、图形评估都是公式。因此,你可以找到nn_bias和nn_weight相对于最终估计值的导数。
在一些关于MO的培训视频中,讲师谈到了未来的新的编程语言,例如有人正试图制作一种语言,可以自动计算任何复杂公式中任何变量的导数(不是通过重新计算一个小的数值,而是通过分析)。这就是那种会有帮助的东西。
也就是说,通常采取一个训练的例子,对于每一个权重,分析地确定它对结果的改善程度,权重也相应地略微增加或减少。我们也需要这样做,但不是一次一个例子,而是针对所有的例子,导数不是针对训练结果一个一个地寻求,而是立即针对图形的最终评估。
还有一个小缺点--所有这些在这种形式下都不会对交易有帮助。我们只是调整理想图表的权重,我们会在新数据上得到100%的过度训练和暴跌。为了获得真正的利润,有必要对神经元的结构进行调整,最终它可能会成为类似卷积网络 的东西。