Skip to content

Commit

Permalink
MIRA, marche moins bien que le perceptron
Browse files Browse the repository at this point in the history
  • Loading branch information
Vincent Maioli committed Jun 30, 2011
1 parent 9a954da commit 361537b
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 10 deletions.
4 changes: 2 additions & 2 deletions src/fmesure.c
Expand Up @@ -68,7 +68,7 @@ double fmesure(size_t* out, const seq_t* seq, size_t Y ) {
double v = precision + recall;
double u = (v) ? (2 * precision * recall) / (Y *v) : 0;

printf("f = %g ",u);
//printf("f = %g ",u);
return u;
}

Expand Down Expand Up @@ -108,6 +108,6 @@ double nfmesure(size_t N,size_t n, size_t out[][N], const seq_t* seq, size_t Y )
double v = precision + recall;
double u = (v) ? (2 * precision * recall) / (Y *v) : 0;

printf("f = %g ",u);
//printf("f = %g ",u);
return u;
}
14 changes: 7 additions & 7 deletions src/mira.c
Expand Up @@ -108,10 +108,10 @@ void trn_mira(mdl_t *mdl) {

//printf("On itère sur les n-best pour calculer les deltas correspondant à chacun");
for (int n =0; n < N; n++) {
printf("\n sp = %d ",sp);
//printf("\n sp = %d ",sp);
featCount[n] = 0;
featSum[n] = 0;
printf("featSum = %g ",featSum[n]);
//printf("featSum = %g ",featSum[n]);
delta[n] = 0;
alpha[n] = 0;

Expand All @@ -128,7 +128,7 @@ void trn_mira(mdl_t *mdl) {
featCount[n]++;
}
}
printf("featCount = %lu ", featCount[n]);
//printf("featCount = %lu ", featCount[n]);
if (featCount[n]) {
//On calcule delta pour chaque hypothèse en cours
//L = 1 - fmesure(out, pos, T)
Expand Down Expand Up @@ -165,8 +165,8 @@ void trn_mira(mdl_t *mdl) {
delta[n] = (1 - nfmesure(N,n,*out_2d,seq,Y) - featSum[n]) / (double) featCount[n];

} ;
printf("featsum = %f ", featSum[n]);
printf("delta = %f ", delta[n]);
//printf("featsum = %f ", featSum[n]);
//printf("delta = %f ", delta[n]);
};

//printf(" On calcule les \alpha en faisant en sorte que la somme reste inférieure à C");
Expand All @@ -184,14 +184,14 @@ void trn_mira(mdl_t *mdl) {
break;
}
alpha[n] += b;
printf("Somme : %f ",alphaSum);
//printf("Somme : %f ",alphaSum);
}
rough[n] = 1;
nTmp++;
}
};

for(int n= 0;n< N;n++) printf("alpha(%d) = %g, alphaSum = %g ", n, alpha[n],alphaSum);
//for(int n= 0;n< N;n++) printf("alpha(%d) = %g, alphaSum = %g ", n, alpha[n],alphaSum);

/* while(alphaSum < C) {
int n = rand() % N;
Expand Down
2 changes: 1 addition & 1 deletion test
@@ -1,2 +1,2 @@
#!/bin/sh
make && ./wapiti train -a mira -n 1 -C 1 -p dat/pattern.txt -d dat/test.txt dat/train.txt model
make && ./wapiti train -a mira -n 10 -C 1 -p dat/nppattern.txt -d dat/nptest.txt dat/nptrain.txt model
2 changes: 2 additions & 0 deletions test_perceptron
@@ -0,0 +1,2 @@
#!/bin/sh
make && ./wapiti train -a perceptron -C 1 -p dat/chpattern.txt -d dat/chtest.txt dat/chtrain.txt model

0 comments on commit 361537b

Please sign in to comment.