clipper icon indicating copy to clipboard operation
clipper copied to clipboard

algo updates

Open plusk01 opened this issue 3 years ago • 0 comments

  • gradF update: After the most recent optimizations, the gradF update was missing using the gradFnew calculated in the line search. From what I can tell, this fix created no appreciable difference, but values are now aligned with the MATLAB implementation.

  • d steps: changed the update strategy for d steps from using the min (which meant that no elements of the u vector would need to be projected back onto the pos orthant) to using the mean step (which means half of the elements will have to be projected onto the pos orthant). This seems to have produced a significant (2-4x) speedup on the bunny benchmark, with no change on accuracy -- see report below.

  • recale_u0: new parameter added to turn on / off the initial power method step to rescale u0. This does not seem to make an appreciable difference on bunny benchmark.


this version

Benchmarking over 20 trials

Benchmarking ρ = 90% [██████████████████████████████████████████████████] 100% [00m:44s]

+-------+---------+---------------+-------------------+---------------+------------+
| ρ [%] | # assoc | affinity [ms] | dense clique [ms] | precision [%] | recall [%] |
+-------+---------+---------------+-------------------+---------------+------------+
| 0     | 64      |  0.19  ±  0.0 |      0.06  ±  0.0 | 100           | 90         |
| 0     | 256     |  1.05  ±  0.0 |      0.63  ±  0.0 | 100           | 89         |
| 0     | 512     |  3.95  ±  0.1 |      2.41  ±  0.0 | 100           | 89         |
| 0     | 1024    | 15.64  ±  1.0 |      9.86  ±  0.1 | 100           | 89         |
| 0     | 2048    | 94.63  ±  1.4 |     32.53  ±  0.4 | 100           | 89         |
+-------+---------+---------------+-------------------+---------------+------------+
| 20    | 64      |  0.20  ±  0.0 |      0.06  ±  0.0 | 100           | 90         |
| 20    | 256     |  1.88  ±  3.9 |      0.63  ±  0.1 | 99            | 89         |
| 20    | 512     |  3.69  ±  0.1 |      2.35  ±  0.4 | 100           | 89         |
| 20    | 1024    | 14.84  ±  0.6 |     13.51  ±  6.3 | 99            | 89         |
| 20    | 2048    | 85.49  ±  1.5 |     59.20  ± 46.9 | 100           | 89         |
+-------+---------+---------------+-------------------+---------------+------------+
| 40    | 64      |  0.19  ±  0.0 |      0.04  ±  0.0 | 100           | 90         |
| 40    | 256     |  1.00  ±  0.1 |      0.42  ±  0.1 | 100           | 89         |
| 40    | 512     |  3.46  ±  0.1 |      1.58  ±  0.4 | 100           | 89         |
| 40    | 1024    | 13.77  ±  0.4 |      9.27  ±  3.6 | 99            | 89         |
| 40    | 2048    | 71.14  ±  1.1 |     55.42  ± 27.5 | 99            | 89         |
+-------+---------+---------------+-------------------+---------------+------------+
| 80    | 64      |  0.29  ±  0.5 |      0.05  ±  0.0 | 100           | 91         |
| 80    | 256     |  0.89  ±  0.0 |      0.44  ±  0.1 | 100           | 89         |
| 80    | 512     |  3.22  ±  0.1 |      1.62  ±  0.3 | 99            | 90         |
| 80    | 1024    | 12.54  ±  0.1 |      5.71  ±  1.3 | 99            | 90         |
| 80    | 2048    | 66.70  ±  0.5 |     24.55  ± 15.5 | 99            | 89         |
+-------+---------+---------------+-------------------+---------------+------------+
| 90    | 64      |  0.18  ±  0.0 |      0.05  ±  0.0 | 100           | 90         |
| 90    | 256     |  0.95  ±  0.3 |      0.38  ±  0.1 | 99            | 90         |
| 90    | 512     |  3.17  ±  0.1 |      1.44  ±  0.5 | 99            | 90         |
| 90    | 1024    | 12.37  ±  0.1 |      6.12  ±  1.7 | 99            | 90         |
| 90    | 2048    | 66.18  ±  0.3 |     27.09  ± 10.1 | 99            | 90         |
+-------+---------+---------------+-------------------+---------------+------------+

previous version

Benchmarking over 20 trials


Benchmarking ρ = 90% [██████████████████████████████████████████████████] 100% [00m:54s]                                                                                                                           

+-------+---------+---------------+-------------------+---------------+------------+
| ρ [%] | # assoc | affinity [ms] | dense clique [ms] | precision [%] | recall [%] |
+-------+---------+---------------+-------------------+---------------+------------+
| 0     | 64      |  0.20  ±  0.0 |      0.06  ±  0.0 | 100           | 90         |
| 0     | 256     |  1.12  ±  0.3 |      0.63  ±  0.3 | 100           | 89         |
| 0     | 512     |  4.37  ±  2.0 |      2.12  ±  0.9 | 100           | 89         |
| 0     | 1024    | 16.27  ±  2.8 |     10.21  ±  4.6 | 100           | 89         |
| 0     | 2048    | 94.61  ±  2.4 |     43.25  ± 19.7 | 100           | 89         |
+-------+---------+---------------+-------------------+---------------+------------+
| 20    | 64      |  0.19  ±  0.0 |      0.15  ±  0.0 | 100           | 89         |
| 20    | 256     |  1.02  ±  0.1 |      2.00  ±  0.5 | 100           | 89         |
| 20    | 512     |  3.81  ±  0.7 |      8.84  ±  1.9 | 100           | 89         |
| 20    | 1024    | 14.63  ±  0.6 |     44.83  ± 17.2 | 100           | 89         |
| 20    | 2048    | 84.86  ±  0.9 |    223.11  ± 63.0 | 99            | 89         |
+-------+---------+---------------+-------------------+---------------+------------+
| 40    | 64      |  0.28  ±  0.4 |      0.15  ±  0.0 | 100           | 89         |
| 40    | 256     |  0.99  ±  0.2 |      1.81  ±  0.3 | 99            | 89         |
| 40    | 512     |  3.51  ±  0.1 |      7.50  ±  1.8 | 100           | 89         |
| 40    | 1024    | 13.88  ±  1.0 |     32.58  ±  7.6 | 99            | 89         |
| 40    | 2048    | 71.31  ±  1.0 |    192.51  ± 44.8 | 99            | 89         |
+-------+---------+---------------+-------------------+---------------+------------+
| 80    | 64      |  0.18  ±  0.0 |      0.11  ±  0.0 | 100           | 91         |
| 80    | 256     |  0.93  ±  0.1 |      1.11  ±  0.2 | 99            | 89         |
| 80    | 512     |  3.20  ±  0.1 |      4.01  ±  0.7 | 99            | 90         |
| 80    | 1024    | 12.61  ±  0.2 |     18.62  ±  4.3 | 99            | 89         |
| 80    | 2048    | 67.52  ±  1.5 |     87.97  ± 15.6 | 99            | 89         |
+-------+---------+---------------+-------------------+---------------+------------+
| 90    | 64      |  0.18  ±  0.0 |      0.13  ±  0.0 | 99            | 91         |
| 90    | 256     |  0.90  ±  0.0 |      1.08  ±  0.2 | 99            | 91         |
| 90    | 512     |  3.24  ±  0.1 |      3.76  ±  0.5 | 99            | 90         |
| 90    | 1024    | 12.44  ±  0.1 |     16.57  ±  3.9 | 100           | 90         |
| 90    | 2048    | 66.41  ±  0.4 |     77.50  ± 15.0 | 99            | 90         |
+-------+---------+---------------+-------------------+---------------+------------+

plusk01 avatar Aug 26 '22 12:08 plusk01