I haven't written a post in a really long time, and the reason why: I was writing my dissertation. But I'm finally done now! On the one hand, this makes me incredibly happy and relieved, but on the other hand it makes a bit sad too, because this means I'm officially not a student anymore.. I'm a bit reluctant to accept this fact, and so I have decided to not completely let go of my thesis yet and dedicate this blog post to the research I have conducted over the past three months.
"Function Approximation and Solution of Differential Equations Using Particle Swarm Neural Networks". That's what my thesis is about. Don't worry if you don't understand a word in that title. To be honest, I had no idea what function approximation was about or why anyone would want to do it either before I started. And the same goes for Particle Swarm Neural Networks. But now I suppose I'm a bit of an expert so I'll try my best and explain what I did.
Functions are used for lots of things, such as running processes in machines, or doing calculations. The machines they are used in vary from your own computer to safety critical machines such as power plants. As you can imagine, it's desirable for the functions that are used to run quickly and smooth. Some functions are very well suited for solving certain problems, but they are very time consuming. This is when function approximation is used. The goal is to find a function that approximates the original function used, so it solves the problem almost as well as the original function, but takes less time.
Function approximation can be done in a lot of different ways. In my research I used artificial neural networks. These are learning models inspired by the human brain. The brain itself is a network that consists of brain cells, called neurons, connected to each other. An artificial neural network is built up of neurons as well. They are used, for example, for classification problems (such as handwriting recognition) and robotics. These networks are trained to learn things in different ways. For my project, I used Particle Swarm Optimisation (PSO).
PSO is a type of algorithm that is based on the interactions and dynamics of a flock of birds or school of fish. The algorithm solves optimisation problems by moving particles, which represent birds, that each have their own randomly initialised velocity and position towards the solution in the problem space. In real life a problem for a flock of birds could be finding food. Imagine the food is hidden somewhere in a field above which the birds are flying. Some of the birds are closer to the food than others, and some are better at finding the food than others. The one bird that is closest and best at finding the food, is the global best bird/particle. At each iteration the birds' positions and velocities are updated, until the training time of the network is over. The positions and velocities are updated in such a way that both the decisions an individual bird/particle makes based on its own reasoning and experience about finding a solution to the problem, as well as the part of an individual’s decision making that is influenced by what the leader of the group does are taken into account.
In my research, I used PSO to approximate two non-linear functions and to solve a differential equation. The goal was to get accurate results by using as small networks as possible, because the smaller the network the less computation power is needed. I won't go into all the details here, but the results I found were quite mixed. For some, but not all, of the experiments networks trained with PSO proved to be a better at approximating functions than networks that were not trained with PSO. I also found that for some tasks small networks (with only 5 neurons) gave incredibly good results, but for others it was better to use larger networks (75 neurons). For those who are interested in reading my full research, you can find my dissertation here
Although at times, this project drove me absolutely crazy, I really enjoyed working on it. Doing research was for me a really unique and essential part of my whole university experience. I will miss being a student, but for now I'm really excited for what the future holds :)
Follow me on: Bloglovin