{"componentChunkName":"component---node-modules-gatsby-theme-try-ghost-src-templates-tag-js","path":"/tag/machine-learning/page/2/","result":{"data":{"ghostTag":{"slug":"machine-learning","url":"http://localhost:2368/tag/machine-learning/","name":"Machine Learning","visibility":"public","feature_image":null,"description":null,"meta_title":null,"meta_description":null,"featureImageSharp":null},"allGhostPost":{"edges":[{"node":{"id":"Ghost__Post__63eeea8172a3c427182edcc0","title":"Explaining Bayesian Neural Networks","slug":"explaining-bayesian-neural-networks","featured":false,"feature_image":"https://images.unsplash.com/photo-1646583288948-24548aedffd8?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDc2fHxhaXxlbnwwfHx8fDE2NzY2MDIwNTY&ixlib=rb-4.0.3&q=80&w=2000","excerpt":"Explainable AI refers to models that can easily be interpreted by humans. Bayesian inferencing is a natural choice to obtain explanations of trained deep learning models.","custom_excerpt":"Explainable AI refers to models that can easily be interpreted by humans. Bayesian inferencing is a natural choice to obtain explanations of trained deep learning models.","visibility":"public","created_at_pretty":"17 Feb 2023","published_at_pretty":"17 Feb 2023","updated_at_pretty":"17 Feb 2023","created_at":"2023-02-17T08:16:25.000+05:30","published_at":"2023-02-17T08:22:35.000+05:30","updated_at":"2023-02-17T08:23:09.000+05:30","meta_title":null,"meta_description":null,"og_description":null,"og_image":null,"og_title":null,"twitter_description":null,"twitter_image":null,"twitter_title":null,"authors":[{"slug":"amaljith","url":"http://localhost:2368/author/amaljith/","name":"Amaljith","bio":"Research Scholar @ IIT Kharagpur","cover_image":null,"profile_image":"http://localhost:2368/content/images/2022/09/Screenshot-from-2022-09-07-18-00-00.png","location":null,"website":null,"twitter":null,"facebook":null,"meta_title":null,"meta_description":null,"coverImageSharp":null,"profileImageSharp":null}],"primary_author":{"slug":"amaljith","url":"http://localhost:2368/author/amaljith/","name":"Amaljith","bio":"Research Scholar @ IIT Kharagpur","cover_image":null,"profile_image":"http://localhost:2368/content/images/2022/09/Screenshot-from-2022-09-07-18-00-00.png","location":null,"website":null,"twitter":null,"facebook":null,"meta_title":null,"meta_description":null,"coverImageSharp":null,"profileImageSharp":{"base":"Screenshot-from-2022-09-07-18-00-00.png","publicURL":"/static/28e31bfedd96b4afe90237d2c1f700c3/Screenshot-from-2022-09-07-18-00-00.png","imageMeta":{"width":316,"height":237},"childImageSharp":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAPCAYAAADkmO9VAAAACXBIWXMAAAsTAAALEwEAmpwYAAAEJElEQVQ4yyXO21fTBQDA8d9fUh5LQAW1eEImbIPJbSB3kZtijjSBxNvAGSAqlJZ64GAHIQ0VjkKICCiCQ8cYsYFjYwhsYxeGjJsopmEnH76dYw+f94/w2jmKfaSX9wtTrC1a+bBk5d83dlbnzFhHehnq62TBZeLjGyfvFqf4a9nGstuAx/oM96Qai76NieFu5u0jLLrNCCsOI47nat56J1hbtLH60kTfg5tUV6hQFeSSFLGTgtwcBtUteGc0zLoGmXNpmXU8Yd6txTOlxvq8hzmr/hNhyTaC06hmya3nn6VxHKMPKS08RFF+HgWK/aiO5JP3TQ4xMgn3mqt599bC8pyBRY+OxRkdXkc/rrE+POZ+nMY+hFXHKPPWP5m3a/i4Yqax9kfCREEkyKPJSk3mQFYmOelpRISGEBMuwahv4/WC4dNuwa3l1Us906O9jGs7sWg7EHQdv6NurWVmvJv33iHKTuSyft06tm3xJygwEIlIxDb/zUhFIvw2+HDrxkX+XjUx5x7A6+pn3qXBZnyIoacFTftNhKarlTxprsMz3sPbWR2jmiYiJSICt27lqwB/tmza+L8Af5KkYsYNHXhcvbidahy2x0ya2jFqm7lxqYxrF04jvLQMYB16jKazHrOulRWHjiJFOus/+5yAjX5s8vNhs58vfj5foooO43LJMaovncI1/ZhpWxcTlk6mRjrpa7uOrqsJYcaiY25imKftv6F52IBx4D61Z46y6Yv1+PpsYLOvD36+G0gJDuRcrIS0nTvY8XUAl66osDq60A3e5sHtXzCoW3CY+hHeeKdZdL5gytDDgsOAe1zL9KiawowEsoK2URi+HWWMmKvZuzibKuNcqoTiWBEXShToLHfo7K6h+9413DYzS/MehJnJYZxjOowDHdjHnjE53M2kUU1/zVmu742lOlNOkyKRmtzd1KkUtObFcacgmUetVTT0/kTDvQpemPoxDWmoralG8NrNvJqZwmbS8Xp5FrfNhMtuxtNei75Kia3xAmtdVZgaf6axvprKvXH8kB5FXd1lFMcyuVp7Hnd9E0+bb5Cdvgfhw4oXPq5hGR5kzGzkUVcPVeWlPK8tx/BrCfcrjnI+bx+KPSmcPJxP2QklFUolRfmHyf/uEEXK49y9XMndaxdJjpQirCy4WLCPoe38A4Nez8XySjISU5CFhCIO3k5wUDASkZiUuHj2Z2ahyN5HvuIgRUeOcUZZTOlJJeUlKgbU7Txta0AYbLnFqewMrpSepvhIITm700nblYg8IpJIWRjyiAjiI6JJjJKTGBtHcnwCqYlJpCelkJOWwfe533Jw337Kik9g1N5HqC9RcfyAgvTUPcRHyYmWypCFiJGKQggNDkYsEiEJEhEmCiE8REyYWIJMKiVCEoY8fCcJUTHEx8QgCw0l/8Be/gOTiTiUD46AHAAAAABJRU5ErkJggg==","aspectRatio":1.3333333333333333,"src":"/static/28e31bfedd96b4afe90237d2c1f700c3/6ccb0/Screenshot-from-2022-09-07-18-00-00.png","srcSet":"/static/28e31bfedd96b4afe90237d2c1f700c3/7d89d/Screenshot-from-2022-09-07-18-00-00.png 28w,\n/static/28e31bfedd96b4afe90237d2c1f700c3/f4091/Screenshot-from-2022-09-07-18-00-00.png 55w,\n/static/28e31bfedd96b4afe90237d2c1f700c3/6ccb0/Screenshot-from-2022-09-07-18-00-00.png 110w,\n/static/28e31bfedd96b4afe90237d2c1f700c3/30481/Screenshot-from-2022-09-07-18-00-00.png 165w,\n/static/28e31bfedd96b4afe90237d2c1f700c3/33bd6/Screenshot-from-2022-09-07-18-00-00.png 220w,\n/static/28e31bfedd96b4afe90237d2c1f700c3/d398b/Screenshot-from-2022-09-07-18-00-00.png 316w","srcWebp":"/static/28e31bfedd96b4afe90237d2c1f700c3/8678c/Screenshot-from-2022-09-07-18-00-00.webp","srcSetWebp":"/static/28e31bfedd96b4afe90237d2c1f700c3/59cda/Screenshot-from-2022-09-07-18-00-00.webp 28w,\n/static/28e31bfedd96b4afe90237d2c1f700c3/7da75/Screenshot-from-2022-09-07-18-00-00.webp 55w,\n/static/28e31bfedd96b4afe90237d2c1f700c3/8678c/Screenshot-from-2022-09-07-18-00-00.webp 110w,\n/static/28e31bfedd96b4afe90237d2c1f700c3/f282e/Screenshot-from-2022-09-07-18-00-00.webp 165w,\n/static/28e31bfedd96b4afe90237d2c1f700c3/a7b21/Screenshot-from-2022-09-07-18-00-00.webp 220w,\n/static/28e31bfedd96b4afe90237d2c1f700c3/fb2b8/Screenshot-from-2022-09-07-18-00-00.webp 316w","sizes":"(max-width: 110px) 100vw, 110px"}}}},"primary_tag":{"slug":"explainable-ai","url":"http://localhost:2368/tag/explainable-ai/","name":"Explainable AI","visibility":"public","feature_image":null,"description":null,"meta_title":null,"meta_description":null,"featureImageSharp":null},"tags":[{"slug":"explainable-ai","url":"http://localhost:2368/tag/explainable-ai/","name":"Explainable AI","visibility":"public","feature_image":null,"description":null,"meta_title":null,"meta_description":null,"featureImageSharp":null},{"slug":"artificial-intelligence","url":"http://localhost:2368/tag/artificial-intelligence/","name":"Artificial Intelligence","visibility":"public","feature_image":null,"description":null,"meta_title":null,"meta_description":null,"featureImageSharp":null},{"slug":"machine-learning","url":"http://localhost:2368/tag/machine-learning/","name":"Machine Learning","visibility":"public","feature_image":null,"description":null,"meta_title":null,"meta_description":null,"featureImageSharp":null}],"plaintext":"Explainable AI refers to models that can easily be interpreted by humans. Bayesian inferencing is a natural choice to obtain explanations of trained deep learning models.","html":"<p>Explainable AI refers to models that can easily be interpreted by humans. Bayesian inferencing is a natural choice to obtain explanations of trained deep learning models.</p>","url":"http://localhost:2368/explaining-bayesian-neural-networks/","canonical_url":null,"uuid":"6bef7972-5e59-4ea0-8ccd-99292bb992ab","codeinjection_foot":null,"codeinjection_head":null,"codeinjection_styles":null,"comment_id":"63eeea8172a3c427182edcc0","reading_time":0,"send_email_when_published":null,"email_subject":null,"childHtmlRehype":{"html":"<p>Explainable AI refers to models that can easily be interpreted by humans. Bayesian inferencing is a natural choice to obtain explanations of trained deep learning models.</p>","htmlAst":{"type":"root","children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Explainable AI refers to models that can easily be interpreted by humans. Bayesian inferencing is a natural choice to obtain explanations of trained deep learning models."}]}],"data":{"quirksMode":false}},"tableOfContents":[]},"featureImageSharp":{"base":"photo-1646583288948-24548aedffd8.jpg","publicURL":"/static/e6860d2b93d53230bfd7e05394764440/photo-1646583288948-24548aedffd8.jpg","imageMeta":{"width":2000,"height":1333},"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAIDAQT/xAAVAQEBAAAAAAAAAAAAAAAAAAAAAf/aAAwDAQACEAMQAAABTnWKSMD/xAAYEAEBAQEBAAAAAAAAAAAAAAABAAIDEP/aAAgBAQABBQJbrlyS2lfP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAGBAAAgMAAAAAAAAAAAAAAAAAAAERIEH/2gAIAQEABj8CJe1//8QAGRAAAgMBAAAAAAAAAAAAAAAAAAEQETEh/9oACAEBAAE/IeYkoD0ZRqOP/9oADAMBAAIAAwAAABDPP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EABwQAQEBAAEFAAAAAAAAAAAAAAERABAhMUFRYf/aAAgBAQABPxAaswSgie+peDzmEip9blb33//Z","aspectRatio":1.4957264957264957,"src":"/static/e6860d2b93d53230bfd7e05394764440/ea4ab/photo-1646583288948-24548aedffd8.jpg","srcSet":"/static/e6860d2b93d53230bfd7e05394764440/477ba/photo-1646583288948-24548aedffd8.jpg 175w,\n/static/e6860d2b93d53230bfd7e05394764440/06776/photo-1646583288948-24548aedffd8.jpg 350w,\n/static/e6860d2b93d53230bfd7e05394764440/ea4ab/photo-1646583288948-24548aedffd8.jpg 700w,\n/static/e6860d2b93d53230bfd7e05394764440/3055e/photo-1646583288948-24548aedffd8.jpg 1050w,\n/static/e6860d2b93d53230bfd7e05394764440/eff08/photo-1646583288948-24548aedffd8.jpg 1400w,\n/static/e6860d2b93d53230bfd7e05394764440/4e5f3/photo-1646583288948-24548aedffd8.jpg 2000w","srcWebp":"/static/e6860d2b93d53230bfd7e05394764440/89afa/photo-1646583288948-24548aedffd8.webp","srcSetWebp":"/static/e6860d2b93d53230bfd7e05394764440/9fca7/photo-1646583288948-24548aedffd8.webp 175w,\n/static/e6860d2b93d53230bfd7e05394764440/37a4e/photo-1646583288948-24548aedffd8.webp 350w,\n/static/e6860d2b93d53230bfd7e05394764440/89afa/photo-1646583288948-24548aedffd8.webp 700w,\n/static/e6860d2b93d53230bfd7e05394764440/78e7a/photo-1646583288948-24548aedffd8.webp 1050w,\n/static/e6860d2b93d53230bfd7e05394764440/03d34/photo-1646583288948-24548aedffd8.webp 1400w,\n/static/e6860d2b93d53230bfd7e05394764440/49d6b/photo-1646583288948-24548aedffd8.webp 2000w","sizes":"(max-width: 700px) 100vw, 700px"}}}}},{"node":{"id":"Ghost__Post__63b58208bdc6867fe35526ff","title":"Causal Machine Learning - Part 5","slug":"causal-machine-learning-part-5","featured":false,"feature_image":"https://images.unsplash.com/photo-1648007547791-404a2abfdc82?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDY5Mnx8cm9ib3R8ZW58MHx8fHwxNjcyODM5Njc3&ixlib=rb-4.0.3&q=80&w=2000","excerpt":"This post is the fifth post of the series on Causal Machine Learning.  This blog post is based on the work of Judea Pearl. As always i will try to keep the things as simple as possible. So stay with me , Enjoy reading !","custom_excerpt":"This post is the fifth post of the series on Causal Machine Learning.  This blog post is based on the work of Judea Pearl. As always i will try to keep the things as simple as possible. So stay with me , Enjoy reading !","visibility":"public","created_at_pretty":"4 Jan 2023","published_at_pretty":"4 Jan 2023","updated_at_pretty":"20 Feb 2023","created_at":"2023-01-04T19:11:28.000+05:30","published_at":"2023-01-04T19:12:15.000+05:30","updated_at":"2023-02-20T09:33:55.000+05:30","meta_title":null,"meta_description":null,"og_description":null,"og_image":null,"og_title":null,"twitter_description":null,"twitter_image":null,"twitter_title":null,"authors":[{"slug":"amaljith","url":"http://localhost:2368/author/amaljith/","name":"Amaljith","bio":"Research Scholar @ IIT Kharagpur","cover_image":null,"profile_image":"http://localhost:2368/content/images/2022/09/Screenshot-from-2022-09-07-18-00-00.png","location":null,"website":null,"twitter":null,"facebook":null,"meta_title":null,"meta_description":null,"coverImageSharp":null,"profileImageSharp":null}],"primary_author":{"slug":"amaljith","url":"http://localhost:2368/author/amaljith/","name":"Amaljith","bio":"Research Scholar @ IIT Kharagpur","cover_image":null,"profile_image":"http://localhost:2368/content/images/2022/09/Screenshot-from-2022-09-07-18-00-00.png","location":null,"website":null,"twitter":null,"facebook":null,"meta_title":null,"meta_description":null,"coverImageSharp":null,"profileImageSharp":{"base":"Screenshot-from-2022-09-07-18-00-00.png","publicURL":"/static/28e31bfedd96b4afe90237d2c1f700c3/Screenshot-from-2022-09-07-18-00-00.png","imageMeta":{"width":316,"height":237},"childImageSharp":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAPCAYAAADkmO9VAAAACXBIWXMAAAsTAAALEwEAmpwYAAAEJElEQVQ4yyXO21fTBQDA8d9fUh5LQAW1eEImbIPJbSB3kZtijjSBxNvAGSAqlJZ64GAHIQ0VjkKICCiCQ8cYsYFjYwhsYxeGjJsopmEnH76dYw+f94/w2jmKfaSX9wtTrC1a+bBk5d83dlbnzFhHehnq62TBZeLjGyfvFqf4a9nGstuAx/oM96Qai76NieFu5u0jLLrNCCsOI47nat56J1hbtLH60kTfg5tUV6hQFeSSFLGTgtwcBtUteGc0zLoGmXNpmXU8Yd6txTOlxvq8hzmr/hNhyTaC06hmya3nn6VxHKMPKS08RFF+HgWK/aiO5JP3TQ4xMgn3mqt599bC8pyBRY+OxRkdXkc/rrE+POZ+nMY+hFXHKPPWP5m3a/i4Yqax9kfCREEkyKPJSk3mQFYmOelpRISGEBMuwahv4/WC4dNuwa3l1Us906O9jGs7sWg7EHQdv6NurWVmvJv33iHKTuSyft06tm3xJygwEIlIxDb/zUhFIvw2+HDrxkX+XjUx5x7A6+pn3qXBZnyIoacFTftNhKarlTxprsMz3sPbWR2jmiYiJSICt27lqwB/tmza+L8Af5KkYsYNHXhcvbidahy2x0ya2jFqm7lxqYxrF04jvLQMYB16jKazHrOulRWHjiJFOus/+5yAjX5s8vNhs58vfj5foooO43LJMaovncI1/ZhpWxcTlk6mRjrpa7uOrqsJYcaiY25imKftv6F52IBx4D61Z46y6Yv1+PpsYLOvD36+G0gJDuRcrIS0nTvY8XUAl66osDq60A3e5sHtXzCoW3CY+hHeeKdZdL5gytDDgsOAe1zL9KiawowEsoK2URi+HWWMmKvZuzibKuNcqoTiWBEXShToLHfo7K6h+9413DYzS/MehJnJYZxjOowDHdjHnjE53M2kUU1/zVmu742lOlNOkyKRmtzd1KkUtObFcacgmUetVTT0/kTDvQpemPoxDWmoralG8NrNvJqZwmbS8Xp5FrfNhMtuxtNei75Kia3xAmtdVZgaf6axvprKvXH8kB5FXd1lFMcyuVp7Hnd9E0+bb5Cdvgfhw4oXPq5hGR5kzGzkUVcPVeWlPK8tx/BrCfcrjnI+bx+KPSmcPJxP2QklFUolRfmHyf/uEEXK49y9XMndaxdJjpQirCy4WLCPoe38A4Nez8XySjISU5CFhCIO3k5wUDASkZiUuHj2Z2ahyN5HvuIgRUeOcUZZTOlJJeUlKgbU7Txta0AYbLnFqewMrpSepvhIITm700nblYg8IpJIWRjyiAjiI6JJjJKTGBtHcnwCqYlJpCelkJOWwfe533Jw337Kik9g1N5HqC9RcfyAgvTUPcRHyYmWypCFiJGKQggNDkYsEiEJEhEmCiE8REyYWIJMKiVCEoY8fCcJUTHEx8QgCw0l/8Be/gOTiTiUD46AHAAAAABJRU5ErkJggg==","aspectRatio":1.3333333333333333,"src":"/static/28e31bfedd96b4afe90237d2c1f700c3/6ccb0/Screenshot-from-2022-09-07-18-00-00.png","srcSet":"/static/28e31bfedd96b4afe90237d2c1f700c3/7d89d/Screenshot-from-2022-09-07-18-00-00.png 28w,\n/static/28e31bfedd96b4afe90237d2c1f700c3/f4091/Screenshot-from-2022-09-07-18-00-00.png 55w,\n/static/28e31bfedd96b4afe90237d2c1f700c3/6ccb0/Screenshot-from-2022-09-07-18-00-00.png 110w,\n/static/28e31bfedd96b4afe90237d2c1f700c3/30481/Screenshot-from-2022-09-07-18-00-00.png 165w,\n/static/28e31bfedd96b4afe90237d2c1f700c3/33bd6/Screenshot-from-2022-09-07-18-00-00.png 220w,\n/static/28e31bfedd96b4afe90237d2c1f700c3/d398b/Screenshot-from-2022-09-07-18-00-00.png 316w","srcWebp":"/static/28e31bfedd96b4afe90237d2c1f700c3/8678c/Screenshot-from-2022-09-07-18-00-00.webp","srcSetWebp":"/static/28e31bfedd96b4afe90237d2c1f700c3/59cda/Screenshot-from-2022-09-07-18-00-00.webp 28w,\n/static/28e31bfedd96b4afe90237d2c1f700c3/7da75/Screenshot-from-2022-09-07-18-00-00.webp 55w,\n/static/28e31bfedd96b4afe90237d2c1f700c3/8678c/Screenshot-from-2022-09-07-18-00-00.webp 110w,\n/static/28e31bfedd96b4afe90237d2c1f700c3/f282e/Screenshot-from-2022-09-07-18-00-00.webp 165w,\n/static/28e31bfedd96b4afe90237d2c1f700c3/a7b21/Screenshot-from-2022-09-07-18-00-00.webp 220w,\n/static/28e31bfedd96b4afe90237d2c1f700c3/fb2b8/Screenshot-from-2022-09-07-18-00-00.webp 316w","sizes":"(max-width: 110px) 100vw, 110px"}}}},"primary_tag":{"slug":"machine-learning","url":"http://localhost:2368/tag/machine-learning/","name":"Machine Learning","visibility":"public","feature_image":null,"description":null,"meta_title":null,"meta_description":null,"featureImageSharp":null},"tags":[{"slug":"machine-learning","url":"http://localhost:2368/tag/machine-learning/","name":"Machine Learning","visibility":"public","feature_image":null,"description":null,"meta_title":null,"meta_description":null,"featureImageSharp":null},{"slug":"artificial-intelligence","url":"http://localhost:2368/tag/artificial-intelligence/","name":"Artificial Intelligence","visibility":"public","feature_image":null,"description":null,"meta_title":null,"meta_description":null,"featureImageSharp":null},{"slug":"causal-machine-learning","url":"http://localhost:2368/tag/causal-machine-learning/","name":"Causal Machine Learning","visibility":"public","feature_image":null,"description":null,"meta_title":null,"meta_description":null,"featureImageSharp":null}],"plaintext":"This post is the fifth post of the series on Causal Machine Learning. As stated before, the starting point for all causal inference is a causal model. Usually, however, we don’t have a good causal model in hand. This is where Causal Discovery can be helpful. In this post Causal Discovery will be discussed in detail.  As always i will try to keep the things as simple as possible. So stay with me , Enjoy reading !\n\n\nWhat is Causal Discovery?\n\n\nCausal inference focuses on estimating the causal effect of a specific intervention or exposure on an outcome.\n\n\n\nCausal discovery focuses on identifying the underlying causal relationships between variables in a system.\n\n\n\nCausal inference, which aims to answer questions involving cause and effect. As stated before, the starting point for all causal inference is a causal model. Usually, however, we don’t have a good causal model in hand. This is where Causal Discovery can be helpful.\n\nCausal discovery aims to infer causal structure from data. In other words, given a dataset, derive a causal model that describes it.\n\nFinding causal relationships is one of the fundamental tasks in science. A widely used approach is randomized experiments. For example, to examine whether a recently developed medicine is useful for cancer treatment, researchers recruit subjects and randomly divide subjects into two groups. One is the control group, where the subjects are given placebo, and the other is the treatment group, where the subjects are given the newly developed drug. The reason of randomization is to remove possible effects from confounders. For example, age can be one of the possible confounders which affects both taking the drug or not and the treatment effect. Thus, in practical experiments, we should keep the distribution of ages in the two groups almost the same.\n\n\nHow Does It Work ?\n\n\nHowever, in many cases, randomized experiments are very expensive and hard to implement, and sometimes it may even involve ethical issues. In recent decades, inferring causal relations from purely observational data, known as the task of causal discovery, has drawn much attention in machine learning, philosophy, statistics, and computer science.\n\nCausal discovery is an example of an inverse problem. This is like predicting the shape of an ice cube based on the puddle it left on the kitchen counter. Clearly, this is a hard problem, since any number of shapes could generate the same puddle. Connecting this to causality, the puddle of water is like statistical associations embedded in data, and the ice cube is the like underlying causal model.\n\n\nCausal Discovery Assumptions & Properties\n\n\nThe usual approach to solving inverse problems is to make assumptions about what you are trying to uncover. This narrows down the possible solutions and hopefully makes the problem solvable. There are four common assumptions made across causal discovery algorithms.\n\n👉 Acyclicity — Causal structure can be represented by DAG (G)\n\n\n👀 Markov Property — All nodes are independent of their non-descendants when conditioned on their parents\n\n\n🙃 Faithfulness — All conditional independences in true underlying distribution p are represented in G\n\n\n👍 Sufficiency — Any pair of nodes in G has no common external cause\n\n\nAlthough these assumptions help narrow down the number of possible models, they do not fully solve the problem. This is where a few tricks/tests for causal discovery are helpful. There is no single method for causal discovery that dominates all others. Although most methods use the assumptions above (perhaps even more), the details of different algorithms can vary tremendously. A taxonomy of algorithms based on the following tricks is given in the figure below.\n\n\n\n\nConditional Independence Testing\n\n\nOne of these earliest causal discovery algorithms is the PC algorithm named after its authors Peter Spirtes and Clark Glymour. This algorithm (and others like it) use the idea that two statistically independent variables are not causally linked. The PC algorithm is illustrative of this first trick. An outline of the algorithm is given in the figure below.\n\n\n\n\nThe first step is to form a fully connected, undirected graph using every variable in the dataset. Next, edges are deleted if the corresponding variables are independent. Then, connected edges undergo conditional independence testing e.g. independence test of the bottom and far right node conditioned on the middle node in the figure above (step 2).\n\nIf conditioning on a variable kills the dependence, that variable is added to the Separation set for those two variables. Depending on the size of the graph, conditional independence testing will continue (i.e. condition on more variables) until there are no more candidates for testing.\n\nNext, colliders (i.e. X → Y ← Z) are oriented based on the Separation set of node pairs. Finally, the remaining edges are directed based on 2 constraints, 1) no new v-structures, and 2) no directed cycles can be formed.\n\nGreedy Search of Graph Space\n\n\nA greedy search is a way to navigate a space such that you always move in a direction that seems most beneficial based on the local surroundings. Although greedy searches cannot guarantee an optimal solution, for most problems the space of possible DAGs is so big that finding a true optimal solution is intractable. The Greedy Equivalence Search (GES) algorithm uses this trick. GES starts with an empty graph and iteratively adds directed edges such that the improvement in a model fitness measure (i.e. score) is maximized. An example score is the Bayesian Information Criterion (BIC)\n\nExploiting Asymmetries\n\n\n\n\n\nA fundamental property of causality is asymmetry. A could cause B, but B may not cause A. There is a large space of algorithms that leverage this idea to select between causal model candidates.\n\n\n\nFunctional asymmetry assumes models that better fit a relationship are better candidates. For example, given two variables X and Y, the nonlinear additive noise model (NANM) performs a nonlinear regression between X and Y, e.g. y = f(x) + n, where n = noise/residual, in both directions. The model (i.e. causation) is then accepted if the potential cause (e.g. x) is independent of the noise term (e.g. n).\n\n\nConclusion\n\n\nThere is no way I could fit a comprehensive review of causal discovery in a short blog post. Despite being young, causal discovery is a promising field that may help bridge the gap between machine and human knowledge.\n\n\n\n\nReferences\n\n\nCausal Deep Learning\n","html":"<p>This post is the fifth post of the series on <a href=\"http://localhost:2368/tag/causal-machine-learning\">Causal Machine Learning</a>. As stated before, the starting point for all causal inference is a causal model. Usually, however, we don’t have a good causal model in hand. This is where <strong>Causal<strong> </strong>D<strong>iscovery</strong> </strong>can be helpful. In this post Causal Discovery will be discussed in detail.  As always i will try to keep the things as simple as possible. So stay with me , Enjoy reading !</p><!--kg-card-begin: markdown--><h3 id=\"what-is-causal-discovery\">What is Causal Discovery?</h3>\n<!--kg-card-end: markdown--><!--kg-card-begin: markdown--><pre><code>Causal inference focuses on estimating the causal effect of a specific intervention or exposure on an outcome.\n</code></pre>\n<!--kg-card-end: markdown--><!--kg-card-begin: markdown--><pre><code>Causal discovery focuses on identifying the underlying causal relationships between variables in a system.\n</code></pre>\n<!--kg-card-end: markdown--><p><strong>C<strong>ausal inference</strong></strong>, which aims to <em>answer questions involving cause and effect. </em>As stated before, the starting point for all causal inference is a causal model. Usually, however, we don’t have a good causal model in hand. This is where Causal Discovery can be helpful.</p><p><strong><strong>Causal discovery</strong></strong> aims to <strong><strong>infer causal structure from data</strong></strong>. In other words, given a dataset, <em><em>derive</em></em> a causal model that describes it.</p><blockquote>Finding causal relationships is one of the fundamental tasks in science. A widely used approach is <em><strong>randomized experiments</strong></em>. For example, to examine whether a recently developed medicine is useful for cancer treatment, researchers recruit subjects and randomly divide subjects into two groups. One is the control group, where the subjects are given placebo, and the other is the treatment group, where the subjects are given the newly developed drug. The reason of randomization is to remove possible effects from confounders. For example, age can be one of the possible confounders which affects both taking the drug or not and the treatment effect. Thus, in practical experiments, we should keep the distribution of ages in the two groups almost the same.</blockquote><!--kg-card-begin: markdown--><h3 id=\"how-does-it-work\">How Does It Work ?</h3>\n<!--kg-card-end: markdown--><p>However, in many cases, randomized experiments are very expensive and hard to implement, and sometimes it may even involve ethical issues. In recent decades, <strong><em>inferring causal relations from purely observational data, known as the task of causal discovery</em></strong>, has drawn much attention in machine learning, philosophy, statistics, and computer science.</p><p>Causal discovery is an example of an <strong><strong>inverse problem</strong></strong>. This is like predicting the shape of an ice cube based on the puddle it left on the kitchen counter. Clearly, this is a hard problem, since any number of shapes could generate the same puddle. Connecting this to causality, the <em>puddle of water is like statistical associations embedded in data</em>, and the <em>ice cube is the like underlying causal model</em>.</p><!--kg-card-begin: markdown--><h3 id=\"causal-discovery-assumptions-properties\">Causal Discovery Assumptions &amp; Properties</h3>\n<!--kg-card-end: markdown--><p>The usual approach to solving inverse problems is to make assumptions about what you are trying to uncover. This narrows down the possible solutions and hopefully makes the problem solvable. There are four common assumptions made across causal discovery algorithms. </p><!--kg-card-begin: markdown--><p>👉 <strong>Acyclicity</strong> <span style=\"color:orange\">— Causal structure can be represented by DAG (G)</span></p>\n<!--kg-card-end: markdown--><!--kg-card-begin: markdown--><p>👀  <strong>Markov Property</strong> <span style=\"color:blue\"> — All nodes are independent of their non-descendants when conditioned on their parents</span></p>\n<!--kg-card-end: markdown--><!--kg-card-begin: markdown--><p>🙃  <strong>Faithfulness</strong> <span style=\"color:green\">— All conditional independences in true underlying distribution p are represented in G</span></p>\n<!--kg-card-end: markdown--><!--kg-card-begin: markdown--><p>👍 <strong>Sufficiency</strong> <span style=\"color:red\">— Any pair of nodes in G has no common external cause</span></p>\n<!--kg-card-end: markdown--><p>Although these assumptions help narrow down the number of possible models, they do not fully solve the problem. This is where a few tricks/tests for causal discovery are helpful. There is no single method for causal discovery that dominates all others. Although most methods use the assumptions above (perhaps even more), the details of different algorithms can vary tremendously. A taxonomy of algorithms based on the following tricks is given in the figure below.</p><!--kg-card-begin: markdown--><p><img src=\"https://user-images.githubusercontent.com/33357428/219991483-bd875dbc-d04d-4bca-a1db-1b553162f199.png\" alt=\"causaldiscoveryalgo\" loading=\"lazy\"></p>\n<!--kg-card-end: markdown--><!--kg-card-begin: markdown--><h4 id=\"conditional-independence-testing\">Conditional Independence Testing</h4>\n<!--kg-card-end: markdown--><p>One of these earliest causal discovery algorithms is the <strong><strong>PC algorithm</strong></strong> named after its authors Peter Spirtes and Clark Glymour. This algorithm (and others like it) use the idea that <strong><strong>two</strong> <strong>statistically independent variables are not causally linked</strong></strong>. The PC algorithm is illustrative of this first trick. An outline of the algorithm is given in the figure below.</p><!--kg-card-begin: markdown--><p><img src=\"https://user-images.githubusercontent.com/33357428/219992079-8d7af535-e4bd-48e0-93a6-a993f65b84cb.png\" alt=\"pcalgo\" loading=\"lazy\"></p>\n<!--kg-card-end: markdown--><p>The first step is to form a fully connected, undirected graph using every variable in the dataset. Next, edges are deleted if the corresponding variables are independent. Then, connected edges undergo conditional independence testing e.g. independence test of the bottom and far right node conditioned on the middle node in the figure above (step 2).</p><p>If conditioning on a variable kills the dependence, that variable is added to the Separation set for those two variables. Depending on the size of the graph, conditional independence testing will continue (i.e. condition on more variables) until there are no more candidates for testing.</p><p>Next, colliders (i.e. X → Y ← Z) are oriented based on the Separation set of node pairs. Finally, the remaining edges are directed based on 2 constraints, 1) no new v-structures, and 2) no directed cycles can be formed.</p><!--kg-card-begin: markdown--><h4 id=\"greedy-search-of-graph-space\">Greedy Search of Graph Space</h4>\n<!--kg-card-end: markdown--><p>A greedy search is a way to navigate a space such that you always move in a direction that <em><em>seems</em></em> most beneficial based on the local surroundings. Although greedy searches cannot guarantee an optimal solution, for most problems the space of possible DAGs is so big that finding a <em><em>true</em></em> optimal solution is intractable. The <strong><strong>Greedy Equivalence Search (GES)</strong></strong> algorithm uses this trick. GES starts with an empty graph and iteratively adds directed edges such that the improvement in a model fitness measure (i.e. score) is maximized. An example score is the Bayesian Information Criterion (BIC)</p><!--kg-card-begin: markdown--><h4 id=\"exploiting-asymmetries\">Exploiting Asymmetries</h4>\n<!--kg-card-end: markdown--><!--kg-card-begin: markdown--><blockquote>\n<p>A fundamental property of causality is asymmetry. A could cause B, but B may not cause A. There is a large space of algorithms that leverage this idea to select between causal model candidates.</p>\n</blockquote>\n<!--kg-card-end: markdown--><p><strong><strong>Functional asymmetry</strong></strong> assumes <strong><strong>models that better fit</strong></strong> a relationship <strong><strong>are better candidates</strong></strong>. For example, given two variables X and Y, the <strong><strong>nonlinear additive noise model (NANM)</strong></strong> performs a nonlinear regression between X and Y, e.g. y = f(x) + n, where n = noise/residual, in both directions. The model (i.e. causation) is then accepted if the potential cause (e.g. x) is independent of the noise term (e.g. n).</p><!--kg-card-begin: markdown--><h3 id=\"conclusion\">Conclusion</h3>\n<!--kg-card-end: markdown--><p>There is no way I could fit a comprehensive review of causal discovery in a short blog post. Despite being young, causal discovery is a promising field that may help bridge the gap between machine and human <em><em>knowledge</em></em>.</p><p></p><!--kg-card-begin: markdown--><h3 id=\"references\">References</h3>\n<!--kg-card-end: markdown--><!--kg-card-begin: markdown--><p><a href=\"https://www.vanderschaar-lab.com/causal-deep-learning/\">Causal Deep Learning</a></p>\n<!--kg-card-end: markdown-->","url":"http://localhost:2368/causal-machine-learning-part-5/","canonical_url":null,"uuid":"c7bf04a7-9abc-4857-9afe-c06790a1c5e3","codeinjection_foot":null,"codeinjection_head":null,"codeinjection_styles":null,"comment_id":"63b58208bdc6867fe35526ff","reading_time":4,"send_email_when_published":null,"email_subject":null,"childHtmlRehype":{"html":"<p>This post is the fifth post of the series on <a href=\"/tag/causal-machine-learning\">Causal Machine Learning</a>. As stated before, the starting point for all causal inference is a causal model. Usually, however, we don’t have a good causal model in hand. This is where <strong>Causal<strong> </strong>D<strong>iscovery</strong> </strong>can be helpful. In this post Causal Discovery will be discussed in detail.  As always i will try to keep the things as simple as possible. So stay with me , Enjoy reading !</p><!--kg-card-begin: markdown--><h3 id=\"what-is-causal-discovery\">What is Causal Discovery?</h3>\n<!--kg-card-end: markdown--><!--kg-card-begin: markdown--><div class=\"kg-card kg-code-card gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">Causal inference focuses on estimating the causal effect of a specific intervention or exposure on an outcome.\n</code></pre></div>\n<!--kg-card-end: markdown--><!--kg-card-begin: markdown--><div class=\"kg-card kg-code-card gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">Causal discovery focuses on identifying the underlying causal relationships between variables in a system.\n</code></pre></div>\n<!--kg-card-end: markdown--><p><strong>C<strong>ausal inference</strong></strong>, which aims to <em>answer questions involving cause and effect. </em>As stated before, the starting point for all causal inference is a causal model. Usually, however, we don’t have a good causal model in hand. This is where Causal Discovery can be helpful.</p><p><strong><strong>Causal discovery</strong></strong> aims to <strong><strong>infer causal structure from data</strong></strong>. In other words, given a dataset, <em><em>derive</em></em> a causal model that describes it.</p><blockquote>Finding causal relationships is one of the fundamental tasks in science. A widely used approach is <em><strong>randomized experiments</strong></em>. For example, to examine whether a recently developed medicine is useful for cancer treatment, researchers recruit subjects and randomly divide subjects into two groups. One is the control group, where the subjects are given placebo, and the other is the treatment group, where the subjects are given the newly developed drug. The reason of randomization is to remove possible effects from confounders. For example, age can be one of the possible confounders which affects both taking the drug or not and the treatment effect. Thus, in practical experiments, we should keep the distribution of ages in the two groups almost the same.</blockquote><!--kg-card-begin: markdown--><h3 id=\"how-does-it-work\">How Does It Work ?</h3>\n<!--kg-card-end: markdown--><p>However, in many cases, randomized experiments are very expensive and hard to implement, and sometimes it may even involve ethical issues. In recent decades, <strong><em>inferring causal relations from purely observational data, known as the task of causal discovery</em></strong>, has drawn much attention in machine learning, philosophy, statistics, and computer science.</p><p>Causal discovery is an example of an <strong><strong>inverse problem</strong></strong>. This is like predicting the shape of an ice cube based on the puddle it left on the kitchen counter. Clearly, this is a hard problem, since any number of shapes could generate the same puddle. Connecting this to causality, the <em>puddle of water is like statistical associations embedded in data</em>, and the <em>ice cube is the like underlying causal model</em>.</p><!--kg-card-begin: markdown--><h3 id=\"causal-discovery-assumptions-properties\">Causal Discovery Assumptions &#x26; Properties</h3>\n<!--kg-card-end: markdown--><p>The usual approach to solving inverse problems is to make assumptions about what you are trying to uncover. This narrows down the possible solutions and hopefully makes the problem solvable. There are four common assumptions made across causal discovery algorithms. </p><!--kg-card-begin: markdown--><p>👉 <strong>Acyclicity</strong> <span style=\"color:orange\">— Causal structure can be represented by DAG (G)</span></p>\n<!--kg-card-end: markdown--><!--kg-card-begin: markdown--><p>👀  <strong>Markov Property</strong> <span style=\"color:blue\"> — All nodes are independent of their non-descendants when conditioned on their parents</span></p>\n<!--kg-card-end: markdown--><!--kg-card-begin: markdown--><p>🙃  <strong>Faithfulness</strong> <span style=\"color:green\">— All conditional independences in true underlying distribution p are represented in G</span></p>\n<!--kg-card-end: markdown--><!--kg-card-begin: markdown--><p>👍 <strong>Sufficiency</strong> <span style=\"color:red\">— Any pair of nodes in G has no common external cause</span></p>\n<!--kg-card-end: markdown--><p>Although these assumptions help narrow down the number of possible models, they do not fully solve the problem. This is where a few tricks/tests for causal discovery are helpful. There is no single method for causal discovery that dominates all others. Although most methods use the assumptions above (perhaps even more), the details of different algorithms can vary tremendously. A taxonomy of algorithms based on the following tricks is given in the figure below.</p><!--kg-card-begin: markdown--><p><img src=\"https://user-images.githubusercontent.com/33357428/219991483-bd875dbc-d04d-4bca-a1db-1b553162f199.png\" alt=\"causaldiscoveryalgo\" loading=\"lazy\"></p>\n<!--kg-card-end: markdown--><!--kg-card-begin: markdown--><h4 id=\"conditional-independence-testing\">Conditional Independence Testing</h4>\n<!--kg-card-end: markdown--><p>One of these earliest causal discovery algorithms is the <strong><strong>PC algorithm</strong></strong> named after its authors Peter Spirtes and Clark Glymour. This algorithm (and others like it) use the idea that <strong><strong>two</strong> <strong>statistically independent variables are not causally linked</strong></strong>. The PC algorithm is illustrative of this first trick. An outline of the algorithm is given in the figure below.</p><!--kg-card-begin: markdown--><p><img src=\"https://user-images.githubusercontent.com/33357428/219992079-8d7af535-e4bd-48e0-93a6-a993f65b84cb.png\" alt=\"pcalgo\" loading=\"lazy\"></p>\n<!--kg-card-end: markdown--><p>The first step is to form a fully connected, undirected graph using every variable in the dataset. Next, edges are deleted if the corresponding variables are independent. Then, connected edges undergo conditional independence testing e.g. independence test of the bottom and far right node conditioned on the middle node in the figure above (step 2).</p><p>If conditioning on a variable kills the dependence, that variable is added to the Separation set for those two variables. Depending on the size of the graph, conditional independence testing will continue (i.e. condition on more variables) until there are no more candidates for testing.</p><p>Next, colliders (i.e. X → Y ← Z) are oriented based on the Separation set of node pairs. Finally, the remaining edges are directed based on 2 constraints, 1) no new v-structures, and 2) no directed cycles can be formed.</p><!--kg-card-begin: markdown--><h4 id=\"greedy-search-of-graph-space\">Greedy Search of Graph Space</h4>\n<!--kg-card-end: markdown--><p>A greedy search is a way to navigate a space such that you always move in a direction that <em><em>seems</em></em> most beneficial based on the local surroundings. Although greedy searches cannot guarantee an optimal solution, for most problems the space of possible DAGs is so big that finding a <em><em>true</em></em> optimal solution is intractable. The <strong><strong>Greedy Equivalence Search (GES)</strong></strong> algorithm uses this trick. GES starts with an empty graph and iteratively adds directed edges such that the improvement in a model fitness measure (i.e. score) is maximized. An example score is the Bayesian Information Criterion (BIC)</p><!--kg-card-begin: markdown--><h4 id=\"exploiting-asymmetries\">Exploiting Asymmetries</h4>\n<!--kg-card-end: markdown--><!--kg-card-begin: markdown--><blockquote>\n<p>A fundamental property of causality is asymmetry. A could cause B, but B may not cause A. There is a large space of algorithms that leverage this idea to select between causal model candidates.</p>\n</blockquote>\n<!--kg-card-end: markdown--><p><strong><strong>Functional asymmetry</strong></strong> assumes <strong><strong>models that better fit</strong></strong> a relationship <strong><strong>are better candidates</strong></strong>. For example, given two variables X and Y, the <strong><strong>nonlinear additive noise model (NANM)</strong></strong> performs a nonlinear regression between X and Y, e.g. y = f(x) + n, where n = noise/residual, in both directions. The model (i.e. causation) is then accepted if the potential cause (e.g. x) is independent of the noise term (e.g. n).</p><!--kg-card-begin: markdown--><h3 id=\"conclusion\">Conclusion</h3>\n<!--kg-card-end: markdown--><p>There is no way I could fit a comprehensive review of causal discovery in a short blog post. Despite being young, causal discovery is a promising field that may help bridge the gap between machine and human <em><em>knowledge</em></em>.</p><p></p><!--kg-card-begin: markdown--><h3 id=\"references\">References</h3>\n<!--kg-card-end: markdown--><!--kg-card-begin: markdown--><p><a href=\"https://www.vanderschaar-lab.com/causal-deep-learning/\">Causal Deep Learning</a></p>\n<!--kg-card-end: markdown-->","htmlAst":{"type":"root","children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"This post is the fifth post of the series on "},{"type":"element","tagName":"a","properties":{"href":"/tag/causal-machine-learning"},"children":[{"type":"text","value":"Causal Machine Learning"}]},{"type":"text","value":". As stated before, the starting point for all causal inference is a causal model. Usually, however, we don’t have a good causal model in hand. This is where "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"Causal"},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":" "}]},{"type":"text","value":"D"},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"iscovery"}]},{"type":"text","value":" "}]},{"type":"text","value":"can be helpful. In this post Causal Discovery will be discussed in detail.  As always i will try to keep the things as simple as possible. So stay with me , Enjoy reading !"}]},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"h3","properties":{"id":"what-is-causal-discovery"},"children":[{"type":"text","value":"What is Causal Discovery?"}]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"div","properties":{"className":["kg-card","kg-code-card","gatsby-highlight"],"dataLanguage":"text"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-text"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"Causal inference focuses on estimating the causal effect of a specific intervention or exposure on an outcome.\n"}]}]}]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"div","properties":{"className":["kg-card","kg-code-card","gatsby-highlight"],"dataLanguage":"text"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-text"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"Causal discovery focuses on identifying the underlying causal relationships between variables in a system.\n"}]}]}]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"C"},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"ausal inference"}]}]},{"type":"text","value":", which aims to "},{"type":"element","tagName":"em","properties":{},"children":[{"type":"text","value":"answer questions involving cause and effect. "}]},{"type":"text","value":"As stated before, the starting point for all causal inference is a causal model. Usually, however, we don’t have a good causal model in hand. This is where Causal Discovery can be helpful."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"strong","properties":{},"children":[{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"Causal discovery"}]}]},{"type":"text","value":" aims to "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"infer causal structure from data"}]}]},{"type":"text","value":". In other words, given a dataset, "},{"type":"element","tagName":"em","properties":{},"children":[{"type":"element","tagName":"em","properties":{},"children":[{"type":"text","value":"derive"}]}]},{"type":"text","value":" a causal model that describes it."}]},{"type":"element","tagName":"blockquote","properties":{},"children":[{"type":"text","value":"Finding causal relationships is one of the fundamental tasks in science. A widely used approach is "},{"type":"element","tagName":"em","properties":{},"children":[{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"randomized experiments"}]}]},{"type":"text","value":". For example, to examine whether a recently developed medicine is useful for cancer treatment, researchers recruit subjects and randomly divide subjects into two groups. One is the control group, where the subjects are given placebo, and the other is the treatment group, where the subjects are given the newly developed drug. The reason of randomization is to remove possible effects from confounders. For example, age can be one of the possible confounders which affects both taking the drug or not and the treatment effect. Thus, in practical experiments, we should keep the distribution of ages in the two groups almost the same."}]},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"h3","properties":{"id":"how-does-it-work"},"children":[{"type":"text","value":"How Does It Work ?"}]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"However, in many cases, randomized experiments are very expensive and hard to implement, and sometimes it may even involve ethical issues. In recent decades, "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"element","tagName":"em","properties":{},"children":[{"type":"text","value":"inferring causal relations from purely observational data, known as the task of causal discovery"}]}]},{"type":"text","value":", has drawn much attention in machine learning, philosophy, statistics, and computer science."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Causal discovery is an example of an "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"inverse problem"}]}]},{"type":"text","value":". This is like predicting the shape of an ice cube based on the puddle it left on the kitchen counter. Clearly, this is a hard problem, since any number of shapes could generate the same puddle. Connecting this to causality, the "},{"type":"element","tagName":"em","properties":{},"children":[{"type":"text","value":"puddle of water is like statistical associations embedded in data"}]},{"type":"text","value":", and the "},{"type":"element","tagName":"em","properties":{},"children":[{"type":"text","value":"ice cube is the like underlying causal model"}]},{"type":"text","value":"."}]},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"h3","properties":{"id":"causal-discovery-assumptions-properties"},"children":[{"type":"text","value":"Causal Discovery Assumptions & Properties"}]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"The usual approach to solving inverse problems is to make assumptions about what you are trying to uncover. This narrows down the possible solutions and hopefully makes the problem solvable. There are four common assumptions made across causal discovery algorithms. "}]},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"👉 "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"Acyclicity"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"style":"color:orange"},"children":[{"type":"text","value":"— Causal structure can be represented by DAG (G)"}]}]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"👀  "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"Markov Property"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"style":"color:blue"},"children":[{"type":"text","value":" — All nodes are independent of their non-descendants when conditioned on their parents"}]}]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"🙃  "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"Faithfulness"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"style":"color:green"},"children":[{"type":"text","value":"— All conditional independences in true underlying distribution p are represented in G"}]}]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"👍 "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"Sufficiency"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"style":"color:red"},"children":[{"type":"text","value":"— Any pair of nodes in G has no common external cause"}]}]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Although these assumptions help narrow down the number of possible models, they do not fully solve the problem. This is where a few tricks/tests for causal discovery are helpful. There is no single method for causal discovery that dominates all others. Although most methods use the assumptions above (perhaps even more), the details of different algorithms can vary tremendously. A taxonomy of algorithms based on the following tricks is given in the figure below."}]},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"img","properties":{"src":"https://user-images.githubusercontent.com/33357428/219991483-bd875dbc-d04d-4bca-a1db-1b553162f199.png","alt":"causaldiscoveryalgo","loading":"lazy"},"children":[]}]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"h4","properties":{"id":"conditional-independence-testing"},"children":[{"type":"text","value":"Conditional Independence Testing"}]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"One of these earliest causal discovery algorithms is the "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"PC algorithm"}]}]},{"type":"text","value":" named after its authors Peter Spirtes and Clark Glymour. This algorithm (and others like it) use the idea that "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"two"}]},{"type":"text","value":" "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"statistically independent variables are not causally linked"}]}]},{"type":"text","value":". The PC algorithm is illustrative of this first trick. An outline of the algorithm is given in the figure below."}]},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"img","properties":{"src":"https://user-images.githubusercontent.com/33357428/219992079-8d7af535-e4bd-48e0-93a6-a993f65b84cb.png","alt":"pcalgo","loading":"lazy"},"children":[]}]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"The first step is to form a fully connected, undirected graph using every variable in the dataset. Next, edges are deleted if the corresponding variables are independent. Then, connected edges undergo conditional independence testing e.g. independence test of the bottom and far right node conditioned on the middle node in the figure above (step 2)."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"If conditioning on a variable kills the dependence, that variable is added to the Separation set for those two variables. Depending on the size of the graph, conditional independence testing will continue (i.e. condition on more variables) until there are no more candidates for testing."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Next, colliders (i.e. X → Y ← Z) are oriented based on the Separation set of node pairs. Finally, the remaining edges are directed based on 2 constraints, 1) no new v-structures, and 2) no directed cycles can be formed."}]},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"h4","properties":{"id":"greedy-search-of-graph-space"},"children":[{"type":"text","value":"Greedy Search of Graph Space"}]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"A greedy search is a way to navigate a space such that you always move in a direction that "},{"type":"element","tagName":"em","properties":{},"children":[{"type":"element","tagName":"em","properties":{},"children":[{"type":"text","value":"seems"}]}]},{"type":"text","value":" most beneficial based on the local surroundings. Although greedy searches cannot guarantee an optimal solution, for most problems the space of possible DAGs is so big that finding a "},{"type":"element","tagName":"em","properties":{},"children":[{"type":"element","tagName":"em","properties":{},"children":[{"type":"text","value":"true"}]}]},{"type":"text","value":" optimal solution is intractable. The "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"Greedy Equivalence Search (GES)"}]}]},{"type":"text","value":" algorithm uses this trick. GES starts with an empty graph and iteratively adds directed edges such that the improvement in a model fitness measure (i.e. score) is maximized. An example score is the Bayesian Information Criterion (BIC)"}]},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"h4","properties":{"id":"exploiting-asymmetries"},"children":[{"type":"text","value":"Exploiting Asymmetries"}]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"blockquote","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"A fundamental property of causality is asymmetry. A could cause B, but B may not cause A. There is a large space of algorithms that leverage this idea to select between causal model candidates."}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"strong","properties":{},"children":[{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"Functional asymmetry"}]}]},{"type":"text","value":" assumes "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"models that better fit"}]}]},{"type":"text","value":" a relationship "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"are better candidates"}]}]},{"type":"text","value":". For example, given two variables X and Y, the "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"nonlinear additive noise model (NANM)"}]}]},{"type":"text","value":" performs a nonlinear regression between X and Y, e.g. y = f(x) + n, where n = noise/residual, in both directions. The model (i.e. causation) is then accepted if the potential cause (e.g. x) is independent of the noise term (e.g. n)."}]},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"h3","properties":{"id":"conclusion"},"children":[{"type":"text","value":"Conclusion"}]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"There is no way I could fit a comprehensive review of causal discovery in a short blog post. Despite being young, causal discovery is a promising field that may help bridge the gap between machine and human "},{"type":"element","tagName":"em","properties":{},"children":[{"type":"element","tagName":"em","properties":{},"children":[{"type":"text","value":"knowledge"}]}]},{"type":"text","value":"."}]},{"type":"element","tagName":"p","properties":{},"children":[]},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"h3","properties":{"id":"references"},"children":[{"type":"text","value":"References"}]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"https://www.vanderschaar-lab.com/causal-deep-learning/"},"children":[{"type":"text","value":"Causal Deep Learning"}]}]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"}],"data":{"quirksMode":false}},"tableOfContents":[{"id":"what-is-causal-discovery","heading":"What is Causal Discovery?"},{"id":"how-does-it-work","heading":"How Does It Work ?"},{"id":"causal-discovery-assumptions-properties","heading":"Causal Discovery Assumptions & Properties","items":[{"id":"conditional-independence-testing","heading":"Conditional Independence Testing"},{"id":"greedy-search-of-graph-space","heading":"Greedy Search of Graph Space"},{"id":"exploiting-asymmetries","heading":"Exploiting Asymmetries"}]},{"id":"conclusion","heading":"Conclusion"},{"id":"references","heading":"References"}]},"featureImageSharp":{"base":"photo-1648007547791-404a2abfdc82.jpg","publicURL":"/static/595735875a5d9c06db59e957ae992251/photo-1648007547791-404a2abfdc82.jpg","imageMeta":{"width":2000,"height":1335},"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAMEAv/EABUBAQEAAAAAAAAAAAAAAAAAAAID/9oADAMBAAIQAxAAAAFmYlypMOEP/8QAGhABAAIDAQAAAAAAAAAAAAAAAQACAxESIf/aAAgBAQABBQJKQzPGT2/TWK6dT//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABsQAAIDAAMAAAAAAAAAAAAAAAERAAIQIjFB/9oACAEBAAY/AmaOcqh+YEc6n//EABoQAQACAwEAAAAAAAAAAAAAAAEAESExQVH/2gAIAQEAAT8hp0EYGpZnMRwhETUMoeyltxcsdZ//2gAMAwEAAgADAAAAEFs//8QAFhEBAQEAAAAAAAAAAAAAAAAAAQAh/9oACAEDAQE/EBDZNv/EABYRAQEBAAAAAAAAAAAAAAAAAAERAP/aAAgBAgEBPxBFJhhN/8QAGhABAAMBAQEAAAAAAAAAAAAAAQARIVExQf/aAAgBAQABPxBLAjuaHjXyUnNA0ibrEVDFXBTQRYrrEhat907HdCn/2Q==","aspectRatio":1.4957264957264957,"src":"/static/595735875a5d9c06db59e957ae992251/ea4ab/photo-1648007547791-404a2abfdc82.jpg","srcSet":"/static/595735875a5d9c06db59e957ae992251/477ba/photo-1648007547791-404a2abfdc82.jpg 175w,\n/static/595735875a5d9c06db59e957ae992251/06776/photo-1648007547791-404a2abfdc82.jpg 350w,\n/static/595735875a5d9c06db59e957ae992251/ea4ab/photo-1648007547791-404a2abfdc82.jpg 700w,\n/static/595735875a5d9c06db59e957ae992251/3055e/photo-1648007547791-404a2abfdc82.jpg 1050w,\n/static/595735875a5d9c06db59e957ae992251/eff08/photo-1648007547791-404a2abfdc82.jpg 1400w,\n/static/595735875a5d9c06db59e957ae992251/4e5f3/photo-1648007547791-404a2abfdc82.jpg 2000w","srcWebp":"/static/595735875a5d9c06db59e957ae992251/89afa/photo-1648007547791-404a2abfdc82.webp","srcSetWebp":"/static/595735875a5d9c06db59e957ae992251/9fca7/photo-1648007547791-404a2abfdc82.webp 175w,\n/static/595735875a5d9c06db59e957ae992251/37a4e/photo-1648007547791-404a2abfdc82.webp 350w,\n/static/595735875a5d9c06db59e957ae992251/89afa/photo-1648007547791-404a2abfdc82.webp 700w,\n/static/595735875a5d9c06db59e957ae992251/78e7a/photo-1648007547791-404a2abfdc82.webp 1050w,\n/static/595735875a5d9c06db59e957ae992251/03d34/photo-1648007547791-404a2abfdc82.webp 1400w,\n/static/595735875a5d9c06db59e957ae992251/49d6b/photo-1648007547791-404a2abfdc82.webp 2000w","sizes":"(max-width: 700px) 100vw, 700px"}}}}},{"node":{"id":"Ghost__Post__63b57b53bdc6867fe35526d6","title":"Causal Machine Learning - Part 4","slug":"causal-machine-learning-part-4","featured":false,"feature_image":"https://images.unsplash.com/photo-1535378620166-273708d44e4c?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDI0fHxyb2JvdHxlbnwwfHx8fDE2NzI4Mzc3Nzg&ixlib=rb-4.0.3&q=80&w=2000","excerpt":"This post is the fourth post of the series on Causal Machine Learning. This blog post is based on the work of Judea Pearl. As always i will try to keep the things as simple as possible. So stay with me , Enjoy reading !","custom_excerpt":"This post is the fourth post of the series on Causal Machine Learning. This blog post is based on the work of Judea Pearl. As always i will try to keep the things as simple as possible. So stay with me , Enjoy reading !","visibility":"public","created_at_pretty":"4 Jan 2023","published_at_pretty":"4 Jan 2023","updated_at_pretty":"20 Feb 2023","created_at":"2023-01-04T18:42:51.000+05:30","published_at":"2023-01-04T18:44:43.000+05:30","updated_at":"2023-02-20T06:14:06.000+05:30","meta_title":null,"meta_description":null,"og_description":null,"og_image":null,"og_title":null,"twitter_description":null,"twitter_image":null,"twitter_title":null,"authors":[{"slug":"amaljith","url":"http://localhost:2368/author/amaljith/","name":"Amaljith","bio":"Research Scholar @ IIT Kharagpur","cover_image":null,"profile_image":"http://localhost:2368/content/images/2022/09/Screenshot-from-2022-09-07-18-00-00.png","location":null,"website":null,"twitter":null,"facebook":null,"meta_title":null,"meta_description":null,"coverImageSharp":null,"profileImageSharp":null}],"primary_author":{"slug":"amaljith","url":"http://localhost:2368/author/amaljith/","name":"Amaljith","bio":"Research Scholar @ IIT Kharagpur","cover_image":null,"profile_image":"http://localhost:2368/content/images/2022/09/Screenshot-from-2022-09-07-18-00-00.png","location":null,"website":null,"twitter":null,"facebook":null,"meta_title":null,"meta_description":null,"coverImageSharp":null,"profileImageSharp":{"base":"Screenshot-from-2022-09-07-18-00-00.png","publicURL":"/static/28e31bfedd96b4afe90237d2c1f700c3/Screenshot-from-2022-09-07-18-00-00.png","imageMeta":{"width":316,"height":237},"childImageSharp":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAPCAYAAADkmO9VAAAACXBIWXMAAAsTAAALEwEAmpwYAAAEJElEQVQ4yyXO21fTBQDA8d9fUh5LQAW1eEImbIPJbSB3kZtijjSBxNvAGSAqlJZ64GAHIQ0VjkKICCiCQ8cYsYFjYwhsYxeGjJsopmEnH76dYw+f94/w2jmKfaSX9wtTrC1a+bBk5d83dlbnzFhHehnq62TBZeLjGyfvFqf4a9nGstuAx/oM96Qai76NieFu5u0jLLrNCCsOI47nat56J1hbtLH60kTfg5tUV6hQFeSSFLGTgtwcBtUteGc0zLoGmXNpmXU8Yd6txTOlxvq8hzmr/hNhyTaC06hmya3nn6VxHKMPKS08RFF+HgWK/aiO5JP3TQ4xMgn3mqt599bC8pyBRY+OxRkdXkc/rrE+POZ+nMY+hFXHKPPWP5m3a/i4Yqax9kfCREEkyKPJSk3mQFYmOelpRISGEBMuwahv4/WC4dNuwa3l1Us906O9jGs7sWg7EHQdv6NurWVmvJv33iHKTuSyft06tm3xJygwEIlIxDb/zUhFIvw2+HDrxkX+XjUx5x7A6+pn3qXBZnyIoacFTftNhKarlTxprsMz3sPbWR2jmiYiJSICt27lqwB/tmza+L8Af5KkYsYNHXhcvbidahy2x0ya2jFqm7lxqYxrF04jvLQMYB16jKazHrOulRWHjiJFOus/+5yAjX5s8vNhs58vfj5foooO43LJMaovncI1/ZhpWxcTlk6mRjrpa7uOrqsJYcaiY25imKftv6F52IBx4D61Z46y6Yv1+PpsYLOvD36+G0gJDuRcrIS0nTvY8XUAl66osDq60A3e5sHtXzCoW3CY+hHeeKdZdL5gytDDgsOAe1zL9KiawowEsoK2URi+HWWMmKvZuzibKuNcqoTiWBEXShToLHfo7K6h+9413DYzS/MehJnJYZxjOowDHdjHnjE53M2kUU1/zVmu742lOlNOkyKRmtzd1KkUtObFcacgmUetVTT0/kTDvQpemPoxDWmoralG8NrNvJqZwmbS8Xp5FrfNhMtuxtNei75Kia3xAmtdVZgaf6axvprKvXH8kB5FXd1lFMcyuVp7Hnd9E0+bb5Cdvgfhw4oXPq5hGR5kzGzkUVcPVeWlPK8tx/BrCfcrjnI+bx+KPSmcPJxP2QklFUolRfmHyf/uEEXK49y9XMndaxdJjpQirCy4WLCPoe38A4Nez8XySjISU5CFhCIO3k5wUDASkZiUuHj2Z2ahyN5HvuIgRUeOcUZZTOlJJeUlKgbU7Txta0AYbLnFqewMrpSepvhIITm700nblYg8IpJIWRjyiAjiI6JJjJKTGBtHcnwCqYlJpCelkJOWwfe533Jw337Kik9g1N5HqC9RcfyAgvTUPcRHyYmWypCFiJGKQggNDkYsEiEJEhEmCiE8REyYWIJMKiVCEoY8fCcJUTHEx8QgCw0l/8Be/gOTiTiUD46AHAAAAABJRU5ErkJggg==","aspectRatio":1.3333333333333333,"src":"/static/28e31bfedd96b4afe90237d2c1f700c3/6ccb0/Screenshot-from-2022-09-07-18-00-00.png","srcSet":"/static/28e31bfedd96b4afe90237d2c1f700c3/7d89d/Screenshot-from-2022-09-07-18-00-00.png 28w,\n/static/28e31bfedd96b4afe90237d2c1f700c3/f4091/Screenshot-from-2022-09-07-18-00-00.png 55w,\n/static/28e31bfedd96b4afe90237d2c1f700c3/6ccb0/Screenshot-from-2022-09-07-18-00-00.png 110w,\n/static/28e31bfedd96b4afe90237d2c1f700c3/30481/Screenshot-from-2022-09-07-18-00-00.png 165w,\n/static/28e31bfedd96b4afe90237d2c1f700c3/33bd6/Screenshot-from-2022-09-07-18-00-00.png 220w,\n/static/28e31bfedd96b4afe90237d2c1f700c3/d398b/Screenshot-from-2022-09-07-18-00-00.png 316w","srcWebp":"/static/28e31bfedd96b4afe90237d2c1f700c3/8678c/Screenshot-from-2022-09-07-18-00-00.webp","srcSetWebp":"/static/28e31bfedd96b4afe90237d2c1f700c3/59cda/Screenshot-from-2022-09-07-18-00-00.webp 28w,\n/static/28e31bfedd96b4afe90237d2c1f700c3/7da75/Screenshot-from-2022-09-07-18-00-00.webp 55w,\n/static/28e31bfedd96b4afe90237d2c1f700c3/8678c/Screenshot-from-2022-09-07-18-00-00.webp 110w,\n/static/28e31bfedd96b4afe90237d2c1f700c3/f282e/Screenshot-from-2022-09-07-18-00-00.webp 165w,\n/static/28e31bfedd96b4afe90237d2c1f700c3/a7b21/Screenshot-from-2022-09-07-18-00-00.webp 220w,\n/static/28e31bfedd96b4afe90237d2c1f700c3/fb2b8/Screenshot-from-2022-09-07-18-00-00.webp 316w","sizes":"(max-width: 110px) 100vw, 110px"}}}},"primary_tag":{"slug":"machine-learning","url":"http://localhost:2368/tag/machine-learning/","name":"Machine Learning","visibility":"public","feature_image":null,"description":null,"meta_title":null,"meta_description":null,"featureImageSharp":null},"tags":[{"slug":"machine-learning","url":"http://localhost:2368/tag/machine-learning/","name":"Machine Learning","visibility":"public","feature_image":null,"description":null,"meta_title":null,"meta_description":null,"featureImageSharp":null},{"slug":"causal-machine-learning","url":"http://localhost:2368/tag/causal-machine-learning/","name":"Causal Machine Learning","visibility":"public","feature_image":null,"description":null,"meta_title":null,"meta_description":null,"featureImageSharp":null},{"slug":"artificial-intelligence","url":"http://localhost:2368/tag/artificial-intelligence/","name":"Artificial Intelligence","visibility":"public","feature_image":null,"description":null,"meta_title":null,"meta_description":null,"featureImageSharp":null}],"plaintext":"This post is the fourth post of the series on Causal Machine Learning. This blog post is based on the work of Judea Pearl. We have so far discussed about Causal AI , How to represent causality using SCMs , How naive statistics can fail (Spurious Correlations , Simpson Paradox & Asymmetry In Causal Inference) , Pearl's Causal Hierarchy and gave flavors of Causal Inferences & Causal Discovery etc. As always i will try to keep the things as simple as possible. So stay with me , Enjoy reading !\n\n\nHow are Causal AI models different from Bayesian networks?\n\n\nAt first glance there, there could be some ambiguities you feel while trying to explore Bayesian Networks and Causal Networks. This is completely normal. Lets try to uncover the differences before going ahead!.\n\nBayesian networks and Causal AI models appear similar. But Causal AI models capture underlying causal relationships; Bayesian networks just describe patterns of correlations.\n\nWhat Are Bayesian Networks ?\n\n\nYou remember the example we discussed earlier about the data describing people’s sleeping habits. We found that there’s a strong correlation between falling asleep with shoes on and waking up with a headache.\n\n\nA Bayesian network representing this is given below.\n\n\nThe BN tells us that both sleeping with shoes on and waking up with a migraine are correlated with drinking the night before, since there is a path between the variables. It also says that conditional on us knowing that someone was drinking the night before, knowing that they slept with their shoes on tells us absolutely nothing extra about whether they have a headache the next morning (this is called “conditional independence”). We can read off the conditional independence relationship by noticing that drinking alcohol “blocks” the pathway from shoe- sleeping to headache. BNs help to draw conclusions when more data becomes available (via “Bayes’ theorem”)\n\nWhat Are Causal Networks ?\n\n\nBNs sound useful! What’s the catch? The core problem is that Bayesian networks are blind to causality. This key, missing ingredient makes BNs very limited when it comes to more sophisticated reasoning and decision-making challenges.\n\nCausal AI is a new category of machine intelligence. Causal AI builds models that are able to capture cause- effect relationships while also retaining the benefits of BNs.\n\n\n\nMany BNs are all statistically compatible with the data, but only one BN corresponds to the genuine causal relationships in the system. As a result, it’s always left ambiguous whether your BN is a good causal model or not. And the overwhelming chances are that your BN is not a good causal model. The number of possible BNs grows exponentially as the number of features increases. With, say, 20 variables in your data, there’s effectively zero chance of randomly stumbling across the true causal model. This means you’re using a BN that’s making bad modeling decisions.\n\nHope this clarifies the differences and ambiguities between Bayesian and Causal Networks.\n\n\nCausal Inferences\n\n\nCausal inference refers to the process of drawing conclusions about the causal relationships between variables. In other words, it involves making judgments about whether changes in one variable are responsible for changes in another variable.\n\nHere are some examples of causal inference questions:\n\n 1. Does taking medication X reduce blood pressure in people with hypertension?\n 2. Does increasing the price of cigarettes lead to a decrease in smoking rates?\n 3. Does participating in an exercise program improve physical fitness?\n 4. Does attending preschool lead to better academic outcomes in school?\n 5. Does exposure to air pollution increase the risk of respiratory problems?\n 6. Did the treatment directly help those who took it?\n 7. Was it the marketing campaign that lead to increased sales this month or the holiday?\n 8. How big of an effect would increased wages have on productivity?\n\n\nThese are just a few examples, but causal inference questions can be asked in many different fields and contexts. The key is that they are trying to understand whether a particular intervention or exposure causes a change in some outcome or dependent variable.\n\n\nDo Calculus & Do Operator\n\n\nCausality - Formal Definition\n\n\nBefore going ahead , lets again define Causality in terms of interventions.\n\nIn the context of interventions, causality refers to the relationship between an intervention (also known as a treatment or exposure) and the resulting effect on an outcome or dependent variable. A causal relationship between an intervention and an outcome means that the intervention is responsible for the observed change in the outcome. In other words, if we change the intervention, we expect to see a corresponding change in the outcome.\n\nFor example, if a medication is found to reduce blood pressure in people with hypertension, we can say that there is a causal relationship between taking the medication and lowering blood pressure. This is because we expect that if we give the medication to a group of people with hypertension, their blood pressure will decrease as a result of the intervention. However, it is important to note that there may be other factors that could have influenced the relationship between the intervention and the outcome.\n\nWhat is Do-Calculus ?\n\n\nIn the context of causal AI, do-calculus can be used to reason about the effects of interventions on a causal model. In causal AI, a causal model represents the relationships between different variables in a system, and the do-calculus can be used to reason about how changing the value of one variable (the \"intervention\") will affect the values of other variables in the system. This can be useful for understanding the potential consequences of interventions in a real-world system, or for identifying the most effective intervention to achieve a particular outcome.\n\nHere is Judea Pearl’s canonical primer on do-calculus—a short PDF with lots of math and proofs (Pearl 2012).\n\nWhat do-operator does ?\n\n\nHowever, how does that fit into causality’s mathematical representation?\n\nThe do-operator is a mathematical representation of a physical intervention.\n\nIf we start with the model Z → X → Y, we can simulate an intervention in X by deleting all the incoming arrows to X, and manually setting X to some value x0\n\n\nBelow is the illustration how do-operator works.\n\nRules Of Do Calculus\n\n\n\n\nBeneath this scary math, each rule has specific intuition and purpose behind it! Here’s what each rule actually does:\n\nRule 1: Decide if we can ignore an observation\nRule 2: Decide if we can treat an intervention as an observation\nRule 3: Decide if we can ignore an intervention\n\n\n\nWhoa! That’s exceptionally logical. Each rule is designed to help simplify and reduce nodes in a DAG by either ignoring them (Rules 1 and 3) or making it so interventions like do⁡(⋅)do(⋅) can be treated like observations instead (Rule 2).\n\n\nReferences\n\n\n 1. Judea Pearl’s canonical primer on do-calculus\n","html":"<p>This post is the fourth post of the series on <a href=\"http://localhost:2368/tag/causal-machine-learning\">Causal Machine Learning</a>. This blog post is based on the work of Judea Pearl. We have so far discussed about Causal AI , How to represent causality using SCMs , How naive statistics can fail (Spurious Correlations , Simpson Paradox &amp; Asymmetry In Causal Inference) , Pearl's Causal Hierarchy and gave flavors of Causal Inferences &amp; Causal Discovery etc. As always i will try to keep the things as simple as possible. So stay with me , Enjoy reading !</p><!--kg-card-begin: markdown--><h3 id=\"how-are-causal-ai-models-different-from-bayesian-networks\">How are Causal AI models different from Bayesian networks?</h3>\n<!--kg-card-end: markdown--><p>At first glance there, there could be some ambiguities you feel while trying to explore Bayesian Networks and Causal Networks. This is completely normal. Lets try to uncover the differences before going ahead!. </p><blockquote>Bayesian networks and Causal AI models appear similar. But Causal AI models capture underlying causal relationships; Bayesian networks just describe patterns of correlations. </blockquote><!--kg-card-begin: markdown--><h4 id=\"what-are-bayesian-networks\">What Are Bayesian Networks ?</h4>\n<!--kg-card-end: markdown--><p>You remember the example we discussed earlier about the data describing people’s sleeping habits. We found that there’s a strong correlation between falling asleep with shoes on and waking up with a headache. </p><!--kg-card-begin: markdown--><img src=\"https://user-images.githubusercontent.com/33357428/211162715-e934cca9-50aa-4d08-a259-c04c4112fa11.png\" align=\"center\" alt=\"Headache and Sleeping Shoes On\" width=\"665\" height=\"239\"/>\n<!--kg-card-end: markdown--><p>A Bayesian network representing this is given below.</p><!--kg-card-begin: markdown--><img src=\"https://user-images.githubusercontent.com/33357428/211162842-a197dc73-3cd8-4597-a12b-d93ad49fad82.png\" align=\"center\" alt=\"Bayesian Network Representation\" width=\"527\" height=\"453\"/>\n<!--kg-card-end: markdown--><p>The BN tells us that both sleeping with shoes on and waking up with a migraine are correlated with drinking the night before, since there is a path between the variables. It also says that conditional on us knowing that someone was drinking the night before, knowing that they slept with their shoes on tells us absolutely nothing extra about whether they have a headache the next morning (this is called “conditional independence”). We can read off the conditional independence relationship by noticing that drinking alcohol “blocks” the pathway from shoe- sleeping to headache. BNs help to draw conclusions when more data becomes available (via “<a href=\"https://www.youtube.com/watch?v=HZGCoVF3YvM\" rel=\"noreferrer noopener\">Bayes’ theorem</a>”)</p><!--kg-card-begin: markdown--><h4 id=\"what-are-causal-networks\">What Are Causal Networks ?</h4>\n<!--kg-card-end: markdown--><p>BNs sound useful! What’s the catch? The core problem is that <strong>Bayesian networks are blind to causality</strong>. This key, missing ingredient makes BNs very limited when it comes to more sophisticated reasoning and decision-making challenges.</p><p>Causal AI is a new category of machine intelligence. <strong>Causal AI builds models that are able to capture cause- effect relationships </strong>while also retaining the benefits of BNs. </p><!--kg-card-begin: markdown--><img src=\"https://user-images.githubusercontent.com/33357428/211164237-265f8d20-5b8c-4a31-95cc-897989888817.png\" align=\"center\" alt=\"Bayesian Network Vs Causal AI Model\" width=\"359\" height=\"219\"/>\n<!--kg-card-end: markdown--><!--kg-card-begin: markdown--><img src=\"https://user-images.githubusercontent.com/33357428/211164446-257a87fc-975c-4cef-accc-1fac10ba489f.png\" align=\"center\" alt=\"Bayesian Vs Causal\" width=\"720\" height=\"409\"/>\n<!--kg-card-end: markdown--><p>Many BNs are all statistically compatible with the data, but only one BN corresponds to the genuine causal relationships in the system. As a result, it’s always left ambiguous whether your BN is a good causal model or not. And the overwhelming chances are that your BN is not a good causal model. The number of possible BNs grows exponentially as the number of features increases. With, say, 20 variables in your data, there’s effectively zero chance of randomly stumbling across the true causal model. This means you’re using a BN that’s making bad modeling decisions.</p><p>Hope this clarifies the differences and ambiguities between Bayesian and Causal Networks.</p><!--kg-card-begin: markdown--><h3 id=\"causal-inferences\">Causal Inferences</h3>\n<!--kg-card-end: markdown--><p>Causal inference refers to the process of drawing conclusions about the causal relationships between variables. In other words, it involves making judgments about whether changes in one variable are responsible for changes in another variable.</p><p>Here are some examples of causal inference questions:</p><!--kg-card-begin: markdown--><ol>\n<li>Does taking medication X reduce blood pressure in people with hypertension?</li>\n<li>Does increasing the price of cigarettes lead to a decrease in smoking rates?</li>\n<li>Does participating in an exercise program improve physical fitness?</li>\n<li>Does attending preschool lead to better academic outcomes in school?</li>\n<li>Does exposure to air pollution increase the risk of respiratory problems?</li>\n<li>Did the treatment directly help those who took it?</li>\n<li>Was it the marketing campaign that lead to increased sales this month or the holiday?</li>\n<li>How big of an effect would increased wages have on productivity?</li>\n</ol>\n<!--kg-card-end: markdown--><p>These are just a few examples, but causal inference questions can be asked in many different fields and contexts. The key is that they are trying to understand whether a particular intervention or exposure causes a change in some outcome or dependent variable.</p><!--kg-card-begin: markdown--><h3 id=\"do-calculus-do-operator\">Do Calculus &amp; Do Operator</h3>\n<!--kg-card-end: markdown--><!--kg-card-begin: markdown--><h4 id=\"causalityformal-definition\">Causality - Formal Definition</h4>\n<!--kg-card-end: markdown--><p>Before going ahead , lets again define Causality in terms of interventions.</p><blockquote>In the context of interventions, causality refers to the relationship between an intervention (also known as a treatment or exposure) and the resulting effect on an outcome or dependent variable. A causal relationship between an intervention and an outcome means that the intervention is responsible for the observed change in the outcome. In other words, if we change the intervention, we expect to see a corresponding change in the outcome.</blockquote><p>For example, if a medication is found to reduce blood pressure in people with hypertension, we can say that there is a causal relationship between taking the medication and lowering blood pressure. This is because we expect that if we give the medication to a group of people with hypertension, their blood pressure will decrease as a result of the intervention. However, it is important to note that there may be other factors that could have influenced the relationship between the intervention and the outcome.</p><!--kg-card-begin: markdown--><h4 id=\"what-is-do-calculus\">What is Do-Calculus ?</h4>\n<!--kg-card-end: markdown--><p>In the context of causal AI, do-calculus can be used to reason about the effects of interventions on a causal model. In causal AI, a causal model represents the relationships between different variables in a system, and the do-calculus can be used to reason about how changing the value of one variable (the \"intervention\") will affect the values of other variables in the system. This can be useful for understanding the potential consequences of interventions in a real-world system, or for identifying the most effective intervention to achieve a particular outcome.</p><p>H<a href=\"https://ftp.cs.ucla.edu/pub/stat_ser/r402.pdf\">ere is Judea Pearl’s canonical primer on <em>do</em>-calculus</a>—a short PDF with lots of math and proofs (<a href=\"https://www.andrewheiss.com/blog/2021/09/07/do-calculus-backdoors/#ref-Pearl:2012\">Pearl 2012</a>).</p><!--kg-card-begin: markdown--><h4 id=\"what-do-operator-does\">What do-operator does ?</h4>\n<!--kg-card-end: markdown--><blockquote><em>However, how does that fit into causality’s mathematical representation?</em></blockquote><p>The <em>do-operator</em> is a mathematical representation of a physical intervention.</p><!--kg-card-begin: markdown--><p>If we start with the model Z → X → Y, we can simulate an intervention in X by deleting all the incoming arrows to X, and manually setting X to some value x<sub>0</sub></p>\n<!--kg-card-end: markdown--><p>Below is the illustration how do-operator works. </p><!--kg-card-begin: markdown--><img src=\"https://user-images.githubusercontent.com/33357428/211196318-0f07a704-ff54-4eff-82a7-d2b31913406c.png\" align=\"center\" alt=\"Illustration Of Working Of Do-Operator\" width=\"649\" height=\"593\"/><!--kg-card-end: markdown--><!--kg-card-begin: markdown--><h4 id=\"rules-of-do-calculus\">Rules Of Do Calculus</h4>\n<!--kg-card-end: markdown--><!--kg-card-begin: markdown--><img src=\"https://user-images.githubusercontent.com/33357428/211195804-e99bff5b-b622-4184-9b21-99e96e9c9495.png\" align=\"center\" alt=\"Do Calculus Rules\" width=\"720\" height=\"405\"/><!--kg-card-end: markdown--><p></p><p>Beneath this scary math, each rule has specific intuition and purpose behind it! Here’s what each rule actually does:</p><!--kg-card-begin: markdown--><pre><code>Rule 1: Decide if we can ignore an observation\nRule 2: Decide if we can treat an intervention as an observation\nRule 3: Decide if we can ignore an intervention\n</code></pre>\n<!--kg-card-end: markdown--><p>Whoa! That’s exceptionally logical. Each rule is designed to help simplify and reduce nodes in a DAG by either ignoring them (Rules 1 and 3) or making it so interventions like do⁡(⋅)do(⋅) can be treated like observations instead (Rule 2).</p><!--kg-card-begin: markdown--><img src=\"https://user-images.githubusercontent.com/33357428/213162724-cbc40a1b-71eb-42c0-bb7e-c6f0f4f5dc27.jpg\" align=\"center\" alt=\"Do Calculus Rules\" width=\"640\" height=\"673\"/><!--kg-card-end: markdown--><!--kg-card-begin: markdown--><h3 id=\"references\">References</h3>\n<!--kg-card-end: markdown--><!--kg-card-begin: markdown--><ol>\n<li><a href=\"https://ftp.cs.ucla.edu/pub/stat_ser/r402.pdf\">Judea Pearl’s canonical primer on do-calculus</a></li>\n</ol>\n<!--kg-card-end: markdown-->","url":"http://localhost:2368/causal-machine-learning-part-4/","canonical_url":null,"uuid":"183df7a0-e091-4af9-94bf-e542c0bed9a2","codeinjection_foot":null,"codeinjection_head":null,"codeinjection_styles":null,"comment_id":"63b57b53bdc6867fe35526d6","reading_time":5,"send_email_when_published":null,"email_subject":null,"childHtmlRehype":{"html":"<p>This post is the fourth post of the series on <a href=\"/tag/causal-machine-learning\">Causal Machine Learning</a>. This blog post is based on the work of Judea Pearl. We have so far discussed about Causal AI , How to represent causality using SCMs , How naive statistics can fail (Spurious Correlations , Simpson Paradox &#x26; Asymmetry In Causal Inference) , Pearl's Causal Hierarchy and gave flavors of Causal Inferences &#x26; Causal Discovery etc. As always i will try to keep the things as simple as possible. So stay with me , Enjoy reading !</p><!--kg-card-begin: markdown--><h3 id=\"how-are-causal-ai-models-different-from-bayesian-networks\">How are Causal AI models different from Bayesian networks?</h3>\n<!--kg-card-end: markdown--><p>At first glance there, there could be some ambiguities you feel while trying to explore Bayesian Networks and Causal Networks. This is completely normal. Lets try to uncover the differences before going ahead!. </p><blockquote>Bayesian networks and Causal AI models appear similar. But Causal AI models capture underlying causal relationships; Bayesian networks just describe patterns of correlations. </blockquote><!--kg-card-begin: markdown--><h4 id=\"what-are-bayesian-networks\">What Are Bayesian Networks ?</h4>\n<!--kg-card-end: markdown--><p>You remember the example we discussed earlier about the data describing people’s sleeping habits. We found that there’s a strong correlation between falling asleep with shoes on and waking up with a headache. </p><!--kg-card-begin: markdown--><img src=\"https://user-images.githubusercontent.com/33357428/211162715-e934cca9-50aa-4d08-a259-c04c4112fa11.png\" align=\"center\" alt=\"Headache and Sleeping Shoes On\" width=\"665\" height=\"239\">\n<!--kg-card-end: markdown--><p>A Bayesian network representing this is given below.</p><!--kg-card-begin: markdown--><img src=\"https://user-images.githubusercontent.com/33357428/211162842-a197dc73-3cd8-4597-a12b-d93ad49fad82.png\" align=\"center\" alt=\"Bayesian Network Representation\" width=\"527\" height=\"453\">\n<!--kg-card-end: markdown--><p>The BN tells us that both sleeping with shoes on and waking up with a migraine are correlated with drinking the night before, since there is a path between the variables. It also says that conditional on us knowing that someone was drinking the night before, knowing that they slept with their shoes on tells us absolutely nothing extra about whether they have a headache the next morning (this is called “conditional independence”). We can read off the conditional independence relationship by noticing that drinking alcohol “blocks” the pathway from shoe- sleeping to headache. BNs help to draw conclusions when more data becomes available (via “<a href=\"https://www.youtube.com/watch?v=HZGCoVF3YvM\" rel=\"noreferrer noopener\">Bayes’ theorem</a>”)</p><!--kg-card-begin: markdown--><h4 id=\"what-are-causal-networks\">What Are Causal Networks ?</h4>\n<!--kg-card-end: markdown--><p>BNs sound useful! What’s the catch? The core problem is that <strong>Bayesian networks are blind to causality</strong>. This key, missing ingredient makes BNs very limited when it comes to more sophisticated reasoning and decision-making challenges.</p><p>Causal AI is a new category of machine intelligence. <strong>Causal AI builds models that are able to capture cause- effect relationships </strong>while also retaining the benefits of BNs. </p><!--kg-card-begin: markdown--><img src=\"https://user-images.githubusercontent.com/33357428/211164237-265f8d20-5b8c-4a31-95cc-897989888817.png\" align=\"center\" alt=\"Bayesian Network Vs Causal AI Model\" width=\"359\" height=\"219\">\n<!--kg-card-end: markdown--><!--kg-card-begin: markdown--><img src=\"https://user-images.githubusercontent.com/33357428/211164446-257a87fc-975c-4cef-accc-1fac10ba489f.png\" align=\"center\" alt=\"Bayesian Vs Causal\" width=\"720\" height=\"409\">\n<!--kg-card-end: markdown--><p>Many BNs are all statistically compatible with the data, but only one BN corresponds to the genuine causal relationships in the system. As a result, it’s always left ambiguous whether your BN is a good causal model or not. And the overwhelming chances are that your BN is not a good causal model. The number of possible BNs grows exponentially as the number of features increases. With, say, 20 variables in your data, there’s effectively zero chance of randomly stumbling across the true causal model. This means you’re using a BN that’s making bad modeling decisions.</p><p>Hope this clarifies the differences and ambiguities between Bayesian and Causal Networks.</p><!--kg-card-begin: markdown--><h3 id=\"causal-inferences\">Causal Inferences</h3>\n<!--kg-card-end: markdown--><p>Causal inference refers to the process of drawing conclusions about the causal relationships between variables. In other words, it involves making judgments about whether changes in one variable are responsible for changes in another variable.</p><p>Here are some examples of causal inference questions:</p><!--kg-card-begin: markdown--><ol>\n<li>Does taking medication X reduce blood pressure in people with hypertension?</li>\n<li>Does increasing the price of cigarettes lead to a decrease in smoking rates?</li>\n<li>Does participating in an exercise program improve physical fitness?</li>\n<li>Does attending preschool lead to better academic outcomes in school?</li>\n<li>Does exposure to air pollution increase the risk of respiratory problems?</li>\n<li>Did the treatment directly help those who took it?</li>\n<li>Was it the marketing campaign that lead to increased sales this month or the holiday?</li>\n<li>How big of an effect would increased wages have on productivity?</li>\n</ol>\n<!--kg-card-end: markdown--><p>These are just a few examples, but causal inference questions can be asked in many different fields and contexts. The key is that they are trying to understand whether a particular intervention or exposure causes a change in some outcome or dependent variable.</p><!--kg-card-begin: markdown--><h3 id=\"do-calculus-do-operator\">Do Calculus &#x26; Do Operator</h3>\n<!--kg-card-end: markdown--><!--kg-card-begin: markdown--><h4 id=\"causalityformal-definition\">Causality - Formal Definition</h4>\n<!--kg-card-end: markdown--><p>Before going ahead , lets again define Causality in terms of interventions.</p><blockquote>In the context of interventions, causality refers to the relationship between an intervention (also known as a treatment or exposure) and the resulting effect on an outcome or dependent variable. A causal relationship between an intervention and an outcome means that the intervention is responsible for the observed change in the outcome. In other words, if we change the intervention, we expect to see a corresponding change in the outcome.</blockquote><p>For example, if a medication is found to reduce blood pressure in people with hypertension, we can say that there is a causal relationship between taking the medication and lowering blood pressure. This is because we expect that if we give the medication to a group of people with hypertension, their blood pressure will decrease as a result of the intervention. However, it is important to note that there may be other factors that could have influenced the relationship between the intervention and the outcome.</p><!--kg-card-begin: markdown--><h4 id=\"what-is-do-calculus\">What is Do-Calculus ?</h4>\n<!--kg-card-end: markdown--><p>In the context of causal AI, do-calculus can be used to reason about the effects of interventions on a causal model. In causal AI, a causal model represents the relationships between different variables in a system, and the do-calculus can be used to reason about how changing the value of one variable (the \"intervention\") will affect the values of other variables in the system. This can be useful for understanding the potential consequences of interventions in a real-world system, or for identifying the most effective intervention to achieve a particular outcome.</p><p>H<a href=\"https://ftp.cs.ucla.edu/pub/stat_ser/r402.pdf\">ere is Judea Pearl’s canonical primer on <em>do</em>-calculus</a>—a short PDF with lots of math and proofs (<a href=\"https://www.andrewheiss.com/blog/2021/09/07/do-calculus-backdoors/#ref-Pearl:2012\">Pearl 2012</a>).</p><!--kg-card-begin: markdown--><h4 id=\"what-do-operator-does\">What do-operator does ?</h4>\n<!--kg-card-end: markdown--><blockquote><em>However, how does that fit into causality’s mathematical representation?</em></blockquote><p>The <em>do-operator</em> is a mathematical representation of a physical intervention.</p><!--kg-card-begin: markdown--><p>If we start with the model Z → X → Y, we can simulate an intervention in X by deleting all the incoming arrows to X, and manually setting X to some value x<sub>0</sub></p>\n<!--kg-card-end: markdown--><p>Below is the illustration how do-operator works. </p><!--kg-card-begin: markdown--><img src=\"https://user-images.githubusercontent.com/33357428/211196318-0f07a704-ff54-4eff-82a7-d2b31913406c.png\" align=\"center\" alt=\"Illustration Of Working Of Do-Operator\" width=\"649\" height=\"593\"><!--kg-card-end: markdown--><!--kg-card-begin: markdown--><h4 id=\"rules-of-do-calculus\">Rules Of Do Calculus</h4>\n<!--kg-card-end: markdown--><!--kg-card-begin: markdown--><img src=\"https://user-images.githubusercontent.com/33357428/211195804-e99bff5b-b622-4184-9b21-99e96e9c9495.png\" align=\"center\" alt=\"Do Calculus Rules\" width=\"720\" height=\"405\"><!--kg-card-end: markdown--><p></p><p>Beneath this scary math, each rule has specific intuition and purpose behind it! Here’s what each rule actually does:</p><!--kg-card-begin: markdown--><div class=\"kg-card kg-code-card gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">Rule 1: Decide if we can ignore an observation\nRule 2: Decide if we can treat an intervention as an observation\nRule 3: Decide if we can ignore an intervention\n</code></pre></div>\n<!--kg-card-end: markdown--><p>Whoa! That’s exceptionally logical. Each rule is designed to help simplify and reduce nodes in a DAG by either ignoring them (Rules 1 and 3) or making it so interventions like do⁡(⋅)do(⋅) can be treated like observations instead (Rule 2).</p><!--kg-card-begin: markdown--><img src=\"https://user-images.githubusercontent.com/33357428/213162724-cbc40a1b-71eb-42c0-bb7e-c6f0f4f5dc27.jpg\" align=\"center\" alt=\"Do Calculus Rules\" width=\"640\" height=\"673\"><!--kg-card-end: markdown--><!--kg-card-begin: markdown--><h3 id=\"references\">References</h3>\n<!--kg-card-end: markdown--><!--kg-card-begin: markdown--><ol>\n<li><a href=\"https://ftp.cs.ucla.edu/pub/stat_ser/r402.pdf\">Judea Pearl’s canonical primer on do-calculus</a></li>\n</ol>\n<!--kg-card-end: markdown-->","htmlAst":{"type":"root","children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"This post is the fourth post of the series on "},{"type":"element","tagName":"a","properties":{"href":"/tag/causal-machine-learning"},"children":[{"type":"text","value":"Causal Machine Learning"}]},{"type":"text","value":". This blog post is based on the work of Judea Pearl. We have so far discussed about Causal AI , How to represent causality using SCMs , How naive statistics can fail (Spurious Correlations , Simpson Paradox & Asymmetry In Causal Inference) , Pearl's Causal Hierarchy and gave flavors of Causal Inferences & Causal Discovery etc. As always i will try to keep the things as simple as possible. So stay with me , Enjoy reading !"}]},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"h3","properties":{"id":"how-are-causal-ai-models-different-from-bayesian-networks"},"children":[{"type":"text","value":"How are Causal AI models different from Bayesian networks?"}]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"At first glance there, there could be some ambiguities you feel while trying to explore Bayesian Networks and Causal Networks. This is completely normal. Lets try to uncover the differences before going ahead!. "}]},{"type":"element","tagName":"blockquote","properties":{},"children":[{"type":"text","value":"Bayesian networks and Causal AI models appear similar. But Causal AI models capture underlying causal relationships; Bayesian networks just describe patterns of correlations. "}]},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"h4","properties":{"id":"what-are-bayesian-networks"},"children":[{"type":"text","value":"What Are Bayesian Networks ?"}]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"You remember the example we discussed earlier about the data describing people’s sleeping habits. We found that there’s a strong correlation between falling asleep with shoes on and waking up with a headache. "}]},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"img","properties":{"src":"https://user-images.githubusercontent.com/33357428/211162715-e934cca9-50aa-4d08-a259-c04c4112fa11.png","align":"center","alt":"Headache and Sleeping Shoes On","width":665,"height":239},"children":[]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"A Bayesian network representing this is given below."}]},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"img","properties":{"src":"https://user-images.githubusercontent.com/33357428/211162842-a197dc73-3cd8-4597-a12b-d93ad49fad82.png","align":"center","alt":"Bayesian Network Representation","width":527,"height":453},"children":[]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"The BN tells us that both sleeping with shoes on and waking up with a migraine are correlated with drinking the night before, since there is a path between the variables. It also says that conditional on us knowing that someone was drinking the night before, knowing that they slept with their shoes on tells us absolutely nothing extra about whether they have a headache the next morning (this is called “conditional independence”). We can read off the conditional independence relationship by noticing that drinking alcohol “blocks” the pathway from shoe- sleeping to headache. BNs help to draw conclusions when more data becomes available (via “"},{"type":"element","tagName":"a","properties":{"href":"https://www.youtube.com/watch?v=HZGCoVF3YvM","rel":["noreferrer","noopener"]},"children":[{"type":"text","value":"Bayes’ theorem"}]},{"type":"text","value":"”)"}]},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"h4","properties":{"id":"what-are-causal-networks"},"children":[{"type":"text","value":"What Are Causal Networks ?"}]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"BNs sound useful! What’s the catch? The core problem is that "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"Bayesian networks are blind to causality"}]},{"type":"text","value":". This key, missing ingredient makes BNs very limited when it comes to more sophisticated reasoning and decision-making challenges."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Causal AI is a new category of machine intelligence. "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"Causal AI builds models that are able to capture cause- effect relationships "}]},{"type":"text","value":"while also retaining the benefits of BNs. "}]},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"img","properties":{"src":"https://user-images.githubusercontent.com/33357428/211164237-265f8d20-5b8c-4a31-95cc-897989888817.png","align":"center","alt":"Bayesian Network Vs Causal AI Model","width":359,"height":219},"children":[]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"img","properties":{"src":"https://user-images.githubusercontent.com/33357428/211164446-257a87fc-975c-4cef-accc-1fac10ba489f.png","align":"center","alt":"Bayesian Vs Causal","width":720,"height":409},"children":[]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Many BNs are all statistically compatible with the data, but only one BN corresponds to the genuine causal relationships in the system. As a result, it’s always left ambiguous whether your BN is a good causal model or not. And the overwhelming chances are that your BN is not a good causal model. The number of possible BNs grows exponentially as the number of features increases. With, say, 20 variables in your data, there’s effectively zero chance of randomly stumbling across the true causal model. This means you’re using a BN that’s making bad modeling decisions."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Hope this clarifies the differences and ambiguities between Bayesian and Causal Networks."}]},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"h3","properties":{"id":"causal-inferences"},"children":[{"type":"text","value":"Causal Inferences"}]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Causal inference refers to the process of drawing conclusions about the causal relationships between variables. In other words, it involves making judgments about whether changes in one variable are responsible for changes in another variable."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Here are some examples of causal inference questions:"}]},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"ol","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Does taking medication X reduce blood pressure in people with hypertension?"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Does increasing the price of cigarettes lead to a decrease in smoking rates?"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Does participating in an exercise program improve physical fitness?"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Does attending preschool lead to better academic outcomes in school?"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Does exposure to air pollution increase the risk of respiratory problems?"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Did the treatment directly help those who took it?"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Was it the marketing campaign that lead to increased sales this month or the holiday?"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"How big of an effect would increased wages have on productivity?"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"These are just a few examples, but causal inference questions can be asked in many different fields and contexts. The key is that they are trying to understand whether a particular intervention or exposure causes a change in some outcome or dependent variable."}]},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"h3","properties":{"id":"do-calculus-do-operator"},"children":[{"type":"text","value":"Do Calculus & Do Operator"}]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"h4","properties":{"id":"causalityformal-definition"},"children":[{"type":"text","value":"Causality - Formal Definition"}]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Before going ahead , lets again define Causality in terms of interventions."}]},{"type":"element","tagName":"blockquote","properties":{},"children":[{"type":"text","value":"In the context of interventions, causality refers to the relationship between an intervention (also known as a treatment or exposure) and the resulting effect on an outcome or dependent variable. A causal relationship between an intervention and an outcome means that the intervention is responsible for the observed change in the outcome. In other words, if we change the intervention, we expect to see a corresponding change in the outcome."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"For example, if a medication is found to reduce blood pressure in people with hypertension, we can say that there is a causal relationship between taking the medication and lowering blood pressure. This is because we expect that if we give the medication to a group of people with hypertension, their blood pressure will decrease as a result of the intervention. However, it is important to note that there may be other factors that could have influenced the relationship between the intervention and the outcome."}]},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"h4","properties":{"id":"what-is-do-calculus"},"children":[{"type":"text","value":"What is Do-Calculus ?"}]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"In the context of causal AI, do-calculus can be used to reason about the effects of interventions on a causal model. In causal AI, a causal model represents the relationships between different variables in a system, and the do-calculus can be used to reason about how changing the value of one variable (the \"intervention\") will affect the values of other variables in the system. This can be useful for understanding the potential consequences of interventions in a real-world system, or for identifying the most effective intervention to achieve a particular outcome."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"H"},{"type":"element","tagName":"a","properties":{"href":"https://ftp.cs.ucla.edu/pub/stat_ser/r402.pdf"},"children":[{"type":"text","value":"ere is Judea Pearl’s canonical primer on "},{"type":"element","tagName":"em","properties":{},"children":[{"type":"text","value":"do"}]},{"type":"text","value":"-calculus"}]},{"type":"text","value":"—a short PDF with lots of math and proofs ("},{"type":"element","tagName":"a","properties":{"href":"https://www.andrewheiss.com/blog/2021/09/07/do-calculus-backdoors/#ref-Pearl:2012"},"children":[{"type":"text","value":"Pearl 2012"}]},{"type":"text","value":")."}]},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"h4","properties":{"id":"what-do-operator-does"},"children":[{"type":"text","value":"What do-operator does ?"}]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"element","tagName":"blockquote","properties":{},"children":[{"type":"element","tagName":"em","properties":{},"children":[{"type":"text","value":"However, how does that fit into causality’s mathematical representation?"}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"The "},{"type":"element","tagName":"em","properties":{},"children":[{"type":"text","value":"do-operator"}]},{"type":"text","value":" is a mathematical representation of a physical intervention."}]},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"If we start with the model Z → X → Y, we can simulate an intervention in X by deleting all the incoming arrows to X, and manually setting X to some value x"},{"type":"element","tagName":"sub","properties":{},"children":[{"type":"text","value":"0"}]}]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Below is the illustration how do-operator works. "}]},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"img","properties":{"src":"https://user-images.githubusercontent.com/33357428/211196318-0f07a704-ff54-4eff-82a7-d2b31913406c.png","align":"center","alt":"Illustration Of Working Of Do-Operator","width":649,"height":593},"children":[]},{"type":"comment","value":"kg-card-end: markdown"},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"h4","properties":{"id":"rules-of-do-calculus"},"children":[{"type":"text","value":"Rules Of Do Calculus"}]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"img","properties":{"src":"https://user-images.githubusercontent.com/33357428/211195804-e99bff5b-b622-4184-9b21-99e96e9c9495.png","align":"center","alt":"Do Calculus Rules","width":720,"height":405},"children":[]},{"type":"comment","value":"kg-card-end: markdown"},{"type":"element","tagName":"p","properties":{},"children":[]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Beneath this scary math, each rule has specific intuition and purpose behind it! Here’s what each rule actually does:"}]},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"div","properties":{"className":["kg-card","kg-code-card","gatsby-highlight"],"dataLanguage":"text"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-text"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"Rule 1: Decide if we can ignore an observation\nRule 2: Decide if we can treat an intervention as an observation\nRule 3: Decide if we can ignore an intervention\n"}]}]}]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Whoa! That’s exceptionally logical. Each rule is designed to help simplify and reduce nodes in a DAG by either ignoring them (Rules 1 and 3) or making it so interventions like do⁡(⋅)do(⋅) can be treated like observations instead (Rule 2)."}]},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"img","properties":{"src":"https://user-images.githubusercontent.com/33357428/213162724-cbc40a1b-71eb-42c0-bb7e-c6f0f4f5dc27.jpg","align":"center","alt":"Do Calculus Rules","width":640,"height":673},"children":[]},{"type":"comment","value":"kg-card-end: markdown"},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"h3","properties":{"id":"references"},"children":[{"type":"text","value":"References"}]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"},{"type":"comment","value":"kg-card-begin: markdown"},{"type":"element","tagName":"ol","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"https://ftp.cs.ucla.edu/pub/stat_ser/r402.pdf"},"children":[{"type":"text","value":"Judea Pearl’s canonical primer on do-calculus"}]}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"comment","value":"kg-card-end: markdown"}],"data":{"quirksMode":false}},"tableOfContents":[{"id":"how-are-causal-ai-models-different-from-bayesian-networks","heading":"How are Causal AI models different from Bayesian networks?","items":[{"id":"what-are-bayesian-networks","heading":"What Are Bayesian Networks ?"},{"id":"what-are-causal-networks","heading":"What Are Causal Networks ?"}]},{"id":"causal-inferences","heading":"Causal Inferences"},{"id":"do-calculus-do-operator","heading":"Do Calculus & Do Operator","items":[{"id":"causalityformal-definition","heading":"Causality - Formal Definition"},{"id":"what-is-do-calculus","heading":"What is Do-Calculus ?"},{"id":"what-do-operator-does","heading":"What do-operator does ?"},{"id":"rules-of-do-calculus","heading":"Rules Of Do Calculus"}]},{"id":"references","heading":"References"}]},"featureImageSharp":{"base":"photo-1535378620166-273708d44e4c.jpg","publicURL":"/static/15ece0236a87dee6e33bbaabd76260fb/photo-1535378620166-273708d44e4c.jpg","imageMeta":{"width":2000,"height":1768},"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAASABQDASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAMFAgT/xAAVAQEBAAAAAAAAAAAAAAAAAAAAAf/aAAwDAQACEAMQAAAByK29cYzpVqkRFf/EABwQAQABBAMAAAAAAAAAAAAAAAIBABIhMgMRI//aAAgBAQABBQIxmbZNcVvXkSsKN3o6/8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAwEBPwEf/8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAgEBPwEf/8QAHBAAAQMFAAAAAAAAAAAAAAAAEQABIQIQIDJx/9oACAEBAAY/AlDAWFTStT3H/8QAHRAAAgIBBQAAAAAAAAAAAAAAAAERMSFBUXGRsf/aAAgBAQABPyFTyFlT7ZmRojyLa7DTtDsLIujzLiy4P//aAAwDAQACAAMAAAAQ28fA/8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAwEBPxAf/8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAgEBPxAf/8QAHRABAAICAwEBAAAAAAAAAAAAAQARITFBUWGBsf/aAAgBAQABPxAUYFK/C5ZQI4VmsXMkuwZYtjyBFqlNh8qAXq7t1xE3ywnf1+wC6W13P//Z","aspectRatio":1.1290322580645162,"src":"/static/15ece0236a87dee6e33bbaabd76260fb/ea4ab/photo-1535378620166-273708d44e4c.jpg","srcSet":"/static/15ece0236a87dee6e33bbaabd76260fb/477ba/photo-1535378620166-273708d44e4c.jpg 175w,\n/static/15ece0236a87dee6e33bbaabd76260fb/06776/photo-1535378620166-273708d44e4c.jpg 350w,\n/static/15ece0236a87dee6e33bbaabd76260fb/ea4ab/photo-1535378620166-273708d44e4c.jpg 700w,\n/static/15ece0236a87dee6e33bbaabd76260fb/3055e/photo-1535378620166-273708d44e4c.jpg 1050w,\n/static/15ece0236a87dee6e33bbaabd76260fb/eff08/photo-1535378620166-273708d44e4c.jpg 1400w,\n/static/15ece0236a87dee6e33bbaabd76260fb/4e5f3/photo-1535378620166-273708d44e4c.jpg 2000w","srcWebp":"/static/15ece0236a87dee6e33bbaabd76260fb/89afa/photo-1535378620166-273708d44e4c.webp","srcSetWebp":"/static/15ece0236a87dee6e33bbaabd76260fb/9fca7/photo-1535378620166-273708d44e4c.webp 175w,\n/static/15ece0236a87dee6e33bbaabd76260fb/37a4e/photo-1535378620166-273708d44e4c.webp 350w,\n/static/15ece0236a87dee6e33bbaabd76260fb/89afa/photo-1535378620166-273708d44e4c.webp 700w,\n/static/15ece0236a87dee6e33bbaabd76260fb/78e7a/photo-1535378620166-273708d44e4c.webp 1050w,\n/static/15ece0236a87dee6e33bbaabd76260fb/03d34/photo-1535378620166-273708d44e4c.webp 1400w,\n/static/15ece0236a87dee6e33bbaabd76260fb/49d6b/photo-1535378620166-273708d44e4c.webp 2000w","sizes":"(max-width: 700px) 100vw, 700px"}}}}}]}},"pageContext":{"pageNumber":1,"limit":3,"skip":3,"totalPosts":7,"numberOfPages":3,"humanPageNumber":2,"prevPageNumber":1,"nextPageNumber":3,"previousPagePath":"/tag/machine-learning/","nextPagePath":"/tag/machine-learning/page/3/","slug":"machine-learning","collectionPaths":{},"iScrollEnabled":true,"postIds":["Ghost__Post__63aaf0f3bdc6867fe35525cb","Ghost__Post__639aeedafbcf61465c0f70e5","Ghost__Post__63ff26ec72a3c427182edd36","Ghost__Post__63eeea8172a3c427182edcc0","Ghost__Post__63b58208bdc6867fe35526ff","Ghost__Post__63b57b53bdc6867fe35526d6","Ghost__Post__63b57b88bdc6867fe35526e0"],"cursor":0}},"staticQueryHashes":["1272700106","1676991999","2138873178","2546165603","2681841279","2938721187","293880488","3052966952","4156497161"]}