【深度学习】因果推断与机器学习

2023年初是人工智能爆发的里程碑式的重要阶段,以OpenAI研发的GPT为代表的大模型大行其道,NLP领域的ChatGPT模型火爆一时,引发了全民热议。而最新更新的GPT-4更是实现了大型多模态模型的飞跃式提升,它能够同时接受图像和文本的输入,并输出正确的文本回复。很多从事人工智能的同行一方面惊叹于GPT-4的优秀表现,另一方面也为自己的职业生涯隐隐担忧。如果说“大算力+强算法”的大模型是人工智能未来发展的趋势,那么传统的机器学习算法在真实的业务场景中还有用吗?会不会早晚被大模型取代?我认为不会。每个业务场景都有其独特性,优秀的算法工程师最难能可贵的地方在于对业务知识的透彻理解和长期沉淀。而业务知识就如同机器学习项目这棵大树的根,理论知识如同大树的多个枝干,算法应用如同枝干上的叶,只有根扎得够深,这棵大树才能够开枝散叶、开花结果。到目前为止,大模型对于瞬息万变、复杂多样的业务形态的理解、思考还达不到人类算法工程师的水平,即使有朝一日能够在大模型的基础上研发出各种不同业务场景的算法应用,也依然需要算法工程师具备强悍的业务能力和扎实的机器学习理论知识,来引导大模型对特定的业务场景进行有效学习。

身处人工智能爆发式增长时代的机器学习从业者无疑是幸运的,人工智能如何更好地融入人类生活的方方面面是这个时代要解决的重要问题。滴滴国际化资深算法工程师王聪颖老师发现,很多新人在入行伊始,往往把高大上的模型理论背得滚瓜烂熟,而在真正应用时却摸不清门路、抓不住重点,导致好钢没用到刀刃上,无法取得实际的业务收益。如果能有一本指导新人从入门到精通、从理论到实践的技术书籍,那该多好,这样不仅省去了企业培养新人的成本,也留给了新人自我学习成长的空间。

本着这个初心,王老师花了将近一年的业余时间来复盘总结了自己以及身边同事从小白成长为独当一面的合格算法工程师的成长历程和项目经验,最终以理论结合实践的方式写入《机器学习高级实践:计算广告、供需预测、智能营销、动态定价》这本书中,希望能通过他的经验,真正地帮助到对机器学习算法感兴趣的读者。

请添加图片描述

《机器学习高级实践:计算广告、供需预测、智能营销、动态定价》
作者:王聪颖 谢志辉

在本文中,我们截取书中的部分内容,将大家比较关注的机器学习领域新兴分支,因果推断进行简要的介绍。


因果推断

因果推断是近年来机器学习领域新兴的一个分支,它主要解决“先有鸡还是先有蛋”的问题。因此,因果推断和关联关系最主要的区别是:因果推断是试图通过变量X的变化推断其对结果Y带来的影响有多少,而关联关系则侧重于表达变量之间的趋势变化,如两个变量之间有相关性关系,如果随着的递增而递增,则说明和正相关,如果随着递增而下降,则说明两者负相关。因此因果性(Causality)和相关性(Correlation)有着本质的不同,为了帮助读者更好地理解,这里举个例子:
某研究表明,吃早饭的人比不吃早饭的人体重更轻,因此“专家”得出结论——吃早饭可以减肥。但事实上,吃早饭和体重轻很有可能只是相关性关系,而并非因果关系。吃早饭的人可能是因为三餐规律、经常锻炼、睡眠充足等等一系列健康的生活方式,最终导致了他们的体重更轻。图1所示为因果推断中的混杂因子,描述了健康的生活方式、吃早饭、体重轻三者的关系。

在这里插入图片描述

图1.因果推断中的混杂因子

很显然,拥有健康的生活方式的人会吃早餐,健康生活方式同时也会导致体重轻,可见健康的生活方式是吃早餐和体重轻的共同原因。正是因为有这样的共同原因存在,导致我们不能轻易地得出吃早餐和体重轻之间存在因果关系,所以我们认为“专家”的结论是草率的。吃早餐和减肥之间只存在相关性,不存在因果性,并把这种阻断因果关系推断的共同原因称之为混杂因子。那么如图1右所示,消除混杂因子,寻找两个变量之间的因果关系,并量化出来某种自变量X的改变,影响了因变量Y的改变程度是因果推断主要探讨的内容。


因果推断的前世今生

纵观因果推断在统计学、机器学习领域的发展史,不得不提及两位大牛人物,一位是在1978年提出大名鼎鼎的RCM(Rubin Causal Model,等同于潜在因果框架)的Donald Rubin,另一位是在1995年提出Causal Diagram框架的Judea Pearl。2021年10月诺贝尔经济学奖颁发给了在因果关系分析有突出贡献的Joshua D.Angrist和Guido W.Imbens,而他们对因果关系的研究就是基于Rubin提出的潜在结果框架,Rubin对因果推断领域的影响可见一斑。Rubin的另一大贡献是提出PSM(Propensity Score Matching)框架解决观测数据存在混杂因子的问题。Pearl提出的Causal Diagram框架则完全脱离了Rubin的RCM框架,使用有向无环图来可视化的表示变量之间的因果关系,并因为提出Causal Diagram的思想做因果推断的研究而在2011年获得图灵奖。两位因果推断领域的大牛人物开创了该领域两种不同的框架,Pearl在2000年证明过两种框架是等价的,而Rubin却不认同他的观点,Rubin认为潜在结果框架能更清晰的表达因果推断问题,目前潜在结果框架相较于因果图而言也是因果推断领域更常用的分析框架,下面将分别介绍两种因果推断框架的分析视角。

(1)潜在结果框架(Potential Outcome Framework)
在介绍潜在结果框架之前,先列出两个需要声明的假设来描述个体因果效应,另外需要注意的是为了更快的帮助大家入门,本文只描述二元处理,即个体只有接受处理和不接受处理两种情况,并对应两种处理方式的结果。

在这里插入图片描述

但是在现实世界中,个体在同一时刻要么接受处理,要么不接受处理,不可能同时既接受处理又不接受处理,因此个体因果作用是不可识别的,个体的观测数据结果
在这里插入图片描述

在已知个体因果作用无法识别的情况下,如何进行因果推断呢?或许把因果作用的识别从个体转移到了总体身上是个行之有效的解决方案,于是便有了平均因果作用(ATE, Average Treatment Effect)的概念。平均因果作用不再比较个体的因果作用,而是比较两组群体在不同的处理下的潜在结果,这两组群体除了接受的处理不同之外,必须具有同质的属性,这样计算出的平均因果作用才能无偏,随机对照实验(Random controlled Trial,RCT)是保证两组群里无偏性的基本实验方法。把全量数据随机分为实验组(Treatment Group)和对照组(Control Group),其中实验组的T=1,对照组的T=0,那么平均因果作用的公式如下:
在这里插入图片描述

其中Y(1)和Y(0)分别是接受处理情况下实验组的结果和不接受处理情况下对照组的结果。至此,潜在结果框架下做因果推断的基本理论知识已经讲解完毕,归纳起来主要有以下两点。
1)随机对照试验保证组别的同质性。

2)从不可评估的个体因果作用转移向评估总体的平均因果效应。

有了随机对照试验就万事大吉了吗?其实不然,设想这样一个问题,想要评估抗癌药物A对于患有癌症的病人的因果作用,这种情景下还适合做随机对照实验吗?答案显然是否定的,首先癌症是重疾,出于人道主义不可能完全随机出来一个对照组人群对其不进行抗癌药物干预,其次即使有奉献主义精神的癌症患者同意参与随机对照实验,在医疗的场景下,实验周期长、费用昂贵也是随机对照实验最大的弊病。通过上面这个实例,我们知道真实生活中并不是所有场景都适合做随机对照实验,于是研究者们设法通过对观测数据进行一系列处理达到随机对照实验的效果,其中最有名的就是Rubin提出的倾向分匹配算法(Propensity Score Matching,PSM)。

(2)结构因果模型(Structual Causal Model,SCM)
结构因果模型是基于图结构来描述两个变量之间的因果关系,因此在介绍SCM之前,先来了解下贝叶斯网络。贝叶斯网络是一种基于有向无环图(Directed Acyclic Graph,DAG)的概率图模型,其自身并不能表示因果关系,它表达的是变量之间的相关关系,但贝叶斯网络的有向无环图是结构因果模型的图结构基础,而贝叶斯网络的概率计算方式也是结构因果模型的推断基础。
有向无环图是由节点和有向边组成的,有向边的上游是父节点,有向边指向的方向是子节点。在DAG中的某个节点的父节点与其非子节点都独立,根据全概率公式和条件独立性,一个有向无环图中的所有节点的联合概率分布可以表达为:
在这里插入图片描述

其中是所有指向的父节点,为了更好地帮助读者理解有向无环图中的联合分布表达,这里给出一个具体的DAG实例,如图2所示。

在这里插入图片描述

图2. 有向无环图实例

根据有向无环图的条件独立性和联合概率分布的公式,图2的联合分布可以表达为:

在这里插入图片描述

每一个有向无环图产出了唯一的联合分布,但是一个联合分布不一定只对应着一个有向无环图,比如的联合概率分布有可能是,也可能是图结构,而两种图结构的因果关系完全相反,这也正是贝叶斯网络不适合做因果模型的原因。为了把DAG改造成可以表达因果关系的因果图,需要引入do算子。这里的do算子就表达的是一种干预,表示将指向节点的有向边全部切除掉,并且节点赋值为常数,在do算子干预后,DAG的联合概率分布有了变化,表达为如下的形式:

在这里插入图片描述

还是以图2为例,假设do算子对节点进行了干预,那么干预后的DAG的联合概率分布表达为:

在这里插入图片描述

综上所述,加入了do算子的DAG图可以表达因果关系,其平均因果作用公式如下:
在这里插入图片描述

有了do算子的DAG图就有了因果推断的灵魂,但是新的问题来了,并不是所有的实际问题都给出显式的图结构。大部分的真实情况是,既无法得到图结构又无法观测到所有的变量。为了解决上述问题,Pearl提出了后门准则的方法,在介绍后门准则之前,先来看下d-分离的概念。

d-分离的全称是Directional Separation,它是一种判断变量之间是否独立的方法。对于以图结构为主的因果图而言,常见的有三种路径结构如图3所示:

在这里插入图片描述

图3.因果图的三种路径结构
在图3的链式、叉式、反叉式三种路径结构中,反叉式结构中的A、C天然相互独立,B又被称为对撞子,链式或者叉式结构,以B为条件可以阻断A和C之间的关联关系,从而实现A、C相互独立。d-分离就是为了达到变量独立的目的,而对不同的路径结构采取的阻断的操作,具体的d-分离法则归纳起来如下。
1)当某条路径上有两个箭头同时指向某个变量时,那这个变量称之为对撞子,并且这条路径被对撞子阻断。
2)如果某条路径含有非对撞子,那么当以非对撞子为条件时,这条路径可以被阻断。
3)当某条路径以对撞子为条件时,这条路径不仅不会被阻断,反而会被打开。
这里需要注意的是,以某个变量为条件指的是指定某个变量的值,比如以年龄这个变量为条件,就是指定年龄为0或者1。
在了解d-分离法则是可以通过以某个变量为条件进行阻断,从而实现变量间的独立之后,便可以结合后门准则消除混杂因子对未知结构的因果图进行因果推断了。在弄清楚后门准则之前,需要了解后门路径、前门路径的概念。从变量X到变量Y的后门路径就是连接X到Y,但是箭头不从X出发的路径,与之相应的前门路径是连接X到Y且箭头从X出发的路径,后门准则的定义是可以通过d-分离阻断X和Y之间所有的后门路径,那么我们认为可以识别从X到Y之间的因果关系,并把阻断后门路径的因子称之为混杂因子。至此,知道了后门准则的方法无须观测到所有的变量,只需要观测到以哪个变量为条件可以消除后门路径,从而使得X到Y之间的因果关系可识别。
(3)总结
不管是潜在结果框架还是结构因果模型,因果推断主要是从原因X推断结果Y的过程,为了保证原因X和结果Y之间没有混杂因子,一般选择在数据样本充足且实验条件允许的情况下做随机对照实验。当条件不允许做随机对照实验时,通过对观察数据进行处理从而达到消除混杂因子对原因X的影响的目的。

在这里插入图片描述

《机器学习高级实践:计算广告、供需预测、智能营销、动态定价》
作者:王聪颖 谢志辉

除了为广大开发者量身打造的优质内容,这本书还得到了多位专业人士的认可及推荐。

肖仰华 复旦大学计算机科学技术学院教授, 知识工场实验室负责人

作者结合实际应用场景深入浅出地介绍了机器学习的相关理论与技术。案例翔实、代码丰富,具有较强的可操作性,对于机器学习的新手以及从业者来说都是一本十分有益的参考书。

刘红岩 清华大学管理科学与工程系教授

翻开这本书,不会觉得在读教科书,也感觉不到写代码带来的枯燥,像是在身临其境地与熟悉的老朋友一起解决实际问题,
抽丝剥茧地将复杂化简呈现,帮助读者朋友快速搭建知识体系,掌握机器学习技术。

傅湘玲 北京邮电大学计算机学院教授,博士生导师

作者结合自己在北邮硕士期间的理论积累和进入互联网企业工作后的实践经验编写的本书,既有完善的理论体系,又配有互联网的真实项目案例,是帮助读者快速成长为优秀算法工程师的技术宝典。

陆全 阿里巴巴高级总监

与本书作者相识多年,很佩服他们在工业界机器学习算法落地应用方向做出的贡献。现在作者将他们多年积累的实践经验毫无保留地总结出来,为在机器学习领域里寻求不断提升的年轻人提供了一份宝贵的参考和指南。

秦志伟 Lyft首席科学家

本书从基础算法理论到业界核心的业务案例,有很好的平衡和覆盖。即使是有经验的算法工程师,在细读本书后也一定会觉得在思路拓展上受益匪浅。它是工程师书架上不可或缺的一本机器学习算法实践参考书籍。

王亮 阿里巴巴资深算法专家

经过几十年的发展,机器学习技术已经从实验室里走出来和越来越多的应用场景深度结合,不断地引领搜/广/推等领域的发展,我们相信未来机器学习会变成各行各业的一个基础工具。本书结合机器学习的开发工具和业界机器学习应用案例,让读者能够快速上手实践,掌握这门技术。

夏真 杭州排列科技有限公司 CEO

机器学习技术发展速度很快,很多教材对于行业工作人员来说,稍显落伍。本书是市面上少有的、把机器学习在几大行业应用讲透彻且案例丰富的参考书。作者用自己强大的理论基础和多年行业实战经验进行的总结,推荐行业人员必备!

蒲杰 UBiX CTO

机器学习技术是人工智能的核心,已被广泛应用于各工业领域。本书始于机器学习基础理论,终于业界四大核心实战场景。一方面能够很好地帮助读者掌握机器学习在工业界的工作流程,另一方面结合实战场景有助于提高读者机器学习实践能力。诚挚地向想了解或从事机器学习领域的读者推荐此书。

魏维 伊利诺伊大学厄巴纳香槟分校副教授

本书理论联系实践,系统地介绍了机器学习的背景、模型,以及不同业务场景下的应用实践。书中案例的设计十分具有启发性。根据读者背景的不同,该书既可以作为实务操作的入门手册,也可以作为进阶理论学习的预备材料。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/170506.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Co-DETR:DETRs与协同混合分配训练代码学习笔记

关于论文的学习笔记:Co-DETR:DETRs与协同混合分配训练论文学习笔记-CSDN博客 作者提出了一种新的协同混合任务训练方案,即Co-DETR,以从多种标签分配方式中学习更高效的基于detr的检测器。这种新的训练方案通过训练ATSS和Faster RCNN等一对多标…

【搜维尔科技】产品推荐:Virtuose 6D RV,大型工作空间触觉设备

Virtuose 6D RV为一款具有大工作空间并在所有6自由度上提供力反馈的触觉设备,设计专用于虚拟现实环境,特别适合于大型虚拟物体的处理。 Virtuose 6D RV是当今市场上唯一将高工作效率与高工作量相结合在一起的产品。6D RV特别适合于缩放与操纵等应用&…

【LeetCode】挑战100天 Day16(热题+面试经典150题)

【LeetCode】挑战100天 Day16(热题面试经典150题) 一、LeetCode介绍二、LeetCode 热题 HOT 100-182.1 题目2.2 题解 三、面试经典 150 题-183.1 题目3.2 题解 一、LeetCode介绍 LeetCode是一个在线编程网站,提供各种算法和数据结构的题目&…

【数据结构实验】图(三)图的深度优先搜索(DFS)生成树

文章目录 1. 引言2. 深度优先搜索生成树3. 实验内容3.1 实验题目(一)输入要求(二)输出要求 3.2 算法实现1. 数据结构2. 队列操作函数3. 广度优先搜索遍历4. 创建图5. 深度优先搜索算法6. 主函数及DFS主函数7. 输出生成树信息 3.3 …

WordPress安装AWS插件实现文本转语音功能

适用于 WordPress 的 AWS 插件示例演示了内容创建者如何轻松地为所有书面内容添加文本转语音功能。随着语音搜索的不断增加,以音频格式提供更多网站内容变得至关重要。通过添加语音功能,网站访客可以通过在线音频播放器和播客应用程序等新渠道使用您的内…

ART-PI开发套件-构建开发环境

1、env工具的安装与使用 env 是 RT-Thread 推出的开发辅助工具,针对基于 RT-Thread 操作系统的项目工程,提供编译构建环境、图形化系统配置及软件包管理功能。 其内置的 menuconfig 提供了简单易用的配置剪裁工具,可对内核、组件和软件包进行…

面试常见问题:什么是进程? 什么是线程?进程和线程有什么区别?

1.什么是进程? 进程是操作系统中一个程序在执行过程中的一个实例,每个进程都有自己独立的地址空间,进程间不共享内存。它是程序运行的最小内存单元; 进程特点: 1> 需要占用独立的内存空间; 2>可以并…

C语言—冒泡排序

方法一&#xff08;不使用函数解决&#xff09; #define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> int main() {int arr[]{15,52,23,0,5,6,45,8,9,10};int i0;int j0;for ( i 0; i < 9; i){int flag1; //flag判断数组元素是否有序&#xff0c;这里先假设…

VMware虚拟机安装华为OpenEuler欧拉系统

首先去欧拉官方网站下载openEuler的安装镜像&#xff1a; openEuler下载 | 欧拉系统ISO镜像 | openEuler社区官网 我下载的是最新的23.03长期维护版本&#xff0c;架构选择x86_64。 创建新虚拟机&#xff1a;选择典型配置&#xff0c;点击下一步&#xff1a;选择下载的镜像文…

4.25每日一题(通过被积函数和积分区域(不等式)选正确的坐标系求二重积分)

一、正确画出积分区域&#xff1b;通过积分区域和被积函数选择方法 二、如何根据被积函数和积分区域正确选择通过极坐标还是根据直角坐标方程计算&#xff1a; &#xff08;1&#xff09;适合极坐标的积分区域&#xff1a;圆或者部分圆 &#xff08;2&#xff09;适合极坐标的…

公交路线查询系统

公交路线查询系统 一&#xff1a;目标一&#xff1a;类的定义构造方法 set和get方法&#xff1a;目标二&#xff1a;静态属性 静态方法 toString方法&#xff1a;目标三&#xff1a;抽象类的定义 抽象方法 实际应用&#xff1a;abstract class AbstractRoute{目标四&#xff1…

Hibernate 脏检查和刷新缓存机制

刷新缓存: Session是Hibernate向应用程序提供的操作数据库的主要接口,它提供了基本的保存,更新,删除和加载java对象的方法,Session具有一个缓存,可以管理和追踪所有持久化对象,对象和数据库中的相关记录对应,在某些时间点,Session会根据缓存中对象的变化来执行相关SQL语句,将对…

VMware OpenSLP漏洞解决方案

PS&#xff1a;早期为客户做VMware检测的方法&#xff0c;大家如有遇到可参考 OpenSLP堆溢出漏洞攻击大量ESXI服务器&#xff0c;该漏洞编号为CVE-2021-21974&#xff0c;由 OpenSLP 服务中的堆溢出问题引起 大于以下版本则不受影响 ESXi versions 7.x prior to ESXi7…

Java的内部类

文章目录 静态内部类(被static修饰的成员内部类)--可以实例化!获取静态内部类对象(把它当成外部类的成员)静态内部类可以声明普通成员变量和方法&#xff0c;而普通内部类不能声明static成员变量和方法静态内部类跟静态方法一样&#xff0c;只能访问静态的成员变量和方法&#…

【Java基础系列】文件上传功能

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

nodejs微信小程序+python+PHP-健身俱乐部在线管理平台的设计与实现-安卓-计算机毕业设计

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性&#xff1a;…

RNN 网络结构及训练过程简介

本文通过整理李宏毅老师的机器学习教程的内容&#xff0c;介绍 RNN&#xff08;recurrent neural network&#xff09;的网络结构。 RNN 网络结构, 李宏毅 RNN RNN 的特点在于存储功能&#xff0c;即可以记忆前面时刻的信息。 最简单的 RNN 结构如下&#xff1a; 当然&a…

最新AI创作系统ChatGPT系统运营源码,支持GPT-4图片对话能力,上传图片并识图理解对话,支持DALL-E3文生图

一、AI创作系统 SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作ChatGPT&#xff1f;小编这里写一个详细图文教程吧&#xff01;本系统使用NestjsVueTypescript框架技术&#xff0c;持续集成AI能力到本系统。支持OpenAI DALL-E3文生图&#xff0c;…

Canvas艺术之旅:探索锚点抠图的无限可能

说在前面 在日常的图片处理中&#xff0c;我们经常会遇到需要抠图的情况&#xff0c;无论是为了美化照片、制作海报&#xff0c;还是进行图片合成。抠图对于我们来说也是一种很常用的功能了&#xff0c;今天就让我们一起来看下怎么使用canvas来实现一个锚点抠图功能。 效果展示…

【数据结构实验】查找(一)基于散列表的查找算法

文章目录 1. 引言2. 实验原理2.1 散列表2.2 线性探测法2.3 冲突解决 3. 实验内容3.1 实验题目&#xff08;一&#xff09;输入要求&#xff08;二&#xff09;输出要求 3.2 算法实现3.3 代码整合 4. 实验结果 1. 引言 本实验将通过C语言实现基于散列表的查找算法 2. 实验原理 …