Summary

  • What are Optimisers?

    Optimisers are just one specific kind of problem solving technique in the larger machine learning library.
    They are specifically designed to solve optimisation problems.

  • What is an Optimisation Problem?

    An optimisation problem is simply trying to find some set of input conditions that produce an optimal, maximal or minimal(usually minimal), outcome
    for a given function. The function can be anything really, such as a function which determines production wastage of factory given operating capacities of the machines.


    Optimisers are strategies realised in programs that will receive some input information about a specific problem and a function that tries to approximate the problem mathematically.
    Once it has this, it will create a swarm of particles and then attempt to use the swarm to search for an optimal solution.

  • What is a Particle and Why are they in a Swarm?

    A particle is just one part storage unit and one part mathematical unit. It will store however we choose to define the constraints of the problem, be it
    an array or matrices. Secondly, we will permutate these values in a way that, when we use those values in our function, we can store the "fitness" or value of the position
    defined by the mapping we have chosen. We will ultimately try to permutate the values such that we achieve a better fitness.
    A collection of particles is called a Swarm and many different optimisation strategies will try out various ways of permutating the particles to get better performance.

  • Why do we use Optimisers?

    Now we arrive at the most important part. Why use Swarm-based Optimisation methods?

    The great benefit to the swarm based method is that it can work with unknown, complex or indeterminable bounds and domains.
    This means that often, as in real-world applications, we do not really know all of the pieces of information necessary to find what is optimal.
    More frequently, the components of our system are far too complex to make use of conventional, symbolic mathematics to solve.
    Simply put, we have a problem for which we have some information but we cannot know the true bounds of the problem domain and so, cannot know where optimal
    solutions will lie and cannot find these easily.

    The Swarm method allows us to make use of simple behaviours to exploit shared and social cognitive powers, as shown by insects, to find optimal, or approximately optimal solutions.

SwarmVis - DragonBrain