Greedy MI
sgptools.models.greedy_mi
GreedyMI
Helper class to compute mutual information using a Gaussian process for a given set of sensor locations.
Used by get_greedy_mi_sol
function to compute the solution sensor placements using the Greedy-MI method.
Refer to the following papers for more details
- Near-Optimal Sensor Placements in Gaussian Processes: Theory, Efficient Algorithms and Empirical Studies [Krause et al., 2008]
- Data-driven learning and planning for environmental sampling [Ma et al., 2018]
Parameters:
Name | Type | Description | Default |
---|---|---|---|
S |
ndarray
|
(n, d); Candidate sensor placement locations |
required |
V |
ndarray
|
(n, d); Locations in the environment used to approximate the monitoring regions |
required |
noise_variance |
float
|
data variance |
required |
kernel |
Kernel
|
gpflow kernel function |
required |
transform |
Transform
|
Transform object |
None
|
Source code in sgptools/models/greedy_mi.py
mutual_info(x)
Computes mutual information using the points x
Parameters:
Name | Type | Description | Default |
---|---|---|---|
x |
ndarray
|
(n); Indices of the solution placement locations |
required |
Returns:
Name | Type | Description |
---|---|---|
MI |
float
|
Mutual information between the placement x and candidate locations |
Source code in sgptools/models/greedy_mi.py
get_greedy_mi_sol(num_sensors, candidates, X_train, noise_variance, kernel, transform=None, optimizer='naive')
Get sensor placement solutions using the GP-based mutual information approach (submodular objective function). Uses a greedy algorithm to select sensor placements from a given discrete set of candidates locations.
Refer to the following papers for more details
- Near-Optimal Sensor Placements in Gaussian Processes: Theory, Efficient Algorithms and Empirical Studies [Krause et al., 2008]
- Data-driven learning and planning for environmental sampling [Ma et al., 2018]
Parameters:
Name | Type | Description | Default |
---|---|---|---|
num_sensors |
int
|
Number of sensor locations to optimize |
required |
candidates |
ndarray
|
(n, d); Candidate sensor placement locations |
required |
X_train |
ndarray
|
(n, d); Locations in the environment used to approximate the monitoring regions |
required |
noise_variance |
float
|
data variance |
required |
kernel |
Kernel
|
gpflow kernel function |
required |
transform |
Transform
|
Transform object |
None
|
optimizer |
str
|
Name of an optimizer available in the apricot library |
'naive'
|
Returns:
Name | Type | Description |
---|---|---|
Xu |
ndarray
|
(m, d); Solution sensor placement locations |