X-Git-Url: https://git.auder.net/images/pieces/%22%20%20%20VariantRules.getPpath%28board%5Bi%5D%5Bj%5D%29%20%20%20%22.svg?a=blobdiff_plain;f=aggexp%2Fsrc%2Few.predict_noNA.c;fp=aggexp%2Fsrc%2Few.predict_noNA.c;h=33e3b8b2dd8d59d2bd2fa9a54b0b6a4761c3bdc2;hb=57dbbab63a48b42f85e0a711640e1dd10b58f18a;hp=0000000000000000000000000000000000000000;hpb=357b8be00388d07c04c10d4bf7f503fd947185d2;p=aggexp.git diff --git a/aggexp/src/ew.predict_noNA.c b/aggexp/src/ew.predict_noNA.c new file mode 100644 index 0000000..33e3b8b --- /dev/null +++ b/aggexp/src/ew.predict_noNA.c @@ -0,0 +1,69 @@ +#include +#include + +void ew_predict_noNA(double* X, double* Y, int* n_, int* K_, double* alpha_, int* grad_, double* weight) +{ + int K = *K_; + int n = *n_; + double alpha = *alpha_; + int grad = *grad_; + + //at least two experts to combine: various inits + double invMaxError = 1. / 50; //TODO: magic number + double logK = log(K); + double initWeight = 1. / K; + for (int i=0; i 30) || (X[t*K+i] > 30 && Y[t] <= 30)) + error[i] = 1.0; + else + error[i] = 0.0; +*/ + } + } + for (int i=0; i 0 (all weights are 0 or more, sum > 0) + for (int i=0; i