1

I have a sequential learning problem where I want to rank a group of jobs in each iteration--unlike conventional Bayesian approach, I am trying to find the ordering of jobs based on g(f(x)) where GP directly models f(x)--so, maximizing the posterior mean for f(x) and ranking based on that would not help since g(f(x) does not preserve the ordering, i.e if f(x1) < f(x2) then we have no idea about the ordering of g(f(x1)) and g(f(x2))--

Note that we know the functional from of g and we know that g has parameters that are input dependent-for instance, assume g(f(x1)) = a1 * f(x1) + b1 and g(f(x2)) = a2 * f(x2) + b2. It means that a1, a2, b1, b2 are different for each input but we know them beforehand and they have nothing to do with the mapping between x and f(x)--In other words, for each train input we have (a1, b1, x1, f(x1)) where f(x1) is the observed value. Now, we want to do the prediction for item (x*, a*, b*) with unknown f(x*)--Our GP (surrogate model) tries to model the mapping between x* and f(x*) but ranking should be based on g(f(x*))

so, wanted to see whether you have an idea on how we should select jobs and how we should come up with an acquisition function? thanks for your help in advance

Nazgol
  • 11

1 Answers1

0

Bayesian Optimisation for Composite Functions sounds like it should do the job.

Goal: minimise $h(x) = g(f(x))$ where $f$ is expensive to evaluate and $g$ is cheap to evaluate. For maximisation we can minimise $-h(x)$.

http://proceedings.mlr.press/v97/astudillo19a.html

jcken
  • 2,907
  • Thanks for your reply--Actually I am doing ranking of jobs and so EI does not work for me since it may suggest an input space while there is no such thing among available jobs waiting to be ranked--Generally in conventional BO, I should use GP-UCB to rank my jobs and now I am curious to know what I should use in the transformed form. – Nazgol Mar 03 '21 at 23:23
  • The UCB in "gp space" just defines an upper/lower quantile in your transformed space. Alternatively just run bo on g? – jcken Mar 03 '21 at 23:48
  • we can not model in the g space abd finds the mapping between x and g(f(x)) = (a * f(x) + b) because a and b parameters have nothing to do with x and y = f(x)--so that modeling introduces problem in prediction phase for jobs waiting to be ranked because for those jobs we get an estimate for g(x*, a, b) and we can not explicitly incorporate their corresponding a and b--note that the only unknown parameter is y = f(x) but the rank, i.e the parameter we want to optimize, is g value. I am not saying GP-UCB is a good option and I am trying to find a good acquisition to rank in g space. – Nazgol Mar 04 '21 at 00:30
  • So can you choose the values of $a$ and $b$ easily? Can we not just view them as parameters of $g(x)$ i.e. $g(x \mid a, b)$? – jcken Mar 04 '21 at 08:19
  • we do not choose "a" and "b", they are given for each x value--"a" an "b" are parameters independent of x (like some meta data for x)--we have access to f(x) for a small subset of x values--f is hard to evaluate and we model it using GP--so, our GP, models f(x) but we want to rank items based on g value--the problem is that even though GP may estimate f(x1) < f(x2) but incorporating "a" and "b" and so ranking based on g value may give you g(x2) < g(x1) --so the problem is that g may not preserve the orderings given by gp estimates – Nazgol Mar 04 '21 at 17:58
  • how do you find the a and b or are they parameters that you also want to optimise over? – jcken Mar 04 '21 at 19:19
  • for each items, parameters "a" an "b" are given and we want to optimize g over them – Nazgol Mar 04 '21 at 20:52