Skip to content

[ IMPROVEMENT ] Store training log within model, add criteria for early stop #49

@TheCelavi

Description

@TheCelavi

Hello,

Just playing around with this library through FFI bindings for PHP, it is awesome, thank you!

There is a small improvement which could benefit the library:

  • Training log could be stored within model as well, since training log can be introspected latter on, especially in automated systems. It would be awesome if we could introspect these logs latter on.
  • In example below, you will see how training error decreases while validation decreases as well, and in one point starts to increase (overfitting). It would be awesome if there is a possibility to have "early stop" algorithm as well. Maybe even to store embeddings with lowest validation error so they could be picked after all iterations are over.

I am not a C++ developer, so I am unable to contribute here, sorry :( I would gladly help.

What do you think, would be this possible?

iter tr_rmse va_rmse obj
0 3.2384 1.6034 8.5073e+01
1 2.9674 1.2867 7.2171e+01
2 2.2669 0.9555 4.3856e+01
3 1.7516 0.7339 2.8008e+01
4 1.3270 0.6599 1.8119e+01
5 1.0168 0.7015 1.2712e+01
6 0.7792 0.8027 9.6020e+00
7 0.6720 0.8550 8.5139e+00
8 0.5845 0.9331 7.8057e+00
9 0.5196 0.9867 7.3227e+00
10 0.4798 1.0207 7.0427e+00
11 0.4671 1.0516 6.9880e+00
12 0.4515 1.0705 6.9015e+00
13 0.4413 1.0906 6.8540e+00
14 0.4293 1.0944 6.7704e+00
15 0.4336 1.1082 6.8345e+00
16 0.4222 1.1141 6.7692e+00
17 0.4153 1.1225 6.7314e+00
18 0.4135 1.1295 6.7364e+00
19 0.4095 1.1356 6.7296e+00

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions