This repository has been archived by the owner on Sep 11, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsearch.json
3789 lines (3789 loc) · 301 KB
/
search.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
[
{
"objectID": "index.html",
"href": "index.html",
"title": "Machine Learning Explainability",
"section": "",
"text": "View Slides\n\n\n\nSee the sidebar for an index of slides and demos.\n\n\n\n\n\n\n\n\nCourse Schedule\n\n\n\nThe course will be held over two weeks:\n\nweek 1 commencing on the 6th and\nweek 2 commencing on the 13th\n\nof February 2023.\n\n\n\n\n\n\n\n\n\nWhat\nWhen\nWhere (week 1)\nWhere (week 2)\n\n\n\n\nlecture\n9.30–10.15am\nD0.03\nD1.14\n\n\ndiscussion\n10.15–10.30am\nD0.03\nD1.14\n\n\nlab\n10.30–11.15am\nD0.03\nD1.14\n\n\nopen office\n11.30am–12pm\nD0.03\nD1.14\n\n\n\n\n\n\nCourse Summary\nMachine learning models require care, attention and a fair amount of tuning to offer accurate, consistent and robust predictive modelling of data. Why should their transparency and explainability be any different? While it is possible to easily generate explanatory insights with methods that are post-hoc and model-agnostic – LIME and SHAP, for example – these can be misleading when output by generic tools and viewed out of (technical or domain) context. Explanations should not be taken at their face value; instead their understanding ought to come from interpreting explanatory insights in view of the implicit caveats and limitations under which they were generated. After all, explainability algorithms are complex entities often built from multiple components that are subject to parameterisation choices and operational assumptions, all of which must be accounted for and configured to yield a truthful and useful explainer. Additionally, since any particular method may only provide partial information about the functioning of a predictive model, embracing diverse insights and appreciating their complementarity – as well as disagreements – can further enhance understanding of an algorithmic decision-making process.\nThis course takes an adversarial perspective on artificial intelligence explainability and machine learning interpretability. Instead of reviewing popular approaches used to these ends, it breaks them up into core functional blocks, studies the role and configuration thereof, and reassembles them to create bespoke, well-understood explainers suitable for the problem at hand. The course focuses predominantly on tabular data, with some excursions into image and text explainability whenever a method is agnostic of the data type. The tuition is complemented by a series of hands-on materials for self-study, which allow you to experiment with these techniques and appreciate their inherent complexity, capabilities and limitations. The assignment, on the other hand, requires you to develop a tailor-made explainability suite for a data set and predictive model of your choice, or alternatively analyse an explainability algorithm to identify its core algorithmic building blocks and explore how they affect the resulting explanation. (Note that there is a scope for a bespoke project if you have a well-defined idea in mind.)\n\n\nCurriculum\n(Reveal the topics covered in each theme by clicking the triangle button.)\n\n\n Introduction to explainability \n\n\nHistory of explainability\nTypes of explanations\nTaxonomy and classification of explainability approaches\nA human-centred perspective\nAnte-hoc vs. post-hoc discussion\nMulti-class explainability\nDefining explainability\nEvaluation of explainability techniques\n\n\n\n\n A brief overview of data explainability \n\n\nData as an (implicit) model\nData summarisation and description\nDimensionality reduction\nExemplars, prototypes and criticisms\n\n\n\n\n Transparent modelling \n\n\nThe ante-hoc vs. post-hoc distinction in view of information lineage (i.e., endogenous and exogenous sources of information that form the explanations)\nRule lists and sets\nLinear models (and generalised additive models)\nDecision trees\n\\(k\\)-nearest neighbours and \\(k\\)-means\n\n\n\n\n Feature importance \n\n\nPermutation Importance\nFeature Interaction\n\n\n\n\n Feature influence \n\n\nIndividual Conditional Expectation\nPartial Dependence\nLIME\nSHAP\nAccumulated Local Effects\n\n\n\n\n Exemplars \n\n\nExemplar explanations\nCounterfactuals\nPrototypes and criticisms\n\n\n\n\n Rules \n\n\nScoped rules\nANCHOR\nRuleFit\n\n\n\n\n Meta-explainers \n\n\nLocal, cohort and global surrogates\n\n\n\n\nProjects\nTwo types of a (possibly group-based) assignment are envisaged. (However, if you have a well-defined project in mind, you may be allowed to pursue it – in this case talk to the course instructors.)\n\nDevelop a bespoke explainability suite for a predictive model of your choice. If you are working on a machine learning project that could benefit from explainability, this project presents an opportunity to use the course as a platform to this end. Alternatively, you can explore explainability of a pre-existing model available to download or accessible through a web API.\nChoose an explainability method and identify its core algorithmic building blocks to explore how they affect the final explanations. You are free to explore explainability of inherently transparent models, develop model-specific approaches for an AI or ML technique that interests you, or pursue a model-agnostic technique.\n\n\nFor students who would like to learn more about explainable artificial intelligence and interpretable machine learning but cannot dedicate the time necessary to complete the assignment due to other commitments, there is a possibility of a lightweight project. In this case you can choose an explainability method and articulate its assumptions as well as any discrepancies from its (most popular) implementation – possibly based on some of the (interactive) course materials – as long as you present your findings at the end of the course.\n\nThe projects will be culminated in presentations and/or demos delivered in front of the entire cohort. The project delivery should focus on reproducibility of the results and quality of the investigation into explainability aspects of the chosen system, therefore the journey is more important than the outcome. Under this purview, all of the assumptions and choices – theoretical, algorithmic, implementation and otherwise – should be made explicit and justified. You are strongly encouraged to prepare and present your findings via one of the dashboarding or interactive reporting/presentation tools (see the list of options included below), however this aspect of the project is optional.\n\nExamples\n(See the description of each example project by clicking the triangle button.)\n\n\n Identify the sources of explanation (dis)agreements for a given predictive modelling task \n\n\nFor a given data set – e.g., MNIST – one can train a collection of transparent and black-box models; for example, linear classifiers, decision trees, random forests, support vector machines (with different kernels), logistic regressions, perceptrons, neural networks. If the chosen data set lends itself to natural interpretability, i.e., instances (and their features) are understandable to humans, these models can be explained with an array of suitable techniques and their explanations compared and contrasted. Such experiments can help to better understand capabilities and limitations of individual explainability techniques, especially when their composition, configuration and parameterisation is considered. This can lead to practical guidelines on using these explainers and interpreting their results.\n\n\n\n\n New composition of an existing explainability technique \n\n\nWhen functionally independent building blocks of an explainability approach can be isolated, we can tweak or replace them to compose a more robust and accountable technique. Similarly, a well-known explainer can be expanded with a new explanatory artefact or modality, e.g., a counterfactual statement instead of feature importance/influence. Additionally, comparing the explanations output by the default and bespoke methods can help to uncover discrepancies that may be abused in order to generate misleading explanatory insights; for example, explainees can be deceived by presenting them with an explanation based on a specifically crafted sample of data (used with post-hoc methods).\n\n\n\n\n New explainability technique from existing building blocks \n\n\nInstead of improving a pre-existing explainability technique, algorithmic components from across the explainability spectrum can become an inspiration to build an entirely new explainer or explainability pipeline.\n\n\n\n\n Explore the behaviour of a pre-existing model with explainability techniques \n\n\nGiven the success of deep learning in predictive modelling, opaque systems based on ML algorithms often end up in production. While it may be difficult to identify any of their undesirable properties from the outset, these are often discovered (and corrected) throughout the lifespan of such systems. In this space, explainability techniques may help to uncover these characteristic and pinpoint their sources, potentially leading to observations that reveal biases or aid in scientific discoveries. Either of these applications can have significant social impact and benefit, leading to these models being corrected or decommissioned. Sometimes, however, their idiosyncrasies can be observed, but their origin remains unaccounted for. For example, consider the case of machine learning models dealing with chest X-rays, which additionally can detect the race of the patients – something that doctors are incapable of discerning (see here and here for more details). While the reason for this behaviour remains a mystery, a thorough investigation of this, and similar, models with an array of well-understood (post-hoc) explainability techniques may be able to offer important clues.\n\n\n\n\nSchedule\nThe course will span two weeks, offering the following tuition each day (ten days total):\n\n1-hour lecture;\n1-hour supervised lab session (system design and coding); and\nhalf-an-hour open office (general questions and project discussions).\n\nThe lectures will roughly follow the curriculum outlined above. The envisaged self-study time is around 20 hours, which largely involves completing a project of choice (possibly in small groups).\n\n\nLearning Objectives\nGeneral\n\nUnderstand the landscape of AI and ML explainability techniques.\nIdentify explainability needs of data-driven machine learning systems.\nRecognise the capabilities and limitations of explainability approaches, both in general and in view of specific use cases.\n⭐ Apply these skills to real-life AI and ML problems.\n⭐ Communicate explainability findings through interactive reports and dashboards.\n\nSpecific to explainability approaches\n\nIdentify self-contained algorithmic components of explainers and understand their functions.\nConnect these building blocks to the explainability requirements unique to the investigated predictive system.\nSelect appropriate algorithmic components and tune them to the problem at hand.\nEvaluate these building blocks (in this specific context) independently and when joined together to form the final explainer.\nInterpret the resulting explanations in view of the uncovered properties and limitations of the bespoke explainability algorithm.\n\n\n\nPrerequisites\n\nPython programming.\nFamiliarity with basic mathematical concepts (relevant to machine learning).\nKnowledge of machine learning techniques for tabular data.\n⭐ Prior experience with machine learning approaches for images and text (e.g., deep learning) or other forms of data modelling (e.g., time series forecasting, reinforcement learning) if you decide to pursue a project in this direction.\n\n\n\nUseful Resources\n\n📖 Books\n\nSurvey of machine learning interpretability in form of an online book\nOverview of explanatory model analysis published as an online book\n\n📝 Papers\n\nGeneral introduction to interpretability\nIntroduction to human-centred explainability\nCritique of post-hoc explainability\nSurvey of interpretability techniques\nTaxonomy of explainability approaches\n\n💽 Explainability software\n\nLIME (Python, R)\nSHAP (Python, R)\nMicrosoft’s Interpret\nOracle’s Skater\nIBM’s Explainability 360\nFAT Forensics\n\n💽 Interactive dashboarding software\n\nStreamlit\nPlotly Dash\nShiny for Python and R\nQuarto\n\n\n\n\nInstructor\nKacper Sokol (Kacper.Sokol@rmit.edu.au; K.Sokol@bristol.ac.uk)\n\nKacper is a Research Fellow at the ARC Centre of Excellence for Automated Decision-Making and Society (ADM+S), affiliated with the School of Computing Technologies at RMIT University, Australia, and an Honorary Research Fellow at the Intelligent Systems Laboratory, University of Bristol, United Kingdom.\nHis main research focus is transparency – interpretability and explainability – of data-driven predictive systems based on artificial intelligence and machine learning algorithms. In particular, he has done work on enhancing transparency of predictive models with feasible and actionable counterfactual explanations and robust modular surrogate explainers. He has also introduced Explainability Fact Sheets – a comprehensive taxonomy of AI and ML explainers – and prototyped dialogue-driven interactive explainability systems.\nKacper is the designer and lead developer of FAT Forensics – an open source fairness, accountability and transparency Python toolkit. Additionally, he is the main author of a collection of online interactive training materials about machine learning explainability, created in collaboration with the Alan Turing Institute – the UK’s national institute for data science and artificial intelligence.\nKacper holds a Master’s degree in Mathematics and Computer Science, and a doctorate in Computer Science from the University of Bristol, United Kingdom. Prior to joining ADM+S he has held numerous research posts at the University of Bristol, working with projects such as REFrAMe, SPHERE and TAILOR – European Union’s AI Research Excellence Centre. Additionally, he was a visiting researcher at the University of Tartu (Estonia); Simons Institute for the Theory of Computing, UC Berkeley (California, USA); and USI – Università della Svizzera italiana (Lugano, Switzerland). In his research, Kacper collaborated with numerous industry partners, such as THALES, and provided consulting services on explainable artificial intelligence and transparent machine learning.\n\n\n\n\nCiting the Slides\n\nIf you happen to use these slides, please cite them as follows.\n@misc{sokol2023explainable,\n author={Sokol, Kacper},\n title={{eXplainable} {Machine} {Learning} -- {USI} {Course}},\n howpublished={\\url{https://usi.xmlx.io/}},\n doi={10.5281/zenodo.7646970},\n year={2023}\n}\n\n\nAcknowledgement\nThe creation of these educational materials was supported by the ARC Centre of Excellence for Automated Decision-Making and Society (project number CE200100005), and funded in part by the Australian Government through the Australian Research Council."
},
{
"objectID": "slides/5_meta/surrogate.html#explanation-synopsis",
"href": "slides/5_meta/surrogate.html#explanation-synopsis",
"title": "Surrogate Explainers",
"section": "Explanation Synopsis",
"text": "Explanation Synopsis\n\n\nSurrogate explainers construct an inherently interpretable model in a desired – local, cohort or global – subspace to approximate a more complex, black-box decision boundary (Sokol et al. 2019)."
},
{
"objectID": "slides/5_meta/surrogate.html#explanation-synopsis-meta-subs.ctd",
"href": "slides/5_meta/surrogate.html#explanation-synopsis-meta-subs.ctd",
"title": "Surrogate Explainers",
"section": "Explanation Synopsis ",
"text": "Explanation Synopsis \n\n\nBy using different surrogate models we can generate a wide array of explanation types; e.g., counterfactuals with decision trees (van der Waa et al. 2018; Sokol and Flach 2020) and feature influence with linear classifiers (Ribeiro, Singh, and Guestrin 2016)."
},
{
"objectID": "slides/5_meta/surrogate.html#explanation-synopsis-meta-subs.ctd-1",
"href": "slides/5_meta/surrogate.html#explanation-synopsis-meta-subs.ctd-1",
"title": "Surrogate Explainers",
"section": "Explanation Synopsis ",
"text": "Explanation Synopsis"
},
{
"objectID": "slides/5_meta/surrogate.html#explanation-synopsis-meta-subs.ctd-2",
"href": "slides/5_meta/surrogate.html#explanation-synopsis-meta-subs.ctd-2",
"title": "Surrogate Explainers",
"section": "Explanation Synopsis ",
"text": "Explanation Synopsis"
},
{
"objectID": "slides/5_meta/surrogate.html#explanation-synopsis-meta-subs.ctd-3",
"href": "slides/5_meta/surrogate.html#explanation-synopsis-meta-subs.ctd-3",
"title": "Surrogate Explainers",
"section": "Explanation Synopsis ",
"text": "Explanation Synopsis \n\n\n\n\n\n\n\nInterpretation of the Toy Example\n\n\n\nThe intuition communicated by the toy example may be misleading when dealing with real-life surrogates, which often use an interpretable representation\n(Interpretable representations transform raw features into human-intelligible concepts)\nIn this case surrogates do not directly approximate the behaviour of the underlying black box\nInstead, they capture its behaviour through the prism of concepts encoded by the interpretable representation"
},
{
"objectID": "slides/5_meta/surrogate.html#toy-example-tabular-data-lime-like-linear-surrogate",
"href": "slides/5_meta/surrogate.html#toy-example-tabular-data-lime-like-linear-surrogate",
"title": "Surrogate Explainers",
"section": "Toy Example – Tabular Data (LIME-like Linear Surrogate)",
"text": "Toy Example – Tabular Data (LIME-like Linear Surrogate)"
},
{
"objectID": "slides/5_meta/surrogate.html#toy-example-image-data-lime-like-linear-surrogate",
"href": "slides/5_meta/surrogate.html#toy-example-image-data-lime-like-linear-surrogate",
"title": "Surrogate Explainers",
"section": "Toy Example – Image Data (LIME-like Linear Surrogate)",
"text": "Toy Example – Image Data (LIME-like Linear Surrogate)"
},
{
"objectID": "slides/5_meta/surrogate.html#toy-example-text-data-lime-like-linear-surrogate",
"href": "slides/5_meta/surrogate.html#toy-example-text-data-lime-like-linear-surrogate",
"title": "Surrogate Explainers",
"section": "Toy Example – Text Data (LIME-like Linear Surrogate)",
"text": "Toy Example – Text Data (LIME-like Linear Surrogate)\n\n\n\n\n\n\\(x^\\star_0\\): This\n\n\n\\(x^\\star_1\\): sentence\n\n\n\\(x^\\star_2\\): has\n\n\n\\(x^\\star_3\\): a\n\n\n\\(x^\\star_4\\): positive\n\n\n\\(x^\\star_5\\): sentiment\n\n\n\\(x^\\star_6\\): ,\n\n\n\\(x^\\star_7\\): maybe\n\n\n\\(x^\\star_8\\): ."
},
{
"objectID": "slides/5_meta/surrogate.html#method-properties",
"href": "slides/5_meta/surrogate.html#method-properties",
"title": "Surrogate Explainers",
"section": "Method Properties",
"text": "Method Properties\n\n\n\n\n\n\n\n\nProperty\nSurrogate Explainers\n\n\n\n\nrelation\npost-hoc\n\n\ncompatibility\nmodel-agnostic ([semi-]supervised)\n\n\nmodelling\nregression, crisp and probabilistic classification\n\n\nscope\nlocal, cohort, global\n\n\ntarget\nprediction, sub-space, model\n\n\n\n\n\nPost-hoc – can be retrofitted into pre-existing predictors\nModel-agnostic – work with any black box"
},
{
"objectID": "slides/5_meta/surrogate.html#method-properties-meta-subs.ctd",
"href": "slides/5_meta/surrogate.html#method-properties-meta-subs.ctd",
"title": "Surrogate Explainers",
"section": "Method Properties ",
"text": "Method Properties \n\n\n\n\n\n\n\n\nProperty\nSurrogate Explainers\n\n\n\n\ndata\ntext, image, tabular\n\n\nfeatures\nnumerical and categorical (tabular data)\n\n\nexplanation\ntype depends on the surrogate model\n\n\ncaveats\nrandom sampling, explanation faithfulness & fidelity\n\n\n\n\n\nData-universal – work with image, tabular and text data because of interpretable data representations"
},
{
"objectID": "slides/5_meta/surrogate.html#surrogate-components",
"href": "slides/5_meta/surrogate.html#surrogate-components",
"title": "Surrogate Explainers",
"section": "Surrogate Components",
"text": "Surrogate Components\n\n\n\nInterpretable Representation\n\n\n\n\nData Sampling\n\n\n\n\nExplanation Generation"
},
{
"objectID": "slides/5_meta/surrogate.html#surrogate-components-interpretable-representation-fa-recycle",
"href": "slides/5_meta/surrogate.html#surrogate-components-interpretable-representation-fa-recycle",
"title": "Surrogate Explainers",
"section": "Surrogate Components: Interpretable Representation ",
"text": "Surrogate Components: Interpretable Representation \n\n\nIf desired, data are transformed from their original domain into a human-intelligible representation, which is used to communicate the explanations. This step is required for image and text data, but optional – albeit helpful – for tabular data."
},
{
"objectID": "slides/5_meta/surrogate.html#surrogate-components-interpretable-representation-fa-recycle-meta-subs.ctd",
"href": "slides/5_meta/surrogate.html#surrogate-components-interpretable-representation-fa-recycle-meta-subs.ctd",
"title": "Surrogate Explainers",
"section": "Surrogate Components: Interpretable Representation ",
"text": "Surrogate Components: Interpretable Representation \n\n\nInterpretable representations tend to be binary spaces encoding presence (fact denoted by \\(1\\)) or absence (foil denoted by \\(0\\)) of certain human-understandable concepts generated for a data point selected to be expalined.\n\n\n\n\n\n\n\n\nOperationalisation of Interpretable Representations\n\n\nSpecifying the foil of an interpretable representation – i.e., the operation linked to switching off a component of the IR by setting its binary value to \\(0\\) – may not always be straightforward, practical or even (computationally) feasible in certain domains, requiring a problem-specific information removal proxy."
},
{
"objectID": "slides/5_meta/surrogate.html#surrogate-components-interpretable-representation-fa-recycle-meta-subs.ctd-1",
"href": "slides/5_meta/surrogate.html#surrogate-components-interpretable-representation-fa-recycle-meta-subs.ctd-1",
"title": "Surrogate Explainers",
"section": "Surrogate Components: Interpretable Representation ",
"text": "Surrogate Components: Interpretable Representation \n\n\n\nTabular \n\nDiscretisation of continuous features followed by binarisation.\n\nImage \n\nSuper-pixel segmentation.\n\nText \n\nTokenisation such as bag-of-words representation."
},
{
"objectID": "slides/5_meta/surrogate.html#surrogate-components-interpretable-representation-fa-recycle-meta-subs.ctd-2",
"href": "slides/5_meta/surrogate.html#surrogate-components-interpretable-representation-fa-recycle-meta-subs.ctd-2",
"title": "Surrogate Explainers",
"section": "Surrogate Components: Interpretable Representation ",
"text": "Surrogate Components: Interpretable Representation \nText \n\n\n\n\n\\(x^\\star_0\\): This\n\n\n\\(x^\\star_1\\): sentence\n\n\n\\(x^\\star_2\\): has\n\n\n\\(x^\\star_3\\): a\n\n\n\\(x^\\star_4\\): positive\n\n\n\\(x^\\star_5\\): sentiment\n\n\n\\(x^\\star_6\\): ,\n\n\n\\(x^\\star_7\\): maybe\n\n\n\\(x^\\star_8\\): .\n\n\n\\[\nx^\\star = [1, 1, 1, 1, 1, 1, 1, 1, 1]\n\\]"
},
{
"objectID": "slides/5_meta/surrogate.html#surrogate-components-interpretable-representation-fa-recycle-meta-subs.ctd-3",
"href": "slides/5_meta/surrogate.html#surrogate-components-interpretable-representation-fa-recycle-meta-subs.ctd-3",
"title": "Surrogate Explainers",
"section": "Surrogate Components: Interpretable Representation ",
"text": "Surrogate Components: Interpretable Representation \nText \n\n\n\\[\nx^\\star = [1, 0, 0, 1, 0, 0, 1, 0, 1]\n\\]\n\n\n\n\\(x^\\star_0\\): This\n\n\n\\(x^\\star_1\\): \n\n\n\\(x^\\star_2\\): \n\n\n\\(x^\\star_3\\): a\n\n\n\\(x^\\star_4\\): \n\n\n\\(x^\\star_5\\): \n\n\n\\(x^\\star_6\\): ,\n\n\n\\(x^\\star_7\\): \n\n\n\\(x^\\star_8\\): ."
},
{
"objectID": "slides/5_meta/surrogate.html#surrogate-components-interpretable-representation-fa-recycle-meta-subs.ctd-4",
"href": "slides/5_meta/surrogate.html#surrogate-components-interpretable-representation-fa-recycle-meta-subs.ctd-4",
"title": "Surrogate Explainers",
"section": "Surrogate Components: Interpretable Representation ",
"text": "Surrogate Components: Interpretable Representation \nText \n\n\n\n\nThis\n\n\n\\(x^\\star_0\\): sentence\n\n\nhas\n\n\na\n\n\n\\(x^\\star_1\\): positive\n\n\n\\(x^\\star_1\\): sentiment\n\n\n,\n\n\n\\(x^\\star_2\\): maybe\n\n\n.\n\n\n\\[\nx^\\star = [1, 1, 1]\n\\]"
},
{
"objectID": "slides/5_meta/surrogate.html#surrogate-components-interpretable-representation-fa-recycle-meta-subs.ctd-5",
"href": "slides/5_meta/surrogate.html#surrogate-components-interpretable-representation-fa-recycle-meta-subs.ctd-5",
"title": "Surrogate Explainers",
"section": "Surrogate Components: Interpretable Representation ",
"text": "Surrogate Components: Interpretable Representation \nImage \n\n\n\n\n\n\n\n\n\n\n\n\n\\[\nx^\\star = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]\n\\]"
},
{
"objectID": "slides/5_meta/surrogate.html#surrogate-components-interpretable-representation-fa-recycle-meta-subs.ctd-6",
"href": "slides/5_meta/surrogate.html#surrogate-components-interpretable-representation-fa-recycle-meta-subs.ctd-6",
"title": "Surrogate Explainers",
"section": "Surrogate Components: Interpretable Representation ",
"text": "Surrogate Components: Interpretable Representation \nImage \n\n\n\\[\nx^\\star = [1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1]\n\\]"
},
{
"objectID": "slides/5_meta/surrogate.html#surrogate-components-interpretable-representation-fa-recycle-meta-subs.ctd-7",
"href": "slides/5_meta/surrogate.html#surrogate-components-interpretable-representation-fa-recycle-meta-subs.ctd-7",
"title": "Surrogate Explainers",
"section": "Surrogate Components: Interpretable Representation ",
"text": "Surrogate Components: Interpretable Representation \nImage \n\n\n\n\n\n\n\n\n\n\n\n\n\\[\nx^\\star = [1, 1, 1, 1]\n\\]"
},
{
"objectID": "slides/5_meta/surrogate.html#surrogate-components-interpretable-representation-fa-recycle-meta-subs.ctd-8",
"href": "slides/5_meta/surrogate.html#surrogate-components-interpretable-representation-fa-recycle-meta-subs.ctd-8",
"title": "Surrogate Explainers",
"section": "Surrogate Components: Interpretable Representation ",
"text": "Surrogate Components: Interpretable Representation \nImage \n\n\n\n\n\n\n\n\n\n\n\n\n\\[\nx^\\star = [1, 1, 1]\n\\]"
},
{
"objectID": "slides/5_meta/surrogate.html#surrogate-components-interpretable-representation-fa-recycle-meta-subs.ctd-9",
"href": "slides/5_meta/surrogate.html#surrogate-components-interpretable-representation-fa-recycle-meta-subs.ctd-9",
"title": "Surrogate Explainers",
"section": "Surrogate Components: Interpretable Representation ",
"text": "Surrogate Components: Interpretable Representation \nTabular \n\n\n\n\n\n\n\n\n\n\n\n\n\\[\nx = [1.3, 0.2]\n\\]\n\\[\nx^\\prime = [0, 0]\n\\]"
},
{
"objectID": "slides/5_meta/surrogate.html#surrogate-components-interpretable-representation-fa-recycle-meta-subs.ctd-10",
"href": "slides/5_meta/surrogate.html#surrogate-components-interpretable-representation-fa-recycle-meta-subs.ctd-10",
"title": "Surrogate Explainers",
"section": "Surrogate Components: Interpretable Representation ",
"text": "Surrogate Components: Interpretable Representation \nTabular \n\n\n\n\n\n\n\n\n\n\n\n\n\\[\nx^\\star = [1, 1]\n\\]"
},
{
"objectID": "slides/5_meta/surrogate.html#surrogate-components-interpretable-representation-fa-recycle-meta-subs.ctd-11",
"href": "slides/5_meta/surrogate.html#surrogate-components-interpretable-representation-fa-recycle-meta-subs.ctd-11",
"title": "Surrogate Explainers",
"section": "Surrogate Components: Interpretable Representation ",
"text": "Surrogate Components: Interpretable Representation \nTabular \n\n\n\\[\nx^\\star = [1, 0]\n\\]"
},
{
"objectID": "slides/5_meta/surrogate.html#surrogate-components-interpretable-representation-fa-recycle-meta-subs.ctd-12",
"href": "slides/5_meta/surrogate.html#surrogate-components-interpretable-representation-fa-recycle-meta-subs.ctd-12",
"title": "Surrogate Explainers",
"section": "Surrogate Components: Interpretable Representation ",
"text": "Surrogate Components: Interpretable Representation \nTabular \n\n\n\\[\nx^\\star = [1, 0] \\;\\;\\;\\; \\longrightarrow \\;\\;\\;\\; x = [?, ?]\n\\]"
},
{
"objectID": "slides/5_meta/surrogate.html#surrogate-components-data-sampling-fa-database",
"href": "slides/5_meta/surrogate.html#surrogate-components-data-sampling-fa-database",
"title": "Surrogate Explainers",
"section": "Surrogate Components: Data Sampling ",
"text": "Surrogate Components: Data Sampling \n\n\nData sampling allows to capture the behaviour of a predictive model in a desired subspace. To this end, a data sample is generated and predicted by the explained model, offering a granular insight into its decision surface."
},
{
"objectID": "slides/5_meta/surrogate.html#surrogate-components-data-sampling-fa-database-meta-subs.ctd",
"href": "slides/5_meta/surrogate.html#surrogate-components-data-sampling-fa-database-meta-subs.ctd",
"title": "Surrogate Explainers",
"section": "Surrogate Components: Data Sampling ",
"text": "Surrogate Components: Data Sampling \n\n\n\nOriginal Domain\n\n\nTabular data\n\n\nInterpretable Representation\n\n\nTabular data (implicitly global)\nImage data (implicitly local)\nText data (implicitly local)\n\n\n\n\n\nWith the interpretable representation, a complete sample can be generated to improve quality of the surrogate"
},
{
"objectID": "slides/5_meta/surrogate.html#surrogate-components-data-sampling-fa-database-meta-subs.ctd-1",
"href": "slides/5_meta/surrogate.html#surrogate-components-data-sampling-fa-database-meta-subs.ctd-1",
"title": "Surrogate Explainers",
"section": "Surrogate Components: Data Sampling ",
"text": "Surrogate Components: Data Sampling \nTabular"
},
{
"objectID": "slides/5_meta/surrogate.html#surrogate-components-data-sampling-fa-database-meta-subs.ctd-2",
"href": "slides/5_meta/surrogate.html#surrogate-components-data-sampling-fa-database-meta-subs.ctd-2",
"title": "Surrogate Explainers",
"section": "Surrogate Components: Data Sampling ",
"text": "Surrogate Components: Data Sampling \nTabular"
},
{
"objectID": "slides/5_meta/surrogate.html#surrogate-components-explanation-generation-fa-lightbulb",
"href": "slides/5_meta/surrogate.html#surrogate-components-explanation-generation-fa-lightbulb",
"title": "Surrogate Explainers",
"section": "Surrogate Components: Explanation Generation ",
"text": "Surrogate Components: Explanation Generation \n\n\nExplanatory insights are extracted from an inherently transparent model fitted to the sampled data (in interpretable representation), using their black-box predictions as the target."
},
{
"objectID": "slides/5_meta/surrogate.html#surrogate-components-explanation-generation-fa-lightbulb-meta-subs.ctd",
"href": "slides/5_meta/surrogate.html#surrogate-components-explanation-generation-fa-lightbulb-meta-subs.ctd",
"title": "Surrogate Explainers",
"section": "Surrogate Components: Explanation Generation ",
"text": "Surrogate Components: Explanation Generation \n\n\nAdditional processing steps can be applied to tune and tweak the surrogate model, hence the explanation. For example, the sample can be weighted based on its proximity to the explained instance when dealing with local explanations; and a feature selection procedure may be used to introduce sparsity, therefore improve accessibility and comprehensibility of explanatory insights."
},
{
"objectID": "slides/5_meta/surrogate.html#surrogate-components-explanation-generation-fa-lightbulb-meta-subs.ctd-1",
"href": "slides/5_meta/surrogate.html#surrogate-components-explanation-generation-fa-lightbulb-meta-subs.ctd-1",
"title": "Surrogate Explainers",
"section": "Surrogate Components: Explanation Generation ",
"text": "Surrogate Components: Explanation Generation \nSample Weighting\n\n\nData Domain\n\nOriginal domain\n(Intermediate) discrete domain (tabular data only)\nBinary interpretable representation\n\n\nDistance Metric\n\nHamming: \\(L(a, b) = \\frac{1}{N} \\sum_{i = 1}^{N} \\mathbb{1} (a_i \\neq b_i)\\)\nEuclidean: \\(L(a, b) = \\sqrt{\\sum_{i = 1}^{N} (b_i - a_i)^2}\\)\nCosine: \\(L(a, b) = \\frac{a \\cdot b}{ \\sqrt{a \\cdot a} \\sqrt{b \\cdot b}}\\)\n\n\nKernel\n\nExponential: \\(k(d) = \\sqrt{exp\\left(-\\frac{d^2}{w^2}\\right)}\\)"
},
{
"objectID": "slides/5_meta/surrogate.html#surrogate-components-explanation-generation-fa-lightbulb-meta-subs.ctd-2",
"href": "slides/5_meta/surrogate.html#surrogate-components-explanation-generation-fa-lightbulb-meta-subs.ctd-2",
"title": "Surrogate Explainers",
"section": "Surrogate Components: Explanation Generation ",
"text": "Surrogate Components: Explanation Generation \nSample Weighting"
},
{
"objectID": "slides/5_meta/surrogate.html#surrogate-components-explanation-generation-fa-lightbulb-meta-subs.ctd-3",
"href": "slides/5_meta/surrogate.html#surrogate-components-explanation-generation-fa-lightbulb-meta-subs.ctd-3",
"title": "Surrogate Explainers",
"section": "Surrogate Components: Explanation Generation ",
"text": "Surrogate Components: Explanation Generation \nSample Weighting"
},
{
"objectID": "slides/5_meta/surrogate.html#surrogate-components-explanation-generation-fa-lightbulb-meta-subs.ctd-4",
"href": "slides/5_meta/surrogate.html#surrogate-components-explanation-generation-fa-lightbulb-meta-subs.ctd-4",
"title": "Surrogate Explainers",
"section": "Surrogate Components: Explanation Generation ",
"text": "Surrogate Components: Explanation Generation \nTarget Type\n\n\nCrisp Classification\n\nExplicit one-vs-rest: \\(A\\) and \\(\\neg A\\)\n\n\nProbabilistic Classification\n\nImplicit one-vs-rest: \\(\\mathbb{P}(A)\\) and \\(1 - \\mathbb{P}(A) = \\mathbb{P}(\\neg A)\\)\n\n\nRegression\n\nNumerical output: \\(f(x)\\)"
},
{
"objectID": "slides/5_meta/surrogate.html#surrogate-components-explanation-generation-fa-lightbulb-meta-subs.ctd-5",
"href": "slides/5_meta/surrogate.html#surrogate-components-explanation-generation-fa-lightbulb-meta-subs.ctd-5",
"title": "Surrogate Explainers",
"section": "Surrogate Components: Explanation Generation ",
"text": "Surrogate Components: Explanation Generation \nModelling Multiple Classes\n\n\nSingle Target\nIndependent surrogate models explaining one class at a time:\n\n\\(\\mathbb{P}(A)\\) and \\(\\mathbb{P}(\\neg A)\\)\n\\(\\mathbb{P}(B)\\) and \\(\\mathbb{P}(\\neg B)\\)\netc.\n\n\nMultiple Targets\nA single model explaining a selected subset of classes:\n\n\\(\\mathbb{P}(A)\\)\n\\(\\mathbb{P}(B)\\)\n\\(\\mathbb{P}(C)\\)\n\\(\\mathbb{P}\\left(\\neg (A \\lor B \\lor C)\\right)\\)\n\n\n\n\n\nThis is especially important for probabilistic models\nConsider two examples:\n\n\\(\\mathbb{P}(A) = 0.9\\), \\(\\mathbb{P}(B) = 0.05\\), \\(\\mathbb{P}(C) = 0.05\\)\n\\(\\mathbb{P}(A) = 0.6\\), \\(\\mathbb{P}(B) = 0.3\\), \\(\\mathbb{P}(C) = 0.1\\)"
},
{
"objectID": "slides/5_meta/surrogate.html#surrogate-components-explanation-generation-fa-lightbulb-meta-subs.ctd-6",
"href": "slides/5_meta/surrogate.html#surrogate-components-explanation-generation-fa-lightbulb-meta-subs.ctd-6",
"title": "Surrogate Explainers",
"section": "Surrogate Components: Explanation Generation ",
"text": "Surrogate Components: Explanation Generation \nSurrogate Model Type\n\n\nLienar\nTree-based\nRule-based\netc."
},
{
"objectID": "slides/5_meta/surrogate.html#computing-surrogates",
"href": "slides/5_meta/surrogate.html#computing-surrogates",
"title": "Surrogate Explainers",
"section": "Computing Surrogates",
"text": "Computing Surrogates"
},
{
"objectID": "slides/5_meta/surrogate.html#computing-surrogates-meta-subs.ctd",
"href": "slides/5_meta/surrogate.html#computing-surrogates-meta-subs.ctd",
"title": "Surrogate Explainers",
"section": "Computing Surrogates ",
"text": "Computing Surrogates \n\n\n\n\n\n\n\nInput\n\n\n\nSelect an instance to be explained (local surrogate)\nSelect the explanation target\n\ncrisp classifiers → one-vs-rest or a subset of classes-vs-rest\nprobabilistic classifiers → (probabilities of) one or multiple classes\nregressors → numerical values"
},
{
"objectID": "slides/5_meta/surrogate.html#computing-surrogates-meta-subs.ctd-1",
"href": "slides/5_meta/surrogate.html#computing-surrogates-meta-subs.ctd-1",
"title": "Surrogate Explainers",
"section": "Computing Surrogates ",
"text": "Computing Surrogates \n\n\n\n\n\n\n\nParameters\n\n\n\nDefine the interpretable representation\n\ntext → pre-processing and tokenisation\nimage → occlusion proxy, e.g., segmentation granularity and occlusion colour\ntabular → discretisation of numerical features and grouping of categorical attributes"
},
{
"objectID": "slides/5_meta/surrogate.html#computing-surrogates-meta-subs.ctd-2",
"href": "slides/5_meta/surrogate.html#computing-surrogates-meta-subs.ctd-2",
"title": "Surrogate Explainers",
"section": "Computing Surrogates ",
"text": "Computing Surrogates \n\n\n\n\n\n\n\nParameters\n\n\n\nSpecify sampling strategy\n\noriginal domain (tabular data) → number of instances and sampling objective (scope and target)\ntransformed domain (all data domains) → completeness of the sample\n\nSample weighting → data domain, distance metric, kernel type\nFeature selection (tabular data) – feature selection strategy\nType of the surrogate model and its parameterisation"
},
{
"objectID": "slides/5_meta/surrogate.html#computing-surrogates-meta-subs.ctd-3",
"href": "slides/5_meta/surrogate.html#computing-surrogates-meta-subs.ctd-3",
"title": "Surrogate Explainers",
"section": "Computing Surrogates ",
"text": "Computing Surrogates \n\n\n\n\n\n\n\nProcedure\n\n\n\nTransform the explained instance into the interpretable representation\nSample data around the explained instance with a given scope\nPredict the sampled data using the black box (transform into the original representation if sampled in the interpretable domain)"
},
{
"objectID": "slides/5_meta/surrogate.html#computing-surrogates-meta-subs.ctd-4",
"href": "slides/5_meta/surrogate.html#computing-surrogates-meta-subs.ctd-4",
"title": "Surrogate Explainers",
"section": "Computing Surrogates ",
"text": "Computing Surrogates \n\n\n\n\n\n\n\nProcedure \n\n\n\nCalculate similarities between the explained instance and sampled data by kernelising distances\nOptionally, reduce dimensionality of the interpretable domain\nFit a surrogate model to the (subset of) interpretable feature and black-box predictions of the desired target(s)\nExtract the desired explanation from the surrogate model"
},
{
"objectID": "slides/5_meta/surrogate.html#formulation-optimisation-objective-fa-square-root-alt",
"href": "slides/5_meta/surrogate.html#formulation-optimisation-objective-fa-square-root-alt",
"title": "Surrogate Explainers",
"section": "Formulation: Optimisation Objective ",
"text": "Formulation: Optimisation Objective \n\n\\[\n\\mathcal{O}(\\mathcal{G}; \\; f) =\n \\argmin_{g \\in \\mathcal{G}}\n \\overbrace{\\Omega(g)}^{\\text{complexity}} \\; + \\;\\;\\;\n \\overbrace{\\mathcal{L}(f, g)}^{\\text{fidelity loss}}\n\\]"
},
{
"objectID": "slides/5_meta/surrogate.html#formulation-complexity-fa-square-root-alt",
"href": "slides/5_meta/surrogate.html#formulation-complexity-fa-square-root-alt",
"title": "Surrogate Explainers",
"section": "Formulation: Complexity ",
"text": "Formulation: Complexity \n\n\\[\n\\Omega(g) = \\frac{\\sum_{\\theta \\in \\Theta_g} {\\Large\\mathbb{1}} \\left(\\theta\\right)}{|\\Theta_g|}\n\\]\n\n\\[\n\\Omega(g; \\; d) = \\frac{\\text{depth}(g)}{d}\n \\;\\;\\;\\;\\text{or}\\;\\;\\;\\;\n \\Omega(g; \\; d) = \\frac{\\text{width}(g)}{2^d}\n\\]"
},
{
"objectID": "slides/5_meta/surrogate.html#formulation-numerical-fidelity-one-class-fa-square-root-alt",
"href": "slides/5_meta/surrogate.html#formulation-numerical-fidelity-one-class-fa-square-root-alt",
"title": "Surrogate Explainers",
"section": "Formulation: Numerical Fidelity (One Class) ",
"text": "Formulation: Numerical Fidelity (One Class) \n\n\\[\n\\mathcal{L}(f, g ; \\; \\mathring{x}, X^\\prime, \\mathring{c}) =\n \\sum_{x^\\prime \\in X^\\prime} \\;\n \\underbrace{\\omega\\left( \\IR(\\mathring{x}), x^\\prime \\right)}_{\\text{weighting factor}}\n \\; \\times \\;\n \\underbrace{\\left(f_\\mathring{c}\\left(\\IR^{-1}(x^\\prime)\\right) - g(x^\\prime)\\right)^{2}}_{\\text{individual loss}}\n\\]\n\n\\[\n\\omega\\left(\\IR(\\mathring{x}), x^\\prime \\right) = k\\left(L\\left(\\IR(\\mathring{x}), x^\\prime\\right)\\right)\n\\]\n\\[\n\\omega\\left( \\mathring{x}, x \\right) = k\\left(L\\left(\\mathring{x}, x\\right)\\right)\n\\]"
},
{
"objectID": "slides/5_meta/surrogate.html#formulation-crisp-classification-fidelity-one-class-fa-square-root-alt",
"href": "slides/5_meta/surrogate.html#formulation-crisp-classification-fidelity-one-class-fa-square-root-alt",
"title": "Surrogate Explainers",
"section": "Formulation: Crisp Classification Fidelity (One Class) ",
"text": "Formulation: Crisp Classification Fidelity (One Class) \n\n\\[\n\\mathcal{L}(f, g ; \\; \\mathring{x}, X^\\prime, \\mathring{c}) =\n \\sum_{x^\\prime \\in X^\\prime} \\;\n \\omega\\left( \\IR(\\mathring{x}), x^\\prime \\right)\n \\; \\times \\;\n \\underline{ {\\Large\\mathbb{1}} \\left(f_\\mathring{c}\\left(\\IR^{-1}(x^\\prime)\\right), \\; g(x^\\prime)\\right)}\n\\]\n\n\\[\n\\begin{split}\nf_{\\mathring{c}}(x) =\n\\begin{cases}\n 1, & \\text{if} \\;\\; f(x) \\equiv \\mathring{c}\\\\\n 0, & \\text{if} \\;\\; f(x) \\not\\equiv \\mathring{c}\n\\end{cases} \\text{ .}\n\\end{split}\n\\]\n\\[\n\\begin{split}\n{\\Large\\mathbb{1}}\\left(f_{\\mathring{c}}(x), g(x^\\prime)\\right) =\n\\begin{cases}\n 1, & \\text{if} \\;\\; f_{\\mathring{c}}(x) \\equiv g(x^\\prime)\\\\\n 0, & \\text{if} \\;\\; f_{\\mathring{c}}(x) \\not\\equiv g(x^\\prime)\n\\end{cases} \\text{ ,}\n\\end{split}\n\\]"
},
{
"objectID": "slides/5_meta/surrogate.html#formulation-crisp-classification-fidelity-one-class-fa-square-root-alt-meta-subs.ctd",
"href": "slides/5_meta/surrogate.html#formulation-crisp-classification-fidelity-one-class-fa-square-root-alt-meta-subs.ctd",
"title": "Surrogate Explainers",
"section": "Formulation: Crisp Classification Fidelity (One Class) ",
"text": "Formulation: Crisp Classification Fidelity (One Class) \n\n\n\n\n\\(f(x)\\)\n\\(f_\\beta(x)\\)\n\\(g(x^\\prime)\\)\n\\({\\Large\\mathbb{1}}\\)\n\n\n\n\n\\(\\alpha\\)\n\\(0\\)\n\\(1\\)\n\\(0\\)\n\n\n\\(\\beta\\)\n\\(1\\)\n\\(0\\)\n\\(0\\)\n\n\n\\(\\gamma\\)\n\\(0\\)\n\\(0\\)\n\\(1\\)\n\n\n\\(\\beta\\)\n\\(1\\)\n\\(1\\)\n\\(1\\)\n\n\n\\(\\alpha\\)\n\\(0\\)\n\\(0\\)\n\\(1\\)"
},
{
"objectID": "slides/5_meta/surrogate.html#formulation-crisp-classification-fidelity-multiple-class-fa-square-root-alt",
"href": "slides/5_meta/surrogate.html#formulation-crisp-classification-fidelity-multiple-class-fa-square-root-alt",
"title": "Surrogate Explainers",
"section": "Formulation: Crisp Classification Fidelity (Multiple Class) ",
"text": "Formulation: Crisp Classification Fidelity (Multiple Class) \n\n\\[\n\\mathcal{L}(f, g ; \\; \\mathring{x}, X^\\prime, \\mathring{C}) =\n \\sum_{x^\\prime \\in X^\\prime}\n %\\left(\n \\omega( \\IR(\\mathring{x}) , x^\\prime )\n \\; \\times \\;\n \\underline{\n \\frac{1}{|\\mathring{C}|}\n \\sum_{\\mathring{c} \\in \\mathring{C}}\n {\\Large\\mathbb{1}}\n \\left(\n f_\\mathring{c}\\left(\\IR^{-1}(x^\\prime)\\right), \\;\n g_\\mathring{c}(x^\\prime)\n \\right)\n }\n %\\right)\n\\]"
},
{
"objectID": "slides/5_meta/surrogate.html#formulation-numerical-fidelity-multiple-class-fa-square-root-alt",
"href": "slides/5_meta/surrogate.html#formulation-numerical-fidelity-multiple-class-fa-square-root-alt",
"title": "Surrogate Explainers",
"section": "Formulation: Numerical Fidelity (Multiple Class) ",
"text": "Formulation: Numerical Fidelity (Multiple Class) \n\n\\[\n\\mathcal{L}(f, g ; \\; \\mathring{x}, X^\\prime, \\mathring{C}) =\n \\sum_{x^\\prime \\in X^\\prime}\n %\\left(\n \\omega( \\IR(\\mathring{x}) , x^\\prime )\n \\; \\times \\;\n \\underline{\n \\frac{1}{2}\n \\sum_{\\mathring{c} \\in \\mathring{C}}\n \\left(\n f_\\mathring{c}\\left(\\IR^{-1}(x^\\prime)\\right) -\n g_\\mathring{c}(x^\\prime)\n \\right)^2\n }\n %\\right)\n\\]"
},
{
"objectID": "slides/5_meta/surrogate.html#fidelity-based",
"href": "slides/5_meta/surrogate.html#fidelity-based",
"title": "Surrogate Explainers",
"section": "Fidelity-based",
"text": "Fidelity-based"
},
{
"objectID": "slides/5_meta/surrogate.html#tabular-data-interpretable-representation",
"href": "slides/5_meta/surrogate.html#tabular-data-interpretable-representation",
"title": "Surrogate Explainers",
"section": "Tabular Data: Interpretable Representation",
"text": "Tabular Data: Interpretable Representation"
},
{
"objectID": "slides/5_meta/surrogate.html#tabular-data-sampling",
"href": "slides/5_meta/surrogate.html#tabular-data-sampling",
"title": "Surrogate Explainers",
"section": "Tabular Data: Sampling",
"text": "Tabular Data: Sampling"
},
{
"objectID": "slides/5_meta/surrogate.html#one-class-linear-surrogate",
"href": "slides/5_meta/surrogate.html#one-class-linear-surrogate",
"title": "Surrogate Explainers",
"section": "One-class Linear Surrogate",
"text": "One-class Linear Surrogate"
},
{
"objectID": "slides/5_meta/surrogate.html#one-class-linear-surrogate-meta-subs.ctd",
"href": "slides/5_meta/surrogate.html#one-class-linear-surrogate-meta-subs.ctd",
"title": "Surrogate Explainers",
"section": "One-class Linear Surrogate ",
"text": "One-class Linear Surrogate"
},
{
"objectID": "slides/5_meta/surrogate.html#one-class-linear-surrogate-meta-subs.ctd-1",
"href": "slides/5_meta/surrogate.html#one-class-linear-surrogate-meta-subs.ctd-1",
"title": "Surrogate Explainers",
"section": "One-class Linear Surrogate ",
"text": "One-class Linear Surrogate"
},
{
"objectID": "slides/5_meta/surrogate.html#multi-class-tree-surrogate",
"href": "slides/5_meta/surrogate.html#multi-class-tree-surrogate",
"title": "Surrogate Explainers",
"section": "Multi-class Tree Surrogate",
"text": "Multi-class Tree Surrogate"
},
{
"objectID": "slides/5_meta/surrogate.html#image-data-segmentation-size-occlusion-colour",
"href": "slides/5_meta/surrogate.html#image-data-segmentation-size-occlusion-colour",
"title": "Surrogate Explainers",
"section": "Image Data: Segmentation Size & Occlusion Colour",
"text": "Image Data: Segmentation Size & Occlusion Colour"
},
{
"objectID": "slides/5_meta/surrogate.html#image-data-segmentation-size-occlusion-colour-meta-subs.ctd",
"href": "slides/5_meta/surrogate.html#image-data-segmentation-size-occlusion-colour-meta-subs.ctd",
"title": "Surrogate Explainers",
"section": "Image Data: Segmentation Size & Occlusion Colour ",
"text": "Image Data: Segmentation Size & Occlusion Colour \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nNote that linear model’s assumptions are broken – adjacent super-pixels are highly correlated"
},
{
"objectID": "slides/5_meta/surrogate.html#image-data-segmentation-size-occlusion-colour-meta-subs.ctd-1",
"href": "slides/5_meta/surrogate.html#image-data-segmentation-size-occlusion-colour-meta-subs.ctd-1",
"title": "Surrogate Explainers",
"section": "Image Data: Segmentation Size & Occlusion Colour ",
"text": "Image Data: Segmentation Size & Occlusion Colour"
},
{
"objectID": "slides/5_meta/surrogate.html#image-data-segmentation-size-occlusion-colour-meta-subs.ctd-2",
"href": "slides/5_meta/surrogate.html#image-data-segmentation-size-occlusion-colour-meta-subs.ctd-2",
"title": "Surrogate Explainers",
"section": "Image Data: Segmentation Size & Occlusion Colour ",
"text": "Image Data: Segmentation Size & Occlusion Colour"
},
{
"objectID": "slides/5_meta/surrogate.html#tabular-data-incompatibility-of-binarisation-and-linear-models",
"href": "slides/5_meta/surrogate.html#tabular-data-incompatibility-of-binarisation-and-linear-models",
"title": "Surrogate Explainers",
"section": "Tabular Data: Incompatibility of Binarisation and Linear Models",
"text": "Tabular Data: Incompatibility of Binarisation and Linear Models"
},
{
"objectID": "slides/5_meta/surrogate.html#tabular-data-incompatibility-of-binarisation-and-linear-models-meta-subs.ctd",
"href": "slides/5_meta/surrogate.html#tabular-data-incompatibility-of-binarisation-and-linear-models-meta-subs.ctd",
"title": "Surrogate Explainers",
"section": "Tabular Data: Incompatibility of Binarisation and Linear Models ",
"text": "Tabular Data: Incompatibility of Binarisation and Linear Models"
},
{
"objectID": "slides/5_meta/surrogate.html#pros-fa-plus-square",
"href": "slides/5_meta/surrogate.html#pros-fa-plus-square",
"title": "Surrogate Explainers",
"section": "Pros ",
"text": "Pros \n\nA universal inspection mechanism for various subspaces of an arbitrary black-box algorithmic decision process\nHighly customisable\nA single explanatory procedure for image, text and tabular data\nProduces diverse explanation types depending on the utilised surrogate model\nOutputs intuitive explanations for image and text data due to the use of interpretable representations"
},
{
"objectID": "slides/5_meta/surrogate.html#cons-fa-minus-square",
"href": "slides/5_meta/surrogate.html#cons-fa-minus-square",
"title": "Surrogate Explainers",
"section": "Cons ",
"text": "Cons \n\nInadequate for high-stakes algorithmic decisions because of lacklustre fidelity\nExplanations may be counterintuitive and misleading for a lay audience when applied to tabular data with an interpretable representation"
},
{
"objectID": "slides/5_meta/surrogate.html#caveats-fa-skull",
"href": "slides/5_meta/surrogate.html#caveats-fa-skull",
"title": "Surrogate Explainers",
"section": "Caveats ",
"text": "Caveats \n\nWhile post-hoc, model-agnostic and data-universal, they must not be treated as a silver bullet\nTheir characteristics allow a single instantiation of a surrogate explainer to be applied to diverse problems, however the quality of the resulting explanations will vary across different problems and data sets\nBuilding them requires an effort since each explainer should be tweaked and tuned to the problem at hand"
},
{
"objectID": "slides/5_meta/surrogate.html#related-techniques",
"href": "slides/5_meta/surrogate.html#related-techniques",
"title": "Surrogate Explainers",
"section": "Related Techniques",
"text": "Related Techniques\n\n\nLIME (Ribeiro, Singh, and Guestrin 2016)\nLIMEtree (Sokol and Flach 2020)\nRuleFit (Friedman and Popescu 2008)"
},
{
"objectID": "slides/5_meta/surrogate.html#implementations",
"href": "slides/5_meta/surrogate.html#implementations",
"title": "Surrogate Explainers",
"section": "Implementations",
"text": "Implementations\n\n\n\n\n\n\n\n Python\n R\n\n\n\n\nLIME\nlime\n\n\ninterpret\niml\n\n\nSkater\n\n\n\nAIX360"
},
{
"objectID": "slides/5_meta/surrogate.html#further-reading",
"href": "slides/5_meta/surrogate.html#further-reading",
"title": "Surrogate Explainers",
"section": "Further Reading",
"text": "Further Reading\n\nbLIMEy paper (Sokol et al. 2019)\nLIME paper (Ribeiro, Singh, and Guestrin 2016)\nLIMEtree paper (Sokol and Flach 2020)\nInterpretable Machine Learning book\nFAT Forensics how-to guide for tabular surrogates and image surrogates, and surrogates tutorial\nTabular surrogates tutorial\nInteractive resources"
},
{
"objectID": "slides/5_meta/surrogate.html#bibliography",
"href": "slides/5_meta/surrogate.html#bibliography",
"title": "Surrogate Explainers",
"section": "Bibliography",
"text": "Bibliography\n\n\nFriedman, Jerome H, and Bogdan E Popescu. 2008. “Predictive Learning via Rule Ensembles.” The Annals of Applied Statistics, 916–54.\n\n\nRibeiro, Marco Tulio, Sameer Singh, and Carlos Guestrin. 2016. “‘Why Should I Trust You?’: Explaining the Predictions of Any Classifier.” In Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, San Francisco, CA, USA, August 13–17, 2016, 1135–44.\n\n\nSokol, Kacper, and Peter Flach. 2020. “LIMEtree: Consistent and Faithful Surrogate Explanations of Multiple Classes.” arXiv Preprint arXiv:2005.01427.\n\n\nSokol, Kacper, Alexander Hepburn, Raul Santos-Rodriguez, and Peter Flach. 2019. “bLIMEy: Surrogate Prediction Explanations Beyond LIME.” 2019 Workshop on Human-Centric Machine Learning (HCML 2019) at the 33rd Conference on Neural Information Processing Systems (NeurIPS 2019), Vancouver, Canada.\n\n\nvan der Waa, Jasper, Marcel Robeer, Jurriaan van Diggelen, Matthieu Brinkhuis, and Mark Neerincx. 2018. “Contrastive Explanations with Local Foil Trees.” Workshop on Human Interpretability in Machine Learning (WHI 2018) at the 35th International Conference on Machine Learning (ICML 2018), Stockholm, Sweden."
},
{
"objectID": "slides/2_glass-box/linear.html#model-synopsis",
"href": "slides/2_glass-box/linear.html#model-synopsis",
"title": "Linear Models",
"section": "Model Synopsis",
"text": "Model Synopsis\n\n\nA linear model predicts the target as a weighted sum of the input features.\n\n\n\nThe independence and additivity of the model’s structure make it transparent. The weights communicate the global (with respect to the entire model) feature influence and importance.\n\n\n\nRefer to ML textbooks for more details about linear models (Flach 2012)."
},
{
"objectID": "slides/2_glass-box/linear.html#toy-example",
"href": "slides/2_glass-box/linear.html#toy-example",
"title": "Linear Models",
"section": "Toy Example",
"text": "Toy Example\n\n\\[\nf(\\mathbf{x}) = -1.81 \\;\\; + \\;\\; 0.54 \\times x_1 \\;\\; + \\;\\; 0.34 \\times x_2\n\\]\n\n\\[\\omega_0 = -1.81 \\;\\;\\;\\;\\;\\;\\;\\; \\omega_1 = 0.54 \\;\\;\\;\\;\\;\\;\\;\\; \\omega_2 = 0.34\\]"
},
{
"objectID": "slides/2_glass-box/linear.html#toy-example-meta-subs.ctd",
"href": "slides/2_glass-box/linear.html#toy-example-meta-subs.ctd",
"title": "Linear Models",
"section": "Toy Example ",
"text": "Toy Example"
},
{
"objectID": "slides/2_glass-box/linear.html#explanation-properties",
"href": "slides/2_glass-box/linear.html#explanation-properties",
"title": "Linear Models",
"section": "Explanation Properties",
"text": "Explanation Properties\n\n\n\n\n\n\n\n\nProperty\nLinear Models\n\n\n\n\nrelation\nante-hoc\n\n\ncompatibility\nlinear models\n\n\nmodelling\nregression (crisp classification)\n\n\nscope\nglobal and local\n\n\ntarget\nmodel and prediction"
},
{
"objectID": "slides/2_glass-box/linear.html#explanation-properties-meta-subs.ctd",
"href": "slides/2_glass-box/linear.html#explanation-properties-meta-subs.ctd",
"title": "Linear Models",
"section": "Explanation Properties ",
"text": "Explanation Properties \n\n\n\n\n\n\n\n\nProperty\nLinear Models\n\n\n\n\ndata\ntabular\n\n\nfeatures\nnumerical and (one hot-encoded) categorical\n\n\nexplanation\nmodel visualisation, feature influence & importance\n\n\ncaveats\nfeature correlation, target nonlinearity"
},
{
"objectID": "slides/2_glass-box/linear.html#model-visualisation",
"href": "slides/2_glass-box/linear.html#model-visualisation",
"title": "Linear Models",
"section": "Model Visualisation",
"text": "Model Visualisation\n\n\n\nModel visualisation is limited to 2, maybe 3 features"
},
{
"objectID": "slides/2_glass-box/linear.html#model-equation",
"href": "slides/2_glass-box/linear.html#model-equation",
"title": "Linear Models",
"section": "Model Equation",
"text": "Model Equation\n\n\\[\nf(\\mathbf{x}) = -1.81 \\;\\; + \\;\\; 0.54 \\times x_1 \\;\\; + \\;\\; 0.34 \\times x_2\n\\]\n\n\\[\\omega_0 = -1.81 \\;\\;\\;\\;\\;\\;\\;\\; \\omega_1 = 0.54 \\;\\;\\;\\;\\;\\;\\;\\; \\omega_2 = 0.34\\]"
},
{
"objectID": "slides/2_glass-box/linear.html#feature-influence-importance",
"href": "slides/2_glass-box/linear.html#feature-influence-importance",
"title": "Linear Models",
"section": "Feature Influence & Importance",
"text": "Feature Influence & Importance"
},
{
"objectID": "slides/2_glass-box/linear.html#feature-effect",
"href": "slides/2_glass-box/linear.html#feature-effect",
"title": "Linear Models",
"section": "Feature Effect",
"text": "Feature Effect"
},
{
"objectID": "slides/2_glass-box/linear.html#feature-effect-meta-subs.ctd",
"href": "slides/2_glass-box/linear.html#feature-effect-meta-subs.ctd",
"title": "Linear Models",
"section": "Feature Effect ",
"text": "Feature Effect"
},
{
"objectID": "slides/2_glass-box/linear.html#individual-effect",
"href": "slides/2_glass-box/linear.html#individual-effect",
"title": "Linear Models",
"section": "Individual Effect",
"text": "Individual Effect"
},
{
"objectID": "slides/2_glass-box/linear.html#individual-effect-meta-subs.ctd",
"href": "slides/2_glass-box/linear.html#individual-effect-meta-subs.ctd",
"title": "Linear Models",
"section": "Individual Effect ",
"text": "Individual Effect \n\n\\[\\omega_0 = -1.81 \\;\\;\\;\\;\\;\\;\\;\\; \\omega_1 = 0.54 \\;\\;\\;\\;\\;\\;\\;\\; \\omega_2 = 0.34\\]\n\n\\[x_1 = 1.30 \\;\\;\\;\\;\\;\\;\\;\\; x_2 = 0.20\\]"
},
{
"objectID": "slides/2_glass-box/linear.html#individual-effect-meta-subs.ctd-1",
"href": "slides/2_glass-box/linear.html#individual-effect-meta-subs.ctd-1",
"title": "Linear Models",
"section": "Individual Effect ",
"text": "Individual Effect \n\n\\[\nf(\\mathbf{x}) = -1.81 \\;\\; + \\;\\; \\underbrace{0.54 \\times 1.30}_{x_1} \\;\\; + \\;\\; \\underbrace{0.34 \\times 0.20}_{x_2}\n\\]\n\n\\[\nf(\\mathbf{x}) = -1.81 \\;\\; + \\;\\; \\underbrace{0.70}_{x_1} \\;\\; + \\;\\; \\underbrace{0.07}_{x_2}\n\\]"
},
{
"objectID": "slides/2_glass-box/linear.html#individual-effect-meta-subs.ctd-2",
"href": "slides/2_glass-box/linear.html#individual-effect-meta-subs.ctd-2",
"title": "Linear Models",
"section": "Individual Effect ",
"text": "Individual Effect \n\n\n\n\n\n Visualization omitted, Javascript library not loaded!\n Have you run `initjs()` in this notebook? If this notebook was from another\n user you must also trust this notebook (File -> Trust notebook). If you are viewing\n this notebook on github the Javascript has been stripped for security. If you are using\n JupyterLab this error is because a JupyterLab extension has not yet been written."
},
{
"objectID": "slides/2_glass-box/linear.html#textualisation",
"href": "slides/2_glass-box/linear.html#textualisation",
"title": "Linear Models",
"section": "Textualisation",
"text": "Textualisation\n\n\nIncreasing petal length (cm) by 1, increases the prediction by 0.54, ceteris paribus.\nIncreasing petal width (cm) by 1, increases the prediction by 0.34, ceteris paribus.\n\n\n\nFor categorical features:\n\nChanging feature \\(x_i\\) from foil (\\(0\\)) to fact (\\(1\\)) increases the prediction by \\(\\omega_k\\), ceteris paribus."
},
{
"objectID": "slides/2_glass-box/linear.html#feature-interaction",
"href": "slides/2_glass-box/linear.html#feature-interaction",
"title": "Linear Models",
"section": "Feature Interaction",
"text": "Feature Interaction\n\n\nManually introducing feature interaction terms allows linear models to account for such phenomena.\n\n\n\\[\nf(\\mathbf{x}) = \\omega_0 + \\omega_1 x_1 + \\cdots + \\omega_n x_n +\n\\underbrace{\\omega_{n+1} x_4 x_6}_{\\textit{interaction}}\n\\]"
},
{
"objectID": "slides/2_glass-box/linear.html#generalized-linear-models",
"href": "slides/2_glass-box/linear.html#generalized-linear-models",
"title": "Linear Models",
"section": "Generalized Linear Models",
"text": "Generalized Linear Models\n\n\nGeneralized Linear Models (GLMs) allow to model alternative (to Gaussian) distributions of the prediction target.\n\n\n\\[\ng(\\mathbb{E}_Y(y|\\mathbf{x})) = \\omega_0 + \\omega_1 x_1 + \\cdots + \\omega_n x_n\n\\]\n\n\n\nThe relationship is modelled by the link function \\(g\\)\nThis allows “the magnitude of the variance of each measurement to be a function of its predicted value”\n\n\n\n(Nelder and Wedderburn 1972)"
},
{
"objectID": "slides/2_glass-box/linear.html#generalized-additive-models",
"href": "slides/2_glass-box/linear.html#generalized-additive-models",
"title": "Linear Models",
"section": "Generalized Additive Models",
"text": "Generalized Additive Models\n\n\nGeneralized Additive Models (GAMs) allow to model nonlinear relationships – a weighted sum is replaced by a sum of arbitrary functions.\n\n\n\\[\ng(\\mathbb{E}_Y(y|\\mathbf{x})) = \\omega_0 + f_1(x_1) + \\cdots + f_n(x_n)\n\\]\n\n\nExtension to model nonlinear relationships\nInstead of a weighted sum, a sum of arbitrary functions"
},
{
"objectID": "slides/2_glass-box/linear.html#many-more",
"href": "slides/2_glass-box/linear.html#many-more",
"title": "Linear Models",
"section": "Many More",
"text": "Many More\n\n\nThis list is far from comprehensive and exhaustive."
},
{
"objectID": "slides/2_glass-box/linear.html#feature-selection",
"href": "slides/2_glass-box/linear.html#feature-selection",
"title": "Linear Models",
"section": "Feature Selection",
"text": "Feature Selection\n\n\nLarge models may become overwhelming and incomprehensible (but still transparent)\n\n\n\nAchieved with feature selection or sparse linear models\n\n\n\\[\nf(\\mathbf{x}) = 0.2 \\;\\;\n + \\;\\; 0.25 \\times x_1 \\;\\;\n - \\;\\; 0.47 \\times x_2 \\;\\;\n + \\;\\; 0.01 \\times x_3 \\;\\;\n + \\;\\; 0.70 \\times x_4 \\\\\n - \\;\\; 0.20 \\times x_5 \\;\\;\n - \\;\\; 0.33 \\times x_6 \\;\\;\n - \\;\\; 0.90 \\times x_7\n\\]"
},
{
"objectID": "slides/2_glass-box/linear.html#incomparability-of-parameters",
"href": "slides/2_glass-box/linear.html#incomparability-of-parameters",
"title": "Linear Models",
"section": "Incomparability of Parameters",
"text": "Incomparability of Parameters\n\nThe coefficients are uninformative unless the features are standardised (zero mean, one standard deviation) \\[\n\\mathring{x}_i = \\frac{x_i - \\mu_i}{\\sigma_i}\n\\]\n\n\n\nThe reference point becomes an all-zero instance – a mean-valued data point\nThe intercept communicates the prediction of the reference point\n\n\n\n\n\n\n\nFeasibility of the Reference Instance\n\n\nThe reference point may be out-of-distribution."
},
{
"objectID": "slides/2_glass-box/linear.html#incomparability-of-parameters-meta-subs.ctd",
"href": "slides/2_glass-box/linear.html#incomparability-of-parameters-meta-subs.ctd",
"title": "Linear Models",
"section": "Incomparability of Parameters ",
"text": "Incomparability of Parameters"
},
{
"objectID": "slides/2_glass-box/linear.html#incomparability-of-parameters-meta-subs.ctd-1",
"href": "slides/2_glass-box/linear.html#incomparability-of-parameters-meta-subs.ctd-1",
"title": "Linear Models",
"section": "Incomparability of Parameters ",
"text": "Incomparability of Parameters"
},
{
"objectID": "slides/2_glass-box/linear.html#incomparability-of-parameters-meta-subs.ctd-2",
"href": "slides/2_glass-box/linear.html#incomparability-of-parameters-meta-subs.ctd-2",
"title": "Linear Models",
"section": "Incomparability of Parameters ",
"text": "Incomparability of Parameters"
},
{
"objectID": "slides/2_glass-box/linear.html#incomparability-of-parameters-meta-subs.ctd-3",
"href": "slides/2_glass-box/linear.html#incomparability-of-parameters-meta-subs.ctd-3",
"title": "Linear Models",
"section": "Incomparability of Parameters ",
"text": "Incomparability of Parameters"
},
{
"objectID": "slides/2_glass-box/linear.html#incomparability-of-parameters-meta-subs.ctd-4",
"href": "slides/2_glass-box/linear.html#incomparability-of-parameters-meta-subs.ctd-4",
"title": "Linear Models",
"section": "Incomparability of Parameters ",
"text": "Incomparability of Parameters"
},
{
"objectID": "slides/2_glass-box/linear.html#pros-fa-plus-square",
"href": "slides/2_glass-box/linear.html#pros-fa-plus-square",
"title": "Linear Models",
"section": "Pros ",
"text": "Pros \n\nTransparent from the outset due to linearity – predictions are a linear combination of features\nEasy to interpret (given relevant background knowledge)"
},
{
"objectID": "slides/2_glass-box/linear.html#cons-fa-minus-square",
"href": "slides/2_glass-box/linear.html#cons-fa-minus-square",
"title": "Linear Models",
"section": "Cons ",
"text": "Cons \n\nModel linearity entails low complexity, but also low expressivity, hence low predictive power\nFeature interactions / correlations are not accounted for\nPoor modeling ability for nonlinear problems\nDecreased transparency for a large number of features (can be overcome with feature selection)"
},
{
"objectID": "slides/2_glass-box/linear.html#caveats-fa-skull",
"href": "slides/2_glass-box/linear.html#caveats-fa-skull",
"title": "Linear Models",
"section": "Caveats ",
"text": "Caveats \n\nInterpretability is tricky without feature normalisation\nThe interpretation based on unitary change in feature values ignores feature correlation and may lead to out-of-distribution instances"
},
{
"objectID": "slides/2_glass-box/linear.html#summary",
"href": "slides/2_glass-box/linear.html#summary",
"title": "Linear Models",
"section": "Summary",
"text": "Summary\n\n(Small) linear models are transparent\nTheir interpretation should be viewed through their inherent limitations"
},
{
"objectID": "slides/2_glass-box/linear.html#implementations",
"href": "slides/2_glass-box/linear.html#implementations",
"title": "Linear Models",
"section": "Implementations",
"text": "Implementations\n\n\n\n\n\n\n\n Python\n R\n\n\n\n\nscikit-learn\nbuilt in"
},
{
"objectID": "slides/2_glass-box/linear.html#further-reading",
"href": "slides/2_glass-box/linear.html#further-reading",
"title": "Linear Models",
"section": "Further Reading",
"text": "Further Reading\n\nscikit-learn guide\nInterpretable Machine Learning book\nMachine learning: The art and science of algorithms that make sense of data textbook (Flach 2012)"
},
{
"objectID": "slides/2_glass-box/linear.html#bibliography",
"href": "slides/2_glass-box/linear.html#bibliography",
"title": "Linear Models",
"section": "Bibliography",
"text": "Bibliography\n\n\nFlach, Peter. 2012. Machine Learning: The Art and Science of Algorithms That Make Sense of Data. Cambridge university press.\n\n\nNelder, John Ashworth, and Robert WM Wedderburn. 1972. “Generalized Linear Models.” Journal of the Royal Statistical Society: Series A (General) 135 (3): 370–84."
},
{
"objectID": "slides/2_glass-box/linear.html#questions",
"href": "slides/2_glass-box/linear.html#questions",
"title": "Linear Models",
"section": "Questions",
"text": "Questions\n\n\n\n\n\nkacper.sokol@rmit.edu.au k.sokol@bristol.ac.uk"
},
{
"objectID": "slides/2_glass-box/data.html#data-as-a-model",
"href": "slides/2_glass-box/data.html#data-as-a-model",
"title": "Explaining Data",
"section": "Data as a Model",
"text": "Data as a Model\n\nRepresentation of some underlying phenomenon – an implicit model\nInherent assumptions as well as measurement limitations and errors\n\n\n\n\n\nCollection influence by factors such as world view and mental model\nPossibly partial and subjective\nEmbedded cultural biases, e.g., “How much is a lot?”"
},
{
"objectID": "slides/2_glass-box/data.html#data-characteristics",
"href": "slides/2_glass-box/data.html#data-characteristics",
"title": "Explaining Data",
"section": "Data Characteristics",
"text": "Data Characteristics\n\nSummary statistics\n\nfeature distribution\nper-class feature distribution\nfeature correlation\nclass distribution and ratio"
},
{
"objectID": "slides/2_glass-box/data.html#data-characteristics-meta-subs.ctd",
"href": "slides/2_glass-box/data.html#data-characteristics-meta-subs.ctd",
"title": "Explaining Data",
"section": "Data Characteristics ",
"text": "Data Characteristics \n\n\n\n\n\n\n \n \n \n sepal length (cm)\n sepal width (cm)\n petal length (cm)\n petal width (cm)\n \n \n \n \n count\n 150.000000\n 150.000000\n 150.000000\n 150.000000\n \n \n mean\n 5.843333\n 3.057333\n 3.758000\n 1.199333\n \n \n std\n 0.828066\n 0.435866\n 1.765298\n 0.762238\n \n \n min\n 4.300000\n 2.000000\n 1.000000\n 0.100000\n \n \n 25%\n 5.100000\n 2.800000\n 1.600000\n 0.300000\n \n \n 50%\n 5.800000\n 3.000000\n 4.350000\n 1.300000\n \n \n 75%\n 6.400000\n 3.300000\n 5.100000\n 1.800000\n \n \n max\n 7.900000\n 4.400000\n 6.900000\n 2.500000"
},
{
"objectID": "slides/2_glass-box/data.html#data-characteristics-meta-subs.ctd-1",
"href": "slides/2_glass-box/data.html#data-characteristics-meta-subs.ctd-1",
"title": "Explaining Data",
"section": "Data Characteristics ",
"text": "Data Characteristics"
},
{
"objectID": "slides/2_glass-box/data.html#data-characteristics-meta-subs.ctd-2",
"href": "slides/2_glass-box/data.html#data-characteristics-meta-subs.ctd-2",
"title": "Explaining Data",
"section": "Data Characteristics ",
"text": "Data Characteristics"
},
{
"objectID": "slides/2_glass-box/data.html#data-characteristics-meta-subs.ctd-3",
"href": "slides/2_glass-box/data.html#data-characteristics-meta-subs.ctd-3",
"title": "Explaining Data",
"section": "Data Characteristics ",
"text": "Data Characteristics"
},
{
"objectID": "slides/2_glass-box/data.html#data-characteristics-meta-subs.ctd-4",
"href": "slides/2_glass-box/data.html#data-characteristics-meta-subs.ctd-4",
"title": "Explaining Data",
"section": "Data Characteristics ",
"text": "Data Characteristics"
},
{
"objectID": "slides/2_glass-box/data.html#data-characteristics-meta-subs.ctd-5",
"href": "slides/2_glass-box/data.html#data-characteristics-meta-subs.ctd-5",
"title": "Explaining Data",
"section": "Data Characteristics ",
"text": "Data Characteristics"
},
{
"objectID": "slides/2_glass-box/data.html#data-characteristics-meta-subs.ctd-6",
"href": "slides/2_glass-box/data.html#data-characteristics-meta-subs.ctd-6",
"title": "Explaining Data",
"section": "Data Characteristics ",
"text": "Data Characteristics \n\nTransform characteristics and observations into explanations\n\n“The classes are balanced”\n“The data are bimodal”\n“These features are highly correlated”\n\n\n\nStatistics state well defined properties\nThese may not be considered explanations\nData “explanations” can be contrastive and lead to understanding"
},
{
"objectID": "slides/2_glass-box/data.html#data-documentation",
"href": "slides/2_glass-box/data.html#data-documentation",
"title": "Explaining Data",
"section": "Data Documentation",
"text": "Data Documentation\n\n\n\nData Statements (Bender and Friedman 2018)\nData Sheets for Data Sets (Gebru et al. 2018)\nNutrition Labels for Data Sets (Holland et al. 2018)\n\n\n\nexperimental setup (implicit assumptions)\ncollection methodology (by whom and for what purpose)\napplied pre-processing (cleaning and aggregation)\nprivacy aspects\ndata owners\n\n\n\n\n\nCharacterise important aspects of data and their collection process"
},
{
"objectID": "slides/2_glass-box/data.html#data-documentation-meta-subs.ctd",
"href": "slides/2_glass-box/data.html#data-documentation-meta-subs.ctd",
"title": "Explaining Data",
"section": "Data Documentation ",
"text": "Data Documentation \n\nML and AI services (Arnold et al. 2019)\npredictive models (Mitchell et al. 2019)\nprivacy aspects (Kelley et al. 2009)\nranking algorithms (Yang et al. 2018)\nAI explainability (Sokol and Flach 2020)\nalgorithmic impact (Reisman et al. 2018)\n\n\n\nSimilar concepts for other aspects of ML components"
},
{
"objectID": "slides/2_glass-box/data.html#instance-based-explainability",
"href": "slides/2_glass-box/data.html#instance-based-explainability",
"title": "Explaining Data",
"section": "Instance-based Explainability",
"text": "Instance-based Explainability\n\n\n\nFor distance-based or neighbour-based you need a similarity metric\nWe will have a look at relevant – instance-based – explainability techniques such as exemplars, prototypes and criticisms later"
},
{
"objectID": "slides/2_glass-box/data.html#dimensionality-reduction",
"href": "slides/2_glass-box/data.html#dimensionality-reduction",
"title": "Explaining Data",
"section": "Dimensionality Reduction",
"text": "Dimensionality Reduction\n\nEmbeddings\nProjections\n\n\n\n\nLook into principle component analysis (PCA) as well\n\n\n\n(Van der Maaten and Hinton 2008)"
},
{
"objectID": "slides/2_glass-box/data.html#dimensionality-reduction-meta-subs.ctd",
"href": "slides/2_glass-box/data.html#dimensionality-reduction-meta-subs.ctd",
"title": "Explaining Data",
"section": "Dimensionality Reduction ",
"text": "Dimensionality Reduction"
},
{
"objectID": "slides/2_glass-box/data.html#dimensionality-reduction-meta-subs.ctd-1",
"href": "slides/2_glass-box/data.html#dimensionality-reduction-meta-subs.ctd-1",
"title": "Explaining Data",
"section": "Dimensionality Reduction ",
"text": "Dimensionality Reduction"
},
{
"objectID": "slides/2_glass-box/data.html#summary",
"href": "slides/2_glass-box/data.html#summary",
"title": "Explaining Data",
"section": "Summary",
"text": "Summary\n\nExplainability is relevant to data collection and processing\nWe usually have to make some modelling assumptions\nParameterisation may be tricky"
},
{
"objectID": "slides/2_glass-box/data.html#bibliography",
"href": "slides/2_glass-box/data.html#bibliography",
"title": "Explaining Data",
"section": "Bibliography",
"text": "Bibliography\n\n\nArnold, Matthew, Rachel KE Bellamy, Michael Hind, Stephanie Houde, Sameep Mehta, Aleksandra Mojsilovic, Ravi Nair, et al. 2019. “FactSheets: Increasing Trust in AI Services Through Supplier’s Declarations of Conformity.” IBM Journal of Research and Development 63 (4/5): 6:1–13. https://doi.org/10.1147/JRD.2019.2942288.\n\n\nBender, Emily M, and Batya Friedman. 2018. “Data Statements for Natural Language Processing: Toward Mitigating System Bias and Enabling Better Science.” Transactions of the Association for Computational Linguistics 6: 587–604. https://doi.org/10.1162/tacl_a_00041.\n\n\nGebru, Timnit, Jamie Morgenstern, Briana Vecchione, Jennifer Wortman Vaughan, Hanna Wallach, Hal Daumé III, and Kate Crawford. 2018. “Datasheets for Datasets.” 5th Workshop on Fairness, Accountability, and Transparency in Machine Learning (FAT/ML 2018) at the 35th International Conference on Machine Learning (ICML 2018), Stockholm, Sweden.\n\n\nHolland, Sarah, Ahmed Hosny, Sarah Newman, Joshua Joseph, and Kasia Chmielinski. 2018. “The Dataset Nutrition Label: A Framework to Drive Higher Data Quality Standards.” arXiv Preprint arXiv:1805.03677.\n\n\nKelley, Patrick Gage, Joanna Bresee, Lorrie Faith Cranor, and Robert W. Reeder. 2009. “A ‘Nutrition Label’ for Privacy.” In Proceedings of the 5th Symposium on Usable Privacy and Security, 4:1–12. SOUPS ’09. New York, NY, USA: ACM. https://doi.org/10.1145/1572532.1572538.\n\n\nMitchell, Margaret, Simone Wu, Andrew Zaldivar, Parker Barnes, Lucy Vasserman, Ben Hutchinson, Elena Spitzer, Inioluwa Deborah Raji, and Timnit Gebru. 2019. “Model Cards for Model Reporting.” In Proceedings of the Conference on Fairness, Accountability, and Transparency, 220–29. ACM.\n\n\nReisman, Dillon, Jason Schultz, Kate Crawford, and Meredith Whittaker. 2018. “Algorithmic Impact Assessments: A Practical Framework for Public Agency Accountability.” AI Now Institute.\n\n\nSokol, Kacper, and Peter Flach. 2020. “Explainability Fact Sheets: A Framework for Systematic Assessment of Explainable Approaches.” In Proceedings of the 2020 Conference on Fairness, Accountability, and Transparency, 56–67.\n\n\nVan der Maaten, Laurens, and Geoffrey Hinton. 2008. “Visualizing Data Using t-SNE.” Journal of Machine Learning Research 9 (11).\n\n\nYang, Ke, Julia Stoyanovich, Abolfazl Asudeh, Bill Howe, HV Jagadish, and Gerome Miklau. 2018. “A Nutritional Label for Rankings.” In Proceedings of the 2018 International Conference on Management of Data, 1773–76. ACM."
},
{
"objectID": "slides/2_glass-box/data.html#questions",
"href": "slides/2_glass-box/data.html#questions",
"title": "Explaining Data",
"section": "Questions",
"text": "Questions\n\n\n\n\n\nkacper.sokol@rmit.edu.au k.sokol@bristol.ac.uk"
},
{
"objectID": "slides/2_glass-box/tree.html#model-synopsis",
"href": "slides/2_glass-box/tree.html#model-synopsis",
"title": "Decision Trees",
"section": "Model Synopsis",
"text": "Model Synopsis\n\n\nA decision tree predicts the target by applying logical conditions to the input features, until a terminal node, i.e., a leaf, is reached. The (sequential) structure makes the model transparent. A prediction is estimated as the average value (regression) or majority class (crisp classification) of the training instances based on which this leaf was built.\n\n\n\nRefer to ML textbooks for more details about decision trees (Flach 2012)."
},
{
"objectID": "slides/2_glass-box/tree.html#model-synopsis-meta-subs.ctd",
"href": "slides/2_glass-box/tree.html#model-synopsis-meta-subs.ctd",
"title": "Decision Trees",
"section": "Model Synopsis ",
"text": "Model Synopsis \n\n\nThe learning algorithm chooses a feature based on its ability to decrease the impurity of the data (subsets) after a split is made."
},
{
"objectID": "slides/2_glass-box/tree.html#model-synopsis-meta-subs.ctd-1",
"href": "slides/2_glass-box/tree.html#model-synopsis-meta-subs.ctd-1",
"title": "Decision Trees",
"section": "Model Synopsis ",
"text": "Model Synopsis \n\n\nDecision trees can be interpreted though: model visualisation / textualisation, feature importance, exemplars, what-ifs, rules, and counterfactuals."
},
{
"objectID": "slides/2_glass-box/tree.html#toy-example",
"href": "slides/2_glass-box/tree.html#toy-example",
"title": "Decision Trees",
"section": "Toy Example",
"text": "Toy Example"
},
{
"objectID": "slides/2_glass-box/tree.html#toy-example-meta-subs.ctd",
"href": "slides/2_glass-box/tree.html#toy-example-meta-subs.ctd",
"title": "Decision Trees",
"section": "Toy Example ",
"text": "Toy Example"
},
{
"objectID": "slides/2_glass-box/tree.html#explanation-properties",
"href": "slides/2_glass-box/tree.html#explanation-properties",
"title": "Decision Trees",
"section": "Explanation Properties",
"text": "Explanation Properties\n\n\n\n\n\n\n\n\nProperty\nClassification and Regression Trees (CART)\n\n\n\n\nrelation\nante-hoc\n\n\ncompatibility\nclassification and regression trees (CART)\n\n\nmodelling\nregression and crisp & probabilistic classification\n\n\nscope\nglobal, cohort and local\n\n\ntarget\nmodel, sub-space and prediction"
},
{
"objectID": "slides/2_glass-box/tree.html#explanation-properties-meta-subs.ctd",
"href": "slides/2_glass-box/tree.html#explanation-properties-meta-subs.ctd",
"title": "Decision Trees",
"section": "Explanation Properties ",
"text": "Explanation Properties \n\n\n\n\n\n\n\n\nProperty\nClassification and Regression Trees (CART)\n\n\n\n\ndata\ntabular\n\n\nfeatures\nnumerical and categorical\n\n\nexplanation\nmodel visualisation, feature influence & importance, rules, exemplars,what-ifs, counterfactuals\n\n\ncaveats\naxis-parallel splits, target linearity"
},
{
"objectID": "slides/2_glass-box/tree.html#model-visualisation",
"href": "slides/2_glass-box/tree.html#model-visualisation",
"title": "Decision Trees",
"section": "Model Visualisation",
"text": "Model Visualisation"
},
{
"objectID": "slides/2_glass-box/tree.html#text-representation",
"href": "slides/2_glass-box/tree.html#text-representation",
"title": "Decision Trees",
"section": "Text Representation",
"text": "Text Representation\n\n\n|--- petal length (cm) <= 2.45\n| |--- class: 0\n|--- petal length (cm) > 2.45\n| |--- petal width (cm) <= 1.75\n| | |--- petal length (cm) <= 4.95\n| | | |--- class: 1\n| | |--- petal length (cm) > 4.95\n| | | |--- class: 2\n| |--- petal width (cm) > 1.75\n| | |--- class: 2"
},
{
"objectID": "slides/2_glass-box/tree.html#code-representation",
"href": "slides/2_glass-box/tree.html#code-representation",
"title": "Decision Trees",
"section": "Code Representation",
"text": "Code Representation\n\n\ndef tree(sepal_length, sepal_width, petal_length, petal_width):\n if petal_length <= 2.449999988079071:\n return setosa\n else: # if petal_length > 2.449999988079071\n if petal_width <= 1.75:\n if petal_length <= 4.950000047683716:\n return versicolor\n else: # if petal_length > 4.950000047683716\n return virginica\n else: # if petal_width > 1.75\n return virginica"
},
{
"objectID": "slides/2_glass-box/tree.html#feature-importance",
"href": "slides/2_glass-box/tree.html#feature-importance",
"title": "Decision Trees",
"section": "Feature Importance",
"text": "Feature Importance\n\nNode \\(n\\) importance \\(i(n)\\) (based on weighted impurity \\(C\\))\n\\[\ni(n) = \\frac{|X_n|}{|X|} C(n)\n - \\frac{|X_{\\mathit{left}(n)}|}{|X|} C(\\mathit{left}(n))\n - \\frac{|X_{\\mathit{right}(n)}|}{|X|} C(\\mathit{right}(n))\n\\]\nFeature \\(f\\) importance \\(I(f)\\)\n\\[\nI(f) = \\frac{\\sum_{n_f} i(n_f)}{\\sum_n i(n)}\n\\]\n\n\n\n\\(C_n\\) is impurity of node \\(n\\)\n\\(n_f\\) is a node splitting on feature \\(f\\)\n\\((X_n, Y_n)\\) is a set of data points and their labels \\((x, y)\\) situated within the node \\(n\\)"
},
{
"objectID": "slides/2_glass-box/tree.html#feature-importance-meta-subs.ctd",
"href": "slides/2_glass-box/tree.html#feature-importance-meta-subs.ctd",
"title": "Decision Trees",
"section": "Feature Importance ",
"text": "Feature Importance \n\nCrisp classification – Gini impurity \\(C^{\\mathit{G}}\\)\n\\[\nC^{\\mathit{G}}(n) = 1 - \\sum_{c \\in C}p_{n}^2(c)\\\\\np_{n}(c) = \\frac{1}{|X_n|} \\sum_{(x, y) \\in (X_n, Y_n)} \\mathbb{1}_{y = c}\n\\]\n\n\n\n\\(C\\) is the set of all the unique labels \\(c\\)"
},
{
"objectID": "slides/2_glass-box/tree.html#feature-importance-meta-subs.ctd-1",
"href": "slides/2_glass-box/tree.html#feature-importance-meta-subs.ctd-1",
"title": "Decision Trees",
"section": "Feature Importance ",
"text": "Feature Importance \n\nRegression or probabilistic classification – mean squared error \\(C^{\\mathit{MSE}}\\)\n\\[\nC^{\\mathit{MSE}}(n) = \\frac{1}{|X_n|} \\sum_{(x, y) \\in (X_n, Y_n)} (y - \\bar{y}_{n})^2 \\\\\n\\bar{y}_{n} = \\frac{1}{|X_n|} \\sum_{(x, y) \\in (X_n, Y_n)} y\n\\]"
},
{
"objectID": "slides/2_glass-box/tree.html#feature-importance-meta-subs.ctd-2",
"href": "slides/2_glass-box/tree.html#feature-importance-meta-subs.ctd-2",
"title": "Decision Trees",
"section": "Feature Importance ",
"text": "Feature Importance \n\n\n\nLay people have been show to assume that the most important feature is the one at the root split of the tree"
},
{
"objectID": "slides/2_glass-box/tree.html#exemplar-explanation",
"href": "slides/2_glass-box/tree.html#exemplar-explanation",
"title": "Decision Trees",
"section": "Exemplar Explanation",
"text": "Exemplar Explanation\n\n\n\n\n \n \n \n sepal length (cm)\n sepal width (cm)\n petal length (cm)\n petal width (cm)\n tree leaf\n \n \n \n \n 42\n 4.4\n 3.2\n 1.3\n 0.2\n 1\n \n \n\n\n\n\n\n\n\n\n \n \n \n sepal length (cm)\n sepal width (cm)\n petal length (cm)\n petal width (cm)\n tree leaf\n \n \n \n \n 45\n 4.8\n 3.0\n 1.4\n 0.3\n 1\n \n \n 46\n 5.1\n 3.8\n 1.6\n 0.2\n 1\n \n \n 47\n 4.6\n 3.2\n 1.4\n 0.2\n 1\n \n \n 48\n 5.3\n 3.7\n 1.5\n 0.2\n 1\n \n \n 49\n 5.0\n 3.3\n 1.4\n 0.2\n 1"
},
{
"objectID": "slides/2_glass-box/tree.html#what-if-explanation",
"href": "slides/2_glass-box/tree.html#what-if-explanation",
"title": "Decision Trees",
"section": "What-if Explanation",
"text": "What-if Explanation\n\n\n\n\n \n \n \n sepal length (cm)\n sepal width (cm)\n petal length (cm)\n petal width (cm)\n tree leaf\n \n \n \n \n 42\n 4.4\n 3.2\n 1.3\n 0.2\n 1\n \n \n\n\nPredicted as setosa\n\n\n\n\n\n\n \n \n \n sepal length (cm)\n sepal width (cm)\n petal length (cm)\n petal width (cm)\n tree leaf\n \n \n \n \n 0\n 4.4\n 3.2\n 2.7\n 0.2\n 5\n \n \n\n\nPredicted as versicolor"
},
{
"objectID": "slides/2_glass-box/tree.html#rule-explanation",
"href": "slides/2_glass-box/tree.html#rule-explanation",
"title": "Decision Trees",
"section": "Rule Explanation",
"text": "Rule Explanation\n\n\n\n\n\nif (petal length (cm) <= 2.45)\n then class: setosa \n\n\nif (petal length (cm) > 2.45)\n and (petal width (cm) <= 1.75)\n and (petal length (cm) <= 4.95)\n then class: versicolor \n\n\n\n\n\n\n\nif (petal length (cm) > 2.45)\n and (petal width (cm) > 1.75)\n then class: virginica \n\n\nif (petal length (cm) > 2.45)\n and (petal width (cm) <= 1.75)\n and (petal length (cm) > 4.95)\n then class: virginica"
},
{
"objectID": "slides/2_glass-box/tree.html#counterfactual-explanation",
"href": "slides/2_glass-box/tree.html#counterfactual-explanation",
"title": "Decision Trees",
"section": "Counterfactual Explanation",
"text": "Counterfactual Explanation\n\n\nIf petal length (cm) changes from 1.3 to 2.7, the prediction will change from setosa to versicolor.\n\n\n\n\n\n\n\n \n \n \n sepal length (cm)\n sepal width (cm)\n petal length (cm)\n petal width (cm)\n \n \n \n \n 42\n 4.4\n 3.2\n 1.3\n 0.2"
},
{
"objectID": "slides/2_glass-box/tree.html#pros-fa-plus-square",
"href": "slides/2_glass-box/tree.html#pros-fa-plus-square",
"title": "Decision Trees",
"section": "Pros ",
"text": "Pros \n\nTransparent from the outset due to their underlying (sequential) structure – predictions are derived by evaluating a series of logical conditions\nEasy to interpret (given relevant background knowledge)\nFeature correlation is not that much of a problem\nCapable of modelling nonlinear relations\n\n\n\nBecause of purity-based splits feature correlation and interaction are not a major issue"
},
{
"objectID": "slides/2_glass-box/tree.html#cons-fa-minus-square",
"href": "slides/2_glass-box/tree.html#cons-fa-minus-square",
"title": "Decision Trees",
"section": "Cons ",