FIGS (Quick Interpretable Grasping-tree Sums) : L’invention concerne un procédé de development de modèles interprétables en développant simultanément un ensemble d’arbres de décision en concurrence les uns avec les autres.
Les progrès récents de l’apprentissage automatique ont conduit à des modèles prédictifs de plus en plus complexes, souvent au détriment de l’interprétabilité. Nous avons souvent besoin d’interprétabilité, en particulier dans les purposes à fort enjeu telles que la prise de décision clinique ; les modèles interprétables aident à toutes sortes de choses, telles que l’identification des erreurs, l’exploitation des connaissances du domaine et la réalisation de prédictions rapides.
Dans cet article de weblog, nous couvrirons FIGUESune nouvelle méthode pour ajuster un modèle interprétable qui prend la forme d’une somme d’arbres. Les expériences du monde réel et les résultats théoriques montrent que les FIGS peuvent s’adapter efficacement à un massive éventail de constructions de données, atteignant des performances de pointe dans plusieurs contextes, le tout sans sacrifier l’interprétabilité.
Remark fonctionne FIG ?
Intuitivement, FIGS fonctionne en étendant CART, un algorithme gourmand typique pour développer un arbre de décision, pour envisager de développer un somme des arbres simultanément (voir determine 1). À chaque itération, FIGS peut développer n’importe quel arbre existant qu’il a déjà commencé ou démarrer un nouvel arbre ; il sélectionne avidement la règle qui réduit le plus la variance totale inexpliquée (ou un autre critère de répartition). Pour garder les arbres synchronisés les uns avec les autres, chaque arbre est conçu pour prédire le résidus restant après avoir additionné les prédictions de tous les autres arbres (voir le papier pour plus de détails).
FIGS est intuitivement similaire aux approches d’ensemble telles que l’amplification de gradient / la forêt aléatoire, mais surtout, puisque tous les arbres sont cultivés pour se concurrencer, le modèle peut s’adapter davantage à la construction sous-jacente des données. Le nombre d’arbres et la taille/forme de chaque arbre émergent automatiquement des données plutôt que d’être spécifiés manuellement.
Fig. 1. Instinct de haut niveau sur la façon dont FIGS s’adapte à un modèle.
Un exemple utilisant FIGS
L’utilisation de FIGS est extrêmement easy. Il est facilement installable grâce au bundle imodels (pip set up imodels
) et peut ensuite être utilisé de la même manière que les modèles scikit-learn customary : il suffit d’importer un classificateur ou un régresseur et d’utiliser le match
et predict
méthodes. Voici un exemple complet de son utilisation sur un échantillon d’ensemble de données cliniques dans lequel la cible est le risque de lésion de la colonne cervicale (CSI).
from imodels import FIGSClassifier, get_clean_dataset
from sklearn.model_selection import train_test_split
# put together knowledge (on this a pattern medical dataset)
X, y, feat_names = get_clean_dataset('csi_pecarn_pred')
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.33, random_state=42)
# match the mannequin
mannequin = FIGSClassifier(max_rules=4) # initialize a mannequin
mannequin.match(X_train, y_train) # match mannequin
preds = mannequin.predict(X_test) # discrete predictions: form is (n_test, 1)
preds_proba = mannequin.predict_proba(X_test) # predicted chances: form is (n_test, n_classes)
# visualize the mannequin
mannequin.plot(feature_names=feat_names, filename='out.svg', dpi=300)
Il en résulte un modèle easy – il ne contient que 4 divisions (puisque nous avons spécifié que le modèle ne devrait pas avoir plus de 4 divisions (max_rules=4
). Les prédictions sont faites en déposant un échantillon dans chaque arbre, et sommation les valeurs d’ajustement au risque obtenues à partir des feuilles résultantes de chaque arbre. Ce modèle est extrêmement interprétable, automobile un médecin peut désormais (i) faire facilement des prédictions à l’aide des 4 caractéristiques pertinentes et (ii) vérifier le modèle pour s’assurer qu’il correspond à son domaine d’experience. Notez que ce modèle n’est fourni qu’à des fins d’illustration et atteint une précision d’environ 84%.
Figue 2. Modèle easy appris par FIGS pour prédire le risque de lésion de la colonne cervicale.
Si nous voulons un modèle plus versatile, nous pouvons également supprimer la contrainte sur le nombre de règles (en changeant le code en mannequin = FIGSClassifier()
), résultant en un modèle plus grand (voir Fig 3). Notez que le nombre d’arbres et leur équilibre ressortent de la construction des données – seul le nombre whole de règles peut être spécifié.
Figue 3. Modèle légèrement plus grand appris par FIGS pour prédire le risque de lésion de la colonne cervicale.
Quelle est la efficiency de FIGS ?
Dans de nombreux cas, lorsque l’interprétabilité est souhaitée, comme modélisation des règles de décision clinique, FIGS est succesful d’atteindre des performances de pointe. Par exemple, la determine 4 montre différents ensembles de données où FIGS atteint d’excellentes performances, en particulier lorsqu’il est limité à l’utilisation de très peu de fractionnements totaux.
Figue 4. FIGS prédit bien avec très peu de divisions.
Pourquoi FIGS fonctionne-t-il bien ?
FIGS est motivé par l’statement que les arbres de décision uniques ont souvent des scissions qui se répètent dans différentes branches, ce qui peut se produire lorsqu’il y a construction additive dans les données. Avoir plusieurs arbres aide à éviter cela en démêlant les composants additifs dans des arbres séparés.
Conclusion
Dans l’ensemble, la modélisation interprétable offre une various à la modélisation boîte noire courante et, dans de nombreux cas, peut offrir des améliorations massives en termes d’efficacité et de transparence sans souffrir d’une perte de performances.
Ce billet est basé sur deux articles : FIGUES et G-FIG – tout le code est disponible through le bundle imodels. Il s’agit d’un travail conjoint avec Keyan Nasseri, Abhineet Agarwal, James Duncan, Omer Ronenet Aaron Kornblith.