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

 
匿名 的。

并根据需要根据矩阵维度进行转置

只需使用两个函数kohonen::classvec2classmat, kohonen::classmat2classvec。你只需将这些功能复制到自己身上,并根据需要使用它们。

> classvec2classmat
function (yvec) 
{
    if (!is.factor(yvec)) 
        yvec <- factor(yvec)
    nclasses <- nlevels(yvec)
    outmat <- matrix(0, length(yvec), nclasses)
    dimnames(outmat) <- list(NULL, levels(yvec))
    for (i in 1:nclasses) outmat[which(as.integer(yvec) == i), 
        i] <- 1
    outmat
}
> classmat2classvec
function (ymat, threshold = 0) 
{
    class.names <- dimnames(ymat)[[2]]
    if (is.null(class.names)) 
        class.names <- 1:ncol(ymat)
    classes <- apply(ymat, 1, function(x) which(x == max(x))[1])
    classes[apply(ymat, 1, max) < threshold] <- NA
    factor(class.names[classes], levels = class.names)
}

祝好运

 
elibrarius

R的另一个问题。

在一台电脑上可以,在另一台电脑上,对代码的正确性有一些增加的要求。

比如说

darch.unitFunction = linearUnit - 导致Rterm.exe崩溃

改为

darch.unitFunction ="linearUnit"

这一点在下一个错误发生之前就已经开始了。

还不得不把library(darch)改为require(darch)。

现在是学习本身让人感到无奈。

R_NN <- darch(
darch = NULL。
x = MatrixLearnX ,
y = MatrixLearnY ,
paramsList = params
)

我试过很多变种, Rterm.exe 总是 崩溃

R是否有某种错误等级控制?也许在第二台电脑上,我在每一次警告时都停下来,结果出现了错误级别的问题?

在两台电脑上,我都用默认设置安装了R,我安装了所有的软件包。
我怎样才能解决这个问题?

在一台和另一台电脑上拍下会话的快照,并进行比较。比如说

> sessionInfo()
R version 3.4.2 (2017-09-28)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1

Matrix products: default

locale:
[1] LC_COLLATE=English_United States.1252 
[2] LC_CTYPE=English_United States.1252   
[3] LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C                          
[5] LC_TIME=English_United States.1252    

attached base packages:
[1] stats     graphics  grDevices utils    
[5] datasets  methods   base     

other attached packages:
[1] kohonen_3.0.4        RevoUtils_10.0.6    
[3] RevoUtilsMath_10.0.1

loaded via a namespace (and not attached):
[1] MASS_7.3-47    compiler_3.4.2
[3] tools_3.4.2    Rcpp_0.12.13  

好运

 
弗拉基米尔-佩雷文科

在一台和另一台电脑上拍下会话的快照并进行比较。比如说

好运

不是用这种方法,但我想出了办法--更像是通过试验和错误。
谢谢你

 

顺便说一下,我见过 "硬编码 "网络这个说法。
显然,它是为了获得带有权重和偏移的函数并计算输出。

例如,如何从darch获得第一层的权重:print(NN@layers[[1]]$weights)

有没有现成的脚本来创建这样一个硬编码的函数?

 

通过R做了加密货币交易的基本功能。加密货币交易所是bittrex,曾经在那里通过了所有的检查,所以现在我可以马上检查行动中的代码。
在代码中,你应该把API_KEY和API_SECRET的值改为交易所在个人资料设置 中给你的个人值。

少用这种交换器--他们的api没有获得ohlc值的功能,ticks需要自己收集并通过它们来建立ohlc条(或从外部资源下载)。要访问api并通过它(以及通过R)进行拖拽,需要通过身份验证,并激活2fa。

也许应该找一个通过api提供ohlc的交易所,而且不需要身份验证就可以交易,所有的交易所与api的工作一般都是类似的,这个脚本可以很容易地被改造成另一个交易所。

附加的文件:
 
马克西姆-德米特里耶夫斯基

但是,是的,90%是数据挖掘10%是模型选择

+100!
 
尤里-阿索连科

因此,你很快就得有一个采矿场,用于采矿战略。


好吧,现在的情况是:我之前做的机器人在小范围内是非常酷的光学仪器,在前进的一面,它的工作是50/50,也就是说,如果市场没有变化,它就会上升,如果市场有变化,它就会下降。它可以被修改,可以挤进更多Reshetov的神经元,或者有一个基于模糊逻辑的版本,它甚至更突然,但它增加了可优化的权重......所以基本上如果我在云端训练它一天,并支付大约...我不知道...100英镑,它可能会持续很长时间并带来良好的利润,但我还没有做好心理准备进行如此长时间的训练。第二个变体是一个自我优化的系统,它还没有准备好,它可能在没有优化器的情况下重新训练自己。 我更喜欢这个变体,但现在还不清楚 :)

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

现在的情况是这样的:我之前做的机器人在小范围内是非常酷的,在远期市场上,它的作用是50/50,也就是说,如果市场没有变化,它就上升,如果有变化,它就下降。它可以被修改,可以挤进更多Reshetov的神经元,或者有一个基于模糊逻辑的版本,它甚至更突然,但它增加了可优化的权重......所以基本上如果我在云端训练它一天,并支付大约...我不知道...100英镑,它可能会持续很长时间并带来良好的利润,但我还没有做好心理准备进行如此长时间的训练。第二个选项是一个自我优化系统,它还没有准备好,它将在没有优化器的情况下重新训练自己......我更喜欢这个变体,但目前还不清楚 :)

我不明白什么是优化器?

当我听到优化器时,我对测试员-优化器MT有不好的联想。

 
尤里-阿索连科

我不明白,什么是优化器?

当我听到优化器时,我对MT测试器-优化器产生了不好的联想。


是的,为什么不是好的?MO本质上是人工智能发明之前的优化。

遗传学也是一种MO

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

是的,为什么不是好的?在人工智能被发明之前,MO本质上是优化。

遗传学也是人工智能的一部分。

优化是关于标准的。根据最大利润进行的优化并不是一个很好的标准。同时,没有理由相信它在未来会以某种方式发挥作用,我们在实践中经常看到这种情况,特别是在论坛上。