-
Notifications
You must be signed in to change notification settings - Fork 720
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature Request: Cooperative Learning via Custom Objective or Kind #486
Comments
Hi @fsaforo1 -- This is very interesting. To be honest, I don't fully understand the implications of this cooperative objective vs training all the features in a single model. If you're interested in meeting with us and discussing it, send us an email at interpret@microsoft.com Just a couple of quick thoughts that come to mind:
|
@fsaforo1 You might be interested in this package for multi-view/multi-modal data: https://mvlearn.github.io/ . Maybe you can use EBM as the model for each of the 3 views you mentioned, then train those 3 EBM models using mvlearn so they can be trained in a way that account for complementing views that hold differing statistical properties. |
@interpret-ml @paulbkochms
First off, thanks for building this amazing tool!
The Request
I am interested in exploring the implementation of cooperative learning in EBMs through a specialized loss objective. This objective would allow EBMs to learn from an ensemble of additive models, each corresponding to different feature sets, and encourage these models to work in a cooperative manner.
Practical Example: Air Quality and Public Health Modeling
Scenario:
Environmental scientists are tasked with assessing the influence of air pollution on public health within urban settings. They collate data from diverse streams:
Meteorological patterns are known to modulate pollutant dispersal and concentrations, which in turn have direct consequences on health outcomes. Socioeconomic factors further modulate a population's exposure and susceptibility to pollution-related health risks.
Proposed Objective Function
I propose a cooperative loss objective to be optimized, as follows, considering the first two views for simplicity:
Where:
Implication of the$\rho$ Parameter:$\rho$ is essential for tuning the degree of cooperation between the different data views:
The parameter
What the$\rho$ parameter could be doing during training$\rho$ parameter essentially the period in learning where learnings from different views can be combined. For example:
The
Some Thoughts on Potential Implementation
group interaction pairs
: Is it possible to automatically assess systematic pairs of interactions where the combination of a set features can be interacted with a single (or another set of features). Example of explicitly defining systematic pair of interactions:ExplainableBoostingRegressor(interactions = [([X_feats], [B_feats]), ([C_feats], 'feat_12')])
.The ideal will be if the strength of such group pairs could be automatically assessed during training.
merge_ebms
: This could be possible with a method similar tomerge_ebms
if:- it allowed merging models with different feature sets, and if
- training could be done within this class. It could take then take a list of the various un-fitted EBMs instances, and an objective similar to how objectives with hyperparameters like the Tweedie is implemented
- the fit method then takes a as input X = [A, B, C] and y=y
Since EBMs are additive would an implementation for this custom loss be as simple as just fitting independent models, and subsequently optimizing their predictions using the proposed loss function as follows:
Some Practical Rationale for Cooperative Learning
Utilizing cooperative learning, researchers can harness various data views for enhanced predictions and insights. In the context of our air quality problem, objectives include:
The text was updated successfully, but these errors were encountered: