-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
a04f42b
commit 5a86147
Showing
1 changed file
with
6 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1,23 @@ | ||
# GPnet | ||
Gaussian Process Regression and Classification on Graphs | ||
|
||
Code still in alpha concept proofing and is based on the code from Chapter 18 of Machine Learning: An Algorithmic Perspective (2nd Edition) by Stephen Marsland, implements the algorithms in Chapters 2 and 3 of Gaussian Processes for Machine Learning by C.E. Rasmussen. | ||
The code is loosely inspired on the code from Chapter 18 of Machine Learning: An Algorithmic Perspective (2nd Edition) by Stephen Marsland and implements the algorithms in Chapters 2 and 3 of Gaussian Processes for Machine Learning by C.E. Rasmussen. | ||
|
||
`GPnet` at the moment exposes two classes: `GPnetRegressor` and `GPnetClassifier` | ||
* **GPnetRegressor** provides basic regression functionality for functions defined on graph nodes | ||
* **GPnetClassfier** provides classification of test nodes, given a set of -1/+1 labels for the training nodes | ||
|
||
The only kernel available at the moment is a _squared exponential_ kernel, more kernels and custom kernel composition will be added in the future. | ||
The only kernel available at the moment is a _squared exponential_ kernel, more kernels and custom kernel composition will be added in the future | ||
|
||
- update - | ||
kernel composition is already possible via custom function definitions: "soft" kernel composition is yet to be implemented. | ||
|
||
Some basic parameter optimization is provided by `scipy.optimize`. | ||
|
||
## Dependencies | ||
GPnet demos require `networkx`, `pandas` , `numpy`, `matplotlib`, `scipy.optimize`, and `random` to work: nothing too exotic. | ||
|
||
## What's the future of this repo? | ||
There's still much work to do, and that includes | ||
Possible future work directions include: | ||
* including support for multiple and custom-defined kernels | ||
* fixing numerical issues with covariance matrix estimation and parameter optimization |