精华内容
下载资源
问答
  • 金融源自于社会经济活动并在之服务的过程中发展壮大 国内外个经济部门内部与彼此间的经济活动,都需要通过金融来实现,由此形成了多元化的金融需求 金融在服务于社会经济活动的过程中逐渐形成产业和市场,构成了...

    简介

    • 现代金融体系的构成
    • 对现代金融体系的理解
    • 金融学课程的逻辑框架

    现代金融体系的构成

    金融源自于社会经济活动并在为之服务的过程中发展壮大

    • 国内外个经济部门内部与彼此间的经济活动,都需要通过金融来实现,由此形成了多元化的金融需求
    • 金融在服务于社会经济活动的过程中逐渐形成产业和市场,构成了一个有机的体系
    • 现代金融体系的基本要素
      1. 由货币制度所规范的货币流通:货币的出现与形式演进,货币的职能与作用,当代信用货币的层次划分与计量,货币制度的变迁等
      2. 国际交往中的货币与汇率:外汇与汇率,汇率决定,汇率影响及风险,汇率制度安排与变化
      3. 有信用活动引起的债权债务或所有权关系,信用形式与信用体系
      4. 有信用活动引起的货币时间价值与利息,利率与利益率,利率的决定及其影响因素,利率的作用及其发挥
      5. 金融资产与价格:金融资产及其风险与收益,配置与组合;金融资产的价格与评估,金融资产定价原理;金融资产与利率,汇率的关系
      
    • 现代金融体系的运作载体
      1.以金融市场为空间的金融交易活动:金融市场体系及其功能;货币市场(同业拆解,回购,国库券,票据,存单市场与国际市场;资本市场(资本市场的特点与功能,证券发行与流通,证券投资分析,资本市场国际化);衍生工具市场与交易,衍生工具的定价
      2.以金融机构为载体的金融产业:国家与国际金融机构的构成;存款性公司的发展与运作原理,商业银行和其他存款性公司的经营管理;其他金融性公司的种类与运作  	  
      
    • 现代金融体系的宏观管理与稳健发展
        1.以中央银行为核心的宏观调控体系:中央银行的职能作用与业务运作,中央银行与宏观调控的关系
        2.货币供给与货币需求:货币需求理论,货币供给的机制与影响因素
        3.货币均衡为条件的总供求均衡;国际收支与货币均衡;通货膨胀与紧缩
        4.货币政策:作用机理,最终目标,操作指标与中介目标,政策工具,传导机制,货币政策与实践进展
        5.以金融监管为保障的金融体系稳健运行;金融监管的原理;监管体制与变迁;金融监管的实施
        6.金融发展的内涵与趋势:金融发展与经济发展的关系;金融创新与发展;金融结构变化与发展;经济金融化与全球化
      
      开发经济条件下金融学基本框架
      开发经济条件下金融学基本框架

    对现代金融体系构成的理解

    • 在社会发展和金融发展的基础上,整个金融体系主要有基本要素,运作载体,金融总量供求与均衡,货币政策与金融监管4打部分构成,各部分之间具有内在的逻辑联系,彼此关联,密不可分
    • 现代金融体系中处于最核心地位是利率。利率是金融学最古老的和最重要的范畴,在市场经济条件下是金融运作中最重要的价格机制,利率与各个部分都紧密相关,是连接微观金融和宏观金融部分最主要的纽带
    • 金融体系是与特定的金融发展阶段相适应的,各种金融制度和发展模式的选择对于金融体系的完善和功能发挥具有决定性作用
    • 社会经济发展是金融发展的基础,有社会经济发展水平决定金融供求进而决定金融发展水平;金融是为社会经济发展服务的过程中获得自身的发展。理解这个被无数史实证明的道理,对于我们正确处理金融与经济的关系是大有裨益的

    金融学课程的逻辑框架

    • 《金融学》课程的逻辑体现了对现代金融体系构成的理解
    • 从课程的逻辑框架中,我们可以深刻去理解金融学最重要的一条基本原理:现代金融体系是在特定的社会环境中,以货币,信用,汇率,利率和金融工具为基本要素,以金融市场和金融机构为运作载体,以金融总量与结构均衡为目标,以金融价格为杠杆,以宏观调控与监督为保障,在为经济社会发展的过程中实现自身的稳健发展。
    • 入口: 以实体经济运作为基础,从各经济主体的财务活动中引出金融的供求,在此基础上刻画现代金融体系的基本框架与运行基础
    • 基本范畴:货币,汇率,信用,利率,金融资产价格
    • 微观运作:金融市场与金融机构的运作原理
    • 宏观总量与管理:中央银行,货币供求与总量均衡,货币政策,金融监管,金融发展
    • 四大部分既有递进顺序的关系,也是具有内在逻辑的框架,还是一个彼此关联的有机整体
    • 课程设计以开放经济为背景,因此讨论对外金融问题就不设单章而是融入各相关章节的内容之中。开放经济条件下,国际金融关系是最基本和最重要的经济关系,也是现代中国金融运作的大环境,我们需要以开发的视角来看问题,以开放的思维来思考问题。
    展开全文
  • 课程学习

    千次阅读 2017-12-28 11:35:43
    Methodology:Idealistic Curriculum Learning ...我们提出了师生自主课程学习(TSCL),一个自动课程学习的框架,学生试图学习一个复杂的任务,教师自动选择给定的子任务给学生进行训练。我们描述了一系列依靠

    Methodology:Idealistic Curriculum Learning Processing
    arXiv:1707.00183 2017
    主要提出了监督学习和强化学习中解决数据集错标签和类别不平衡问题的自动课程设计方法。
    摘要
    我们提出了师生自主课程学习(TSCL),一个自动课程学习的框架,学生试图学习一个复杂的任务,教师自动选择给定的子任务给学生进行训练。我们描述了一系列依靠直觉的老师算法,学生应该多练习那些能有最快进展的任务,即学习曲线斜率最高的那些任务。此外,教师算法还通过选择学生表现变差的任务来解决遗忘问题。我们证明,在两个任务上TSCL达到或超过精心手工课程的结果:用LSTM添加十进制数和导航Minecraft迷宫。使用我们的自动生成的课程能够解决一个直接在解迷宫上训练时根本无法解决的Minecraft迷宫,学习比子任务的统一取样要快一个数量级。
    引言
    深度强化学习算法已被用于解决视频游戏(Mnih等,2015),运动(Schulman等,2015; Lillicrap等,2015)和机器人(Levine等,2015)中的困难任务。 但是像“机器人,给我一杯啤酒”这样稀有回馈的任务仍然是直接应用这些算法解决的难题。 其中一个原因是随机探索任务需要的样本数量随着获得回馈的步骤数量呈指数增长(Langford,2011)。 解决这个问题的一个方法是使用课程学习(Bengio等,2009; Zaremba和Sutskever,2014; Graves等,2016; Wu和Tian,2017) 一旦掌握了更简单的任务,就更难完成任务。 课程学习有助于掌握简单的任务后,通过随机的探索就可以发现更难的任务。
    要使用课程学习,研究人员必须:
     能够通过困难程度设计子任务。
     决定一个“掌握”的门槛。 这可以基于取得一定的分数(Zaremba和Sutskever,2014;吴和田,2017),这需要事先知道每个任务的可接受的完成程度。 或者,这可以基于高原的表现,考虑到学习曲线中的噪音,这可能难以检测到。
     学习更难的东西,同时不断地混合更轻松的任务,以避免遗忘。 有效地设计这些混合物是具有挑战性的(Zaremba和Sutskever,2014)。
    在本文中,我们描述了一种叫做“师生课程学习”(TSCL)的新方法。
    学生是被训练的模型。 教师监控学生的训练进度,并确定学生在每个训练阶段应该训练的任务,以最大化学生在课程中的进度。 学生可以是任何机器学习模型。 老师自己正在学习这个学生,因为它正在给予任务,这些都是单个训练过程的一部分。 我们根据学习进度的概念描述了几种教师算法(Oudeyer and Kaplan,2007)。 主要思想是学生应该多练习它最快的进展,即学习曲线斜率最高。 为了避免遗忘,学生还应该练习表现越来越差的学习任务,即学习曲线斜率为负值
    论文的主要贡献是:
    1我们将TSCL(作为部分可观察的马尔可夫决策过程(POMDP)的课程学习框架)正式化。
    2我们提出了一个基于学习进度概念的算法家族。 算法还解决了忘记以前的任务的问题。
    3我们在两个监督和强化学习任务上评估了算法:添加十进制数与LSTM和导航Minecraft。
    2.师生设置

    图1显示了师生互动。 在每个时间步,教师选择任务供学生练习。 学生训练这些任务并返回一个分数。 教师的目标是让学生尽可能少的训练步骤成功完成最后的任务。 通常,任务是通过表示N个子任务之一的分类值进行参数化的,但是也可以想象多维或连续的任务参数化。 得分可以是强化学习中的情节总回馈或监督学习中的验证集精度。
    我们将教师的目标正式化,把最终任务作为部分可观察的马尔可夫决策过程(POMDP),帮助学生学习解决这个任务。 我们提出了两个POMDP公式:(1)简单,最适合强化学习; 和(2)批次,最适合监督学习。
    2.1简单POMDP公式
    简单的POMDP公式将学生的分数公开在单个任务中,并且非常适合于强化学习问题。
    1.状态st表示学生的整个状态(即,神经网络参数和优化器状态),并且对于教师是不可观察的。
    2.动作at对应于教师选择的任务的参数。以下我们只考虑离散任务参数化。 采取行动意味着对学生进行一定次数的迭代训练。
    3.观察ot是在时间步t训练的学生的任务i =at的得分x(i)t,即发作总回馈。 在理论上,教师也可以观察学生状态的其他方面,比如网络权重,为了简单起见,我们选择只公开分数。
    4.回馈 rt是学生在时间步t训练的任务得分的变化:rt = x(i)t-x(i)t’i,其中t’ i是上一次训练同一任务时的时间步。
    2.2批次POMDP公式
    在监督式学习中,批次训练可以包含多个任务。 因此,对整个训练集合采取行动,观察和回馈,并且可以在持有的验证集上测量分数。 这激励了批POMDP公式:
    1. 状态st表示学生的训练状态
    2.at动作表示N个任务的概率分布。 每个训练批次根据分布采样: ; 其中p(i)t是任务i在时间步t的概率。
    3. 观察值是训练步骤 之后所有任务的得分。在最简单的情况下,分数可以是训练集中任务的精确度。 但是在小批量训练的情况下,模型在训练过程中发展,因此无论如何需要额外的评估通过以产生一致的结果。因此,对这次评估我们使用一个单独的验证集合,其中包含所有任务的统一组合。
    4回馈rt 是对之前时间步的评估分数的累加
    这种设置也可以在加强学习中通过对批次进行训练。但是,因为在强化学习中对一个样本(一个情节)进行评分通常比在监督学习中在计算上要昂贵得多,所以使用简单的POMDP形式化并在每个训练步骤之后对下一个任务做出决定是有意义的。
    2.3优化标准
    对于任何一种POMDP公式来说,最大化教师情节总回馈相当于在情节结束时最大化所有任务的得分:
    其中Ti是任务i正在训练的最后一个训练步骤。
    虽然优化标准的明显选择是最终任务中的表现,但最初,学生在最终任务中可能没有取得任何成功,这并不能给教师提供任何有意义的反馈信号。 所以我们选择最大化所有任务中的表演总和。 这里的假设是,在课程学习中,最后的任务包括了所有以前任务的要素,因此在中间任务中的良好表现通常导致在最终任务中表现良好。
    3 算法
    通常使用强化学习算法来解决POMDP。 但那些需要很多训练集,而我们的目标是在一个教师集中训练学生。 所以,我们诉诸于更简单的启发式。 基本的直觉是,学生应该更多地练习那些它正在取得最大进展的任务(Oudeyer和Kaplan,2007),同时也练习那些有被遗忘风险的任务。

    理想主义的课程学习。 左:随着时间的推移,不同任务的分数会有所提高,一旦掌握了前一个任务,下一个任务就会开始改善。 右:取样任务的可能性取决于学习曲线的斜率。

    图2展示了课程学习环境中理想的训练进度:
    1.首先,教师没有知识,所以从一切工作中统一抽样。
    2.当学生开始在任务1上进展时,教师为这个任务分配更多的概率质量。
    3.当学生掌握任务1时,其学习曲线变平,教师对任务进行较少的抽样。 在这一点上,学生也开始在任务2上取得进展,所以教师从任务2中抽样更多。
    4.继续,直到学生掌握所有任务。 随着所有任务学习曲线最终平坦化,教师返回统一的任务抽样。
    上面的图片是理想的,因为在实践中经常发生一些失误,即当大多数概率质量被分配给任务2时,任务1的性能可能变差。 为了解决这个问题,学生还应该练习所有的学习任务,尤其是那些发生学习不良的学习任务 出于这个原因,我们根据学习曲线的斜率的绝对值来取样任务。 如果分数的变化是负的,这意味着发生了学习失败,这个任务应该更多的训练。
    这个描述本身并不规定一个算法。 我们需要提出一种从噪音任务分数估计学习进度的方法,以及一种平衡exploration and exploitation的方法。 我们从非平稳的多臂赌博机问题(Sutton和Barto,1998)的算法中获得灵感,并将其适用于TSCL。 为了简洁起见,我们只给出简单的公式化算法的直觉,正式的描述可以在附录A和B中找到。
    3.1在线算法
    Online算法受基本的非平稳的bandit算法的启发(Sutton and Barto,1998)。 它使用指数加权移动平均来跟踪不同任务的预期收益Q:

    a是学习率。 接下来的任务可以通过以e贪心搜索方式进行选择: - 以概率e抽样一个随机任务,否则为argmaxQt(a)。
    或者,可以使用波尔兹曼分布来选择下一个任务:

    3.2朴素算法
    为了更可靠地估计学习进度,人们应该多次练习。 Naive算法将每个任务训练K次,观察得到的分数并使用线性回归估计学习曲线的斜率。 回归系数作为上述非平稳Bandit算法的回报。 有关细节,请参阅附录A中的算法2。
    3.3窗口算法
    当明确没有进展时,重复执行固定次数的任务是昂贵的。 窗口算法保持最后K个分数的FIFO缓冲器,并记录这些分数时的时间步长。 执行线性回归来估计每个任务的学习曲线的斜率,其中时间步长作为输入变量。 回归系数作为上述非平稳Bandit算法的回报。 有关细节,请参阅附录A中的算法3。
    3.4采样算法
    以前的算法需要调整超参数来平衡探索。 为了摆脱探索超参数,我们从Thompson采样中获得灵感。 采样算法为每个任务保留最后K个奖励的缓冲区。 为了选择下一个任务,从每个任务的K-last-rewards缓冲区抽取最近的奖励。 然后选择哪个任务产生最高的抽样奖励。 这使得探索成为算法的一个自然部分:最近获得高回报的任务经常被抽样。 有关细节,请参阅附录A中的算法4。
    4个实验
    4.1十进制数加法
    在LSTM中添加十进制数字是一个众所周知的任务,需要课程在合理的时间内学习(Zaremba和Sutskever,2014)。 它被实现为序列到序列模型(Sutskever et al。,2014),其中网络的输入是两个用“加号”分隔的十进制编码数字,网络的输出是这些数字的总和 ,也用十进制编码。 课程以输入数字的位数为基础 - 学习添加短数字然后移到更长的数字更容易。
    增加数字是一个监督学习问题,因此可以通过在小批量中包含几个课程任务来更有效地进行训练。 所以我们采用2.2中所述的批量训练方案。 我们使用的分数是在验证集上计算的每个任务的准确度。 下面显示的结果是用不同的随机种子进行的3次运行的均值和标准偏差。 完整的实验细节可以在附录C中找到。
    4.2 Minecraft
    “我的世界”是一个流行的3D视频游戏,玩家可以探索,制作工具和构建任意结构,使其成为AI研究的潜在丰富环境。 在我们的强化学习实验中,我们使用了带有OpenAI Gym wrapper5的马尔默平台(Johnson et al。,2016)与Minecraft进行交互。 特别是我们使用马尔默的ClassroomDecorator为代理生成随机迷宫来解决。 迷宫包含由以下障碍物分隔的房间序列:
    墙 - 代理商必须在墙上找到一个门口。
    熔岩 - 代理必须通过桥梁跨越熔岩。
    我们只实现了用Window算法完成Minecraft任务,因为其他算法依赖于分数的变化,这对于并行训练方案来说是不直观的。 作为基准,我们使用统一的抽样,仅对最后一项任务进行训练,以及手动调整的课程。 完整的实验细节可以在附录D中找到。
    6,结论
    我们提出了一个自动课程学习框架,可用于监督和强化学习任务。 我们根据学习进度的概念,在该框架内提出了一系列算法。 虽然许多算法表现相当好,但在选择任务时依赖于学习曲线斜率的绝对值是至关重要的。 这保证了网络对开始忘记的任务的重新训练。 在我们的LSTM十进制加法实验中,采样算法胜过了最好的手动设计的课程以及统一的采样。 在具有挑战性的5个任务的Minecraft导航问题上,我们的窗口算法与精心设计的手动课程表现相匹配,并且明显优于统一采样。 对于需要进行课程学习的问题,TSCL可以避免完成子任务难度和手工设计课程的繁琐工作。

    展开全文
  • 本文在MIT在线课程《3.Data Analysis for Social Scientists》中Causality(因果关系)部分课程的课件基础上,补充了相关信息、增加了个人理解,详细介绍了因果关系的本质及其实践。本篇是四篇系列文章的第一篇,...

    本文在MIT在线课程《3.Data Analysis for Social Scientists》中Causality(因果关系)部分课程的课件基础上,补充了相关信息、增加了个人理解,详细介绍了因果关系的本质及其实践。

    本篇是四篇系列文章的第一篇,主要解读因果关系定义与潜在结果分析框架。

    什么是因果关系

    我们经常做出的因果陈述(Causal Statements),比如:

    ▫ 因为她吃了药,所以她头疼好多了

    ▫ 因为她上了MIT,所以她找到了好工作

    ▫ 因为她是非裔美国人,所以她没有获得面试机会

    这些因果陈述到底想表达什么意思呢?这些陈述中暗含着一个反事实(counterfactual)的世界(类似平行宇宙的想法)。不同的行为发生了,对应上面三个例子:

    ▫ (反事实)她没有吃药

    ▫ (反事实)她没有上MIT,她可能做了其它事情(可做了什么在陈述中并没有明确指出)

    ▫ (反事实)这里意思不完全清楚,是改变的她的种族?还是改变人们在做聘用决定时关于种族的看法?

    总体来说,当我们思考因果关系时,我们考虑的是操作(干预)一个“因”的可能效果,假如我们干预或不干预这个“因”,然后什么会发生。

    因果关系可以被证明吗?

    在经济和社会科学领域,许多我们想回答的问题是因果问题:移民是否降低了本地工人的工资?贸易是否增加了不平等?在美国和墨西哥之间建立隔离墙是否能阻止移民?所以在社会科学领域的许多数据科学目标是回答“因”与“果”的问题。

    但是,针对一些重要但非因果问题时,因果分析没什么用。例如,我们可能感兴趣识别在学校儿童存在危险的早期预兆信号,这样我们可以集中努力解决它们。谷歌会希望基于人们的搜索模式预测他们对什么东西感兴趣,从而向他们提供他们更可能感兴趣的广告。此时更关注的是相关关系。

    统计学分析因果关系使用了因果推断(Causal Inference),提到推断就涉及证明问题,有学者认为统计学不能被“证明”因果,只有“相关”是可以被证明。

    有一个很有名的例子,叫做 Yule-Simpson’s Paradox。有文献称,Karl Pearson 很早就发现了这个悖论——也许这正是他反对统计因果推断的原因。此悖论表明,存在如下的可能性:X和Y在边缘上正相关(处理效果为正),但是给定另外一个变量Z后,在Z的每一个取值上,X和Y都负相关。下表是一个数值的例子,处理对整个人群有 “正作用”,奇怪的是,处理对男性有 “负作用”,对女性也有 “负作用”。一个处理对男性和女性都有 “负作用”,但是他对整个人群却有 “正作用”:悖论产生了!

    上面的例子是人工构造的,在现实中,也存在不少的实例正是 Yule-Simpson’s Paradox。比如,UC Berkeley 的著名统计学家 Peter Bickel 教授 1975 年在 Science 上发表文章,报告了 Berkeley 研究生院男女录取率的差异。他发现,总体上,男性的录取率高于女性,然而按照专业分层后,女性的录取率却高于男性(Bickel 等 1975)。

    在统计上,这具有重要的意义—变量之间的相关关系可以完全的被第三个变量 “扭曲”。更严重的问题是,我们的收集的数据可能存在局限性,忽略潜在的“第三个变量” 可能改变已有的结论,而我们常常却一无所知,虽然对已知的可以通过实验设计以避免。鉴于 Yule-Simpson 悖论的潜在可能,不少人认为,统计不可能用来研究因果关系。

    在做因果关系研究时,经常用到假设检验、P值以及推导出的统计学意义。一般认为P≤0.05或者P≤0.01就有显著性差异,研究就有统计意义。但,最新一期2019年3月份的Nature杂志发表了三位统计学家的一封公开信,他们号召科学家放弃追求“统计学意义”,并且停止用统计学中常见的P值作为判断标准。统计学上无显著的结果并不能“证明”零假设;统计上显著的结果也没有“证明”某些其他假设。标题犹如战斗檄文一样令人振奋。在文章发出不到24小时,就有250多人签名支持,一周之内吸引了超过800名研究人员共同反对。

    文中总结并不是要抛弃P值与相关的统计方法,而是要彻底理解统计因果分析的内涵,从而在证明因果方面的保持谨慎。研究人员可以从教育自己对统计的误解开始,最重要的是在每项研究中从多个角度考虑不确定性。

    在大数据时代,之前大家过于关注易于被证明的相关关系而忽略了因果,关于因果关系和相关关系的讨论,业内已经进行很久,但是因果对于洞察和预测的价值更大,现在在大数据领域,对于因果应该被重新重视起来,了解因果分析对大家正确理解各种研究结果与数据分析也非常有帮助。

    因果分析关系框架:潜在结果框架

    潜在结果框架(Potential Outcome Framework)这个模型由哈佛统计学家Donald Rubin提出。在思考随机对照试验(Randomized Controlled Trials, RCT)和更一般的因果关系时非常有用。这不是在社会科学中思考因果关系的唯一(或最普遍的)方式,在社会科学中SEM(结构方程模型Structural Equation Modeling)更普遍。但是潜在结果框架越来越普及,并且越熟悉它,越能在两者之间切换。

    潜在结果框架又称为Rubin因果模型(Rubin causal model, RCM)或者Neyman–Rubin因果模型。

    (参考:https://en.wikipedia.org/wiki/Rubin_causal_model)

    Rubin Causal Model分析框架有三个基本的要素:

    • 潜在结果(Potential Outcome)

    • 个体处理稳定性假设(Stable Unit Treatment Value Assumption,SUTVA)

    • 分配机制(Assignment Mechanism)。

    (参考: https://zhuanlan.zhihu.com/p/33299957)

    潜在结果与因果效应定义

    01、潜在结果

    潜在结果:给定一个单元,和一系列动作,我们把一个“动作-单元”确定为一个潜在结果。“潜在(potential)”这个词表达的意思是我们并不总是能在现实中观察到这个结果(outcome),但原则上它们可能发生。

    考虑“潜在结果”这个术语迫使我思考“反事实”(counterfactual),因为我们想知道在那个空间(Space)定义潜在的结果,从而帮助我们提出良好定义的因果问题,或判断怎样才是良好定义的因果问题。针对开头的三个因果关系陈述的例子:

    • 第一个例子是个比较相对清晰的例子:吃了药对应的反事实是没吃药,有时我们把“没吃药”作为“控制组”并且把“吃了药(control group)”作为“实验组(treatment group)”;

    • 第二个例子相对有一点不清楚:她不去大学的替代选择是什么呢?

    • 第三个例子更不清楚:如果她是另一个种族什么会发生,那是什么呢?有哪些不同的方式?

    在下一个单元介绍随机对照试验(RCT)设计时会第二和第三例子如何定义更易于实验的潜在结果与具体的RCT设计。

    02、因果效应的定义

    对于任何一个单元,“处理(treatment)”与“不处理(without treatment)”这两个潜在结果之间的差别就是处理的因果效用(Causal Effect),或者说处理效果(Treatment Effect)。

    因果效应定义为:(处理)-(不处理),表达式中括弧内的是干预动作,Y表示这个动作的效果。

    头疼的例子中存在四种可能性(possibilities):(下面表达式中括弧内的是干预动作,Y表示这个动作的效果,等号后面为效果的值)

    • Y(吃了阿司匹林)=不头疼;Y(没吃阿司匹林)=头疼

    • Y(吃了阿司匹林)=头疼;Y(没吃阿司匹林)=头疼

    • Y(吃了阿司匹林)=不头疼;Y(没吃阿司匹林)=不头疼

    • Y(吃了阿司匹林)=头疼;Y(没吃阿司匹林)=不同头疼

    对应的治疗效果是:

    • 使头疼消失了(即有效,证明因果关系陈述成立)

    • 没有效果

    • 没有效果

    • 阻止头疼消失(反效果、负效果,虽然不常见但原则上存在这种可能性)

    03、因果推断的基础问题

    “因果推断的基础问题”(Holland, 1986)是对于同一个单元最多只有一个潜在结果被实现而能被观测到,总有一个缺失值。因果效应(Causal Effect)是在同一个时间(处理后)对同一个单元的对比,处理效果(Treatment Effect)的计算依赖于所有的潜在结果(Potential Outcomes)而不仅仅依赖于实际观测到的结果。

    因此,对于处理效果的估计(Estimation),未来对我们观测到的结果进行对比,我们将需要许多个单元的数据。(在这个讨论中对同一个人不同时间的两次不同测量是两个不同的单元)

    了解(或假设)一些潜在结果(而不是其它的结果)被实现的方式是非常关键的,这个方式会在下一单位分配机制中马上就会被讨论。

    个体处理稳定性假设(SUTVA)

    01、引入多个单元后存在的问题

    当考虑多于一个单元时,事情会很快变得复杂。假设Esther和David都在一个办公室,并且都在为这门课准备教案。两个人可能同时头疼,并且两个都可以选择吃(或不吃)阿司匹林。现在每个人都有四种潜在结果:

    Y(EA, DN), Y(EA,DA), Y(EN, DN), Y(EN, DA)。

    (E指Esther,D指David,A指吃阿司匹林,N指不吃阿司匹林)

    在这种情形下,就有种不同的比较,针对以上四种潜在结果的两两比较。当我们添加更多的单元时,我们就添加了更多的潜在比较:我们将永远不会获得足够的数据去估计我们想要的东西。

    Esther与David各有四种潜在结果和6种比较,两个人需要被分别编码,这里Y只是关于一个人的,比如Esther,也就是说会有一个表达式(比如Z替换Y)是关于David的。

    为什么是四种潜在结果?为什么两个人的行为要一起考察呢?是因为两者的行为存在可能的相互影响。同时这个影响因素不仅仅是因为治疗效果,如果仅仅因为治疗效果影响另一个人是否采取吃药的行动,那就可以减少(状态的)维度了,只进行Esther是否吃药的比较就可以了。影响的因素可能是,David说“对不起,我头疼做不了教案了”,那么我(Esther)要做更多的工作所以我就头疼了;或者,他(David)说他头疼,他抱怨,于是就让我头疼了。

    “我们将永远不会获得足够的数据去估计我们想要的东西”,这里表达是当引入更多单元后情况变得更糟糕了。具体是,当只有(Esther)一个人时,只需要进行一个人两个潜在结果(吃药与不吃药)的一个比较,并可以观测到一个数据点(一个人的一个实现),情况就是有1个数据点的1个比较,当然数据也是不够的;当增加另外一个人后,就需要进行4个潜在结果的6种比较,实际可以观测到两个数据点(两个人的各一个实现),所以情况变成是有2个数据点的6种比较,数据就更不够了,引入更多单元后情况没有改善。我们需要解决这个问题,我们解决这个问题的方式是用一个假设(SUTVA)。

    02、个体处理稳定性假设

    也许在头疼例子中自然的假设是:David的头疼不影响Esther,所以自然的假设是:任何单元的潜在结果(potential outcomes)不会随分配给其它单元的处理(treatment)而变化; 并且,对于每个单元,没有导致不同(潜在)结果的一个处理单元的不同形式或版本,即个体处理稳定性假设(Stable Unit Treatment Value Assumption, SUTVA)。

    具体就是,首先,排除(在经济学中被称为的)外部效应或溢出效应,即该效应一个人的处理(treatment)状态直接影响另一个人;其次,处理(treatment)被良好的定义,反事实(counterfactual)被良好的定义,例如种族的例子就不符合。如果处理A有三种形式,那么处理(treatment)应该被重新定义为A、B、C三种处理而不是一种。

    注:SUTVA超出了独立的概念。

    https://en.wikipedia.org/wiki/Rubin_causal_model#Stable_unit_treatment_value_assumption_(SUTVA)

    分配机制的重要性

    从现在开始假设SUTVA成立。那么阿司匹林的例子对David和Esther就简化为两种情况:每个人吃或不吃阿司匹林与另一个人做什么是不相关的。这个可以扩展到多个单元,从而可以做下面的定义:

    • 假设有一个人群,人数为N,被编号为i,取值1~N;

    • Wi代表第i个人被处理(treatment)还是不处理(without treatment),值为1表示被处理,值为0表示不处理;

    • Yi代表第i个人的效果,上标obs表示实际被观察到,上标miss表示实际没有被观察到;

    • 那么第i个人的效果存在下面四种可能:

    • 同时,依定义对于第i个人因果效应为:

    如果他在被处理组(treatment),Wi = 1,那么他这个个体不被处理情况的效果不会被观察到,即数据缺失;反之,如果他在不处理组(controled),Wi = 0,那么他这个个体被处理情况的效果不会被观察到,即数据缺失;所以对于单个个体的因果效应定义中总有一项数据会缺失,也就是同一个人只有一种情况被观察到。

    缺少数据的问题:我们只观察到,所以我们不能对一个人计算他的处理效果(treatment effect),我们需要设法从我们观测到的数据中推断关于的一些信息,但是为了做到这一点,了解分配机制的原理是非常必要的,即为什么一些人被处理而另一些人没有?

    下篇预告:

    在下一个单元中,首先将详细介绍如何基于观察数据构建处理效应估计以及估计中存在的选择性偏差原理,然后介绍如何通过随机化解决选择性问题以及RCT类型,并进一步说明本单元开头三个例子的RCT具体如何进行设计。

    参考资料汇总:

    [1]https://prod-edxapp.edx-cdn.org/assets/courseware/v1/6b6442916a97d7afc3e9f40801085486/asset-v1:MITx+14.310x+1T2019+type@asset+block/14310x_Lecture14_New_ToUpload.pdf

    [2] https://en.wikipedia.org/wiki/Rubin_causal_model

    [3] https://en.wikipedia.org/wiki/Rubin_causal_model#Stable_unit_treatment_value_assumption_(SUTVA)

    [4] 因果推断,选择偏误与随机试验https://zhuanlan.zhihu.com/p/33299957

    [5] 因果推断简介https://cosx.org/2012/03/causality1-simpson-paradox/

    [6] 大学统计学白上了?800多科学家联名反对“统计学意义”,P值该废了

    https://mp.weixin.qq.com/s?__biz=MzI3MTA0MTk1MA%3D%3D&chksm=f1219b03c65612150ff28a7564a8a0e738e93aea401a02858feac8e0fe0d035cb6aed52b607c&idx=2&mid=2652041202&scene=0&sn=e077f6cfa985caab7e99ebab4a15113a&xtrack=1#rd

    [7]https://www.nature.com/articles/d41586-019-00857-9?from=singlemessage&isappinstalled=0#ref-CR4


    注:封面图来源于网络,如有侵权,请联系删除




    转载于:https://juejin.im/post/5ce370af518825312749a572

    展开全文
  • 强化学习(RL)是一种流行的处理顺序决策任务的范式,其中agent只有有限的环境反馈。...为了解决这个问题,迁移学习被应用于强化学习,这样在一个任务中获得的经验可以在开始学习一个更困难的任务时得到利用。
  •  斯坦福CS231n 2017最新课程:李...斯坦福大学的课程 CS231n (Convolutional Neural Networks for Visual Recognition) 作为深度学习和计算机视觉方面的重要基础课程,在学界广受推崇。今年 4 月,CS231n 再度开
    

    斯坦福CS231n 2017最新课程:李飞飞详解深度学习的框架实现与对比

    By ZhuZhiboSmith 2017年6月19日 13:37

    斯坦福大学的课程 CS231n (Convolutional Neural Networks for Visual Recognition) 作为深度学习和计算机视觉方面的重要基础课程,在学界广受推崇。今年 4 月,CS231n 再度开课,全新的 CS231n Spring 2017 仍旧由李飞飞带头,带来了很多新鲜的内容。今天机器之心给大家分享的是其中的第八讲——深度学习软件(Deep Learning Software)。主要内容有:CPU 和 GPU 的对比;深度学习框架简介;TensorFlow 和 PyTorch 的实例;以及各种深度学习框架的比较。

    一、 CPU 和 GPU

     CPU:核芯的数量更少;

        但是每一个核芯的速度更快,性能更强;

        更适用于处理连续性(sequential)任务。

     

     GPU:核芯的数量更多;

         但是每一个核芯的处理速度较慢;

         更适用于并行(parallel)任务。


    二、深度学习框架简介

    去年我们还仅有 Caffe、Torch、Theano 和 TensorFlow 这些深度学习框架可供使用;但是到了今年,在此基础上我们又新增加了 Caffe2、Pytorch、TensorFlow、PaddlePaddle、 CNDK、MXNet 等等一系列新的框架,可谓「百花齐放」。如今最常用的框架当数 Pytorch 和 TensorFlow 了, 而 Caffe 和 Caffe2 次之。


    深度学习框架的关键点在于:

    (1)易于建造大型的计算机图形;

    (2)易于在计算机图形中进行梯度计算;

    (3)能在 GPU 上高效运行(cuDNN, cuBLA 等)

    三、TensorFlow 简单实例

    下面我们将详细说明一个在 TensorFlow 下训练神经网络的简单实例:即用随机数据训练一个两层的网络,激活函数为 ReLU。

     

    a. 定义计算机图形


    1. 为输入 x,权重系数 w1、w2, 和目标函数 y 创建 placeholder:


    2. 定义前向传输:这是为了计算 y 的预测值和误差损失(loss);实际上这里是没有计算过程的——仅仅是为了创建图形!


    3. 告诉 Tensorflow 去计算关于 w1 和 w2 的梯度损失;这里仍然不产生计算过程——仅仅是为了创建图形。


    b. 运行

    现在已经完成了创建图形的步骤,所以我们进入对图形进行运算的部分。


    创建 Numpy 数组,这个数组将会被填进上方的 placeholder 中。


    对图形进行运算:将 x、y、w1、w2 输入到 numpy 数组中;得到关于损失(loss),w1 梯度和 w2 梯度的 numpy 数组。


    训练网络:反复对图形进行运算,用梯度(gradient)来更新权重(weights)。


    把 w1 和 w2 的相应函数从 placeholder() 改为 Variable()。


    添加 assign 操作来更新 w1 和 w2(图形的一部分)。


    对图形进行一次运算来初始化 w1 和 w2,然后进行多次迭代训练。


    完整代码如下:


    但是产生一个问题:误差损失(loss)并没有下降!这是因为 Assign 指令实际上并没有被执行。


    这时我们就需要添加虚拟图形节点,并且告诉图形去计算虚拟节点。


    可以使用 optimizer 来计算梯度和更新权重系数;记得要执行 optimizer 的输出!


    使用预先定义的常用损失函数:


    使用 Xavier 进行初始化;tf.layer 会自动设置权重系数(weight)和偏置项(bias)!


    c. 高级 Wrapper——Keras

    Keras 可以理解为是一个在 TensorFlow 顶部的 layer,它可以让一些工作变得更加简单(也支持 Theano 后端)。


    把模型目标定义成一系列的 layer :


    定义优化器目标(optimizer object):


    创建模型,明确规定损失函数(loss function):


    仅用一行代码就能训练模型!


    除了 Keras, 还有一些其他类型的高级容器(Wrapper)可供使用:


    四、PyTorch 实例

    PyTorch 是 Facebook 推出的深度学习框架,不论是在工业界还是学术界,它都得到了广泛的应用。它包括三个等级的抽象概念:

    • 张量(Tensor):命令式的多维数组对象(ndarray),在 GPU 上运行;
    • 变量(Varaible):计算型图形(computational graph)的节点;用于存储数据和梯度(gradient)
    • 模块(Module):代表一个神经网络层;可以存储状态(state), 也可以存储可学习的权重系数(learnable weights)

    PyTorch 和 TensorFlow 中抽象概念的等价对应关系:

     

    a. Pytorch 中的张量(Tensor)设置

    PyTorch 中的张量就像 numpy 中的数组,但是这些张量可以在 GPU 上运行;

    这里我们用 PyTorch 的张量设置了一个两层网络:


    下面我们来分步解读:

    1. 为数据和权重(weights)创建随机张量:


    2. 设置前向传播:计算预测值(prediction)和损失(loss):


    3. 设置反向传播:计算梯度(gradients):


    4. 梯度下降(Gradient descent)和权重(weights)相对应:


    5. 为了在 GPU 上运行,将张量(tensors)设置为 cuda 数据类型:


    b. PyTorch 中的 Autogradient 设置

    PyTorch 的张量(Tensors)和变量(Variables)拥有相同的应用编程接口 API。变量(Variables)可以记忆它们是怎么产生的(因为反向传播的缘故)。


    下面仍进行分步解读:

     

    1. 我们不希望(损失 loss 的)梯度和数据(data)有相关性,但我们希望梯度和权重(weights)是相关的。相关设置如图: 


    2. 这里的前向传播看上去和上述张量(Tensor)的对应版本很相似,但是需要注意的是现在这里全部都是变量(variable)。


    3. 计算损失函数对 w1 和 w2 的梯度(开始的时候梯度置零):


    4. 让梯度和权重(weights)相对应:


    C. 定义新型 Autograd 函数

    通过张量的前向和反向传播来定义你自己的 autograd 函数:


    可以在前向传播中使用新的 autograd 函数:


    d. PyTorch 中的神经网络(nn)设置

    用更高级的「容器」(wrapper)来处理神经网络(neural nets), 和 Keras 相似。完整代码如下:


    下面进行分步解读:

    把我们的模型定义成一系列的 layers:


    也要定义常用损失函数:


    前向传播:给模型输入数据;给损失函数(loss function)输入预测信息(prediction):


    反向传播:计算所有的梯度(gradients):


    让梯度和每一个模型参数对应:


    下面我们添加一个优化器(optimizer):


    在计算完梯度以后对所有的参数(parameters)进行更新:


    E. PyTorch 中的神经网络——定义新的模型

    Pytorch 中的模块(Module)其实是一个神经网络层(neural net layer),需要注意它的输入和输出都是变量;模块(Module)中包含着权重 (当作变量处理) 或者其他模块;你可以使用 autograd 来定义你自己的模块。详细代码如下:


    下面进行分步解读:

    1. 把我们的整体模型定义成一个单一的模块:


    2. 用初始化程序来设置两个子模块(一个父模块可以包含子模块)


    3. 用子模块和变量上的 autograd ops 定义前向传播;不需要定义反向传播——因为 autograd 会作相应处理:


    4. 创建并训练一个模型实例:


    E. PyTorch 中的资料存储器(Dataloaders)

    资料存储器(DataLoader)包括一个数据集 (Dataset),而且给你提供了小批量处理(minibatching),「洗牌」处理(shuffling)和多线程处理(multithreading);当你需要载入自定义数据(custom data)时,写下你自己的数据集类型(dataset class)就可以了。


    通过遍历存储器(loader)来形成小批量(minibatch);存储器会给你提供张量(Tensors), 所以你需要将其「打包」(wrap)进变量中:


    注意:使用带有 torchvision 的预先训练好的模型(pretrained model)将会更加简单易行。

    F. Torch 和 pytorch 的简单对比


    结论:尽量使用 PyTorch 来做你的新项目。

    五、Caffe2 简介


    六、深度学习框架之争,究竟谁更胜一筹?





    其实具体选择何种框架来进行深度学习取决于我们要做什么。在参阅相关文献之后,我们大致可以得出以下结论(仅供参考):

    • PyTorch 和 Torch 更适用于学术研究(research);TensorFlow,Caffe,Caffe2 则更适用于工业界的生产环境部署(industrial production)。
    • Caffe 适用于处理静态图像(static graph);Torch 和 PyTorch 更适用于动态图像(dynamic graph);而 TensorFlow 在两种情况下都很实用。
    • Tensorflow 和 Caffe2 可在移动端使用。  

    附主要参考文献CS231n_2017_Lecture8,链接可直接下载PPT:

    • http://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture8.pdf

    其他参考资料:

    • http://203.187.160.132:9011/dl.ee.cuhk.edu.hk/c3pr90ntc0td/slides/tutorial-caffe.pdf
    • http://203.187.160.132:9011/dl.ee.cuhk.edu.hk/c3pr90ntc0td/slides/DL_in_Action.pdf

    展开全文
  • Interview:人工智能岗位面试—人工智能岗位求职之人工智能算法工程师知识框架及课程大纲(多种维度) 目录 一、AI基础 —高等数学、线性代数、概率统计 二、算法编程学习 三、ML算法讲解 四、AI实战之...
  • 计算机数学课程收集

    千次阅读 2018-11-13 15:37:02
    编者:李国帅 qq:9611153 微信lgs9611153 时间:2018/10/24   ...课程号:20100440 课程名:泛函分析 课程英文名:Functional Analysis 学时:68 学分:4 先修课程:实变函数、高等代数...
  • Encoder-Decoder框架: 可以把它看作适合处理由一个句子(或篇章)生成另外一个句子(或篇章)的通用处理模型。...Encoder顾名思义就是对输入句子Source进行编码,将输入句子通过非线性变换转化中间语义表示C:...
  • MSDN课程

    千次阅读 2009-09-09 09:14:00
    系列课程 > Windows移动开发系列课程 使用.NET CF开发Smartphone应用程序 (Level 300) 讲 师:马宁 课程简介:介绍使用.NET Compact Framework 2.0开发Windows Mobile 5的Smartphone应用程序。结合Smartphone界面...
  • MFC课程设计 --学生成绩管理系统

    万次阅读 多人点赞 2018-07-26 21:12:55
    MFC课程设计 ,C++课程设计 --学生成绩管理系统 ps:因为课设完成的过程大家都不太一样,以下的代码仅供学习一下在MFC各个控件的用法,有问题欢迎留言讨论。     实验目的 使用MFC类库编制应用程序:按钮...
  • 网页设计课程设计报告

    万次阅读 多人点赞 2019-03-01 21:45:11
    学号 课 程 设 计 课程名称 网页设计 题 目 鑫晨之家特效网站设计 专 业 软件工程 ...
  • 这里解释下为什么 β β \beta 也需要向 α α \alpha 那样做非均匀采样。假设 β β \beta 从0.9000变化为0.9005,那么 1 1 − β 1 1 − β \frac{1}{1-\beta} 基本没有变化。但假设 β β \beta 从0.9990变化为0....
  • 这一节主要是介绍了三种主要的神经网络模型:前向网络、循环神经网络和对称网络前向网络 Feed-forward Neural Networks如果把神经元看做节点,把神经元的输出到另一个神经元...全连接网络则相邻两层节点之间都有权重
  • JavaWeb笔记 黑马程序员课程

    万次阅读 2020-09-28 00:41:49
    该学习是基于黑马的JavaWeb课程,感兴趣的盆友可以在b站搜索javaweb进行观看学习。 Day 01 内容 04/07/2020 * Junit单元测试 * 反射 * 注解 Junit单元测试: * 测试分类: * 黑盒测试:不需要写代码,给输入值,...
  • 然而,目前关于微课程的研究大多仍在阐释其理念与应用前景,故需要对实践中的微课程模式进行深入的审视与总结,以期课程理念如何更好地促进学生学习寻求启示。本文首先对微课程缘起进行梳...
  • 这个“收入”包括:收费 App 的下载费、游戏充值费、订阅服务费等,广泛的抽成范围加上 30% 的高比例,一直开发者所抱怨。好在今年苹果和谷歌都对此进行了相应调整: 苹果:今年起,对每年营收在 100 万美元以下...
  • python培训课程-python培训课程

    千次阅读 2020-10-30 23:20:05
    智能化是当前新技术、新...Python是什么?你可能已经听说过很多种流行编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的JavaScript语言,那么…… 前三大主流编程语言 ...
  • 大数据视频课程汇总

    千次阅读 2017-04-09 16:57:10
    由于大数据视频未经视频版权方授权,很可能会被下架,请各位需要的同仁及时下载,如果被下架,请留言说明。
  • 云计算课程详解

    千次阅读 2014-10-23 15:08:28
    这套课程最大的特点是站在初学者容易吸收理解的角度对云计算的知识进行了重新的整理及细化,内容的安排更符合初学者的学习思维,知识一环扣一环,循序渐进,让学员无痛苦并且觉得“so easy”的情况完成云计算的...
  • j2EE课程总结(Java课程学习总结)

    千次阅读 2016-11-10 10:54:16
    摘要: j2EE课程上完之后的总结 java 是变成语言,运行环境,开发平台 硬件-》操作系统-》虚拟机-》字节码程序 java-》字节码-》类加载器-》字节码校验器-》解释器、优化器、JIT-》硬件 静态变量类所有,静态方法...
  • 本文主要基于WinEdt编译器,以案例的形式介绍了如何使用latex制作课程报告,包括: 1. 案例的完整代码、编译方式;2. 如何写latex的参考文献; 3. 效果展示; 4. 分享相关的参考网址。
  • 编程课程 学习您感兴趣的编程语言 最近,我调查了Udemy数据库并找到了这些免费的在线课程。 我已经创建了300种此类免费在线课程的清单,您可以从今天开始。 我已经根据主题和主题对在线课程进行了分类。 学习这些...
  • 数据库课程设计(饭店点餐系统)

    万次阅读 多人点赞 2020-06-09 11:25:06
    2.1.1订单阶段需要的数据: 2.1.2点菜阶段需要的数据: 2.1.3结账阶段需要的数据: 2.1.4员工管理需要的数据: 2.1.5顾客管理需要的数据: 2.1.6消费记录管理需要的数据有: 2.2事务需求 2.2.1数据录入 ...
  • 课程上架与下架 营销信息 营销信息,其实就是设置课程的详细信息 回显课程信息 修改课程信息,包含了图片上传 配置课时 对课程下所属的章节与课时进行配置(一个课程对应多个章节,一个章节有多个课时) ...
  • Java课程设计-学籍信息管理系统

    万次阅读 多人点赞 2015-12-15 21:08:23
     学生的学籍信息是记录学生的重要信息档案,如何以电子文档形式记录学生的学籍信息是每个学校必须做的事情,该学生学籍信息管理系统就是为了方便学校记录每一个学生的基本信息,生成电子数据库,并且能够做到...
  • 安卓课程学期总结

    千次阅读 2019-06-11 16:41:29
    刘茂安卓第一学期总结 在大一的时候只是知道自己要学习Java知识...在分专业前,暑假期间我自学了Android Studio的操作(因为学校似乎用的Eclipse,但是已经大多都不用了),我开始在各大课程网站搜集学习视频学习,也...
  • 作者最近在复习考博,乘此机会分享一些计算机科学与技术、软件工程等相关专业课程考题,一方面分享给考研、考博、找工作的博友,另一方面也是自己今后完成这些课程的复习资料,同时也是在线笔记。基础知识,希望对您...
  • 郭一璞 发自 椰子树 量子位 报道 | 公众号 QbitAI最近NLP方向的资源越来越多,GitHub上又出现了一套新的课程,目前已经获得了1300多颗星星。在这套NL...
  • 超级课程表课表的界面的实现

    千次阅读 2015-06-07 12:20:31
    由于毕业设计有一个功能模块是课程表,就想模仿一下超级课程表的界面,可是开始做的时候却没有一点头绪,百度google均无果,在CSDN和知乎上提问了也没人回答(估计是太简单了 大神不愿回答),总之自己鼓捣了几天...
  • Java web课程设计-购物系统

    万次阅读 多人点赞 2019-08-21 22:49:26
    Java web课程设计是为了是计算机学院的学子深入学习java web应用开发设置的一门实验性的动手性的实践课程。是计算机科学与技术、 网络工程、信息安全、物联网工程、软件工程等专业集中实践的教学环节,是将关jav...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 60,927
精华内容 24,370
关键字:

得到为什么下架课程