https://github.com/s1998/rbfn-python
Implementation of radial basis function networks using tensorflow. Comparative analysis of clustering algorithms and variable cluster centers.
https://github.com/s1998/rbfn-python
Last synced: 5 months ago
JSON representation
Implementation of radial basis function networks using tensorflow. Comparative analysis of clustering algorithms and variable cluster centers.
- Host: GitHub
- URL: https://github.com/s1998/rbfn-python
- Owner: s1998
- Created: 2018-03-11T11:30:59.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2019-01-13T13:08:45.000Z (almost 7 years ago)
- Last Synced: 2025-04-08T13:45:45.608Z (9 months ago)
- Language: Python
- Homepage:
- Size: 14 MB
- Stars: 3
- Watchers: 1
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# RBFN
The aim of this project is to do comparative analysis of RBFNs (Radial Basis Function Networks).
Considering two cases : variable cluster centers and different clustering algorithms.
## Effects of clustering algorithms
Comparing three different clustering algorithms for the cluster center finding stage :
- K means
- Spectral clustering
- HDBSCAN
For each of the algorithm, we try to keep 100 cluster centres.
The best accuracy is obtained by the K Means algorithm.

## Effects of variable cluster centres
Comparing the effect of variable and fixed cluster centers.
100 points are randomly selected as the clustr center.
For both the cases, the same set of points are used as cluster centers initially but in variable cluster centers the backpropagated error changes the cluster center.

Variable cluster center significantly outperforms fixed cluster center based RBFNs.
## Effects of clustering algorithms with variable cluster centres
Here all the algorithms yield a similar result. However, the accuracy of using a clustering algorithm with variable cluster centre is almost as good as using random points with variable cluster center and hence a clustering step to get better cluster centers is not needed.

## File structure
All the files are present in *src* directory.
1. **rbfn.py** contains implementation of Radial Basis Function Network and the implementation of trainer.
2. **clustering.py, clustering_hd.py, clustering_spectral.py** are used for clustering points with different algorithms.
3. **compare_clustering_algos.py, compare_variable_centres.py** are used for comparing different versions of RBFN.
## Future work
- [ ] Implement alternative kernels: fractional norms.
- [ ] Try finding reason for relatively poorer performance of other clustering algorithms.