chengsoonong / mclass-sky

Multiclass methods for astronomical data
BSD 3-Clause "New" or "Revised" License
9 stars 4 forks source link

Generic cutting plane active learning procedure #123

Closed chengsoonong closed 8 years ago

chengsoonong commented 8 years ago

Algorithm 4 in Louche and Ralaivola, "From Cutting Planes Algorithms to Compression Schemes and Active Learning".

Use a uniformly random sample as center(C^t) for now.

See also issue #122

davidjwu commented 8 years ago

@chengsoonong I will need a means through which to sample uniformly from the current convex set, for the purposes of this issue, and to in general implement the Query function of Algorithm 4. (The Query function involves the uniform sampling of M points from the current convex set.)

In the paper the initial convex set (which therefore contains the convex set in all iterations) in which to look for the solution vector is taken to be the unit ball centered at the origin. Therefore, my strategy for sampling uniformly from the current convex set at each iteration is going to be to use a rejection sampling technique where I draw points from the unit hypercube and reject them if they do not lie in the current convex set (i.e., do not satisfy norm value less than 1 or violate at least one of the other inequalities).

This is perhaps a naive approach for sampling uniformly from the current convex set, are there any other approaches that I should consider?

davidjwu commented 8 years ago

@chengsoonong On reconsideration, the ACCPM does not make sense when the initial convex set is taken to be the unit sphere. I believe that I may simply consider a unit hypercube instead and that doing so is consistent with the exposition in the paper.

chengsoonong commented 8 years ago

Use rejection sampling with unit hypercube initialisation.

A more efficient algorithm is hit and run sampling, but I feel that it would blow the project deadline.

chengsoonong commented 8 years ago

@davidjwu I'd like to see a pull request closing this issue before you try to solve other issues.

chengsoonong commented 8 years ago

Closed by pull request #127