Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementation details: (Win & Dynp) vs Binseg #11

Open
theovincent opened this issue Mar 27, 2022 · 0 comments
Open

Implementation details: (Win & Dynp) vs Binseg #11

theovincent opened this issue Mar 27, 2022 · 0 comments

Comments

@theovincent
Copy link

Hi, I am currently working on the paper that you published with this repository.

By looking at your code, I realized that you are treating the search methods Win and Dynp differently than Binseg. Indeed, for Win and Dynp you are simply scaling the scores and aggregating them. On the other hand, for Binseg you are first taking the opposite of the scores before scaling and aggregating them, and then you are taking the opposite of the output again. This can be seen here in binsegensembling.py:

gain, bkp = max(np.array([(-1)*selected_aggregation(self.ensembling)(np.array(scores)*(-1)), np.array(gain_list)[:,1]]).T, key=lambda x: x[0])

This is understandable since this is a gain and the score for Dynp is a cost. By taking the opposite you are dealing with the same kind of scores. My problem is that for Win, the score is also a gain but you are not doing the same "trick" than for Binseg. Indeed, here, in windowensembling.py the opposite of the score is not taken:

self.score = selected_aggregation(self.ensembling)(np.array(score))

I would personnaly suggest to do the same trick for Win than for Binseg. By not doing the "trick", it is as if you would have taken other aggregation functions. For example, for the min aggregation function, it is as if you would have taken the max aggregation function.

I was curious to see what we could get with this idea. This is why I implemented the "trick" for the search method Binseg also. I tried the max aggregation function for the three search methods. The results are available in the forked repository.

ps: I had a lot of fun working on your paper. Thanks a lot for your work and your interesting ideas :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant