From fb511e1baceb647fa637bfec2a9648f49742e045 Mon Sep 17 00:00:00 2001 From: runner Date: Fri, 13 Oct 2023 16:14:47 +0000 Subject: [PATCH] Render book --- "docs/images/paulina_kaczy\305\204ska.jpg" | Bin 0 -> 168530 bytes docs/search_index.json | 2 +- docs/the-team.html | 13 ++++++++++--- 3 files changed, 11 insertions(+), 4 deletions(-) create mode 100644 "docs/images/paulina_kaczy\305\204ska.jpg" diff --git "a/docs/images/paulina_kaczy\305\204ska.jpg" "b/docs/images/paulina_kaczy\305\204ska.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..3d4966642e837a0cef36147917561f68fdacc9fd GIT binary patch literal 168530 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 RN;yyw?WLvLM%rM1|JlZyBgy~( literal 0 HcmV?d00001 diff --git a/docs/search_index.json b/docs/search_index.json index 693448a..1763269 100644 --- a/docs/search_index.json +++ b/docs/search_index.json @@ -1 +1 @@ -[["index.html", "MI² MI².AI", " MI² MI².AI MI².AI is a group of mathematicians and computer scientists who love to play with predictive models. We are spread between Warsaw University of Technology and University of Warsaw. Here we have workshops and seminars, here we are forging new ideas, creating tools, solving problems, doing consulting and sharing our positive attitude. Feel free to jump in. Mission Machine learning is like atomic energy. We develop leaders, skills, methods, tools and good practices so that predictive models can be deployed responsibly and sustainably. Vision MI² is a group of experts supporting global initiatives aimed at responsible and sustainable machine learning. We support the development of future leaders of responsible machine learning through internships, PhDs, postdoctoral fellowships and so on. We seek for research grants and business projects to conduct both scientific and applied research. We develop and maintain the software and infrastructure necessary to build responsible and sustainable ML. We develop cooperation with international teams working on similar topics. We support companies to implement best practices related to responsible modelling in their operation. We conduct workshops and training on responsible predictive modelling. "],["the-team.html", "The Team", " The Team Members Przemysław Biecek, PhD, DSc (Team Leader) Hubert Baniecki, PhD student Mustafa Cavus, PhD Maciej Chrabąszcz, MSc student Mateusz Grzyb, MSc student Stanisław Giziński, MSc student Weronika Hryniewska-Guzik, PhD student Piotr Komorowski, MSc student Mateusz Krzyziński, MSc student Tymoteusz Kwieciński, BSc student Stanisław Łaniewski, PhD student Piotr Piątyszek, BSc student Hubert Ruczyński, MSc student Barbara Rychalska, PhD student Nuno Sepúlveda, PhD Bartek Sobieski, MSc student Mikołaj Spytek, MSc student Tomasz Stanisławek, PhD Hoang Thien Ly, BSc student Paulina Tomaszewska, PhD student Piotr Wilczyński, BSc student Emilia Wiśnios, MSc student Paweł Wojciechowski, BSc Katarzyna Woźnica, PhD student Vladimir Zaigrajew, PhD student Artur Żółkowski, BSc student Collaborators Mariusz Adamek, Prof, MD Przemysław Bombiński, PhD, MD André Fonseca, PhD student Katarzyna Kobylińska, PhD student Anna Kozak, MSc Marcin Luckner, PhD João Malato, PhD student Bartek Pieliński, PhD, DSc Hanna Piotrowska, MA Elżbieta Sienkiewicz, PhD Julian Sienkiewicz, PhD Adrian Stańdo, MSc student Patryk Szatkowski, PhD student, MD Jakub Wiśniewski, MSc student Alumni Piotr Czarnecki, MSc Alicja Gosiewska, MSc Adrianna Grudzień, BSc Maria Kałuska, BSc Marcin Kosiński, MSc Adam Kozłowski, MSc Wojciech Kretowicz, BSc Michał Kuźba, MSc Szymon Maksymiuk, BSc Tomasz Mikołajczyk, PhD Katarzyna Pękala, MSc Adam Rydelek, BSc Bartosz Sawicki, BSc Patryk Słowakiewicz, BSc Michał Sokólski, MSc Mateusz Stączek, BSc Szymon Szmajdziński, BSc Zuzanna Trafas, BSc Kinga Ułasik, BSc Anna Wróblewska, PhD Hanna Zdulska, BSc Przemysław Biecek My personal mission is to enhance human capabilities by supporting them through access to data-driven and knowledge-based predictions. I execute it by developing methods and tools for responsible machine learning, trustworthy artificial intelligence and reliable software engineering. I work as an associate professor at Warsaw University of Technology and the University of Warsaw. I graduated in software engineering and mathematical statistics and now work on model visualisation, explanatory model analysis, predictive modelling and data science for healthcare. In 2016, I formed the research group MI² which develops methods and tools for predictive model analysis. Google Scholar: Af0O75cAAAAJ GitHub: pbiecek LinkedIn: pbiecek Mariusz Adamek I work at two Medical Universities (Silesia and Gdańsk) holding a Professorship in Medicine and Health Sciences. My interests are focused on lung cancer prevention and screening, the latter by means of low-dose computed tomography (LDCT) with special emphasis put on molecular biology methods, prediction models and image analysis aimed to enhance the performance of lung screening outcomes. Website: www.mariuszadamek.io Hubert Baniecki I’m a PhD student in Computer Science at the University of Warsaw. Prior, I did my MSc (2022) and BSc (2021) in Data Science at Warsaw University of Technology. My main research interest is explainable machine learning, with particular emphasis on adversarial attacks & explanation evaluation. Website: hbaniecki.com Mustafa Cavus I work as an assistant professor at Warsaw University of Technology and the Eskisehir Technical University. I joined the MI² DataLab as a post-doc researcher in 2021. I work on explainable artificial intelligence and AutoML. Google Scholar: I63d1WIAAAAJ&hl GitHub: mcavus LinkedIn: mcavus Twitter: mcavus Julian Sienkiewicz I work as an assistant professor at Faculty of Physics, WUT. My main research area links with sociophysics, complex networks and agent-based models. In the scope of MI² DataLab I follow my other interest - scientometrics. Google Scholar: mIwu11QAAAAJ LinkedIn: julek-sienkiewicz-873829 Maciej Chrabąszcz Master’s student in mathematical statisctics at Warsaw University of Technology. Interested in deep learning on text and images, explainable and responsible AI. GitHub: maciejchrabaszcz LinkedIn: maciej-chrabaszcz Stanisław Giziński A Research Software Engineer and student of Machine Learning at Faculty of Mathematics Informatics and Mechanic, University of Warsaw. His work in the lab focuses on using natural language processing and network analysis to better understand the spread of AI public policies. Interested also in applying machine learning in bioinformatics. Google Scholar: Stanisław Giziński GitHub: Gizzio LinkedIn: stanislaw-gizinski Mateusz Grzyb MSc student in Data Science at Warsaw University of Technology. Interested in artificial intelligence and scientific computing, but above all simply enjoys programming. GitHub: mgrzyb99 Weronika Hryniewska-Guzik PhD candidate in computer science at Warsaw University of Technology. Interested in deep learning modelling on medical images in the context of explainability and responsible AI. Google Scholar: aJeg3IQAAAAJ GitHub: Hryniewska LinkedIn: weronikahryniewska Piotr Komorowski Master’s student in Machine Learning at the University of Warsaw. Mainly interested in image processing and XAI applied to medical images. GitHub: piotr-komorowski LinkedIn: Piotr-Komorowski Anna Kozak Graduated in mathematical statistics at Warsaw University of Technology. Interested in explainable artificial intelligence and data visualization. Organizes projects related to education. Google Scholar: JIrqf9kAAAAJ GitHub: kozaka93 LinkedIn: kozakanna Mateusz Krzyziński MSc student in Data Science at Warsaw University of Technology. Interested in explainable artificial intelligence, with particular emphasis on XAI methods for survival analysis models and XAI applications in the medical field. Also an enthusiast of data visualization. Google Scholar: i_r7EUgAAAAJ GitHub: krzyzinskim LinkedIn: krzyzinskim Tymoteusz Kwieciński BSc student in Data Science at Warsaw University of Technology. Particularly interested in explainable artificial intelligence, computer vision and NLP. GitHub: Fersoil LinkedIn: Tymoteusz-Kwieciński Stanisław Łaniewski PhD student in Quantitative Psychology and Economics at University of Warsaw, Machine Learning Researcher at MI2 Data Lab, Msc in Actuarial Science and Mathematical Finance at University of Amsterdam, former Quantitative Researcher at Flow Traders His research focuses on enhancing classical methods used in discrete choice and finance with machine learning and how to apply them to explain behavioral phenomena and heuristics. He is also keen on finding balance between best predictive models and their explainability. Avid gamer who applies statistical techniques to deepen the understanding of best strategies LinkedIn: Stanisław-Łaniewski Piotr Piątyszek Undergraduate Data Science student at Warsaw University of Technology. Works as a research software engineer on enhancing accessibility and completeness of explainable AI. During pandemic contributes to a system of monitoring covid variants. Github: piotrpiatyszek Bartosz Pieliński I am an Assistant Professor at the Faculty of Political Science and International Studies at Warsaw University. I am interested in applying quantitative methods to study public policies. I am a founding member of the Institutional Grammar Research Initiative, which is focused on developing a new way of analysing social rules. I have participated in several research projects covering social policy, non-profit organizations, social enterprises, and international organizations. Website: https://pielinski.info/ Google Scholar: hnWiaVEAAAAJ LinkedIn: Bartosz Pieliński Hanna Piotrowska Information designer, focusing mainly on data visualization, branding and book design, with a strong interest in Data Science and perception studies. Winner of numerous awards, including The Kantar Information Is Beautiful Awards, HOW International Design Awards, Polish Graphic Design Awards and KTR. LinkedIn: hanna-piotrowska Twitter: hannapio Behance: hannapio. Hubert Ruczyński I am working towards Masters’s degree in Data Science at Warsaw University of Technology. I am also teaching students about data exploration and visualisation. My major interests are: AutoML | Natural Language Processing | Data Visualization | Fairness. GitHub: HubertR21 LinkedIn: Hubert Ruczyński Barbara Rychalska PhD candidate in computer science at Warsaw University of Technology. Mainly interested in deep learning for natural language processing (NLP), recommender systems and graph-based learning. Google Scholar: Wp0wHJoAAAAJ LinkedIn: Barbara-Rychalska Bartek Sobieski MSc student in Data Science at Warsaw University of Technology. Interested in deep learning and hyperparameter optimization. GitHub: sobieskibj LinkedIn: Bartłomiej-Sobieski Mikołaj Spytek MSc student in Data Science at Warsaw University of Technology. Interested in explainable artificial intelligence, data vizualization and survival analysis. Google Scholar: 1u49AqYAAAAJ GitHub: mikolajsp LinkedIn: Mikołaj-Spytek Tomasz Stanisławek PhD candidate in computer science at Warsaw University of Technology. Mainly interested in deep learning for natural language processing (NLP). Google Scholar: gq8NY_UAAAAJ GitHub: tstanislawek LinkedIn: Tomasz-Stanisławek Paulina Tomaszewska PhD candidate in Computer Science at Warsaw University of Technology. Gained experience in AI at leading universities during: Deep Learning Summer School at Tsinghua University (China), one-semester exchange at Nanyang Technological University (Singapore) and research internships at Gwangju Institute of Science and Technology (South Korea) and Institute of Science and Technology (Austria). Mainly interested in Deep Learning, Computer Vision and Transfer Learning. Recently, focused on digital pathology. Google Scholar: eO245iMAAAAJ LinkedIn: paulina-tomaszewska Hoang Thien Ly Bachelor student in Maths and Data Analysis at Warsaw University of Technology. Interested in working with data, and learning explainable artificial intelligence methods. Google Scholar: JkysewYAAAAJ GitHub: lhthien09 LinkedIn: hthienly Piotr Wilczyński BSc student in Data Science at Warsaw University of Technology. Interested in Large Language Models, AI Deception and Natural Language Processing. Currently working on my thesis, which applies Computer Vision to medicine. GitHub: wi1lku LinkedIn: Piotr-Wilczyński Jakub Wiśniewski Research Software Engineer and third year Data Science student at Warsaw University of Technology. Developer of tools for bias detection and fairness. Currently researching responsible applications of deep learning. President of Data Science Science Club at WUT. Google Scholar: _6eQsXMAAAAJ GitHub: jakwisn LinkedIn: jakwisn Emilia Wiśnios Research Software Engineer and student of Machine Learning at Faculty of Mathematics, Informatics and Mechanics, University of Warsaw. Interested in natural language processing and reinforcement learning. GitHub: emiliawisnios LinkedIn: emilia-wisnios Paweł Wojciechowski Graduated with a bachelor’s degree in Data Science from Warsaw University of Technology. Interested in explainable artificial intelligence, computer vision, and active learning. GitHub: p-wojciechowski LinkedIn: wojciechowski-p Katarzyna Woźnica PhD candidate in computer science at Warsaw University of Technology. Graduated in mathematical statistics. Interested in automated machine learning especially in hyperparameter tuning for tabular data. Carrying statistical analysis and predictive modelling for healthcare. Google Scholar: tAQS1gQAAAAJ GitHub: woznicak LinkedIn: woznicak Vladimir Zaigrajew PhD candidate in computer science at Warsaw University of Technology. Interested in deep learning, primarily on images, with a focus on representation learning. GitHub: WolodjaZ LinkedIn: vladimir-zaigrajew Artur Żółkowski BSc student in Data Science at Warsaw University of Technology. Interested in explainable artificial intelligence, computer vision and NLP. GitHub: arturzolkowski LinkedIn: Artur-Żółkowski "],["open-positions.html", "Open Positions", " Open Positions We have an open call for HOMER and xLungs projects for following positions. If you are interested in any of them please send your CV and Motivation Letter to przemyslaw.biecek at pw.edu.pl. We reserve the right to contact only selected candidates. MI2 policy on benefits and obligations We are seeking highly motivated and talented researchers at different career levels to join MI2.AI research team in the exciting field of explainability and red-teaming of AI models. There is a common recruitment policy for all positions. We are looking for people interested in research who want to create methods and tools that have a real impact (not yet another paper). proactive people with initiative. people with proficiency in programming languages commonly used in AI research, at least one out of Python, R or Julia. solid understanding of AI/ML models, including their architecture and training processes. good communication skills and proficiency in academic writing; excellent problem-solving skills. We offer: the opportunity to learn from experienced and motivated researchers at different career levels as well as the opportunity to work with a rich network of international and interdisciplinary collaborators (for example Harvard Medical University, Vienna University, LMU, NTU, KDD Lab, Bari University and many others). a possibility for a tenure-track position after the completion of the postdoc. possibility to present research results at international conferences. access to our supercomputers, among them Eden with 32x A100 cards and 1.5TB of storage, a perfect place for training large DNN models. Salary Salary depend on experience and type of project (applied projects tend to have higher salaries than typical research projects). Average rates range from 50-60 PLN/hour (equivalent to 8-9.5k FTE) for a student with experience, through to 80-85 PLN/hour (equivalent to 12-13k FTE) for an experienced PhD student. The base salary for a post-doc (no obligatory teaching duties) is 120-140k gross per year (this is a base salary, extras depend on activity). Low commitment projects (1/5 FTE) in 2023 Ex 1: Any object can be embedded with an appropriately trained neural network. But can objects be embedded using tree-based models? This project (an ideal candidate for MSc thesis) is about exploring different embedding construction techniques based on random forest or boosting methods. Ex 2: Analysis of champion-challenger model pairs on subsets of observations obtained using data segmentation. The project consists of an extension of the EPP method (Elo for predictive models) based on segmented data (e.g. by k-means or by random splits). In addition to the performance analysis, a PD profile comparison analysis is also performed on the splits. Mid commitment projects (2-2.5/5 FTE) in 2023 Ex 1: Development of techniques for explaining segmentation models for 1d (feature-producing models, e.g. survival models), 2d (image-producing models) or 3d data. (CT, hyperspectral images) Experience and knowledge of classical explanatory techniques (SHAP, LRP, CRP) are desirable. Ex 2: Development of red-teaming techniques for LLaMA 2-type language models. Development of test suites testing the vulnerability of the model to a set of prompting-based attacks. Full-time positions for post-docs in 2023 In addition to the research tasks listed above, responsibilities include mentoring junior staff (students, PhD students) and leading small research groups. Additional information about costs of living in Warsaw From FENS: Warsaw is the capital of Poland, so in principle it is one of the most expensive cities in the country but living in Warsaw is still much cheaper than in the majority of European cities. In general, a single person in Warsaw is able to cover all necessary expenses (flat, media, transport, food) with ca. 5000-5500 PLN per month. A typical cost of renting a 2-room flat (30-40 square meters) varies between 2000-3000 PLN, depending on the part of the city. Electricity and media (TV, Internet) are usually not included in the rent and have to be paid separately. The cost of the lunch in the vicinity of the main campus of WUT is ca. 25-40 PLN, while a monthly ticket for public transport is 110 or 180 PLN depending on the area of validity. Public health insurance is included in the post (this includes also admission to hospitals), however the medicines are paid separately. Research Software Engineer In addition to research positions, we also offer positions for skilled programmers. Required: Background in Computer Science, Mathematics, Statistics or similar. Experience in Computer Vision or NLP models Scope of work: Training of machine learning models for tabular and image data Interpretable solutions for tabular and image data Responsible ML solutions for the healthcare domain "],["contact.html", "Contact", " Contact Our rooms: 44 (DataLab - separate entrance in front of the main entrance) 316 (xLungs) 317 (HOMER) Faculty of Mathematics and Information Science, Warsaw University of Technology, Koszykowa 75, 00-662 Warszawa VAT: PL 5250005834 "],["mi2redteam.html", "MI²RedTeam", " MI²RedTeam MI²RedTeam analyses machine and deep learning predictive models through the lens of AI explainability, fairness, security and human trust. We develop methods and tools for explanatory model analysis and apply them in practice. MI²RedTeam is a group of researchers experienced in XAI who perform a rigorous evaluation of AI solutions in order to improve their transparency and security. We apply state-of-the-art methods and introduce new ones to tailor our analysis to the specific predictive task. We openly collaborate on various topics related to explainable and interpretable machine learning. Feel free to reach out to us with research ideas and development opportunities. We help organizations to better understand the vulnerabilities of their AI systems, and take steps to mitigate them. Our current core research topics of interest include: [ARES] Attack-Resistant Explanations towards Secure AI, i.e. a critical evaluation of the state-of-the-art analysis techniques [xSurvival] Explanatory analysis of machine learning survival models [Large Model Analysis] Explanatory analysis of large models, e.g. transformers Methods and methodologies introduced by our team: Evaluating explanations of vision transformers InteractiveEMA towards human-model interaction in explainable machine learning for tabular data SurvSHAP(t) for time-dependent analysis of machine learning survival models LIMEcraft for human-guided visual explanations of deep neural networks Fooling PD & Manipulating SHAP for stress-testing widely-applied explanation methods Checklist towards responsible deep learning on medical images SAFE for lifting interpretability-performance trade-off via automated feature engineering WildNLP for stress-testing deep learning models in NLP Explanatory Model Analysis towards comprehensive examination of predictive models Tools developed by our team: DALEX, breakDown, auditor & modelStudio for explainable machine learning in R dalex for explainable and fair machine learning in Python survex dedicated to explaining machine learning survival models fairmodels for fairness analysis of machine learning classification models Applications supported by our team: In medicine, we analyzed hundreds of models predicting among others: survival in uveal melanoma eye cancer, survival in sepsis, type of lung cancer, lung cancer risk in screening, lung cancer mortality, COVID-19 mortality, hospital length of stay, progression of Alzheimer’s disease. In credit scoring, we analyzed the transparency, auditability, and explainability of machine learning models. In football analytics, we analyzed expected goal models for performance analysis. … This initiative is generously supported by the following institutions. "],["mi²research.html", "MI²Research", " MI²Research On a mission to responsibly build machine learning predictive models. Responsible and sustainable predictive modelling is still a new and developing area. We are conducting a number of studies in this domain that examine predictive models applied to tabular data, computer vision or natural language processing models. We investigate the stability and robustness of various methods, work on explainability and transparency for simple and complex models. As part of our this effort, we develop open source software packages (usually in R and Python) for model explanatory analysis, publish scientific articles describing new methods or investigating properties of already known methods, and create educational materials, recommendations and examples of application in specific domains. If you want to find out more about what we are working on, check out our seminar, which is always open to those interested in responsible and sustainable data science. "],["papers.html", "Papers", " Papers Consolidated learning: a domain-specific model-free optimization strategy with validation on metaMIMIC benchmarks Katarzyna Woźnica, Mateusz Grzyb, Zuzanna Trafas, Przemysław Biecek Machine Learning (2023) This paper proposes a new formulation of the tuning problem, called consolidated learning, more suited to practical challenges faced by model developers, in which a large number of predictive models are created on similar datasets. We show that a carefully selected static portfolio of hyperparameter configurations yields good results for anytime optimization, while maintaining the ease of use and implementation. We demonstrate the effectiveness of this approach through an empirical study for the XGBoost algorithm and the newly created metaMIMIC benchmarks of predictive tasks extracted from the MIMIC-IV medical database. Towards Evaluating Explanations of Vision Transformers for Medical Imaging Piotr Komorowski, Hubert Baniecki, Przemysław Biecek CVPR Workshop on Explainable AI for Computer Vision (2023) This paper investigates the performance of various interpretation methods on a Vision Transformer (ViT) applied to classify chest X-ray images. We introduce the notion of evaluating faithfulness, sensitivity, and complexity of ViT explanations. The obtained results indicate that Layerwise relevance propagation for transformers outperforms Local interpretable model-agnostic explanations and Attention visualization, providing a more accurate and reliable representation of what a ViT has actually learned. Hospital Length of Stay Prediction Based on Multi-modal Data towards Trustworthy Human-AI Collaboration in Radiomics Hubert Baniecki, Bartlomiej Sobieski, Przemysław Bombiński, Patryk Szatkowski, Przemysław Biecek International Conference on Artificial Intelligence in Medicine (2023) To what extent can the patient’s length of stay in a hospital be predicted using only an X-ray image? We answer this question by comparing the performance of machine learning survival models on a novel multi-modal dataset created from 1235 images with textual radiology reports annotated by humans. We introduce time-dependent model explanations into the human-AI decision making process. For reproducibility, we open-source code and the TLOS dataset at this URL. SurvSHAP(t): Time-dependent explanations of machine learning survival models Mateusz Krzyziński, Mikołaj Spytek, Hubert Baniecki, Przemysław Biecek Knowledge-Based Systems (2023) In this paper, we introduce SurvSHAP(t), the first time-dependent explanation that allows for interpreting survival black-box models. The proposed methods aim to enhance precision diagnostics and support domain experts in making decisions. SurvSHAP(t) is model-agnostic and can be applied to all models with functional output. We provide an accessible implementation of time-dependent explanations in Python at this URL. The grammar of interactive explanatory model analysis Hubert Baniecki, Dariusz Parzych, Przemyslaw Biecek Data Mining and Knowledge Discovery (2023) This paper proposes how different Explanatory Model Analysis (EMA) methods complement each other and discusses why it is essential to juxtapose them. The introduced process of Interactive EMA (IEMA) derives from the algorithmic side of explainable machine learning and aims to embrace ideas developed in cognitive sciences. We formalize the grammar of IEMA to describe human-model interaction. We conduct a user study to evaluate the usefulness of IEMA, which indicates that an interactive sequential analysis of a model may increase the accuracy and confidence of human decision making. Climate Policy Tracker: Pipeline for automated analysis of public climate policies Artur Żółkowski, Mateusz Krzyziński, Piotr Wilczyński, Stanisław Giziński, Emilia Wiśnios, Bartosz Pieliński, Julian Sienkiewicz, Przemysław Biecek NeurIPS Workshop on Tackling Climate Change with Machine Learning (2022) In this work, we use a Latent Dirichlet Allocation-based pipeline for the automatic summarization and analysis of 10-years of national energy and climate plans (NECPs) for the period from 2021 to 2030, established by 27 Member States of the European Union. We focus on analyzing policy framing, the language used to describe specific issues, to detect essential nuances in the way governments frame their climate policies and achieve climate goals. Explainable expected goal models for performance analysis in football analytics Mustafa Cavus, Przemyslaw Biecek International Conference on Data Science and Advanced Analytics (2022) The expected goal provides a more representative measure of the team and player performance which also suit the low-scoring nature of football instead of the score in modern football. This paper proposes an accurate expected goal model trained on 315,430 shots from seven seasons between 2014-15 and 2020-21 of the top-five European football leagues. Moreover, we demonstrate a practical application of aggregated profiles to explain a group of observations on an accurate expected goal model for monitoring the team and player performance. Multi-omics disease module detection with an explainable Greedy Decision Forest Bastian Pfeifer, Hubert Baniecki, Anna Saranti, Przemyslaw Biecek, Andreas Holzinger Scientific Reports (2022) In this work, we demonstrate subnetwork detection based on multi-modal node features using a novel Greedy Decision Forest (GDF) with inherent interpretability. The latter will be a crucial factor to retain experts and gain their trust in such algorithms. To demonstrate a concrete application example, we focus on bioinformatics, systems biology and particularly biomedicine, but the presented methodology is applicable in many other domains as well. Our proposed explainable approach can help to uncover disease-causing network modules from multi-omics data to better understand complex diseases such as cancer. Interpretable meta-score for model performance Alicja Gosiewska, Katarzyna Woźnica, Przemysław Biecek Nature Machine Intelligence (2022) Elo-based predictive power (EPP) meta-score that is built on other performance measures and allows for interpretable comparisons of models. Differences between this score have a probabilistic interpretation and can be compared directly between data sets. Furthermore, this meta-score allows for an assessment of ranking fitness. We prove the properties of the Elo-based predictive power meta-score and support them with empirical results on a large-scale benchmark of 30 classification data sets. Additionally, we propose a unified benchmark ontology that provides a uniform description of benchmarks. fairmodels: a Flexible Tool for Bias Detection, Visualization, and Mitigation in Binary Classification Models Jakub Wiśniewski, Przemyslaw Biecek The R Journal (2022) This article introduces an R package fairmodels that helps to validate fairness and eliminate bias in binary classification models quickly and flexibly. It offers a model-agnostic approach to bias detection, visualization, and mitigation. The implemented functions and fairness metrics enable model fairness validation from different perspectives. In addition, the package includes a series of methods for bias mitigation that aim to diminish the discrimination in the model. The package is designed to examine a single model and facilitate comparisons between multiple models. A robust framework to investigate the reliability and stability of explainable artificial intelligence markers of Mild Cognitive Impairment and Alzheimer’s Disease Angela Lombardi, Domenico Diacono, Nicola Amoroso, Przemysław Biecek, Alfonso Monaco, Loredana Bellantuono, Ester Pantaleo, Giancarlo Logroscino, Roberto De Blasi, Sabina Tangaro, Roberto Bellotti Brain Informatics (2022) In this work, we present a robust framework to (i) perform a threefold classification between healthy control subjects, individuals with cognitive impairment, and subjects with dementia using different cognitive indexes and (ii) analyze the variability of the explainability SHAP values associated with the decisions taken by the predictive models. We demonstrate that the SHAP values can accurately characterize how each index affects a patient’s cognitive status. Furthermore, we show that a longitudinal analysis of SHAP values can provide effective information on Alzheimer’s disease progression. LIMEcraft: handcrafted superpixel selection and inspection for Visual eXplanations Weronika Hryniewska, Adrianna Grudzień, Przemysław Biecek Machine Learning (2022) LIMEcraft enhances the process of explanation by allowing a user to interactively select semantically consistent areas and thoroughly examine the prediction for the image instance in case of many image features. Experiments on several models show that our tool improves model safety by inspecting model fairness for image pieces that may indicate model bias. The code is available at: this URL. Fooling Partial Dependence via Data Poisoning Hubert Baniecki, Wojciech Kretowicz, Przemyslaw Biecek ECML PKDD (2022) We showcase that PD can be manipulated in an adversarial manner, which is alarming, especially in financial or medical applications where auditability became a must-have trait supporting black-box machine learning. The fooling is performed via poisoning the data to bend and shift explanations in the desired direction using genetic and gradient algorithms. Manipulating SHAP via Adversarial Data Perturbations (Student Abstract) Hubert Baniecki, Przemyslaw Biecek AAAI Conference on Artificial Intelligence (2022) We introduce a model-agnostic algorithm for manipulating SHapley Additive exPlanations (SHAP) with perturbation of tabular data. It is evaluated on predictive tasks from healthcare and financial domains to illustrate how crucial is the context of data distribution in interpreting machine learning models. Our method supports checking the stability of the explanations used by various stakeholders apparent in the domain of responsible AI; moreover, the result highlights the explanations’ vulnerability that can be exploited by an adversary. A Signature of 14 Long Non-Coding RNAs (lncRNAs) as a Step towards Precision Diagnosis for NSCLC Anetta Sulewska, Jacek Niklinski, Radoslaw Charkiewicz, Piotr Karabowicz, Przemyslaw Biecek, Hubert Baniecki, Oksana Kowalczuk, Miroslaw Kozlowski, Patrycja Modzelewska, Piotr Majewski et al. Cancers (2022) The aim of the study was the appraisal of the diagnostic value of 14 differentially expressed long non-coding RNAs (lncRNAs) in the early stages of non-small-cell lung cancer (NSCLC). We established two classifiers. The first recognized cancerous from noncancerous tissues, the second successfully discriminated NSCLC subtypes (LUAD vs. LUSC). Our results indicate that the panel of 14 lncRNAs can be a promising tool to support a routine histopathological diagnosis of NSCLC. dalex: Responsible Machine Learning with Interactive Explainability and Fairness in Python Hubert Baniecki, Wojciech Kretowicz, Piotr Piątyszek, Jakub Wiśniewski, Przemyslaw Biecek Journal of Machine Learning Research (2021) We introduce dalex, a Python package which implements a model-agnostic interface for interactive explainability and fairness. It adopts the design crafted through the development of various tools for explainable machine learning; thus, it aims at the unification of existing solutions. This library’s source code and documentation are available under open license at this URL. Checklist for responsible deep learning modeling of medical images based on COVID-19 detection studies Weronika Hryniewska, Przemysław Bombiński, Patryk Szatkowski, Paulina Tomaszewska, Artur Przelaskowski, Przemysław Biecek Pattern Recognition (2021) Our analysis revealed numerous mistakes made at different stages of data acquisition, model development, and explanation construction. In this work, we overview the approaches proposed in the surveyed Machine Learning articles and indicate typical errors emerging from the lack of deep understanding of the radiography domain. The final result is a proposed checklist with the minimum conditions to be met by a reliable COVID-19 diagnostic model. Towards explainable meta-learning Katarzyna Woźnica, Przemyslaw Biecek ECML PKDD Workshop on eXplainable Knowledge Discovery in Data Mining (2021) To build a new generation of meta-models we need a deeper understanding of the importance and effect of meta-features on the model tunability. In this paper, we propose techniques developed for eXplainable Artificial Intelligence (XAI) to examine and extract knowledge from black-box surrogate models. To our knowledge, this is the first paper that shows how post-hoc explainability can be used to improve the meta-learning. Prevention is better than cure: a case study of the abnormalities detection in the chest Weronika Hryniewska, Piotr Czarnecki, Jakub Wiśniewski, Przemysław Bombiński, Przemysław Biecek CVPR Workshop on “Beyond Fairness: Towards a Just, Equitable, and Accountable Computer Vision” (2021) In this paper, we analyze in detail a single use case - a Kaggle competition related to the detection of abnormalities in X-ray lung images. We demonstrate how a series of simple tests for data imbalance exposes faults in the data acquisition and annotation process. Complex models are able to learn such artifacts and it is difficult to remove this bias during or after the training. Simpler is better: Lifting interpretability-performance trade-off via automated feature engineering Alicja Gosiewska, Anna Kozak, Przemysław Biecek Decision Support Systems (2021) We propose a framework that uses elastic black boxes as supervisor models to create simpler, less opaque, yet still accurate and interpretable glass box models. The new models were created using newly engineered features extracted with the help of a supervisor model. We supply the analysis using a large-scale benchmark on several tabular data sets from the OpenML database. The first SARS-CoV-2 genetic variants of concern (VOC) in Poland: The concept of a comprehensive approach to monitoring and surveillance of emerging variants Radosław Charkiewicz, Jacek Nikliński, Przemysław Biecek, Joanna Kiśluk, Sławomir Pancewicz, Anna Moniuszko-Malinowska, Robert Flisiak, Adam Krętowski, Janusz Dzięcioł, Marcin Moniuszko, Rafał Gierczyński, Grzegorz Juszczyk, Joanna Reszeć Advances in Medical Sciences (2021) This study shows the first confirmed case of SARS-CoV-2 in Poland with the lineage B.1.351 (known as 501Y.V2 South African variant), as well as another 18 cases with epidemiologically relevant lineage B.1.1.7, known as British variant. Responsible Prediction Making of COVID-19 Mortality (Student Abstract) Hubert Baniecki, Przemyslaw Biecek AAAI Conference on Artificial Intelligence (2021) During the literature review of COVID-19 related prognosis and diagnosis, we found out that most of the predictive models are not faithful to the RAI principles, which can lead to biassed results and wrong reasoning. To solve this problem, we show how novel XAI techniques boost transparency, reproducibility and quality of models. Models in the Wild: On Corruption Robustness of Neural NLP Systems Barbara Rychalska, Dominika Basaj, Alicja Gosiewska, Przemyslaw Biecek International Conference on Neural Information Processing (2019) In this paper we introduce WildNLP - a framework for testing model stability in a natural setting where text corruptions such as keyboard errors or misspelling occur. We compare robustness of deep learning models from 4 popular NLP tasks: Q&A, NLI, NER and Sentiment Analysis by testing their performance on aspects introduced in the framework. In particular, we focus on a comparison between recent state-of-the-art text representations and non-contextualized word embeddings. In order to improve robustness, we perform adversarial training on selected aspects and check its transferability to the improvement of models with various corruption types. We find that the high performance of models does not ensure sufficient robustness, although modern embedding techniques help to improve it. auditor: an R Package for Model-Agnostic Visual Validation and Diagnostics Alicja Gosiewska, Przemyslaw Biecek The R Journal (2019) This paper describes methodology and tools for model-agnostic auditing. It provides functinos for assessing and comparing the goodness of fit and performance of models. In addition, the package may be used for analysis of the similarity of residuals and for identification of outliers and influential observations. The examination is carried out by diagnostic scores and visual verification. The code presented in this paper are implemented in the auditor package. Its flexible and consistent grammar facilitates the validation models of a large class of models. Explanations of Model Predictions with live and breakDown Packages Mateusz Staniak, Przemyslaw Biecek The R Journal (2018) Complex models are commonly used in predictive modeling. In this paper we present R packages that can be used for explaining predictions from complex black box models and attributing parts of these predictions to input features. We introduce two new approaches and corresponding packages for such attribution, namely live and breakDown. We also compare their results with existing implementations of state-of-the-art solutions, namely, lime (Pedersen and Benesty, 2018) which implements Locally Interpretable Model-agnostic Explanations and iml (Molnar et al., 2018) which implements Shapley values. DALEX: Explainers for Complex Predictive Models in R Przemyslaw Biecek Journal of Machine Learning Research (2018) This paper describes a consistent collection of explainers for predictive models, a.k.a. black boxes. Each explainer is a technique for exploration of a black box model. Presented approaches are model-agnostic, what means that they extract useful information from any predictive method irrespective of its internal structure. Each explainer is linked with a specific aspect of a model. Every explainer presented here works for a single model or for a collection of models. In the latter case, models can be compared against each other. Presented explainers are implemented in the DALEX package for R. They are based on a uniform standardized grammar of model exploration which may be easily extended. archivist: An R Package for Managing, Recording and Restoring Data Analysis Results Przemyslaw Biecek, Marcin Kosiński Journal of Statistical Software (2017) Everything that exists in R is an object (Chambers 2016). This article examines what would be possible if we kept copies of all R objects that have ever been created. Not only objects but also their properties, meta-data, relations with other objects and information about context in which they were created. We introduce archivist, an R package designed to improve the management of results of data analysis. "],["software.html", "Software", " Software DALEX XAI with DALEX for R and Python survex Explainable machine learning in survival analysis Arena Interactive tool for the exploration and comparison of models’ explanations fairmodels Fairness with fairmodels COVID-19 COVID-19 Risk Score archivist Model governance with R (MLOps) "],["books.html", "Books", " Books Explanatory Model Analysis Explore, Explain, and Examine Predictive Models. With examples in R and Python Przemysław Biecek, Tomasz Burzykowski Chapman and Hall/CRC, New York (2021) Odkrywać! Ujawniać! Objaśniać! Zbiór esejów o sztuce prezentowania danych Essays on the art of data visualisation Przemysław Biecek University of Warsaw Press (2016) Analiza danych z programem R. Modele liniowe z efektami stałymi, losowymi i mieszanymi Data analysis in R. Linear models with fixed, random and mixed effects Przemysław Biecek Polish Scientific Publishers PWN (2013) "],["seminars.html", "Seminars", " Seminars We meet every Monday, at 10 am online or in MI2DataLab (room 044, Faculty of Mathematics and Information Science, Warsaw University of Technology). Join us at https://meet.google.com/nno-okiz-bxy (or http://meet.drwhy.ai/) List of topics and materials from past seminars: https://github.com/MI2DataLab/MI2DataLab_Seminarium "],["research-grants.html", "Research grants", " Research grants ARES 2022-2026 ARES: Attack-resistant Explanations toward Secure and trustworthy AI Machine learning explainability, fairness, robustness, and security are key elements of trustworthy Artificial Intelligence, an area of strategic importance. In this context, the main goals of the ARES project are: Develop adversarial attacks on state-of-the-art explanations to investigate vulnerabilities and limitations of the existing explainability and fairness approaches in machine learning. Introduce novel robust explanations that are stable against manipulation and intuitive to evaluate. Achieving the first goal primarily impacts various domains of research, which currently use (and explain) black-box models for knowledge discovery and decision-making, by highlighting vulnerabilities and limitations of their explanations. Achieving the second goal impacts more the broad machine learning domain as it aims at improving state-of-the-art by introducing robust explanations toward secure and trustworthy AI. Work on this project is financially supported by the Polish National Science Centre PRELUDIUM BIS grant 2021/43/O/ST6/00347. DARLING 2022-2024 DARLING: Deep Analysis of Regulations with Language Inference, Network analysis and institutional Grammar Aim of the project Developing the tools for automated analysis of content of legal documents leveraging Natural Language Processing, that will help understand the dynamic of change in public policies and variables influencing those changes. Those tools will be firstly used to analyse the case of development of policy subsystem regulating usage of AI in the European Union. Specific goals of the project Developing and evaluating multilingual models for issue classification for legal and public policy documents. Developing embedding-based topic modeling methods for legal and public policy documents suited for analysis of change of the topics between documents. Institutional grammar based analysis of changes in topics between different public policy documents, regulations and public consultation documents. Agent-based models predicting diffusion of issues in public policy documents. Methodology The core of the DARLING project is the issues and topic analysis in documents connected with regulations development using NLP tools. Issues analysis shall allow tracking how different options of AI operationalisation, ways the AI-connected threats are perceived as well as ideas regarding AI regulations are shared among three different types of texts: scientific, expert and legal ones. The extracted issues will then be subject to complex networks analysis and institutional grammar approach. The network analysis, backed by agent-based modeling, will be used to examine the flow of issues among the documents based on their vector-formed characteristics. On the other hand, the Institutional Grammar (IG) will be used to analyze the modality of issues, e.g., the tendency to regulate a specific aspect of AI in a given issue, its deontic character or its conditionality. In result the DARLING project will effect in the development of new methods to analyze legal documents connected to regulation based on deep text processing and links among the documents. An inter-institutional and interdisciplinary team of computer, political sciences and physics of complex systems scientists will elaborate new machine learning approaches to examine the regulation corpora, issues recognition, issues analysis by the means of IG as well as propose new methods of modeling the flow/changes of regulations based on complex networks tools. X-LUNGS 2021-2024 X-LUNGS: Responsible Artificial Intelligence for Lung Diseases The aim of the project is to support the process of identification of lesions visible on CT and lung x-rays. We intend to achieve this goal by building an information system based on artificial intelligence (AI) that will support the radiologist’s work by enriching the images with additional information. The unique feature of the proposed system is a trustworthy artificial intelligence module that: will reduce the image analysis time needed to detect lesions, will make the image evaluation process more transparent, will provide image and textual explanations indicating the rationale behind the proposed recommendation, will be verified for effective collaboration with the radiologist. Work on this project is financially supported from the INFOSTRATEG-I/0022/2021-00 grant funded by Polish National Centre for Research and Development (NCBiR). HOMER 2020-2025 HOMER: Human Oriented autoMated machinE leaRning One of the biggest challenges in the state-of-the-art machine learning is dealing with the complexity of predictive models. Recent techniques like deep neural networks, gradient boosting or random forests create models with thousands or even millions of parameters. This makes decisions generated by these black-box models completely opaque. Model obscurity undermines trust in model decisions, hampers model debugging, blocks model auditability, exposes models to problems with concept drift or data drift. Recently, there has been a huge progress in the area of model interpretability, which results in the first generation of model explainers, methods for better understanding of factors that drive model decisions. Despite this progress, we are still far from methods that provide deep explanations, confronted with domain knowledge that satisfies our ,,Right to explanation’’ as listed in the General Data Protection Regulation (GDPR). In this project I am going to significantly advance next generation of explainers for predictive models. This will be a disruptive change in the way how machine learning models are created, deployed, and maintained. Currently to much time is spend on handcrafted models produced in a tedious and laborious try-and-error process. The proposed Human-Oriented Machine Learning will focus on the true bottleneck in development of new algorithms, i.e. on model-human interfaces. The particular directions I consider are (1) developing an uniform grammar for visual model exploration, (2) establishing a methodology for contrastive explanations that describe similarities and differences among different models, (3) advancing a methodology for non-additive model explanations, (4) creating new human-model interfaces for effective communication between models and humans, (5) introducing new techniques for training of interpretable models based on elastic surrogate black-box models, (6) rising new methods for automated auditing of fairness, biases and performance of predictive models. Work on this project is financially supported from the SONATA BIS grant 2019/34/E/ST6/00052 funded by Polish National Science Centre (NCN). DeCoviD 2020-2022 DeCoviD: Detection of Covid-19 related markers of pulmonary changes using Deep Neural Networks models supported by eXplainable Artificial Intelligence and Cognitive Compressed Sensing Covid-19 is an infectious respiratory disease. A coronavirus infection leaves permanent ramifications in the respiratory system and beyond. In this situation, tools supporting diagnosis and assessment of lung damage after infection and during Covid-19 treatment are crucial. Preliminary results of analysis of CT images and lung xrays suggest that they can help to quickly assess even asymptomatic cases and facilitate prognosis of response to treatment. There are also reports of usefulness of ultrasound images. The aim of the DeCoviD project is to develop methods and tools to support radiologists in the assessment of lung imaging data for the occurrence of changes caused by Covid-19 disease. The developed solution will allow to automate the identification of pathological changes and will support the diagnosis of coexisting lung diseases as well as diseases of other organs visible on chest images. It will also allow to quantify the severity of lung damage caused by the disease Responsible decision support for radiologists requires models based on interpretable features. Such features will be stored in a hybrid knowledge base powered by two research teams from WUT, working on the basis of two, seemingly opposite, paradigms of image data analysis. The eXplainable Artificial Intelligence (XAI) team will use trained deep networks to automatically extract features that are essential for effective disease detection. Cognitive Compressed Sensing (CCS) will build a set of interpretable semantic features using sparse cognitive representations agreed with a group of cooperating radiologists. Combining these two approaches will achieve high effectiveness of the constructed models, combined with high transparency, clarity and stability of the solution. The DeCoviD project is a part of a broader strategy of competence development in the area of deep learning + XAI + medical applications at the Warsaw University of Technology. More information: https://github.com/MI2DataLab/DeCoviD. Work on this project is financially supported by the IDUB against COVID PW. DALEX 2018-2022 DALEX: Descriptive and model Agnostic Local EXplanations Research project objectives. Black boxes are complex machine learning models, for example deep neural network, an ensemble of trees of high-dimensional regression model. They are commonly used due to they high performance. But how to understand the structure of a black-box, a model in which decision rules are too cryptic for humans? The aim of the project is to create a methodology for such exploration. To address this issue we will develop methods, that: (1) identify key variables that mostly determine a model response, (2) explain a single model response in a compact visual way through local approximations, (3) enrich model diagnostic plots. Research project methodology. This project is divided into three subprojects - local approximations od complex models (called LIVE), explanations of particular model predictions (called EXPLAIN) and conditional explanations (called CONDA). Expected impact on the development of science. Explanations of black boxes have fundamental implications for the field of predictive and statistical modelling. The advent of big data forces imposes usage of black boxes that are easily able to overperform classical methods. But the high performance itself does not imply that the model is appropriate. Thus, especially in applications to personalized medicine or some regulated fields, one should scrutinize decision rules incorporated in the model. New methods and tools for exploration of black-box models are useful for quick identification of problems with the model structure and increase the interpretability of a black-box Work on this project is financially supported from the OPUS grant 2017/27/B/ST6/01307 funded by Polish National Science Centre (NCN). MLGenSig 2017-2021 MLGenSig: Machine Learning Methods for building of Integrated Genetic Signatures Research project objectives. The main scientific goal of this project is to develop a methodology for integrated genetic signatures based on data from divergent high-throughput techniques used in molecular biology. Integrated signatures base on ensembles of signatures for RNA-seq, DNA-seq, data as well for methylation profiles and protein expression microarrays. The advent of high throughput methods allows to measure dozens of thousands or even millions features on different levels like DNA / RNA / protein. And nowadays in many large scale studies scientists use data from mRNA seq to assess the state of transcriptome, protein microarrays to asses the state of proteome and DNA-seq / bisulfide methylation to assess genome / methylome. Research methodology. Genetic signatures are widely used in different applications, among others: for assessing genes that differentiate cells that are chemo resistant vs. cells that are not, assess the stage of cell pluripotency, define molecular cancer subtypes. For example, in database Molecular Signatures Database v5.0 one can find thousands of gene sets - genetic signatures for various conditions. There are signatures that characterize some cancer cells, pluripotent cells and other groups. But they usually contain relatively small number of genes (around 100), results with them are hard to replicate and they are collection of features that were found significant when independently tested. In most cases signatures are derived from measurements of the same type. Like signatures based of expression of transcripts based on data from microarrays or RNA-seq, or methylation profile or DNA variation. We are proposing a very different approach. First we are going to use machine-learning techniques to create large collections of signatures. Such signatures base on ensembles of small sub-signatures, are more robust and usually have higher precision. Then out of such signatures we are going to develop methodology for meta-signatures, that integrate information from different types of data (transcriptome, proteome, genome). Great examples of such studies are: Progenitor Cell Biology Consortium (PCBC) and The Cancer Genome Atlas (TCGA) studies. For thousands of patients in different cohorts (for PCBC cohorts based on stemness phenotype, for TCGA based on cancer type) measurements of both mRNA, miRNA, DNA and methylation profiles are available. New, large datasets require new methods that take into account high and dense structure of dependencies between features. The task that we are going to solve is to develop methodology that will create genetic signatures that integrate information from different levels of cell functioning. Then we are going to use data from TCGA and PBCB project to assess the quality of proposed methodology. As a baseline we are going to use following methodologies: DESeq, edgeR (for mRNA), casper (for lternative splicing), MethylKit (for RRBS data) and RPPanalyzer for protein arrays. Here is the skeleton for our approach: (1) Use ensembles in order to building a genetic signature. The first step would be to use random forests to train a new signature. Ensembles of sub-signtures are build on bootstrap subsamples and they votes if given sample fit given signature or not. (2) In order to improve signatures we are going to consider various normalization of raw counts. We start with log and rank transformation. (3) In order to improve the process of training an ensemble we are going to use pre-filtering of genes. (4) Another approach is to use Bayesian based methods, that may incorporate the expert knowledge, like belief-based gaussian modelling Research project impact. Genetic profiling is more and more important and has number of application starting from basic classification up to personalized medicine in which patients are profiled against different signatures. Existing tools for genetic signatures have many citations. This we assume that the methodology for integrated genetic profiling will be a very useful for many research groups. It is hard to overestimate the impact of better genetic profiling on medicine. Moreover we build a team of people with knowledge in cancer genetic profiling Work on this project is financially supported from the OPUS grant 2016/21/B/ST6/02176 funded by Polish National Science Centre (NCN). "],["mi²solutions.html", "MI²Solutions", " MI²Solutions Hire a team of experienced researchers. The blue team will help you develop good predictive models, create a responsible solution tailored to your needs. The red team will help you find and analyse any weaknesses in your predictive models. It will help you confront them with domain knowledge and make sure they are resilient to future changes in the data. If you need tailor-made solutions for your individual needs, we are happy to help you too. Contact us, we can develop software for you, deploy it, provide training, discuss your needs, verify the quality of your existing solutions. Below you will find a sample offer for trainings or deployments. Research as a service Our team has experience not only in groundbreaking research, but also in deploying these research into business. There are many ways we can help, for example help in delivery of champion-challenger evaluations in which we look for potential to increase the effectiveness of predictive models in your company. take care of the whole life cycle of the predictive models, from reproducibility of results to constant monitoring and continuous improvement of the model. audit models and analyse the sensitivity and vulnerability of the model to incorrect or unexpected behaviours. We would be happy to discuss how we could help with your organisation! Trainings Based on our experience in the area of Responsible Machine Learning, developed a unique two-day hands-on training. Jump into the topic of eXplainable Artificial Intelligence with our trainers. Responsible Machine Learning images/training_xai The training is conducted once a month in small groups online. Small groups encourage questions and the interactions within the group. Language Depending on the group’s preference, the hands-on part can be carried out in R (mlr3 + DALEX) or Python (scikit-learn + dalex). The methodology part does not depend on the language. Book your training To book a training please contact with trainings(at)solutions42.ai. "],["mi²education.html", "MI²Education", " MI²Education The demand for predictive modelling skills is growing at a furious rate. Part of our mission is to develop human capital so that predictive modelling is applied responsibly and safely. We take social responsibility seriously and as part of our activities we support the development of data analysis skills among pupils, students and senior professionals alike. "],["teaching.html", "Teaching", " Teaching Programming R 22/23 Summer Programming and data analysis advanced in R lectures, labs, projects - Anna Kozak Exploratory Data Analysis 22/23 Summer Introduction to exploratory data analysis for Mathematics and data analysis studies lectures, labs, projects - Anna Kozak labs - Hubert Ruczyński, Bartłomiej Sobieski Data Visualization 22/23 Winter Data Visualization Techniques for Data Science studies lectures, labs, projects - Anna Kozak labs, projects - Mateusz Krzyziński, Hubert Ruczyński, Mikołaj Spytek Exploratory Data Analysis 21/22 Summer Introduction to exploratory data analysis for Mathematics and data analysis studies lectures, labs, projects - Anna Kozak labs - Katatzyna Woźnica Interpretable Machine Learning 21/22 Summer Interpretable Machine Learning lectures, projects - Przemysław Biecek Case Studies 21/22 Summer Case Studies for Data Science studies lectures - Weronika Hryniewska ML-1 - labs, projects - Anna Kozak ML-2 - labs, projects - Bartłomiej Eljasiak XAI-tabular - labs, projects - Mustafa Cavus AutoML - labs, projects - Katarzyna Woźnica XIC - labs, projects - Hubert Baniecki TL - labs, projects - Paulina Tomaszewska Data - labs, projects - Weronika Hryniewska NLP - labs, projects - Stanisław Giziński Data Visualization 21/22 Winter Data Visualization Techniques for Data Science studies lectures, labs, projects - Anna Kozak labs, projects - Hubert Baniecki Exploratory Data Analysis 20/21 Summer Introduction to exploratory data analysis for Mathematics and data analysis studies lectures, labs, projects - Anna Kozak labs - Krzysztof Spaliński Case Studies 20/21 Summer Case Studies for Data Science studies lectures - Katarzyna Woźnica XAI1 - labs, projects - Anna Kozak XAI2 - labs, projects - Szymon Maksymiuk DL1 - labs, projects - Weronika Hryniewska DL2 - labs, projects - Paulina Tomaszewska ML - labs, projects - Hubert Baniecki RashomonML - labs, projects - Katarzyna Woźnica Interpretable Machine Learning 20/21 Summer Interpretable Machine Learning for Data Science studies XAI stories 2 lectures, projects - Przemysław Biecek Data Visualization 20/21 Winter Data Visualization Techniques for Data Science studies lectures, labs - Alicja Gosiewska projects - Hubert Baniecki Case Studies 19/20 Summer Case Studies for Data Science studies lectures - Alicja Gosiewska Imputation - labs, projects - Katarzyna Woźnica Reproducibility of scientific papers - labs, projects - Alicja Gosiewska Interpretability - labs, projects - Katarzyna Kobylińska Interpretable Machine Learning 19/20 Summer Interpretable Machine Learning for Data Science studies lectures, projects - Przemysław Biecek Data Visualization 19/20 Summer Data Visualization for Data Science studies lectures, labs, projects - Michał Burdukiewicz "],["beta-bit.html", "Beta Bit", " Beta Bit Chaos Game EN: Are you curious about fractals? The Chaos Game is the book for you. You will learn the mathematical basis behind these figures, find out what algorithm can be used to code them, write code in your favourite programming language (Python, R, Julia?) and also explore the bibliographies of three mathematicians associated with the development of mathematics around these shapes. This is the next book in the Beta Bit series for anyone interested in computational mathematics and data analysis. PL: Jesteś ciekawy czym są fraktale? Gra w Chaos to książka dla Ciebie. Poznasz matematyczne podstawy tych figur, dowiesz się, jaki algorytm można wykorzystać do ich zaprogramowania, napiszesz kod w swoim ulubionym języku programowania (Python, R, Julia?), a także poznasz bibliografie trzech matematyków związanych z rozwojem matematyki wokół tych kształtów. To kolejna książka z serii Beta Bit dla wszystkich zainteresowanych matematyką obliczeniową i analizą danych. Flipbook online [ENG] Flipbook online [POL] Wykresy od kuchni PL: Jak tworzyć dobre wykresy? Dobre, czyli takie, które z przyjemnością się ogląda, z których można wyciągnąć wiele informacji, które są zrozumiałe dla szerokiego odbiorcy, a jednocześnie docenią je smakosze. Na bazie doświadczeń z prowadzenia tych zajęć powstały Wykresy od kuchni. To zbiór krótkich wykładów omawiających różne wątki przydatne w lepszym zrozumieniu tego, jak działa komunikacja z użyciem wykresów statystycznych. Na kolejnych stronach pojawi się wiele analogii do przyrządzania posiłków, ponieważ zarówno w kuchni, jak i w przygotowaniu wykresów statystycznych potrzebna jest praktyka, znajomość pewnych fundamentalnych prawideł, garść sprawdzonych przepisów i dużo zapału do eksperymentowania. Będąc tak uzbrojonym, każdy adept sztuki kulinarnej jest skazany na sukces. Flipbook online [POL] The Hitchhiker’s Guide to Responsible Machine Learning EN: A one-of-a-kind 52-page story about responsible machine learning. Beta and Bit use decision trees, random forests, and AutoML tools to build a risk model after a covid infection, and then use explainable artificial intelligence tools to analyze the behavior of that model. The description of the data analysis process is intertwined with descriptions of ML tools and code snippets. All examples are fully reproducible! PL: Jedyna w swoim rodzaju 52-stronicowa opowieść o odpowiedzialnym uczeniu maszynowym. Beta i Bit używają drzew decyzyjnych, lasów losowych i narzędzi AutoML do budowy modelu ryzyka po zakażeniu covid, a następnie używają narzędzi wyjaśnialnej sztucznej inteligencji by przeanalizować działanie tego modelu. Opis procesu analizy danych przeplata się na opisem kolejnych narzędzi i przykładami kodu. Wszystkie wyniki są całkowicie odtwarzalne! Flipbook online Przemysław Biecek, Anna Kozak, Aleksander Zawada Fundacja Naukowa SmarterPoland.pl. 2022 W pogoni za nieskończonością. Szeregi EN: What does hiking in the mountains have to do with the convergence of series? Quite a lot! We start with the paradoxes related to infinity, but step by step we learn the techniques of geometric series. In this book, the conditions for convergence are explained, together with numerous examples. The comic ends with a collection of exercises with different levels of difficulty. PL: Co wspólnego ma chodzenie po górach ze zbieżnością szeregów? Otóż całkiem sporo! Zaczynamy od paradoksów związanych z nieskończonością, ale krok po kroku poznajemy techniki szeregów geometrycznych. W tej pozycji wyjaśnione są warunki zbieżności wraz z licznymi przykładami. Komiks kończy zbiór zadań o różnych poziomach trudności. Flipbook online Przemysław Biecek, Łukasz Maciejewski, Aleksander Zawada Fundacja Naukowa SmarterPoland.pl. 2022 Przewodnik po pakiecie R EN: The Guide to the R package was the first published Polish book focused on the R language. The current fourth edition consists of four parts: Basics of using R (+tidyverse, shiny, knitr and other goodies), Programming in R (object-oriented, package development, class system), Statistics with R (statistical tests, models, exploration techniques) and Visualization with R (graphics, lattice and ggplot2 packages). PL: Przewodnik po pakiecie R był pierwszą wydaną polskojęzyczną książką poświęconą językowi R. Aktualne czwarte wydanie składa się z czterech części: Podstaw posługiwania się językiem R (+tidyverse, shiny, knitr i inne smaczki), Programowanie w R (obiektowe, tworzenie pakietów, system klas), Statystyka z R (testy statystyczne, modele, techniki eksploracji) i Wizualizacja z R (pakiety graphics, lattice i ggplot2). Wersja online, Książka w księgarnii. Przemysław Biecek Wydawnictwo GiS. 2008-2021 Analiza danych z programem R EN: An academic textbook describing estimation and testing topics for linear models with fixed effects, random effects and mixed effects. The theoretical introduction is complemented by numerous examples for one-way and multivariate ANOVA, one and multiple random components. The examples focus on biological and medical applications and are based on real analyses of real data. PL: Podręcznik akademicki opisujący zagadnienia estymacji i testowania dla modeli liniowych z efektami stałymi, losowymi i mieszanymi. Wprowadzenie teoretyczne jest uzupełnione o liczne przykłady dla jednokierunkowej i wielokierunkowej ANOVA, jednym i wieloma komponentami losowymi. Przykłady dotyczą głównie zastosowań biologicznych i medycznych i bazują na prawdziwych analizach rzeczywistych danych. Książka w księgarnii. Przemysław Biecek Wydawnictwo Naukowe PWN 2013-2018 Eseje o sztuce wizualizacji danych EN: Discover! Reveal! Explain! These three roles can be fulfilled by good statistical graphics. Good means understandable, faithful to the data, aesthetic. How to create such graphics? A collection of essays on the art of displaying data systematises knowledge useful in designing and producing good data visualisations. It is not easy. On the one hand, we can fall into the trap of a colourful mush full of numbers, which is sometimes proudly called infographics. On the other hand, we can fall into the trap of graphics that perfectly reproduce the complexity of numbers, and thus completely incomprehensible. Somewhere in the middle is a graphic that explains, that informs, that is aesthetically pleasing and informative. PL: Odkrywać! Ujawniać! Objaśniać! Te trzy role może spełniać dobra grafika statystyczna. Dobra czyli zrozumiała, wierna danym, estetyczna. Jak tworzyć taką grafikę? Zbiór esejów o sztuce pokazywania danych systematyzuje wiedzę przydatną do projektowania i wykonania dobrej wizualizacji danych. Nie jest to proste. Z jednej strony możemy wpaść w pułapkę pstrokatej papki najeżonej liczbami, którą czasem dumnie nazywa się infografiką. Z drugiej strony wpaść można w pułapkę grafiki idealnie odwzorowującej złożoność liczb a przez to zupełnie niezrozumiałej. Gdzieś po środku jest grafika, która wyjaśnia, która informuje, która jest estetyczna i informatywna. Książka online, Książka w księgarnii. Przemysław Biecek Wydawnictwo SmarterPoland 2008-2021 Pogromcy Danych EN: Data Crunchers is the first MOOC (Massive Open Online Course) developed in Polish for data scientists. Two modules were developed in 2015: the first one is an introduction to R, with loading data, overview of syntax, basic data types, descriptive statistics and pipelined processing. The second module is dedicated to data visualisation and statistical modelling. More than 8,000 people have registered on the Data Crunchers platform. PL: Pogromcy Danych to pierwszy MOOC (Massive Open Online Course) opracowany w języku polskim do analizy danych. W roku 2015 powstały dwa moduły: pierwszy jest wprowadzeniem do programu R, przez wczytywanie danych, omówienie składni, podstawowych typów danych, statystyk opisowych oraz przetwarzania potokowego. Drugi moduł poświęcony jest wizualizacji danych oraz modelowaniu statystycznemu. W platformie Pogromców Danych zarejestrowało się ponad 8000 osób. Przetwarzanie danych w programie R, Wizualizacja i modelowanie, Strona WWW. Przemysław Biecek ICM UW. 2015 Wykresy unplugged EN: Can you create clear charts without any electricity? An illustrated collection of exercises showing eight of the most popular ways to visualise data, with do-it-yourself challenges. Grab your crayons and start creating fantastic charts. PL: Czy można tworzyć czytelne wykresy bez użycia prądu? Ilustrowany zbiór ćwiczeń przedstawiających osiem najpopularniejszych sposobów wizualizacji danych, wraz z zadaniami do samodzielnego wykonania. Weź kredki i zacznij tworzyć fantastyczne wykresy. Flipbook online, Komiks w księgarnii. Przemysław Biecek, Ewa Baranowska, Piotr Sobczyk Fundacja Naukowa SmarterPoland.pl. 2018 W pogoni za nieskończonością EN: Two mathematicians share stories about infinity. In the first Beta attends a lecture on the properties of prime numbers. In the second, Bit breaks into the Palace of Culture and Science. How should we talk about mathematics? PL: Dwójka matematyków wymienia się opowiadaniami o nieskończoności. W pierwszym Beta bierze udział w wykładzie o właściwościach liczb pierwszych. W drugim Bit włamuje się do Pałacu Kultury i Nauki. Jak opowiadać o matematyce? Flipbook online, Komiks w księgarnii. Przemysław Biecek, Łukasz Maciejewski, Tomasz Samojlik, Sebastian Szpakowski Fundacja Naukowa SmarterPoland.pl. 2018 Jak długo żyją Muffinki? EN: A collection of three stories for children showing statistical relationships in the world around us. Beautifully illustrated stories about the distribution of height according to age, the life span of dogs or measuring the weight of trees. PL: Zbiór trzech opowiadań dla dzieci pokazującym zależności statystyczne w świecie wokół nas. Pięknie ilustrowane opowiadania o rozkładzie wzrostu w zależności od wieku, czasie życia psów czy pomiarze wagi drzew. Online: Jak szybko urosnę, Jak długo żyją Muffinki. Przemysław Biecek Fundacja Naukowa SmarterPoland.pl.2016 Pieczara Pietraszki EN: How linear regression can help in getting home, and why it’s not worth hacking into a mad mathematician’s office. A short story describing the adventures of two teenagers Beta and Bit moving around historic Warsaw. PL: W jaki sposób regresja liniowa może pomóc w powrocie do domu, oraz dlaczego nie warto włamywać się do pokoju szalonego matematyka? Lekkie opowiadanie opisujące przygody dwójki nastolatków Bety i Bita w historycznej Warszawie. Online: W jezyku Polskim, In English, По-Русски. Magda Chudzian, Przemysław Biecek Fundacja Naukowa SmarterPoland.pl. 2015 How to weight a dog with a ruler? EN: Workshop materials for children aged 8-10. Kids measure different parameters of their body, such as arm span or height. Then they create a graph summarizing the collected data and look for relations between the measured features. It just so happens that parts of the human body are proportional to each other and you can use a ruler to find this relationship. Part of the StatTub project. PL: Materiały do warsztaty dla dzieci w wieku 8-10. Dzieci mierzą różne parametry swojego ciała, takie jak rozpiętość ramion lub wzrost. Następnie tworzą wykres podsumowujący zebrane dane i szukają zależności pomiędzy zmierzonymi cechami. Tak się składa, że części ciała ludzkiego są do siebie proporcjonalne i można z użyciem linijki znaleźć tę relację. Część projektu StatTuba. Online: English, Polish, Chinese, Simplified Chinese, Czech, German, Spanish, Spanish (Latin America), French, Dutch, Vietnamese. Przemysław Biecek, Klaudia Korniluk Fundacja Naukowa SmarterPoland.pl.2016-2021 "],["responsibleml-blog.html", "ResponsibleML Blog", " ResponsibleML Blog Read more about the research, solutions and education on our blog: Tools for Explainable, Fair and Responsible ML BASIC XAI with DALEX— Part 1: Introduction Anna Kozak In this post, we will take a closer look at some algorithms used in explainable artificial intelligence. You will find here an introduction to methods of global and local model evaluation. Each description will include a technical introduction, example analysis, and code in R and Python. R packages for eXplainable Artificial Intelligence Przemysław Biecek We have prepared an overview of the most popular R-packages, which can be used to build interpretable models or to explore complex ones. Examples of knitr notebooks for more than 30 packages are available at http://xai-tools.drwhy.ai/. Adversarial attacks on Explainable AI Hubert Baniecki There are various adversarial attacks on machine learning models; hence, ways of defending, e.g. by using Explainable AI methods. Nowadays, attacks on model explanations come to light, so does the defense to such adversary. Here, we introduce fundamental concepts related to the domain. A further reference list is available at https://github.com/hbaniecki/adversarial-explainable-ai. "],["404.html", "Page not found", " Page not found The page you requested cannot be found (perhaps it was moved or renamed). You may want to try searching to find the page's new location, or use the table of contents to find the page you are looking for. "]] +[["index.html", "MI² MI².AI", " MI² MI².AI MI².AI is a group of mathematicians and computer scientists who love to play with predictive models. We are spread between Warsaw University of Technology and University of Warsaw. Here we have workshops and seminars, here we are forging new ideas, creating tools, solving problems, doing consulting and sharing our positive attitude. Feel free to jump in. Mission Machine learning is like atomic energy. We develop leaders, skills, methods, tools and good practices so that predictive models can be deployed responsibly and sustainably. Vision MI² is a group of experts supporting global initiatives aimed at responsible and sustainable machine learning. We support the development of future leaders of responsible machine learning through internships, PhDs, postdoctoral fellowships and so on. We seek for research grants and business projects to conduct both scientific and applied research. We develop and maintain the software and infrastructure necessary to build responsible and sustainable ML. We develop cooperation with international teams working on similar topics. We support companies to implement best practices related to responsible modelling in their operation. We conduct workshops and training on responsible predictive modelling. "],["the-team.html", "The Team", " The Team Members Przemysław Biecek, PhD, DSc (Team Leader) Hubert Baniecki, PhD student Mustafa Cavus, PhD Maciej Chrabąszcz, MSc student Mateusz Grzyb, MSc student Stanisław Giziński, MSc student Weronika Hryniewska-Guzik, PhD student Paulina Kaczyńska, MSc student Piotr Komorowski, MSc student Mateusz Krzyziński, MSc student Tymoteusz Kwieciński, BSc student Stanisław Łaniewski, PhD student Piotr Piątyszek, BSc student Hubert Ruczyński, MSc student Barbara Rychalska, PhD student Nuno Sepúlveda, PhD Bartek Sobieski, MSc student Mikołaj Spytek, MSc student Tomasz Stanisławek, PhD Hoang Thien Ly, BSc student Paulina Tomaszewska, PhD student Piotr Wilczyński, BSc student Emilia Wiśnios, MSc student Paweł Wojciechowski, BSc Katarzyna Woźnica, PhD student Vladimir Zaigrajew, PhD student Artur Żółkowski, BSc student Collaborators Mariusz Adamek, Prof, MD Przemysław Bombiński, PhD, MD André Fonseca, PhD student Katarzyna Kobylińska, PhD student Anna Kozak, MSc Marcin Luckner, PhD João Malato, PhD student Bartek Pieliński, PhD, DSc Hanna Piotrowska, MA Elżbieta Sienkiewicz, PhD Julian Sienkiewicz, PhD Adrian Stańdo, MSc student Patryk Szatkowski, PhD student, MD Jakub Wiśniewski, MSc student Alumni Piotr Czarnecki, MSc Alicja Gosiewska, MSc Adrianna Grudzień, BSc Maria Kałuska, BSc Marcin Kosiński, MSc Adam Kozłowski, MSc Wojciech Kretowicz, BSc Michał Kuźba, MSc Szymon Maksymiuk, BSc Tomasz Mikołajczyk, PhD Katarzyna Pękala, MSc Adam Rydelek, BSc Bartosz Sawicki, BSc Patryk Słowakiewicz, BSc Michał Sokólski, MSc Mateusz Stączek, BSc Szymon Szmajdziński, BSc Zuzanna Trafas, BSc Kinga Ułasik, BSc Anna Wróblewska, PhD Hanna Zdulska, BSc Przemysław Biecek My personal mission is to enhance human capabilities by supporting them through access to data-driven and knowledge-based predictions. I execute it by developing methods and tools for responsible machine learning, trustworthy artificial intelligence and reliable software engineering. I work as an associate professor at Warsaw University of Technology and the University of Warsaw. I graduated in software engineering and mathematical statistics and now work on model visualisation, explanatory model analysis, predictive modelling and data science for healthcare. In 2016, I formed the research group MI² which develops methods and tools for predictive model analysis. Google Scholar: Af0O75cAAAAJ GitHub: pbiecek LinkedIn: pbiecek Mariusz Adamek I work at two Medical Universities (Silesia and Gdańsk) holding a Professorship in Medicine and Health Sciences. My interests are focused on lung cancer prevention and screening, the latter by means of low-dose computed tomography (LDCT) with special emphasis put on molecular biology methods, prediction models and image analysis aimed to enhance the performance of lung screening outcomes. Website: www.mariuszadamek.io Hubert Baniecki I’m a PhD student in Computer Science at the University of Warsaw. Prior, I did my MSc (2022) and BSc (2021) in Data Science at Warsaw University of Technology. My main research interest is explainable machine learning, with particular emphasis on adversarial attacks & explanation evaluation. Website: hbaniecki.com Mustafa Cavus I work as an assistant professor at the Eskisehir Technical University. I joined the MI² DataLab as a post-doc researcher in 2021. I work on glocal explanations and imbalanced learning. Google Scholar: I63d1WIAAAAJ&hl GitHub: mcavus LinkedIn: mcavus Twitter: mcavus Julian Sienkiewicz I work as an assistant professor at Faculty of Physics, WUT. My main research area links with sociophysics, complex networks and agent-based models. In the scope of MI² DataLab I follow my other interest - scientometrics. Google Scholar: mIwu11QAAAAJ LinkedIn: julek-sienkiewicz-873829 Maciej Chrabąszcz Master’s student in mathematical statisctics at Warsaw University of Technology. Interested in deep learning on text and images, explainable and responsible AI. GitHub: maciejchrabaszcz LinkedIn: maciej-chrabaszcz Stanisław Giziński A Research Software Engineer and student of Machine Learning at Faculty of Mathematics Informatics and Mechanic, University of Warsaw. His work in the lab focuses on using natural language processing and network analysis to better understand the spread of AI public policies. Interested also in applying machine learning in bioinformatics. Google Scholar: Stanisław Giziński GitHub: Gizzio LinkedIn: stanislaw-gizinski Mateusz Grzyb MSc student in Data Science at Warsaw University of Technology. Interested in artificial intelligence and scientific computing, but above all simply enjoys programming. GitHub: mgrzyb99 Weronika Hryniewska-Guzik PhD candidate in computer science at Warsaw University of Technology. Interested in deep learning modelling on medical images in the context of explainability and responsible AI. Google Scholar: aJeg3IQAAAAJ GitHub: Hryniewska LinkedIn: weronikahryniewska Paulina Kaczyńska I am working towards a Master’s degree in Machine Learning at University of Warsaw. I am interested in Natural Language Processing and ML applications in social sciences GitHub: Kaczyniec Piotr Komorowski Master’s student in Machine Learning at the University of Warsaw. Mainly interested in image processing and XAI applied to medical images. GitHub: piotr-komorowski LinkedIn: Piotr-Komorowski Anna Kozak Graduated in mathematical statistics at Warsaw University of Technology. Interested in explainable artificial intelligence and data visualization. Organizes projects related to education. Google Scholar: JIrqf9kAAAAJ GitHub: kozaka93 LinkedIn: kozakanna Mateusz Krzyziński MSc student in Data Science at Warsaw University of Technology. Interested in explainable artificial intelligence, with particular emphasis on XAI methods for survival analysis models and XAI applications in the medical field. Also an enthusiast of data visualization. Google Scholar: i_r7EUgAAAAJ GitHub: krzyzinskim LinkedIn: krzyzinskim Tymoteusz Kwieciński BSc student in Data Science at Warsaw University of Technology. Particularly interested in explainable artificial intelligence, computer vision and NLP. GitHub: Fersoil LinkedIn: Tymoteusz-Kwieciński Stanisław Łaniewski PhD student in Quantitative Psychology and Economics at University of Warsaw, Machine Learning Researcher at MI2 Data Lab, Msc in Actuarial Science and Mathematical Finance at University of Amsterdam, former Quantitative Researcher at Flow Traders His research focuses on enhancing classical methods used in discrete choice and finance with machine learning and how to apply them to explain behavioral phenomena and heuristics. He is also keen on finding balance between best predictive models and their explainability. Avid gamer who applies statistical techniques to deepen the understanding of best strategies LinkedIn: Stanisław-Łaniewski Piotr Piątyszek Undergraduate Data Science student at Warsaw University of Technology. Works as a research software engineer on enhancing accessibility and completeness of explainable AI. During pandemic contributes to a system of monitoring covid variants. Github: piotrpiatyszek Bartosz Pieliński I am an Assistant Professor at the Faculty of Political Science and International Studies at Warsaw University. I am interested in applying quantitative methods to study public policies. I am a founding member of the Institutional Grammar Research Initiative, which is focused on developing a new way of analysing social rules. I have participated in several research projects covering social policy, non-profit organizations, social enterprises, and international organizations. Website: https://pielinski.info/ Google Scholar: hnWiaVEAAAAJ LinkedIn: Bartosz Pieliński Hanna Piotrowska Information designer, focusing mainly on data visualization, branding and book design, with a strong interest in Data Science and perception studies. Winner of numerous awards, including The Kantar Information Is Beautiful Awards, HOW International Design Awards, Polish Graphic Design Awards and KTR. LinkedIn: hanna-piotrowska Twitter: hannapio Behance: hannapio. Hubert Ruczyński I am working towards Masters’s degree in Data Science at Warsaw University of Technology. I am also teaching students about data exploration and visualisation. My major interests are: AutoML | Natural Language Processing | Data Visualization | Fairness. GitHub: HubertR21 LinkedIn: Hubert Ruczyński Barbara Rychalska PhD candidate in computer science at Warsaw University of Technology. Mainly interested in deep learning for natural language processing (NLP), recommender systems and graph-based learning. Google Scholar: Wp0wHJoAAAAJ LinkedIn: Barbara-Rychalska Bartek Sobieski MSc student in Data Science at Warsaw University of Technology. Interested in deep learning and hyperparameter optimization. GitHub: sobieskibj LinkedIn: Bartłomiej-Sobieski Mikołaj Spytek MSc student in Data Science at Warsaw University of Technology. Interested in explainable artificial intelligence, data vizualization and survival analysis. Google Scholar: 1u49AqYAAAAJ GitHub: mikolajsp LinkedIn: Mikołaj-Spytek Tomasz Stanisławek PhD candidate in computer science at Warsaw University of Technology. Mainly interested in deep learning for natural language processing (NLP). Google Scholar: gq8NY_UAAAAJ GitHub: tstanislawek LinkedIn: Tomasz-Stanisławek Paulina Tomaszewska PhD candidate in Computer Science at Warsaw University of Technology. Gained experience in AI at leading universities during: Deep Learning Summer School at Tsinghua University (China), one-semester exchange at Nanyang Technological University (Singapore) and research internships at Gwangju Institute of Science and Technology (South Korea) and Institute of Science and Technology (Austria). Mainly interested in Deep Learning, Computer Vision and Transfer Learning. Recently, focused on digital pathology. Google Scholar: eO245iMAAAAJ LinkedIn: paulina-tomaszewska Hoang Thien Ly Bachelor student in Maths and Data Analysis at Warsaw University of Technology. Interested in working with data, and learning explainable artificial intelligence methods. Google Scholar: JkysewYAAAAJ GitHub: lhthien09 LinkedIn: hthienly Piotr Wilczyński BSc student in Data Science at Warsaw University of Technology. Interested in Large Language Models, AI Deception and Natural Language Processing. Currently working on my thesis, which applies Computer Vision to medicine. GitHub: wi1lku LinkedIn: Piotr-Wilczyński Jakub Wiśniewski Research Software Engineer and third year Data Science student at Warsaw University of Technology. Developer of tools for bias detection and fairness. Currently researching responsible applications of deep learning. President of Data Science Science Club at WUT. Google Scholar: _6eQsXMAAAAJ GitHub: jakwisn LinkedIn: jakwisn Emilia Wiśnios Research Software Engineer and student of Machine Learning at Faculty of Mathematics, Informatics and Mechanics, University of Warsaw. Interested in natural language processing and reinforcement learning. GitHub: emiliawisnios LinkedIn: emilia-wisnios Paweł Wojciechowski Graduated with a bachelor’s degree in Data Science from Warsaw University of Technology. Interested in explainable artificial intelligence, computer vision, and active learning. GitHub: p-wojciechowski LinkedIn: wojciechowski-p Katarzyna Woźnica PhD candidate in computer science at Warsaw University of Technology. Graduated in mathematical statistics. Interested in automated machine learning especially in hyperparameter tuning for tabular data. Carrying statistical analysis and predictive modelling for healthcare. Google Scholar: tAQS1gQAAAAJ GitHub: woznicak LinkedIn: woznicak Vladimir Zaigrajew PhD candidate in computer science at Warsaw University of Technology. Interested in deep learning, primarily on images, with a focus on representation learning. GitHub: WolodjaZ LinkedIn: vladimir-zaigrajew Artur Żółkowski BSc student in Data Science at Warsaw University of Technology. Interested in explainable artificial intelligence, computer vision and NLP. GitHub: arturzolkowski LinkedIn: Artur-Żółkowski "],["open-positions.html", "Open Positions", " Open Positions We have an open call for HOMER and xLungs projects for following positions. If you are interested in any of them please send your CV and Motivation Letter to przemyslaw.biecek at pw.edu.pl. We reserve the right to contact only selected candidates. MI2 policy on benefits and obligations We are seeking highly motivated and talented researchers at different career levels to join MI2.AI research team in the exciting field of explainability and red-teaming of AI models. There is a common recruitment policy for all positions. We are looking for people interested in research who want to create methods and tools that have a real impact (not yet another paper). proactive people with initiative. people with proficiency in programming languages commonly used in AI research, at least one out of Python, R or Julia. solid understanding of AI/ML models, including their architecture and training processes. good communication skills and proficiency in academic writing; excellent problem-solving skills. We offer: the opportunity to learn from experienced and motivated researchers at different career levels as well as the opportunity to work with a rich network of international and interdisciplinary collaborators (for example Harvard Medical University, Vienna University, LMU, NTU, KDD Lab, Bari University and many others). a possibility for a tenure-track position after the completion of the postdoc. possibility to present research results at international conferences. access to our supercomputers, among them Eden with 32x A100 cards and 1.5TB of storage, a perfect place for training large DNN models. Salary Salary depend on experience and type of project (applied projects tend to have higher salaries than typical research projects). Average rates range from 50-60 PLN/hour (equivalent to 8-9.5k FTE) for a student with experience, through to 80-85 PLN/hour (equivalent to 12-13k FTE) for an experienced PhD student. The base salary for a post-doc (no obligatory teaching duties) is 120-140k gross per year (this is a base salary, extras depend on activity). Low commitment projects (1/5 FTE) in 2023 Ex 1: Any object can be embedded with an appropriately trained neural network. But can objects be embedded using tree-based models? This project (an ideal candidate for MSc thesis) is about exploring different embedding construction techniques based on random forest or boosting methods. Ex 2: Analysis of champion-challenger model pairs on subsets of observations obtained using data segmentation. The project consists of an extension of the EPP method (Elo for predictive models) based on segmented data (e.g. by k-means or by random splits). In addition to the performance analysis, a PD profile comparison analysis is also performed on the splits. Mid commitment projects (2-2.5/5 FTE) in 2023 Ex 1: Development of techniques for explaining segmentation models for 1d (feature-producing models, e.g. survival models), 2d (image-producing models) or 3d data. (CT, hyperspectral images) Experience and knowledge of classical explanatory techniques (SHAP, LRP, CRP) are desirable. Ex 2: Development of red-teaming techniques for LLaMA 2-type language models. Development of test suites testing the vulnerability of the model to a set of prompting-based attacks. Full-time positions for post-docs in 2023 In addition to the research tasks listed above, responsibilities include mentoring junior staff (students, PhD students) and leading small research groups. Additional information about costs of living in Warsaw From FENS: Warsaw is the capital of Poland, so in principle it is one of the most expensive cities in the country but living in Warsaw is still much cheaper than in the majority of European cities. In general, a single person in Warsaw is able to cover all necessary expenses (flat, media, transport, food) with ca. 5000-5500 PLN per month. A typical cost of renting a 2-room flat (30-40 square meters) varies between 2000-3000 PLN, depending on the part of the city. Electricity and media (TV, Internet) are usually not included in the rent and have to be paid separately. The cost of the lunch in the vicinity of the main campus of WUT is ca. 25-40 PLN, while a monthly ticket for public transport is 110 or 180 PLN depending on the area of validity. Public health insurance is included in the post (this includes also admission to hospitals), however the medicines are paid separately. Research Software Engineer In addition to research positions, we also offer positions for skilled programmers. Required: Background in Computer Science, Mathematics, Statistics or similar. Experience in Computer Vision or NLP models Scope of work: Training of machine learning models for tabular and image data Interpretable solutions for tabular and image data Responsible ML solutions for the healthcare domain "],["contact.html", "Contact", " Contact Our rooms: 44 (DataLab - separate entrance in front of the main entrance) 316 (xLungs) 317 (HOMER) Faculty of Mathematics and Information Science, Warsaw University of Technology, Koszykowa 75, 00-662 Warszawa VAT: PL 5250005834 "],["mi2redteam.html", "MI²RedTeam", " MI²RedTeam MI²RedTeam analyses machine and deep learning predictive models through the lens of AI explainability, fairness, security and human trust. We develop methods and tools for explanatory model analysis and apply them in practice. MI²RedTeam is a group of researchers experienced in XAI who perform a rigorous evaluation of AI solutions in order to improve their transparency and security. We apply state-of-the-art methods and introduce new ones to tailor our analysis to the specific predictive task. We openly collaborate on various topics related to explainable and interpretable machine learning. Feel free to reach out to us with research ideas and development opportunities. We help organizations to better understand the vulnerabilities of their AI systems, and take steps to mitigate them. Our current core research topics of interest include: [ARES] Attack-Resistant Explanations towards Secure AI, i.e. a critical evaluation of the state-of-the-art analysis techniques [xSurvival] Explanatory analysis of machine learning survival models [Large Model Analysis] Explanatory analysis of large models, e.g. transformers Methods and methodologies introduced by our team: Evaluating explanations of vision transformers InteractiveEMA towards human-model interaction in explainable machine learning for tabular data SurvSHAP(t) for time-dependent analysis of machine learning survival models LIMEcraft for human-guided visual explanations of deep neural networks Fooling PD & Manipulating SHAP for stress-testing widely-applied explanation methods Checklist towards responsible deep learning on medical images SAFE for lifting interpretability-performance trade-off via automated feature engineering WildNLP for stress-testing deep learning models in NLP Explanatory Model Analysis towards comprehensive examination of predictive models Tools developed by our team: DALEX, breakDown, auditor & modelStudio for explainable machine learning in R dalex for explainable and fair machine learning in Python survex dedicated to explaining machine learning survival models fairmodels for fairness analysis of machine learning classification models Applications supported by our team: In medicine, we analyzed hundreds of models predicting among others: survival in uveal melanoma eye cancer, survival in sepsis, type of lung cancer, lung cancer risk in screening, lung cancer mortality, COVID-19 mortality, hospital length of stay, progression of Alzheimer’s disease. In credit scoring, we analyzed the transparency, auditability, and explainability of machine learning models. In football analytics, we analyzed expected goal models for performance analysis. … This initiative is generously supported by the following institutions. "],["mi²research.html", "MI²Research", " MI²Research On a mission to responsibly build machine learning predictive models. Responsible and sustainable predictive modelling is still a new and developing area. We are conducting a number of studies in this domain that examine predictive models applied to tabular data, computer vision or natural language processing models. We investigate the stability and robustness of various methods, work on explainability and transparency for simple and complex models. As part of our this effort, we develop open source software packages (usually in R and Python) for model explanatory analysis, publish scientific articles describing new methods or investigating properties of already known methods, and create educational materials, recommendations and examples of application in specific domains. If you want to find out more about what we are working on, check out our seminar, which is always open to those interested in responsible and sustainable data science. "],["papers.html", "Papers", " Papers Consolidated learning: a domain-specific model-free optimization strategy with validation on metaMIMIC benchmarks Katarzyna Woźnica, Mateusz Grzyb, Zuzanna Trafas, Przemysław Biecek Machine Learning (2023) This paper proposes a new formulation of the tuning problem, called consolidated learning, more suited to practical challenges faced by model developers, in which a large number of predictive models are created on similar datasets. We show that a carefully selected static portfolio of hyperparameter configurations yields good results for anytime optimization, while maintaining the ease of use and implementation. We demonstrate the effectiveness of this approach through an empirical study for the XGBoost algorithm and the newly created metaMIMIC benchmarks of predictive tasks extracted from the MIMIC-IV medical database. Towards Evaluating Explanations of Vision Transformers for Medical Imaging Piotr Komorowski, Hubert Baniecki, Przemysław Biecek CVPR Workshop on Explainable AI for Computer Vision (2023) This paper investigates the performance of various interpretation methods on a Vision Transformer (ViT) applied to classify chest X-ray images. We introduce the notion of evaluating faithfulness, sensitivity, and complexity of ViT explanations. The obtained results indicate that Layerwise relevance propagation for transformers outperforms Local interpretable model-agnostic explanations and Attention visualization, providing a more accurate and reliable representation of what a ViT has actually learned. Hospital Length of Stay Prediction Based on Multi-modal Data towards Trustworthy Human-AI Collaboration in Radiomics Hubert Baniecki, Bartlomiej Sobieski, Przemysław Bombiński, Patryk Szatkowski, Przemysław Biecek International Conference on Artificial Intelligence in Medicine (2023) To what extent can the patient’s length of stay in a hospital be predicted using only an X-ray image? We answer this question by comparing the performance of machine learning survival models on a novel multi-modal dataset created from 1235 images with textual radiology reports annotated by humans. We introduce time-dependent model explanations into the human-AI decision making process. For reproducibility, we open-source code and the TLOS dataset at this URL. SurvSHAP(t): Time-dependent explanations of machine learning survival models Mateusz Krzyziński, Mikołaj Spytek, Hubert Baniecki, Przemysław Biecek Knowledge-Based Systems (2023) In this paper, we introduce SurvSHAP(t), the first time-dependent explanation that allows for interpreting survival black-box models. The proposed methods aim to enhance precision diagnostics and support domain experts in making decisions. SurvSHAP(t) is model-agnostic and can be applied to all models with functional output. We provide an accessible implementation of time-dependent explanations in Python at this URL. The grammar of interactive explanatory model analysis Hubert Baniecki, Dariusz Parzych, Przemyslaw Biecek Data Mining and Knowledge Discovery (2023) This paper proposes how different Explanatory Model Analysis (EMA) methods complement each other and discusses why it is essential to juxtapose them. The introduced process of Interactive EMA (IEMA) derives from the algorithmic side of explainable machine learning and aims to embrace ideas developed in cognitive sciences. We formalize the grammar of IEMA to describe human-model interaction. We conduct a user study to evaluate the usefulness of IEMA, which indicates that an interactive sequential analysis of a model may increase the accuracy and confidence of human decision making. Climate Policy Tracker: Pipeline for automated analysis of public climate policies Artur Żółkowski, Mateusz Krzyziński, Piotr Wilczyński, Stanisław Giziński, Emilia Wiśnios, Bartosz Pieliński, Julian Sienkiewicz, Przemysław Biecek NeurIPS Workshop on Tackling Climate Change with Machine Learning (2022) In this work, we use a Latent Dirichlet Allocation-based pipeline for the automatic summarization and analysis of 10-years of national energy and climate plans (NECPs) for the period from 2021 to 2030, established by 27 Member States of the European Union. We focus on analyzing policy framing, the language used to describe specific issues, to detect essential nuances in the way governments frame their climate policies and achieve climate goals. Explainable expected goal models for performance analysis in football analytics Mustafa Cavus, Przemyslaw Biecek International Conference on Data Science and Advanced Analytics (2022) The expected goal provides a more representative measure of the team and player performance which also suit the low-scoring nature of football instead of the score in modern football. This paper proposes an accurate expected goal model trained on 315,430 shots from seven seasons between 2014-15 and 2020-21 of the top-five European football leagues. Moreover, we demonstrate a practical application of aggregated profiles to explain a group of observations on an accurate expected goal model for monitoring the team and player performance. Multi-omics disease module detection with an explainable Greedy Decision Forest Bastian Pfeifer, Hubert Baniecki, Anna Saranti, Przemyslaw Biecek, Andreas Holzinger Scientific Reports (2022) In this work, we demonstrate subnetwork detection based on multi-modal node features using a novel Greedy Decision Forest (GDF) with inherent interpretability. The latter will be a crucial factor to retain experts and gain their trust in such algorithms. To demonstrate a concrete application example, we focus on bioinformatics, systems biology and particularly biomedicine, but the presented methodology is applicable in many other domains as well. Our proposed explainable approach can help to uncover disease-causing network modules from multi-omics data to better understand complex diseases such as cancer. Interpretable meta-score for model performance Alicja Gosiewska, Katarzyna Woźnica, Przemysław Biecek Nature Machine Intelligence (2022) Elo-based predictive power (EPP) meta-score that is built on other performance measures and allows for interpretable comparisons of models. Differences between this score have a probabilistic interpretation and can be compared directly between data sets. Furthermore, this meta-score allows for an assessment of ranking fitness. We prove the properties of the Elo-based predictive power meta-score and support them with empirical results on a large-scale benchmark of 30 classification data sets. Additionally, we propose a unified benchmark ontology that provides a uniform description of benchmarks. fairmodels: a Flexible Tool for Bias Detection, Visualization, and Mitigation in Binary Classification Models Jakub Wiśniewski, Przemyslaw Biecek The R Journal (2022) This article introduces an R package fairmodels that helps to validate fairness and eliminate bias in binary classification models quickly and flexibly. It offers a model-agnostic approach to bias detection, visualization, and mitigation. The implemented functions and fairness metrics enable model fairness validation from different perspectives. In addition, the package includes a series of methods for bias mitigation that aim to diminish the discrimination in the model. The package is designed to examine a single model and facilitate comparisons between multiple models. A robust framework to investigate the reliability and stability of explainable artificial intelligence markers of Mild Cognitive Impairment and Alzheimer’s Disease Angela Lombardi, Domenico Diacono, Nicola Amoroso, Przemysław Biecek, Alfonso Monaco, Loredana Bellantuono, Ester Pantaleo, Giancarlo Logroscino, Roberto De Blasi, Sabina Tangaro, Roberto Bellotti Brain Informatics (2022) In this work, we present a robust framework to (i) perform a threefold classification between healthy control subjects, individuals with cognitive impairment, and subjects with dementia using different cognitive indexes and (ii) analyze the variability of the explainability SHAP values associated with the decisions taken by the predictive models. We demonstrate that the SHAP values can accurately characterize how each index affects a patient’s cognitive status. Furthermore, we show that a longitudinal analysis of SHAP values can provide effective information on Alzheimer’s disease progression. LIMEcraft: handcrafted superpixel selection and inspection for Visual eXplanations Weronika Hryniewska, Adrianna Grudzień, Przemysław Biecek Machine Learning (2022) LIMEcraft enhances the process of explanation by allowing a user to interactively select semantically consistent areas and thoroughly examine the prediction for the image instance in case of many image features. Experiments on several models show that our tool improves model safety by inspecting model fairness for image pieces that may indicate model bias. The code is available at: this URL. Fooling Partial Dependence via Data Poisoning Hubert Baniecki, Wojciech Kretowicz, Przemyslaw Biecek ECML PKDD (2022) We showcase that PD can be manipulated in an adversarial manner, which is alarming, especially in financial or medical applications where auditability became a must-have trait supporting black-box machine learning. The fooling is performed via poisoning the data to bend and shift explanations in the desired direction using genetic and gradient algorithms. Manipulating SHAP via Adversarial Data Perturbations (Student Abstract) Hubert Baniecki, Przemyslaw Biecek AAAI Conference on Artificial Intelligence (2022) We introduce a model-agnostic algorithm for manipulating SHapley Additive exPlanations (SHAP) with perturbation of tabular data. It is evaluated on predictive tasks from healthcare and financial domains to illustrate how crucial is the context of data distribution in interpreting machine learning models. Our method supports checking the stability of the explanations used by various stakeholders apparent in the domain of responsible AI; moreover, the result highlights the explanations’ vulnerability that can be exploited by an adversary. A Signature of 14 Long Non-Coding RNAs (lncRNAs) as a Step towards Precision Diagnosis for NSCLC Anetta Sulewska, Jacek Niklinski, Radoslaw Charkiewicz, Piotr Karabowicz, Przemyslaw Biecek, Hubert Baniecki, Oksana Kowalczuk, Miroslaw Kozlowski, Patrycja Modzelewska, Piotr Majewski et al. Cancers (2022) The aim of the study was the appraisal of the diagnostic value of 14 differentially expressed long non-coding RNAs (lncRNAs) in the early stages of non-small-cell lung cancer (NSCLC). We established two classifiers. The first recognized cancerous from noncancerous tissues, the second successfully discriminated NSCLC subtypes (LUAD vs. LUSC). Our results indicate that the panel of 14 lncRNAs can be a promising tool to support a routine histopathological diagnosis of NSCLC. dalex: Responsible Machine Learning with Interactive Explainability and Fairness in Python Hubert Baniecki, Wojciech Kretowicz, Piotr Piątyszek, Jakub Wiśniewski, Przemyslaw Biecek Journal of Machine Learning Research (2021) We introduce dalex, a Python package which implements a model-agnostic interface for interactive explainability and fairness. It adopts the design crafted through the development of various tools for explainable machine learning; thus, it aims at the unification of existing solutions. This library’s source code and documentation are available under open license at this URL. Checklist for responsible deep learning modeling of medical images based on COVID-19 detection studies Weronika Hryniewska, Przemysław Bombiński, Patryk Szatkowski, Paulina Tomaszewska, Artur Przelaskowski, Przemysław Biecek Pattern Recognition (2021) Our analysis revealed numerous mistakes made at different stages of data acquisition, model development, and explanation construction. In this work, we overview the approaches proposed in the surveyed Machine Learning articles and indicate typical errors emerging from the lack of deep understanding of the radiography domain. The final result is a proposed checklist with the minimum conditions to be met by a reliable COVID-19 diagnostic model. Towards explainable meta-learning Katarzyna Woźnica, Przemyslaw Biecek ECML PKDD Workshop on eXplainable Knowledge Discovery in Data Mining (2021) To build a new generation of meta-models we need a deeper understanding of the importance and effect of meta-features on the model tunability. In this paper, we propose techniques developed for eXplainable Artificial Intelligence (XAI) to examine and extract knowledge from black-box surrogate models. To our knowledge, this is the first paper that shows how post-hoc explainability can be used to improve the meta-learning. Prevention is better than cure: a case study of the abnormalities detection in the chest Weronika Hryniewska, Piotr Czarnecki, Jakub Wiśniewski, Przemysław Bombiński, Przemysław Biecek CVPR Workshop on “Beyond Fairness: Towards a Just, Equitable, and Accountable Computer Vision” (2021) In this paper, we analyze in detail a single use case - a Kaggle competition related to the detection of abnormalities in X-ray lung images. We demonstrate how a series of simple tests for data imbalance exposes faults in the data acquisition and annotation process. Complex models are able to learn such artifacts and it is difficult to remove this bias during or after the training. Simpler is better: Lifting interpretability-performance trade-off via automated feature engineering Alicja Gosiewska, Anna Kozak, Przemysław Biecek Decision Support Systems (2021) We propose a framework that uses elastic black boxes as supervisor models to create simpler, less opaque, yet still accurate and interpretable glass box models. The new models were created using newly engineered features extracted with the help of a supervisor model. We supply the analysis using a large-scale benchmark on several tabular data sets from the OpenML database. The first SARS-CoV-2 genetic variants of concern (VOC) in Poland: The concept of a comprehensive approach to monitoring and surveillance of emerging variants Radosław Charkiewicz, Jacek Nikliński, Przemysław Biecek, Joanna Kiśluk, Sławomir Pancewicz, Anna Moniuszko-Malinowska, Robert Flisiak, Adam Krętowski, Janusz Dzięcioł, Marcin Moniuszko, Rafał Gierczyński, Grzegorz Juszczyk, Joanna Reszeć Advances in Medical Sciences (2021) This study shows the first confirmed case of SARS-CoV-2 in Poland with the lineage B.1.351 (known as 501Y.V2 South African variant), as well as another 18 cases with epidemiologically relevant lineage B.1.1.7, known as British variant. Responsible Prediction Making of COVID-19 Mortality (Student Abstract) Hubert Baniecki, Przemyslaw Biecek AAAI Conference on Artificial Intelligence (2021) During the literature review of COVID-19 related prognosis and diagnosis, we found out that most of the predictive models are not faithful to the RAI principles, which can lead to biassed results and wrong reasoning. To solve this problem, we show how novel XAI techniques boost transparency, reproducibility and quality of models. Models in the Wild: On Corruption Robustness of Neural NLP Systems Barbara Rychalska, Dominika Basaj, Alicja Gosiewska, Przemyslaw Biecek International Conference on Neural Information Processing (2019) In this paper we introduce WildNLP - a framework for testing model stability in a natural setting where text corruptions such as keyboard errors or misspelling occur. We compare robustness of deep learning models from 4 popular NLP tasks: Q&A, NLI, NER and Sentiment Analysis by testing their performance on aspects introduced in the framework. In particular, we focus on a comparison between recent state-of-the-art text representations and non-contextualized word embeddings. In order to improve robustness, we perform adversarial training on selected aspects and check its transferability to the improvement of models with various corruption types. We find that the high performance of models does not ensure sufficient robustness, although modern embedding techniques help to improve it. auditor: an R Package for Model-Agnostic Visual Validation and Diagnostics Alicja Gosiewska, Przemyslaw Biecek The R Journal (2019) This paper describes methodology and tools for model-agnostic auditing. It provides functinos for assessing and comparing the goodness of fit and performance of models. In addition, the package may be used for analysis of the similarity of residuals and for identification of outliers and influential observations. The examination is carried out by diagnostic scores and visual verification. The code presented in this paper are implemented in the auditor package. Its flexible and consistent grammar facilitates the validation models of a large class of models. Explanations of Model Predictions with live and breakDown Packages Mateusz Staniak, Przemyslaw Biecek The R Journal (2018) Complex models are commonly used in predictive modeling. In this paper we present R packages that can be used for explaining predictions from complex black box models and attributing parts of these predictions to input features. We introduce two new approaches and corresponding packages for such attribution, namely live and breakDown. We also compare their results with existing implementations of state-of-the-art solutions, namely, lime (Pedersen and Benesty, 2018) which implements Locally Interpretable Model-agnostic Explanations and iml (Molnar et al., 2018) which implements Shapley values. DALEX: Explainers for Complex Predictive Models in R Przemyslaw Biecek Journal of Machine Learning Research (2018) This paper describes a consistent collection of explainers for predictive models, a.k.a. black boxes. Each explainer is a technique for exploration of a black box model. Presented approaches are model-agnostic, what means that they extract useful information from any predictive method irrespective of its internal structure. Each explainer is linked with a specific aspect of a model. Every explainer presented here works for a single model or for a collection of models. In the latter case, models can be compared against each other. Presented explainers are implemented in the DALEX package for R. They are based on a uniform standardized grammar of model exploration which may be easily extended. archivist: An R Package for Managing, Recording and Restoring Data Analysis Results Przemyslaw Biecek, Marcin Kosiński Journal of Statistical Software (2017) Everything that exists in R is an object (Chambers 2016). This article examines what would be possible if we kept copies of all R objects that have ever been created. Not only objects but also their properties, meta-data, relations with other objects and information about context in which they were created. We introduce archivist, an R package designed to improve the management of results of data analysis. "],["software.html", "Software", " Software DALEX XAI with DALEX for R and Python survex Explainable machine learning in survival analysis Arena Interactive tool for the exploration and comparison of models’ explanations fairmodels Fairness with fairmodels COVID-19 COVID-19 Risk Score archivist Model governance with R (MLOps) "],["books.html", "Books", " Books Explanatory Model Analysis Explore, Explain, and Examine Predictive Models. With examples in R and Python Przemysław Biecek, Tomasz Burzykowski Chapman and Hall/CRC, New York (2021) Odkrywać! Ujawniać! Objaśniać! Zbiór esejów o sztuce prezentowania danych Essays on the art of data visualisation Przemysław Biecek University of Warsaw Press (2016) Analiza danych z programem R. Modele liniowe z efektami stałymi, losowymi i mieszanymi Data analysis in R. Linear models with fixed, random and mixed effects Przemysław Biecek Polish Scientific Publishers PWN (2013) "],["seminars.html", "Seminars", " Seminars We meet every Monday, at 10 am online or in MI2DataLab (room 044, Faculty of Mathematics and Information Science, Warsaw University of Technology). Join us at https://meet.google.com/nno-okiz-bxy (or http://meet.drwhy.ai/) List of topics and materials from past seminars: https://github.com/MI2DataLab/MI2DataLab_Seminarium "],["research-grants.html", "Research grants", " Research grants ARES 2022-2026 ARES: Attack-resistant Explanations toward Secure and trustworthy AI Machine learning explainability, fairness, robustness, and security are key elements of trustworthy Artificial Intelligence, an area of strategic importance. In this context, the main goals of the ARES project are: Develop adversarial attacks on state-of-the-art explanations to investigate vulnerabilities and limitations of the existing explainability and fairness approaches in machine learning. Introduce novel robust explanations that are stable against manipulation and intuitive to evaluate. Achieving the first goal primarily impacts various domains of research, which currently use (and explain) black-box models for knowledge discovery and decision-making, by highlighting vulnerabilities and limitations of their explanations. Achieving the second goal impacts more the broad machine learning domain as it aims at improving state-of-the-art by introducing robust explanations toward secure and trustworthy AI. Work on this project is financially supported by the Polish National Science Centre PRELUDIUM BIS grant 2021/43/O/ST6/00347. DARLING 2022-2024 DARLING: Deep Analysis of Regulations with Language Inference, Network analysis and institutional Grammar Aim of the project Developing the tools for automated analysis of content of legal documents leveraging Natural Language Processing, that will help understand the dynamic of change in public policies and variables influencing those changes. Those tools will be firstly used to analyse the case of development of policy subsystem regulating usage of AI in the European Union. Specific goals of the project Developing and evaluating multilingual models for issue classification for legal and public policy documents. Developing embedding-based topic modeling methods for legal and public policy documents suited for analysis of change of the topics between documents. Institutional grammar based analysis of changes in topics between different public policy documents, regulations and public consultation documents. Agent-based models predicting diffusion of issues in public policy documents. Methodology The core of the DARLING project is the issues and topic analysis in documents connected with regulations development using NLP tools. Issues analysis shall allow tracking how different options of AI operationalisation, ways the AI-connected threats are perceived as well as ideas regarding AI regulations are shared among three different types of texts: scientific, expert and legal ones. The extracted issues will then be subject to complex networks analysis and institutional grammar approach. The network analysis, backed by agent-based modeling, will be used to examine the flow of issues among the documents based on their vector-formed characteristics. On the other hand, the Institutional Grammar (IG) will be used to analyze the modality of issues, e.g., the tendency to regulate a specific aspect of AI in a given issue, its deontic character or its conditionality. In result the DARLING project will effect in the development of new methods to analyze legal documents connected to regulation based on deep text processing and links among the documents. An inter-institutional and interdisciplinary team of computer, political sciences and physics of complex systems scientists will elaborate new machine learning approaches to examine the regulation corpora, issues recognition, issues analysis by the means of IG as well as propose new methods of modeling the flow/changes of regulations based on complex networks tools. X-LUNGS 2021-2024 X-LUNGS: Responsible Artificial Intelligence for Lung Diseases The aim of the project is to support the process of identification of lesions visible on CT and lung x-rays. We intend to achieve this goal by building an information system based on artificial intelligence (AI) that will support the radiologist’s work by enriching the images with additional information. The unique feature of the proposed system is a trustworthy artificial intelligence module that: will reduce the image analysis time needed to detect lesions, will make the image evaluation process more transparent, will provide image and textual explanations indicating the rationale behind the proposed recommendation, will be verified for effective collaboration with the radiologist. Work on this project is financially supported from the INFOSTRATEG-I/0022/2021-00 grant funded by Polish National Centre for Research and Development (NCBiR). HOMER 2020-2025 HOMER: Human Oriented autoMated machinE leaRning One of the biggest challenges in the state-of-the-art machine learning is dealing with the complexity of predictive models. Recent techniques like deep neural networks, gradient boosting or random forests create models with thousands or even millions of parameters. This makes decisions generated by these black-box models completely opaque. Model obscurity undermines trust in model decisions, hampers model debugging, blocks model auditability, exposes models to problems with concept drift or data drift. Recently, there has been a huge progress in the area of model interpretability, which results in the first generation of model explainers, methods for better understanding of factors that drive model decisions. Despite this progress, we are still far from methods that provide deep explanations, confronted with domain knowledge that satisfies our ,,Right to explanation’’ as listed in the General Data Protection Regulation (GDPR). In this project I am going to significantly advance next generation of explainers for predictive models. This will be a disruptive change in the way how machine learning models are created, deployed, and maintained. Currently to much time is spend on handcrafted models produced in a tedious and laborious try-and-error process. The proposed Human-Oriented Machine Learning will focus on the true bottleneck in development of new algorithms, i.e. on model-human interfaces. The particular directions I consider are (1) developing an uniform grammar for visual model exploration, (2) establishing a methodology for contrastive explanations that describe similarities and differences among different models, (3) advancing a methodology for non-additive model explanations, (4) creating new human-model interfaces for effective communication between models and humans, (5) introducing new techniques for training of interpretable models based on elastic surrogate black-box models, (6) rising new methods for automated auditing of fairness, biases and performance of predictive models. Work on this project is financially supported from the SONATA BIS grant 2019/34/E/ST6/00052 funded by Polish National Science Centre (NCN). DeCoviD 2020-2022 DeCoviD: Detection of Covid-19 related markers of pulmonary changes using Deep Neural Networks models supported by eXplainable Artificial Intelligence and Cognitive Compressed Sensing Covid-19 is an infectious respiratory disease. A coronavirus infection leaves permanent ramifications in the respiratory system and beyond. In this situation, tools supporting diagnosis and assessment of lung damage after infection and during Covid-19 treatment are crucial. Preliminary results of analysis of CT images and lung xrays suggest that they can help to quickly assess even asymptomatic cases and facilitate prognosis of response to treatment. There are also reports of usefulness of ultrasound images. The aim of the DeCoviD project is to develop methods and tools to support radiologists in the assessment of lung imaging data for the occurrence of changes caused by Covid-19 disease. The developed solution will allow to automate the identification of pathological changes and will support the diagnosis of coexisting lung diseases as well as diseases of other organs visible on chest images. It will also allow to quantify the severity of lung damage caused by the disease Responsible decision support for radiologists requires models based on interpretable features. Such features will be stored in a hybrid knowledge base powered by two research teams from WUT, working on the basis of two, seemingly opposite, paradigms of image data analysis. The eXplainable Artificial Intelligence (XAI) team will use trained deep networks to automatically extract features that are essential for effective disease detection. Cognitive Compressed Sensing (CCS) will build a set of interpretable semantic features using sparse cognitive representations agreed with a group of cooperating radiologists. Combining these two approaches will achieve high effectiveness of the constructed models, combined with high transparency, clarity and stability of the solution. The DeCoviD project is a part of a broader strategy of competence development in the area of deep learning + XAI + medical applications at the Warsaw University of Technology. More information: https://github.com/MI2DataLab/DeCoviD. Work on this project is financially supported by the IDUB against COVID PW. DALEX 2018-2022 DALEX: Descriptive and model Agnostic Local EXplanations Research project objectives. Black boxes are complex machine learning models, for example deep neural network, an ensemble of trees of high-dimensional regression model. They are commonly used due to they high performance. But how to understand the structure of a black-box, a model in which decision rules are too cryptic for humans? The aim of the project is to create a methodology for such exploration. To address this issue we will develop methods, that: (1) identify key variables that mostly determine a model response, (2) explain a single model response in a compact visual way through local approximations, (3) enrich model diagnostic plots. Research project methodology. This project is divided into three subprojects - local approximations od complex models (called LIVE), explanations of particular model predictions (called EXPLAIN) and conditional explanations (called CONDA). Expected impact on the development of science. Explanations of black boxes have fundamental implications for the field of predictive and statistical modelling. The advent of big data forces imposes usage of black boxes that are easily able to overperform classical methods. But the high performance itself does not imply that the model is appropriate. Thus, especially in applications to personalized medicine or some regulated fields, one should scrutinize decision rules incorporated in the model. New methods and tools for exploration of black-box models are useful for quick identification of problems with the model structure and increase the interpretability of a black-box Work on this project is financially supported from the OPUS grant 2017/27/B/ST6/01307 funded by Polish National Science Centre (NCN). MLGenSig 2017-2021 MLGenSig: Machine Learning Methods for building of Integrated Genetic Signatures Research project objectives. The main scientific goal of this project is to develop a methodology for integrated genetic signatures based on data from divergent high-throughput techniques used in molecular biology. Integrated signatures base on ensembles of signatures for RNA-seq, DNA-seq, data as well for methylation profiles and protein expression microarrays. The advent of high throughput methods allows to measure dozens of thousands or even millions features on different levels like DNA / RNA / protein. And nowadays in many large scale studies scientists use data from mRNA seq to assess the state of transcriptome, protein microarrays to asses the state of proteome and DNA-seq / bisulfide methylation to assess genome / methylome. Research methodology. Genetic signatures are widely used in different applications, among others: for assessing genes that differentiate cells that are chemo resistant vs. cells that are not, assess the stage of cell pluripotency, define molecular cancer subtypes. For example, in database Molecular Signatures Database v5.0 one can find thousands of gene sets - genetic signatures for various conditions. There are signatures that characterize some cancer cells, pluripotent cells and other groups. But they usually contain relatively small number of genes (around 100), results with them are hard to replicate and they are collection of features that were found significant when independently tested. In most cases signatures are derived from measurements of the same type. Like signatures based of expression of transcripts based on data from microarrays or RNA-seq, or methylation profile or DNA variation. We are proposing a very different approach. First we are going to use machine-learning techniques to create large collections of signatures. Such signatures base on ensembles of small sub-signatures, are more robust and usually have higher precision. Then out of such signatures we are going to develop methodology for meta-signatures, that integrate information from different types of data (transcriptome, proteome, genome). Great examples of such studies are: Progenitor Cell Biology Consortium (PCBC) and The Cancer Genome Atlas (TCGA) studies. For thousands of patients in different cohorts (for PCBC cohorts based on stemness phenotype, for TCGA based on cancer type) measurements of both mRNA, miRNA, DNA and methylation profiles are available. New, large datasets require new methods that take into account high and dense structure of dependencies between features. The task that we are going to solve is to develop methodology that will create genetic signatures that integrate information from different levels of cell functioning. Then we are going to use data from TCGA and PBCB project to assess the quality of proposed methodology. As a baseline we are going to use following methodologies: DESeq, edgeR (for mRNA), casper (for lternative splicing), MethylKit (for RRBS data) and RPPanalyzer for protein arrays. Here is the skeleton for our approach: (1) Use ensembles in order to building a genetic signature. The first step would be to use random forests to train a new signature. Ensembles of sub-signtures are build on bootstrap subsamples and they votes if given sample fit given signature or not. (2) In order to improve signatures we are going to consider various normalization of raw counts. We start with log and rank transformation. (3) In order to improve the process of training an ensemble we are going to use pre-filtering of genes. (4) Another approach is to use Bayesian based methods, that may incorporate the expert knowledge, like belief-based gaussian modelling Research project impact. Genetic profiling is more and more important and has number of application starting from basic classification up to personalized medicine in which patients are profiled against different signatures. Existing tools for genetic signatures have many citations. This we assume that the methodology for integrated genetic profiling will be a very useful for many research groups. It is hard to overestimate the impact of better genetic profiling on medicine. Moreover we build a team of people with knowledge in cancer genetic profiling Work on this project is financially supported from the OPUS grant 2016/21/B/ST6/02176 funded by Polish National Science Centre (NCN). "],["mi²solutions.html", "MI²Solutions", " MI²Solutions Hire a team of experienced researchers. The blue team will help you develop good predictive models, create a responsible solution tailored to your needs. The red team will help you find and analyse any weaknesses in your predictive models. It will help you confront them with domain knowledge and make sure they are resilient to future changes in the data. If you need tailor-made solutions for your individual needs, we are happy to help you too. Contact us, we can develop software for you, deploy it, provide training, discuss your needs, verify the quality of your existing solutions. Below you will find a sample offer for trainings or deployments. Research as a service Our team has experience not only in groundbreaking research, but also in deploying these research into business. There are many ways we can help, for example help in delivery of champion-challenger evaluations in which we look for potential to increase the effectiveness of predictive models in your company. take care of the whole life cycle of the predictive models, from reproducibility of results to constant monitoring and continuous improvement of the model. audit models and analyse the sensitivity and vulnerability of the model to incorrect or unexpected behaviours. We would be happy to discuss how we could help with your organisation! Trainings Based on our experience in the area of Responsible Machine Learning, developed a unique two-day hands-on training. Jump into the topic of eXplainable Artificial Intelligence with our trainers. Responsible Machine Learning images/training_xai The training is conducted once a month in small groups online. Small groups encourage questions and the interactions within the group. Language Depending on the group’s preference, the hands-on part can be carried out in R (mlr3 + DALEX) or Python (scikit-learn + dalex). The methodology part does not depend on the language. Book your training To book a training please contact with trainings(at)solutions42.ai. "],["mi²education.html", "MI²Education", " MI²Education The demand for predictive modelling skills is growing at a furious rate. Part of our mission is to develop human capital so that predictive modelling is applied responsibly and safely. We take social responsibility seriously and as part of our activities we support the development of data analysis skills among pupils, students and senior professionals alike. "],["teaching.html", "Teaching", " Teaching Programming R 22/23 Summer Programming and data analysis advanced in R lectures, labs, projects - Anna Kozak Exploratory Data Analysis 22/23 Summer Introduction to exploratory data analysis for Mathematics and data analysis studies lectures, labs, projects - Anna Kozak labs - Hubert Ruczyński, Bartłomiej Sobieski Data Visualization 22/23 Winter Data Visualization Techniques for Data Science studies lectures, labs, projects - Anna Kozak labs, projects - Mateusz Krzyziński, Hubert Ruczyński, Mikołaj Spytek Exploratory Data Analysis 21/22 Summer Introduction to exploratory data analysis for Mathematics and data analysis studies lectures, labs, projects - Anna Kozak labs - Katatzyna Woźnica Interpretable Machine Learning 21/22 Summer Interpretable Machine Learning lectures, projects - Przemysław Biecek Case Studies 21/22 Summer Case Studies for Data Science studies lectures - Weronika Hryniewska ML-1 - labs, projects - Anna Kozak ML-2 - labs, projects - Bartłomiej Eljasiak XAI-tabular - labs, projects - Mustafa Cavus AutoML - labs, projects - Katarzyna Woźnica XIC - labs, projects - Hubert Baniecki TL - labs, projects - Paulina Tomaszewska Data - labs, projects - Weronika Hryniewska NLP - labs, projects - Stanisław Giziński Data Visualization 21/22 Winter Data Visualization Techniques for Data Science studies lectures, labs, projects - Anna Kozak labs, projects - Hubert Baniecki Exploratory Data Analysis 20/21 Summer Introduction to exploratory data analysis for Mathematics and data analysis studies lectures, labs, projects - Anna Kozak labs - Krzysztof Spaliński Case Studies 20/21 Summer Case Studies for Data Science studies lectures - Katarzyna Woźnica XAI1 - labs, projects - Anna Kozak XAI2 - labs, projects - Szymon Maksymiuk DL1 - labs, projects - Weronika Hryniewska DL2 - labs, projects - Paulina Tomaszewska ML - labs, projects - Hubert Baniecki RashomonML - labs, projects - Katarzyna Woźnica Interpretable Machine Learning 20/21 Summer Interpretable Machine Learning for Data Science studies XAI stories 2 lectures, projects - Przemysław Biecek Data Visualization 20/21 Winter Data Visualization Techniques for Data Science studies lectures, labs - Alicja Gosiewska projects - Hubert Baniecki Case Studies 19/20 Summer Case Studies for Data Science studies lectures - Alicja Gosiewska Imputation - labs, projects - Katarzyna Woźnica Reproducibility of scientific papers - labs, projects - Alicja Gosiewska Interpretability - labs, projects - Katarzyna Kobylińska Interpretable Machine Learning 19/20 Summer Interpretable Machine Learning for Data Science studies lectures, projects - Przemysław Biecek Data Visualization 19/20 Summer Data Visualization for Data Science studies lectures, labs, projects - Michał Burdukiewicz "],["beta-bit.html", "Beta Bit", " Beta Bit Chaos Game EN: Are you curious about fractals? The Chaos Game is the book for you. You will learn the mathematical basis behind these figures, find out what algorithm can be used to code them, write code in your favourite programming language (Python, R, Julia?) and also explore the bibliographies of three mathematicians associated with the development of mathematics around these shapes. This is the next book in the Beta Bit series for anyone interested in computational mathematics and data analysis. PL: Jesteś ciekawy czym są fraktale? Gra w Chaos to książka dla Ciebie. Poznasz matematyczne podstawy tych figur, dowiesz się, jaki algorytm można wykorzystać do ich zaprogramowania, napiszesz kod w swoim ulubionym języku programowania (Python, R, Julia?), a także poznasz bibliografie trzech matematyków związanych z rozwojem matematyki wokół tych kształtów. To kolejna książka z serii Beta Bit dla wszystkich zainteresowanych matematyką obliczeniową i analizą danych. Flipbook online [ENG] Flipbook online [POL] Wykresy od kuchni PL: Jak tworzyć dobre wykresy? Dobre, czyli takie, które z przyjemnością się ogląda, z których można wyciągnąć wiele informacji, które są zrozumiałe dla szerokiego odbiorcy, a jednocześnie docenią je smakosze. Na bazie doświadczeń z prowadzenia tych zajęć powstały Wykresy od kuchni. To zbiór krótkich wykładów omawiających różne wątki przydatne w lepszym zrozumieniu tego, jak działa komunikacja z użyciem wykresów statystycznych. Na kolejnych stronach pojawi się wiele analogii do przyrządzania posiłków, ponieważ zarówno w kuchni, jak i w przygotowaniu wykresów statystycznych potrzebna jest praktyka, znajomość pewnych fundamentalnych prawideł, garść sprawdzonych przepisów i dużo zapału do eksperymentowania. Będąc tak uzbrojonym, każdy adept sztuki kulinarnej jest skazany na sukces. Flipbook online [POL] The Hitchhiker’s Guide to Responsible Machine Learning EN: A one-of-a-kind 52-page story about responsible machine learning. Beta and Bit use decision trees, random forests, and AutoML tools to build a risk model after a covid infection, and then use explainable artificial intelligence tools to analyze the behavior of that model. The description of the data analysis process is intertwined with descriptions of ML tools and code snippets. All examples are fully reproducible! PL: Jedyna w swoim rodzaju 52-stronicowa opowieść o odpowiedzialnym uczeniu maszynowym. Beta i Bit używają drzew decyzyjnych, lasów losowych i narzędzi AutoML do budowy modelu ryzyka po zakażeniu covid, a następnie używają narzędzi wyjaśnialnej sztucznej inteligencji by przeanalizować działanie tego modelu. Opis procesu analizy danych przeplata się na opisem kolejnych narzędzi i przykładami kodu. Wszystkie wyniki są całkowicie odtwarzalne! Flipbook online Przemysław Biecek, Anna Kozak, Aleksander Zawada Fundacja Naukowa SmarterPoland.pl. 2022 W pogoni za nieskończonością. Szeregi EN: What does hiking in the mountains have to do with the convergence of series? Quite a lot! We start with the paradoxes related to infinity, but step by step we learn the techniques of geometric series. In this book, the conditions for convergence are explained, together with numerous examples. The comic ends with a collection of exercises with different levels of difficulty. PL: Co wspólnego ma chodzenie po górach ze zbieżnością szeregów? Otóż całkiem sporo! Zaczynamy od paradoksów związanych z nieskończonością, ale krok po kroku poznajemy techniki szeregów geometrycznych. W tej pozycji wyjaśnione są warunki zbieżności wraz z licznymi przykładami. Komiks kończy zbiór zadań o różnych poziomach trudności. Flipbook online Przemysław Biecek, Łukasz Maciejewski, Aleksander Zawada Fundacja Naukowa SmarterPoland.pl. 2022 Przewodnik po pakiecie R EN: The Guide to the R package was the first published Polish book focused on the R language. The current fourth edition consists of four parts: Basics of using R (+tidyverse, shiny, knitr and other goodies), Programming in R (object-oriented, package development, class system), Statistics with R (statistical tests, models, exploration techniques) and Visualization with R (graphics, lattice and ggplot2 packages). PL: Przewodnik po pakiecie R był pierwszą wydaną polskojęzyczną książką poświęconą językowi R. Aktualne czwarte wydanie składa się z czterech części: Podstaw posługiwania się językiem R (+tidyverse, shiny, knitr i inne smaczki), Programowanie w R (obiektowe, tworzenie pakietów, system klas), Statystyka z R (testy statystyczne, modele, techniki eksploracji) i Wizualizacja z R (pakiety graphics, lattice i ggplot2). Wersja online, Książka w księgarnii. Przemysław Biecek Wydawnictwo GiS. 2008-2021 Analiza danych z programem R EN: An academic textbook describing estimation and testing topics for linear models with fixed effects, random effects and mixed effects. The theoretical introduction is complemented by numerous examples for one-way and multivariate ANOVA, one and multiple random components. The examples focus on biological and medical applications and are based on real analyses of real data. PL: Podręcznik akademicki opisujący zagadnienia estymacji i testowania dla modeli liniowych z efektami stałymi, losowymi i mieszanymi. Wprowadzenie teoretyczne jest uzupełnione o liczne przykłady dla jednokierunkowej i wielokierunkowej ANOVA, jednym i wieloma komponentami losowymi. Przykłady dotyczą głównie zastosowań biologicznych i medycznych i bazują na prawdziwych analizach rzeczywistych danych. Książka w księgarnii. Przemysław Biecek Wydawnictwo Naukowe PWN 2013-2018 Eseje o sztuce wizualizacji danych EN: Discover! Reveal! Explain! These three roles can be fulfilled by good statistical graphics. Good means understandable, faithful to the data, aesthetic. How to create such graphics? A collection of essays on the art of displaying data systematises knowledge useful in designing and producing good data visualisations. It is not easy. On the one hand, we can fall into the trap of a colourful mush full of numbers, which is sometimes proudly called infographics. On the other hand, we can fall into the trap of graphics that perfectly reproduce the complexity of numbers, and thus completely incomprehensible. Somewhere in the middle is a graphic that explains, that informs, that is aesthetically pleasing and informative. PL: Odkrywać! Ujawniać! Objaśniać! Te trzy role może spełniać dobra grafika statystyczna. Dobra czyli zrozumiała, wierna danym, estetyczna. Jak tworzyć taką grafikę? Zbiór esejów o sztuce pokazywania danych systematyzuje wiedzę przydatną do projektowania i wykonania dobrej wizualizacji danych. Nie jest to proste. Z jednej strony możemy wpaść w pułapkę pstrokatej papki najeżonej liczbami, którą czasem dumnie nazywa się infografiką. Z drugiej strony wpaść można w pułapkę grafiki idealnie odwzorowującej złożoność liczb a przez to zupełnie niezrozumiałej. Gdzieś po środku jest grafika, która wyjaśnia, która informuje, która jest estetyczna i informatywna. Książka online, Książka w księgarnii. Przemysław Biecek Wydawnictwo SmarterPoland 2008-2021 Pogromcy Danych EN: Data Crunchers is the first MOOC (Massive Open Online Course) developed in Polish for data scientists. Two modules were developed in 2015: the first one is an introduction to R, with loading data, overview of syntax, basic data types, descriptive statistics and pipelined processing. The second module is dedicated to data visualisation and statistical modelling. More than 8,000 people have registered on the Data Crunchers platform. PL: Pogromcy Danych to pierwszy MOOC (Massive Open Online Course) opracowany w języku polskim do analizy danych. W roku 2015 powstały dwa moduły: pierwszy jest wprowadzeniem do programu R, przez wczytywanie danych, omówienie składni, podstawowych typów danych, statystyk opisowych oraz przetwarzania potokowego. Drugi moduł poświęcony jest wizualizacji danych oraz modelowaniu statystycznemu. W platformie Pogromców Danych zarejestrowało się ponad 8000 osób. Przetwarzanie danych w programie R, Wizualizacja i modelowanie, Strona WWW. Przemysław Biecek ICM UW. 2015 Wykresy unplugged EN: Can you create clear charts without any electricity? An illustrated collection of exercises showing eight of the most popular ways to visualise data, with do-it-yourself challenges. Grab your crayons and start creating fantastic charts. PL: Czy można tworzyć czytelne wykresy bez użycia prądu? Ilustrowany zbiór ćwiczeń przedstawiających osiem najpopularniejszych sposobów wizualizacji danych, wraz z zadaniami do samodzielnego wykonania. Weź kredki i zacznij tworzyć fantastyczne wykresy. Flipbook online, Komiks w księgarnii. Przemysław Biecek, Ewa Baranowska, Piotr Sobczyk Fundacja Naukowa SmarterPoland.pl. 2018 W pogoni za nieskończonością EN: Two mathematicians share stories about infinity. In the first Beta attends a lecture on the properties of prime numbers. In the second, Bit breaks into the Palace of Culture and Science. How should we talk about mathematics? PL: Dwójka matematyków wymienia się opowiadaniami o nieskończoności. W pierwszym Beta bierze udział w wykładzie o właściwościach liczb pierwszych. W drugim Bit włamuje się do Pałacu Kultury i Nauki. Jak opowiadać o matematyce? Flipbook online, Komiks w księgarnii. Przemysław Biecek, Łukasz Maciejewski, Tomasz Samojlik, Sebastian Szpakowski Fundacja Naukowa SmarterPoland.pl. 2018 Jak długo żyją Muffinki? EN: A collection of three stories for children showing statistical relationships in the world around us. Beautifully illustrated stories about the distribution of height according to age, the life span of dogs or measuring the weight of trees. PL: Zbiór trzech opowiadań dla dzieci pokazującym zależności statystyczne w świecie wokół nas. Pięknie ilustrowane opowiadania o rozkładzie wzrostu w zależności od wieku, czasie życia psów czy pomiarze wagi drzew. Online: Jak szybko urosnę, Jak długo żyją Muffinki. Przemysław Biecek Fundacja Naukowa SmarterPoland.pl.2016 Pieczara Pietraszki EN: How linear regression can help in getting home, and why it’s not worth hacking into a mad mathematician’s office. A short story describing the adventures of two teenagers Beta and Bit moving around historic Warsaw. PL: W jaki sposób regresja liniowa może pomóc w powrocie do domu, oraz dlaczego nie warto włamywać się do pokoju szalonego matematyka? Lekkie opowiadanie opisujące przygody dwójki nastolatków Bety i Bita w historycznej Warszawie. Online: W jezyku Polskim, In English, По-Русски. Magda Chudzian, Przemysław Biecek Fundacja Naukowa SmarterPoland.pl. 2015 How to weight a dog with a ruler? EN: Workshop materials for children aged 8-10. Kids measure different parameters of their body, such as arm span or height. Then they create a graph summarizing the collected data and look for relations between the measured features. It just so happens that parts of the human body are proportional to each other and you can use a ruler to find this relationship. Part of the StatTub project. PL: Materiały do warsztaty dla dzieci w wieku 8-10. Dzieci mierzą różne parametry swojego ciała, takie jak rozpiętość ramion lub wzrost. Następnie tworzą wykres podsumowujący zebrane dane i szukają zależności pomiędzy zmierzonymi cechami. Tak się składa, że części ciała ludzkiego są do siebie proporcjonalne i można z użyciem linijki znaleźć tę relację. Część projektu StatTuba. Online: English, Polish, Chinese, Simplified Chinese, Czech, German, Spanish, Spanish (Latin America), French, Dutch, Vietnamese. Przemysław Biecek, Klaudia Korniluk Fundacja Naukowa SmarterPoland.pl.2016-2021 "],["responsibleml-blog.html", "ResponsibleML Blog", " ResponsibleML Blog Read more about the research, solutions and education on our blog: Tools for Explainable, Fair and Responsible ML BASIC XAI with DALEX— Part 1: Introduction Anna Kozak In this post, we will take a closer look at some algorithms used in explainable artificial intelligence. You will find here an introduction to methods of global and local model evaluation. Each description will include a technical introduction, example analysis, and code in R and Python. R packages for eXplainable Artificial Intelligence Przemysław Biecek We have prepared an overview of the most popular R-packages, which can be used to build interpretable models or to explore complex ones. Examples of knitr notebooks for more than 30 packages are available at http://xai-tools.drwhy.ai/. Adversarial attacks on Explainable AI Hubert Baniecki There are various adversarial attacks on machine learning models; hence, ways of defending, e.g. by using Explainable AI methods. Nowadays, attacks on model explanations come to light, so does the defense to such adversary. Here, we introduce fundamental concepts related to the domain. A further reference list is available at https://github.com/hbaniecki/adversarial-explainable-ai. "],["404.html", "Page not found", " Page not found The page you requested cannot be found (perhaps it was moved or renamed). You may want to try searching to find the page's new location, or use the table of contents to find the page you are looking for. "]] diff --git a/docs/the-team.html b/docs/the-team.html index a9286f7..a6044f0 100644 --- a/docs/the-team.html +++ b/docs/the-team.html @@ -204,10 +204,11 @@

MembersPrzemysław Biecek, PhD, DSc (Team Leader)
  • Hubert Baniecki, PhD student
  • Mustafa Cavus, PhD
  • -
  • Maciej Chrabąszcz, PhD student
  • +
  • Maciej Chrabąszcz, MSc student
  • Mateusz Grzyb, MSc student
  • Stanisław Giziński, MSc student
  • Weronika Hryniewska-Guzik, PhD student
  • +
  • Paulina Kaczyńska, MSc student
  • Piotr Komorowski, MSc student
  • Mateusz Krzyziński, MSc student
  • Tymoteusz Kwieciński, BSc student
  • @@ -301,7 +302,7 @@

    Hubert Baniecki

    Mustafa Cavus

    -

    I work as an assistant professor at Warsaw University of Technology and the Eskisehir Technical University. I joined the MI² DataLab as a post-doc researcher in 2021. I work on explainable artificial intelligence and AutoML.

    +

    I work as an assistant professor at the Eskisehir Technical University. I joined the MI² DataLab as a post-doc researcher in 2021. I work on glocal explanations and imbalanced learning.

    Google Scholar: I63d1WIAAAAJ&hl

    GitHub: mcavus

    LinkedIn: mcavus

    @@ -317,7 +318,7 @@

    Julian Sienkiewicz

    Maciej Chrabąszcz

    -

    I am pursuing a PhD in Computer Science at Warsaw University of Technology, where I also obtained my MSc in Mathematical Statistics in 2023. My main research interests lie in the fields of responsible and explainable machine learning, with a focus on Red Teaming foundation models.

    +

    Master’s student in mathematical statisctics at Warsaw University of Technology. Interested in deep learning on text and images, explainable and responsible AI.

    GitHub: maciejchrabaszcz

    LinkedIn: maciej-chrabaszcz

    @@ -343,6 +344,12 @@

    Weronika Hryniewska-GuzikGitHub: Hryniewska

    LinkedIn: weronikahryniewska

    +
    +

    Paulina Kaczyńska

    +

    +

    I am working towards a Master’s degree in Machine Learning at University of Warsaw. I am interested in Natural Language Processing and ML applications in social sciences

    +

    GitHub: Kaczyniec

    +

    Piotr Komorowski