交易中的机器学习:理论、模型、实践和算法交易 - 页 2312 1...230523062307230823092310231123122313231423152316231723182319...3399 新评论 Maxim Dmitrievsky 2021.01.23 13:50 #23111 elibrarius: 看过。不是这样的。它只是把3x3矩阵改写成了变量。但新的分量向量没有被计算出来。 其结果是为每个组件得到6行(根据这个例子)。 真的迷路了,不记得了......有一个PCA版本的机器人,如果我找到它,我以后会把它贴出来。 Forester 2021.01.23 14:11 #23112 Maxim Dmitrievsky: 真的迷路了,不记得了......有一个PCA版本的机器人,如果我能找到它,我稍后会发布它。 在整个磁盘上搜索PCABuildBasis这个词可能会有帮助)如果该文件没有被删除。 Maxim Dmitrievsky 2021.01.23 14:15 #23113 elibrarius: 在整个驱动器中搜索PCABuildBasis这个词可能有帮助)如果文件没有被删除。 云中的一切档案都是旧的 这里有一段来自pca或lda的代码(后者被注释掉了)。 //+------------------------------------------------------------------+ //|Use LDA for inputs transforming | //+------------------------------------------------------------------+ CRLAgent::PCApermutation(void) { int inf; double s2s[]; //CLDA::FisherLDAN(RDFPM,RDFPM.Size(),features,2,inf,LDAmatrix); CPCAnalysis::PCABuildBasis(RDFPM,RDFPM.Size(),features,inf,s2s,LDAmatrix); RDFPMPCA.Resize(RDFPM.Size(),this.features+2); ArrayResize(PCAarr,features*features); int ldaind=0; for(int f=0;f<this.features;f++) for(int i=0;i<this.features;i++) { PCAarr[ldaind] = LDAmatrix[i][f]; ldaind++; } for(int s=0; s<this.features; s++) { for(int i=0;i<RDFPMPCA.Size();i++) { double feach = 0; for(int f=0;f<this.features;f++) feach+=RDFPM[i][f]*LDAmatrix[f][s]; RDFPMPCA[i].Set(s,feach); RDFPMPCA[i].Set(this.features,RDFPM[i][this.features]); RDFPMPCA[i].Set(this.features+1,RDFPM[i][this.features+1]); } } CDForest::DFBuildRandomDecisionForest(RDFPMPCA,RDFPMPCA.Size(),this.features,2,trees,r,RDFinfo,RDF,RDF_report); RDF_report.m_oobrelclserror = CDForest::DFRelClsError(RDF,RDFPMPCA,RDFPMPCA.Size()); ArrayResize(permutated,this.features); double buypass[]; ArrayResize(buypass,RDFPMPCA.Size()); for(int s=0; s<this.features; s++) { for(int i=0;i<RDFPMPCA.Size();i++) { buypass[i] = RDFPMPCA[i][s]; RDFPMPCA[i].Set(s,rand()/32767.0); } permutated[s][1] = s; double err = CDForest::DFRelClsError(RDF,RDFPMPCA,RDFPMPCA.Size()); if(err == 0.0) err = 0.001; permutated[s][0] = RDF_report.m_oobrelclserror / err; for(int i=0;i<RDFPMPCA.Size();i++) RDFPMPCA[i].Set(s,buypass[i]); } ArraySort(permutated); ArrayResize(permutated,this.bf_n); RDFPM.Resize(RDFPMPCA.Size(),this.bf_n+2); for(int s=0; s<this.bf_n; s++) { for(int i=0;i<RDFPMPCA.Size();i++) { RDFPM[i].Set(s,RDFPMPCA[i][(int)permutated[s][1]]); RDFPM[i].Set(bf_n,RDFPMPCA[i][this.features]); RDFPM[i].Set(bf_n+1,RDFPMPCA[i][this.features+1]); } } CDForest::DFBuildRandomDecisionForest(RDFPM,RDFPM.Size(),this.bf_n,2,trees,r,RDFinfo,RDF,RDF_report); } Maxim Dmitrievsky 2021.01.23 14:22 #23114 这里有更多 //+------------------------------------------------------------------+ //|Use LDA for inputs transforming | //+------------------------------------------------------------------+ CRLAgent::LDA(void) { CDecisionForest mRDF; CDFReport mRep; int inf; double s2s[]; //CLDA::FisherLDAN(RDFpolicyMatrix,RDFpolicyMatrix.Size(),features,2,inf,LDAmatrix); CPCAnalysis::PCABuildBasis(RDFpolicyMatrix,RDFpolicyMatrix.Size(),features,inf,s2s,LDAmatrix); RDFpolicyMatrix2.Resize(RDFpolicyMatrix.Size(),bestfeatures_num+2); ArrayResize(LDAarr,features*features); int ldaind=0; for(int f=0;f<this.features;f++) for(int i=0;i<this.features;i++){ LDAarr[ldaind] = LDAmatrix[i][f]; ldaind++; } for(int s=0; s<this.bestfeatures_num; s++) { for(int i=0;i<RDFpolicyMatrix.Size();i++) { double feach = 0; for(int f=0;f<this.features;f++) { feach+=RDFpolicyMatrix[i][f]*LDAmatrix[f][s]; } RDFpolicyMatrix2[i].Set(s,feach); RDFpolicyMatrix2[i].Set(bestfeatures_num,RDFpolicyMatrix[i][this.features]); RDFpolicyMatrix2[i].Set(bestfeatures_num+1,RDFpolicyMatrix[i][this.features+1]); } } CDForest::DFBuildRandomDecisionForest(RDFpolicyMatrix2,RDFpolicyMatrix2.Size(),bestfeatures_num,2,trees,r,RDFinfo,RDF,RDF_report); } Forester 2021.01.23 14:31 #23115 谢谢你,我将研究一下。 Maxim Dmitrievsky 2021.01.23 14:34 #23116 elibrarius: 谢谢,我会研究的。 这里有点。性状乘以矢量系数 然后对森林中的成分进行训练 for(int s=0; s<this.bestfeatures_num; s++) { for(int i=0;i<RDFpolicyMatrix.Size();i++) { double feach = 0; for(int f=0;f<this.features;f++) { feach+=RDFpolicyMatrix[i][f]*LDAmatrix[f][s]; } RDFpolicyMatrix2[i].Set(s,feach); RDFpolicyMatrix2[i].Set(bestfeatures_num,RDFpolicyMatrix[i][this.features]); RDFpolicyMatrix2[i].Set(bestfeatures_num+1,RDFpolicyMatrix[i][this.features+1]); } } cemal 2021.01.24 12:29 #23117 路德维希有深度学习模型,不需要写代码,不需要编程技能就可以教模型:https://ludwig-ai.github.io/ludwig-docs/ Ludwig - code-free deep learning toolbox ludwig-ai.github.io Ludwig is a toolbox for training and testing deep learning models without writing code Forester 2021.01.24 14:04 #23118 Maxim Dmitrievsky: 像这样。性状乘以矢量系数for(int s=0; s<this.bestfeatures_num; s++) { for(int i=0;i<RDFpolicyMatrix.Size();i++) { double feach = 0; for(int f=0;f<this.features;f++) { feach+=RDFpolicyMatrix[i][f]*LDAmatrix[f][s]; } RDFpolicyMatrix2[i].Set(s,feach); RDFpolicyMatrix2[i].Set(bestfeatures_num,RDFpolicyMatrix[i][this.features]); RDFpolicyMatrix2[i].Set(bestfeatures_num+1,RDFpolicyMatrix[i][this.features+1]); } }然后在组件上训练森林。 1) 意思不是很清楚。我们应该输入100列原始数据,而不是100列已经失去了一些信息的主成分。 与其说是100列的输入数据,不如说是增加了10-20个主成分,这样就可以用训练的速度来补偿信息的损失。 2)我仍然没有找到如何将每1000行10列的GC从每1000行100列变成10列。 我们需要从前10个组件中生成1000行。带有组件的矩阵将是100x100。 Индикаторы: Portfolio Optimizer 2018.12.01www.mql5.com Portfolio Optimizer: Автор: transcendreamer... mytarmailS 2021.01.24 15:12 #23119 elibrarius: 1)这一点不太清楚。我们输入的不是100列的原始数据,而是 100列的主成分,其中有些信息会丢失 。 与其说是100列输入数据,不如说是10-20个主成分,信息的损失将被训练的速度所补偿。 )))) 如果你在100个性状中做了100个成分,那么信息损失的百分比是0.0%。 你可能想研究一些理论)。 Forester 2021.01.24 16:22 #23120 mytarmailS: ))))如果在一百个标志中,有一百个部件,信息损失的百分比是0.0%。你应该研究一下这个理论)) 在理论上,是的。 但仍然是这样,行动的意义何在?如果没有速度上的提高,而是减慢,对于一个额外的操作。 我需要在100分中得到10分。有解决方案吗? 1...230523062307230823092310231123122313231423152316231723182319...3399 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
看过。不是这样的。它只是把3x3矩阵改写成了变量。但新的分量向量没有被计算出来。
其结果是为每个组件得到6行(根据这个例子)。
真的迷路了,不记得了......有一个PCA版本的机器人,如果我找到它,我以后会把它贴出来。
真的迷路了,不记得了......有一个PCA版本的机器人,如果我能找到它,我稍后会发布它。
在整个驱动器中搜索PCABuildBasis这个词可能有帮助)如果文件没有被删除。
云中的一切档案都是旧的
这里有一段来自pca或lda的代码(后者被注释掉了)。
这里有更多
谢谢你,我将研究一下。
谢谢,我会研究的。
这里有点。性状乘以矢量系数
然后对森林中的成分进行训练
像这样。性状乘以矢量系数
然后在组件上训练森林。
1) 意思不是很清楚。我们应该输入100列原始数据,而不是100列已经失去了一些信息的主成分。
与其说是100列的输入数据,不如说是增加了10-20个主成分,这样就可以用训练的速度来补偿信息的损失。
2)我仍然没有找到如何将每1000行10列的GC从每1000行100列变成10列。
我们需要从前10个组件中生成1000行。带有组件的矩阵将是100x100。
1)这一点不太清楚。我们输入的不是100列的原始数据,而是 100列的主成分,其中有些信息会丢失 。
与其说是100列输入数据,不如说是10-20个主成分,信息的损失将被训练的速度所补偿。
))))
如果你在100个性状中做了100个成分,那么信息损失的百分比是0.0%。
你可能想研究一些理论)。
))))
如果在一百个标志中,有一百个部件,信息损失的百分比是0.0%。
你应该研究一下这个理论))
但仍然是这样,行动的意义何在?如果没有速度上的提高,而是减慢,对于一个额外的操作。
我需要在100分中得到10分。有解决方案吗?