MATLAB Answers

Performance metrics of an algorithm

10 views (last 30 days)
Sadiq Akbar
Sadiq Akbar on 6 Nov 2019
Commented: Sadiq Akbar on 27 Feb 2020
I have a desired vector u=[1 2 pi/4.1 pi/4]. I am using a metaheuristic algorithm BOA (Butterfly Optimization Algorithm). I estimate 100 vectors of the same size as u. I determine Error between u and each estimated vector. i.e. E1=u-Est1, E2=u-Est2, ---------E100=u-Est100. So I get 100 error vectors of same size as u.
The nature of 1st two elements in each vector is same i.e. both are amplitudes, and nature of 3rd and 4th elements are same,i.e both are angles.
My question is what performance metrics can I use for this on the basis of which I can comment on the performance of this algorithm. i.e. I am able to say that the algorithm is better because it estimated my vector approximately like my desired etc.


Sign in to comment.

Answers (1)

you can find the quadratic error of each parameter and then multiply it by a constant value that you consider to give greater or lesser importance to the error of said parameter
Here is a very useful example :
u=[1 2 pi/4.1 pi/4];%your desired value
e=2*randn(100,4);%your population 100x4 in this case random
err=sum([5 5 1 1].*(u-e).^2,2) % error for each vector (100x1)
in this example of 1st two elements are more important and that is why they are multiplied by 5

  1 Comment

Sadiq Akbar
Sadiq Akbar on 27 Feb 2020
Sorry for being late as I was busy in an assignment. Thank you very much for your kind reply. But I am not getting you. As for as I understad what you have done is that you have found square of the error and then multiplied that with vector [5 5 1 1] and at last you add all the values obtained so far in err. My question is why did you multiply this squared error with vector [5 5 1 1 ]? And what can I conclude from this?

Sign in to comment.