-
Notifications
You must be signed in to change notification settings - Fork 0
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
do sensitivities make sense in a tree? #23
base: mk-gen-substs
Are you sure you want to change the base?
Conversation
(might be better as dense vectors)
this ain't super good but let's keep it open for comments. You can e.g. nicely get the image of sensitivity to stuff by looking at scalar products, like this: st.parameters.something' * st.fluxes.someflux |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ah yeah, this should end up as some sort of nested tree: e.g.
sens_tree = (
flux1 = (
flux1 = 1,
flux2 = 0.2,
...
),
flux2 = (
flux1 = -0.2,
flux2 = 1.0,
...
)
hmm maybe a matrix does actually make more sense, especially for gradient descent purposes... but there must be a better way of keeping track of which sensitivity a number in the matrix corresponds to? |
the GD is doing precisely this: parameters.XXX +=
(sens_tree.parameters.XXX' * sens_tree.fluxes.someflux) *
(measured.fluxes.someflux - solution.fluxes.someflux) if you get the (EDIT: as a bonus you can descend also on "indirect" variables for free, such as the total enzyme capacity etc) |
Design: The sensitivity tree would be better as dense, but pruned to just contain the interesting stuff (measured values etc). |
This now works nicely: julia> sensitivity_tree.fluxes.TALA' * sensitivity_tree.parameters.PGM
0.007331400905132218
julia> sensitivity_tree.isozyme_forward_amounts.PGL.isozyme_1' * sensitivity_tree.parameters.GND
0.008737521507653744 we might actually want to soak the sensitivity tree creation into the package? |
(might be better as dense vectors)