├── README.md ├── docs ├── 1.1.1.md ├── 1.1.2.md ├── 1.1.3.md ├── 1.1.4.md ├── 1.1.md ├── 1.2.1.md ├── 1.2.2.md ├── 1.2.3.md ├── 1.2.4.md ├── 1.2.5.md ├── 1.2.6.md ├── 1.2.7.md ├── 1.2.8.md ├── 1.2.9.md ├── 1.2.md ├── 1.3.1.md ├── 1.3.2.md ├── 1.3.md └── 1.md └── img ├── 1-1-1-1.jpg ├── 1-1-1-2.jpg ├── 1-1-2-1.jpg ├── 1-1-2-10.jpg ├── 1-1-2-2.jpg ├── 1-1-2-3.jpg ├── 1-1-2-4.jpg ├── 1-1-2-5.jpg ├── 1-1-2-6.jpg ├── 1-1-2-7.jpg ├── 1-1-2-8.jpg ├── 1-1-2-9.jpg ├── 1-1-3-1.jpg ├── 1-1-3-10.jpg ├── 1-1-3-11.jpg ├── 1-1-3-12.jpg ├── 1-1-3-13.jpg ├── 1-1-3-14.jpg ├── 1-1-3-15.jpg ├── 1-1-3-2.jpg ├── 1-1-3-3.jpg ├── 1-1-3-4.jpg ├── 1-1-3-5.jpg ├── 1-1-3-6.jpg ├── 1-1-3-7.jpg ├── 1-1-3-8.jpg ├── 1-1-3-9.jpg ├── 1-1-4-1.jpg ├── 1-1-4-2.jpg ├── 1-1-4-3.jpg ├── 1-1-4-4.jpg ├── 1-1-4-5.jpg ├── 1-2-1-1.jpg ├── 1-2-1-2.jpg ├── 1-2-1-3.jpg ├── 1-2-1-4.jpg ├── 1-2-1-5.jpg ├── 1-2-1-6.jpg ├── 1-2-2-1.jpg ├── 1-2-2-2.jpg ├── 1-2-2-3.jpg ├── 1-2-2-4.jpg ├── 1-2-2-5.jpg ├── 1-2-4-1.jpg ├── 1-2-4-2.jpg ├── 1-2-4-3.jpg ├── 1-2-4-4.jpg ├── 1-2-4-5.jpg ├── 1-2-4-6.jpg ├── 1-2-4-7.jpg ├── 1-2-4-8.jpg ├── 1-2-4-9.jpg ├── 1-2-5-1.jpg ├── 1-2-5-2.jpg ├── 1-2-5-3.jpg ├── 1-2-5-4.jpg ├── 1-2-5-5.jpg ├── 1-2-6-1.jpg ├── 1-2-6-2.jpg ├── 1-2-6-3.jpg ├── 1-2-7-1.jpg ├── 1-2-7-2.jpg ├── 1-2-7-3.jpg ├── 1-2-7-4.jpg ├── 1-2-7-5.jpg ├── 1-2-7-6.jpg ├── 1-2-7-7.jpg ├── 1-2-7-8.jpg ├── 1-2-8-1.jpg ├── 1-2-8-10.jpg ├── 1-2-8-11.jpg ├── 1-2-8-12.jpg ├── 1-2-8-13.jpg ├── 1-2-8-14.jpg ├── 1-2-8-15.jpg ├── 1-2-8-16.jpg ├── 1-2-8-17.jpg ├── 1-2-8-2.jpg ├── 1-2-8-3.jpg ├── 1-2-8-4.jpg ├── 1-2-8-5.jpg ├── 1-2-8-6.jpg ├── 1-2-8-7.jpg ├── 1-2-8-8.jpg └── 1-2-8-9.jpg /README.md: -------------------------------------------------------------------------------- 1 | # NYU 金融机器学习 中文笔记 2 | 3 | > 机器学习是个工具,工具是来解决问题的,不是用来当工具摆在那里的。让我们分工明确一下,有的人造工具,用的人用工具,这样更加高效。 4 | > 5 | > -- [知乎@微调](https://www.zhihu.com/question/265041005/answer/344238588) 6 | -------------------------------------------------------------------------------- /docs/1.1.1.md: -------------------------------------------------------------------------------- 1 | # 1.1.1 “金融机器学习与强化学习”专项简介 2 | 3 | ## 欢迎 4 | 5 | 你好,欢迎观看 Coursera 的金融机器学习专项。 6 | 7 | 我的名字是 Igor Halperin,我是纽约大学 Tandon 工程学院的研究教授。 8 | 9 | 我将成为这个专项的导师。 10 | 11 | 我会稍微谈谈自己,但首先,我想谈谈你将从这个专项中得到什么。 12 | 13 | 首先是关于这个专项本身。 14 | 15 | 简而言之,这是机器学习的专项,专注于机器学习在金融领域的应用。 16 | 17 | 这与通常使用各种工业应用来教授机器学习的其他课程不同。 18 | 19 | 关于这种专项的第二个非常重要的一点是它的目标受众。 20 | 21 | 我假设你要么是金融专业人士,要么计划在不久的将来成为金融专业人士。 22 | 23 | 因此,这种专项是为那些从业者或未来从业者设计的,它们从事或计划从事金融工作,并希望从头开始学习机器学习,但使用金融问题来开发你的技能。 24 | 25 | 然而,金融来源于数字和预测。 26 | 27 | 那么,为什么我们不从一开始就使用金融数据来学习机器学习,而不是使用与金融数据关系不大的示例?我想提出的第三点是这个专项的示例和作业。 28 | 29 | 因为这是面向从业者的专项,所以我尽力避免与现实生活无关的毫无意义的练习。 30 | 31 | 例如,为此,我们不会做股票价格预测或股票指数预测等事情。 32 | 33 | 原因是即使你可能遇到过许多讨论机器学习应用于此类问题的博客或研究论文,但它们没有实际用途。 34 | 35 | 因此,为了最大限度地发挥它对你的实用性,我们只会在实用的示例中看到这个专项。 36 | 37 | 那么你对这个专项的看法是什么呢?首先,你将从头开始很好地理解核心概念和最重要的机器学习算法。 38 | 39 | 其次,你将不是抽象地学习所有这些,而是​​以非常实际的方式学习。 40 | 41 | 我们将掌握许多不同类型的金融数据,并使用多个机器学习算法来处理相同的数据。 42 | 43 | 你不仅将学习经典机器学习算法,还将获得神经网络的扎实理解和实践经验,尤其包括最近风靡全球的所谓深度神经网络。 44 | 45 | 因此,你将对金融数据以及不同算法对此数据的执行情况,有一个良好的直觉。 46 | 47 | 你将了解如何应用 Python 机器学习包(如 scikit-Learn 或 TensorFlow)来为量化交易,资产管理,银行和其他金融领域的应用程序,构建机器学习模型。 48 | 49 | 你将能够通过一系列有趣和相关的项目,给你的潜在雇主留下深刻印象,这些项目涉及机器学习在实际问题中应用。 50 | 51 | 更重要的是,如果你的企业需要,你将能够利用你所学到的知识库来构建新的机器学习模型。 52 | 53 | 我提到的这最后一件事让我想到了这个专项的最后但同样重要的一部分。 54 | 55 | 机器学习是一个非常活跃的领域。 56 | 57 | 今天学校教授的最前沿方法将在明天过时。 58 | 59 | 因此,重要的是,机器学习的工业从业者应该能够理解机器学习中的论文,并且能够实现它们。 60 | 61 | 学习它的最好方法是阅读机器学习论文。 62 | 63 | 因此,我们的编程作业通常会引用原始出版物,可用于深入挖掘我们将要涵盖的主题。 64 | 65 | 此外,我将在每周阅读清单中提供原始出版物的引用,这将有助于你更广泛地了解所涵盖的主题,并在阅读机器学习论文的同时开发一些实践。 66 | 67 | 因此,在完成金融机器学习专项之后,这将是你的三个主要内容。 68 | 69 | 在下一个视频中,我们将更多地讨论这个专项的结构。 70 | 71 | ## 专项的目标 72 | 73 | 好的,让我们从最后停止的地方继续,并谈谈你在此专项中的高级目标。 74 | 75 | 你的第一个目标应该是学习机器学习的核心概念,例如机器学习的类型,交易计数的概念,测试集,所有特征分类,等等。 76 | 77 | 其次,你想了解具体的机器学习算法,如逻辑回归,支持向量机,决策树以及解决金融问题的解决方案。 78 | 79 | 此外,你希望了解神经网络的更多信息,可能是因为你听到了很多深度学习的内容,并且你想了解神经网络和深度学习的内容以及它们在金融中的用途。 80 | 81 | 接下来,你希望获得,在金融问题上使用 Python 机器学习库的实践经验,特别是经典机器学习算法库 scikit-learn ,以及用于神经模型的 TensorFlow 等。 82 | 83 | 最后,你想知道在完成此专项之后,你将如何扩展你的知识并了解更多知识。 84 | 85 | 以上所有内容都是我们的目标,我们将通过本专业的课程顺序完成这些目标。 86 | 87 | 让我解释一下我们将在每一门课中做些什么。 88 | 89 | 我们的第一门课程是一门入门课程,我称之为金融机器学习概览。 90 | 91 | 本课程将帮助你掌握机器学习的基本概念,并了解金融学中的机器学习与科技行业的机器学习有何不同。 92 | 93 | 你将学习一些简单的机器学习算法,我们将使用它们来分析股票收益,公司基本面,银行报告和其他金融数据。 94 | 95 | 所有这些都带有实际问题的示例。 96 | 97 | 我将向你展示实现这些简单算法的 Jupyter 笔记本,然后你将使用不同算法中的不同数据扩展它们。 98 | 99 | 在第一门课程中,我们将主要使用 scikit-learn 和其他一些软件包来实现我们的机器学习解决方案。 100 | 101 | 同时,我们将介绍 TensorFlow,一个非常强大的用于机器学习的 Python 软件包,由 Google 在两年前开源。 102 | 103 | 虽然我们对 TensorFlow 的主要兴趣在于,它用于神经网络的功能。 104 | 105 | 我们将使用 TensorFlow 从大多数简单示例开始,例如线性回归或逻辑回归。 106 | 107 | 我们将使用神经网络,在第一个课程中看到它们如何生效,并建立我们简单的神经网络来分析公司收益和银行对账单。 108 | 109 | 在本课程中,我们将每周进行家庭作业,包括编程作业和可选阅读。 110 | 111 | 最后的课程项目将把几种监督学习算法应用于银行报告数据。 112 | 113 | 如果你不知道监督学习这个词的含义,请不要担心,我们会尽快学习。 114 | 115 | 你的课程最终得分将计算为,你每周家庭作业和最终课程项目的累积分数。 116 | 117 | 完成第一门课程后,四门课程将涵盖机器学习范式的主要内容。 118 | 119 | 现在,让我为你清点。 120 | 121 | 它们被称为监督学习,无监督学习和强化学习。 122 | 123 | 每个后续课程都将在深度和考虑的影响方面延伸我们的第一个课程。 124 | 125 | 在我们的第二门课程中,我们将详细介绍监督和无监督学习,可以熟悉属于这些类型的机器学习的许多关键算法。 126 | 127 | 我们将讨论各种类型的回归和分类问题,并了解如何使用逻辑回归,支持向量机或各种类型的决策树等方法来解决这些问题。 128 | 129 | 然后,我们将转向无监督学习,并讨论数据分析和数据可视化的方法,如主成分分析及其扩展,聚类方法等。 130 | 131 | 我们还将研究神经网络,并了解它们如何用于处理监督和无监督学习的相同类型的任务。 132 | 133 | 在金融方面,我们将关注许多经典的金融问题,例如市场和制度预测,股票收益预测,投资组合优化等,并展示机器学习如何应用于这些任务。 134 | 135 | 如果你只对监督学习或无监督学习的金融影响感兴趣,前两个课程应该为你提供强有力的基础知识,帮助你理解这些领域的核心概念和主要方法。 136 | 137 | 因此,在完成这两门课程后,你将能够在现实生活中继续使用它们。 138 | 139 | 我个人的观点是,机器学习在金融领域最令人着迷的地方是强化学习。 140 | 141 | 我们将在前两个课程中接触强化学习,并在第三个课程全面投入强化学习,及其金融影响。 142 | 143 | 在本课程中,我们将讨论使用强化学习来解决诸如投资组合优化,最优交易,期权定价和风险管理等金融问题。 144 | 145 | 这第三门课程比前两门课程技术更先进,我们会有更多的数学,但不是很多。 146 | 147 | 这门课程与强化学习的其他课程的主要区别在于,我们不会花费时间谈论强化学习的传统例子,如井字棋或机器人学。 148 | 149 | 相反,我们将从一开始就跳到金融问题,并学习强化学习的经典方法,例如使用金融问题的着名的 Q 学习。 150 | 151 | 这将是一个实践课程,你将实现此类算法,并了解它们在实践中的工作方式。 152 | 153 | 在本课程的课程项目中,你将探索使用强化学习获得的市场动态的简单模型。 154 | 155 | 在那之后,在我们的最后一门课程,我们将深入探讨我们在第三门课程中提到的强化学习的主题。 156 | 157 | 通过第四门课程,我们将专注于更高级的主题,但它的技术性将低于第三门课程,并将作为所选主题的概述进行组织。 158 | 159 | 第一类主题将侧重于金融的基本概念,如市场均衡,无套利,可预测性等,以及强化学习方法如何为这些概念提供新观点。 160 | 161 | 我们还将更多地讨论强化学习中的市场建模线索。 162 | 163 | 最后一门课程的第二部分,将概述强化学习在高频交易中的应用,点对点借贷中的信用风险以及加密货币交易。 164 | 165 | 最后,在我们继续本专项的第一门课程之前,我需要讨论的最后一件事是本课程的先决条件,教科书和课程资源。 166 | 167 | 我们在下一个视频中谈谈它。 168 | 169 | ## 专项的预备条件 170 | 171 | 现在让我谈谈这个专项的先决条件。首先让我从编程部分开始。我假设你至少知道一些 Python,并且已经使用过或至少看过 Jupyter 笔记本。如果你不熟悉 Jupyter 笔记本,请在本周的阅读列表中查看教程参考。我还假设你熟悉其他 Python 库,例如 numpy 和 Pandas。 172 | 173 | 并且不会假设事先有 TensorFlow 知识,因为 TensorFlow 将在课程中逐步引入。 174 | 175 | 现在让我们谈谈数学部分的先决条件。 176 | 177 | 这是我希望你知道的。首先,机器学习使用大量的线性代数。所以我希望你熟悉线性矩阵方程,特征值分解,逆矩阵和其他相关概念。我还假设你了解基本概率理论。例如,你熟悉高斯分布,指数分布或二项分布。基本概率规则,如基础引理,你也知道一些基本的统计。最后在数学方面,我假设你了解基本的微积分,尤其包括复合函数的微分规则。所以像这样的公式,或者像这样的公式,或者甚至那样的公式都不会让你困惑。如果他们这样做,请复习你的微积分知识。作为我的科学英雄之一曾经说过,数学不应该站在你和你想要解决的问题之间。恰恰相反,一旦你知道如何使用它,它应该能够帮助你。 178 | 179 | ![](../img/1-1-1-1.jpg) 180 | 181 | 顺便说一下,在机器学习中需要了解多少数学问题,是各种讨论板上的热门话题。最近我遇到了一位目前在机器学习领域工作的前物理学家撰写的非常可爱的帖子。我强烈建议你阅读这篇文章,这里是链接。 182 | 183 | 在我这边,我可以确认这个人所说的一切。都是物理学家在数学方面解决问题的方式。如果我不得不用几句话来浓缩,我会这么说。当你遇到一个新的机器学习模型时,无论是在我们的讲座,书籍还是原始论文中,都要从摘要或其他等价内容开始。 184 | 185 | 如果模型作用的陈述吸引了你的兴趣,并且你想要了解更多信息,请浏览论文的许多方程式。并确保你明白他们的意思,而不是他们是如何获得的。对主要公式进行某种冥想。观察等式左边的数量,以及右侧出现的术语。例如,他们是怎么回事?指数还是对数?然后假设所有方程都是正确的,并且可用的实现也是正确的。然后直接进行模型的动手操作。 186 | 187 | 你可能希望首先使用你理解的数据为模型提供信息。例如,使用纯随机数据,甚至是常量数据,来查看它是否通过了某种形式的合理性检查。如果是,则将模型提供给你想要探索的实际数据。 188 | 189 | 当你得到结果时,你可能会喜欢它们或者不喜欢它们。但最有可能的是,你会发现一些特定的行为,你会对此有疑问。只有这样你才能回到主要部分并阅读数学。现在长话短说,如果你从数学开始,只需继续前进,如果需要,稍后再回来。 190 | 191 | 除非你有无限的时间预算,否则这对我们这门课程及其他课程都是实用的建议。但如果你不这样做,这是现实生活中最常见的情况,我刚才描述的方法可以为你节省大量时间。 192 | 193 | 最后,让我们谈谈金融方面的先决条件。 194 | 195 | 这将非常简短,因为事实上我并不认为你对金融有任何具体的了解。并且非专业人员也能正确解释此专项中讨论的所有金融概念或问题。 196 | 197 | 好的,所以我在这里介绍了我想说的大部分内容,作为对这种专项的一般介绍。现在让我以推荐文献清单结束。有许多关于机器学习的优秀教科书,但没有专门针对金融机器学习的教科书。所以我为这门课程所做的是结合多种来源,包括 Bishop,Murphy,Goodfellow 的书籍部分,以及 Geron 最近的一本书。我喜欢的其他几本书,Marsland 的书和 Gershenfeld 的另一本书。除了教科书,我还使用了原创出版物,我自己的研究,行业论文,博客,维基百科,讨论论坛上的帖子等等。简而言之,我发现任何类型的数字信息都有助于本课程。作为一项规则,每当我基于任何单一来源的讲座的任何重要部分时,我总是会引用原始来源,以便你可以随时查找更多详细信息。同样在这种情况下,我通常会保留原始出版物的符号,或者只是稍微调整一下来利用更常见的约定。因此,如果你需要,你可以随时返回,从离开讲座的地方继续。 198 | 199 | ![](../img/1-1-1-2.jpg) 200 | 201 | 好的,所以我认为,这最终只是我在这个专项的介绍部分中要说的。在下一个视频中,我们将开始我们的第一个课程。我希望你会发现它有用而有趣,但如果你觉得我讲得太慢,太快,太深或太浅,没有涵盖一些主题,或者相反,其他一些没有趣的话题占了太长时间,等等,请在课程论坛上分享你的想法。祝你好运,记住,机器学习从这里开始。再见。 202 | -------------------------------------------------------------------------------- /docs/1.1.2.md: -------------------------------------------------------------------------------- 1 | # 1.1.2 人工智能与机器学习 2 | 3 | ## 第一部分 4 | 5 | 如果我们考虑在过去几年中,技术,科学和商业新闻的关注中心处的所有主题,那么很难摆脱这个印象,人工智能可能位于此列表顶部,因为它似乎令人着迷,无论是媒体还是公众都是如此。 6 | 7 | 实际上,我们每天都在媒体上读到人工智能的另一个奇迹。 8 | 9 | 我们读到了自动驾驶和电脑世界赢得围棋比赛的冠军。 10 | 11 | 我们读到谷歌这样的公司,正在努力将人工智能和机器学习放在他们的业务中。 12 | 13 | 我们不仅读到了人工智能和机器学习,我们已经在日常生活中与他们共生。 14 | 15 | 当你在智能手机上发短信时,人工智能会纠正你的拼写。 16 | 17 | 实际上,当你使用它时,有时你会觉得人工智能不是很聪明,但这可能是另一个讨论的话题。 18 | 19 | 另一个例子是虚拟助手,例如 Siri 或 Alexa。 20 | 21 | 更简单的垃圾邮件过滤器最近有了很大的改进,以至于我们有时会忘记我们在日常邮件中没有收到太多垃圾邮件,这种安慰是由人工智能和机器学习算法提供的,这些算法在幕后工作以保护我们。 22 | 23 | 简而言之,人工智能来到我们的生活中并繁衍,这个过程似乎在时间上指数性增长。 24 | 25 | 人工智能对整个社会的不断增长的影响是如此巨大,以至于现在许多人都在谈论人工智能给我们带来的第四次工业革命。 26 | 27 | ![](../img/1-1-2-1.jpg) 28 | 29 | 这就是谷歌联合创始人谢尔盖·布林所说的,“人工智能的革命是深刻的,它让我感到惊讶,即使我坐在那里。”还有一些思想家,如着名的物理学家斯蒂芬霍金认为,人工智能可能最终会赢得并接管人类。 30 | 31 | 其他一些思想家,比如着名的企业家埃隆马斯克,相信未来不会那么黑暗,最终人类和机器人最终将会处于某种共生关系。 32 | 33 | 那么,什么是人工智能和机器学习?我认为,在广大公众的眼中,机器学习的话可能与机器人的照片相关联,机器人坐在一堆书上,读另一本书以了解更多信息。 34 | 35 | ![](../img/1-1-2-2.jpg) 36 | 37 | 而事实上,如果我们假设在阅读完书籍和学习之后,机器人 Sonic 将会出去做一些有用的事情,这张图片可能并不能很好描述整个过程。 38 | 39 | 但是,作为科学家,极客们,我们希望更深入一点,了解它如何在更技术层面上发挥作用。 40 | 41 | 好的,但是我们从哪里开始呢?对于新领域的新手,第一项任务通常是理解术语和流行语。 42 | 43 | 2017年4月,kdnuggets.com 发现机器学习的谷歌搜索已经首次超过了大数据的搜索。 44 | 45 | 更重要的是,人们可以注意到,AI,机器学习,数据科学,大数据等术语不仅在可比较的范围内发声,而且人们有时会将它们用作彼此的替代品。 46 | 47 | 我的一位朋友,他是一名统计学家,最近告诉我,虽然他在过去的十年中进行了类似的研究,但大约六年前,他的领域开始被称为机器学习。 48 | 49 | 大约三年前,它现在被称为人工智能。 50 | 51 | 所以,让我首先向你介绍一个简短的术语表,这将是我们在这里的定义。 52 | 53 | 首先,人工智能指的是制造机器的科学,这些机器能够在需要模仿人类认知过程的特定任务上,实现人类水平的表现。 54 | 55 | 例如,面部识别,语音识别和翻译,销售假期的聊天机器人等等。 56 | 57 | 现在,什么是机器学习?机器学习是人工智能的一个子领域,专注于教授计算机直接从数据开始执行任务的算法,而不是为任务明确编程。 58 | 59 | 接下来,数据挖掘使用机器学习技术在数据中查找可操作的模式。 60 | 61 | 此外,当人们谈论大数据时,他们通常会参考大量结构化数据挖掘,即数字或非结构化数据集,如文本,图像,语音等。 62 | 63 | 最后,数据科学是应用统计学和机器学习来帮助货币化信息和数据的人们新兴行业的名称。 64 | 65 | > 从国内的视角来看: 66 | > 67 | > AI 和 ML 的定义与课程完全一致。但是 AI 一般指“基于 ML 的 AI”,也就是由数据驱动的 AI。其它种类的 AI 几乎绝迹了。 68 | > 69 | > 数据挖掘更像是“结构化机器学习”。 70 | > 大数据和算法无关,指的是“储存和处理海量数据所用的平台”,一般代表 Spark、Storm、Hadoop 这种东西。 71 | > 72 | > 数据科学包括关于数据的一切,包括机器学习、统计学、数据可视化等等,但不包括 AI 里的非数据的部分。 73 | 74 | 这里要注意的关键点是机器学习是所有上述领域的核心要素。 75 | 76 | 任务学习是计算机用来了解外部世界的东西,就像人类为了同一目的而使用数学和物理学一样。 77 | 78 | 事实上,就其应用而言,机器学习与人工智能的现代解释非常相似,有些人开始使用术语机器智能,来指代在该领域中运营的众多创业公司的业务计划。 79 | 80 | 因此,我们已经涵盖了基本术语,特别是理解现代人工智能和机器学习是两个密切相关的领域,为正在进行的第四次工业革命提供动力。 81 | 82 | 在下一个视频中,我们将更深入地了解 AI 和机器学习实际是什么。 83 | 84 | ## 第二部分 85 | 86 | 现在,让我们更加技术化,并介绍 Russell 和 Norvig 在经典教科书中定义的人工智能概念。 87 | 88 | 根据他们的定义,人工智能研究智能体,他们感知他们的环境并执行不同的行动,来解决涉及模仿认知功能的任务。 89 | 90 | 实际上,由于这些智能体需要在软件和硬件中实现,因此我们将使用智能体一词作为可能的软件和硬件架构组合的统称。 91 | 92 | 以及学习执行这些特定任务的算法。 93 | 94 | 人工智能有许多短期和长期目标,对应于各种各样的任务。 95 | 96 | 我们一个一个地介绍它们。 97 | 98 | 第一个目标是教计算机使用数据,物理科学等经验。 99 | 100 | 我们可以将此目标称为感知和学习的目标。 101 | 102 | 第二个目标是教 AI 智能体为未来做计划,实现目标并采取行动实现这些目标。 103 | 104 | 人工智能的这两个目标或子领域构成了机器学习。 105 | 106 | 换句话说,机器学习正是这一点,是一般人工智能研究的一个子领域,专注于从数据中学习和实现目标的任务。 107 | 108 | 我们的专项分别将专注于人工智能的这些任务。 109 | 110 | 仍然为了完整起见,我想简要概述一下 AI 的其他子领域,这些子领域不是机器学习,而是经常使用机器学习来实现目标。 111 | 112 | 其中之一是将知识表示为一组对象和关系的目标。它是被称为本体的东西。 113 | 114 | 另一个是模仿人类逻辑推理的自动推理的目标。 115 | 116 | 最后,自然语言处理(简称 NLP)的目标是理解书面和口头的人类语言。 117 | 118 | ![](../img/1-1-2-3.jpg) 119 | 120 | 所有这些都是现代工业为导向的 AI 的目标,有时在学术文献中被称为弱 AI 或应用 AI。 121 | 122 | 这些技术已经对许多行业产生了巨大影响。 123 | 124 | 它们使用人工提供的算法来操作,通常可以调优,以便在一个预先指定的任务上运行良好。 125 | 126 | 例如,你不能对 AI 智能体这样说:“出去找你自己做的事情。”在这种情况下,现代 AI 不会理解你。 127 | 128 | 这种更复杂,更人性化的认知任务是人工智能的长期目标,有时被称为广义人工智能目标或简称 AGI。 129 | 130 | ![](../img/1-1-2-4.jpg) 131 | 132 | 这些目标包括通过建立自己的世界的所有模型,使智能体自主学习。 133 | 134 | 这些智能体将能够形式化子符号信息。 135 | 136 | 例如,Yann LeCun 深度学习进化之父之一提到,“他拿走了他的包并离开了房间”这一短语特别暗示了这个人走出了门,而不是,例如,跳出窗外,或传送到另一个星球。 137 | 138 | 这是子符号信息的一个例子,现代计算机仍然学着感知它。 139 | 140 | 其他更为遥远的任务包括创造力,好奇心和惊喜的算法理论,正如另一位深度学习的基础之父 Juergen Schmidhuber 所追求的那样。 141 | 142 | 最后,根据着名企业家和未来学家雷·库兹威尔(Ray Kurzweil)的说法,人们预计人工智能将在 2,045 能够解决任意的智力任务。 143 | 144 | 在这短暂的未来之后,让我们回到现在,再次考虑我们介绍的 AI 智能体的定义。 145 | 146 | 根据它,智能体执行两项任务。 147 | 148 | 首先,他们直接通过传感器或通过从磁盘读取数据,来感知物理世界。 149 | 150 | 其次,它们有助于解决各种任务。 151 | 152 | 这些行为可能有所不同。 153 | 154 | 例如,它们可以一劳永逸地固定,也可以改变。 155 | 156 | 这些操作可能会也可能不会改变智能体运行的环境。 157 | 158 | 当然,主要问题是如何选择正确的方向。 159 | 160 | 这个问题的概念性答案来自理性 AI 智能体的概念。 161 | 162 | ![](../img/1-1-2-5.jpg) 163 | 164 | Russell 和 Norvig 的书将其定义如下。 165 | 166 | “对于每个可能的感知序列,理性只嗯呢该题应该选择一个行动,预期会最大化它的表现度量”,根据感知序列提供的证据以及智能体具有的任何内置知识。 167 | 168 | 让我们在同一本书中考虑的真空清洁器的例子中说明它。 169 | 170 | ![](../img/1-1-2-6.jpg) 171 | 172 | 因此,我们假设让机器人做清洁,机器人立即响应并开始工作。 173 | 174 | 它需要什么?首先,清洁机器人知道环境的地理位置。 175 | 176 | 他们可能被认为是先验知识。 177 | 178 | 其次,机器人最初不知道自己的位置或污垢的位置。 179 | 180 | 因此,无论什么时候,机器人的第一项任务是察觉它的位置,并查明该位置是否包含污垢。 181 | 182 | ![](../img/1-1-2-7.jpg) 183 | 184 | 最后,假设清洁区域的数量是表现指标,机器人应清洁尽可能多的区域。 185 | 186 | ![](../img/1-1-2-8.jpg) 187 | 188 | 最后,机器人必须让电池够用,才能在清洁工作完成后返回充电站。 189 | 190 | ![](../img/1-1-2-9.jpg) 191 | 192 | 理性智能体的概念是机器学习作为人工智能子领域的核心。 193 | 194 | 我们可以在高层次上说,我们在这个专业领域所做的就是研究各种理性的金融 AI 智能体。 195 | 196 | 这些智能体学会了解环境。 197 | 198 | 这是为了消化金融数据,有时是非金融数据,并执行某些操作来最大限度地提高某些表现指标。 199 | 200 | 在下一个视频中,我们将详细介绍机器学习的目标和类型。 201 | 202 | ![](../img/1-1-2-10.jpg) 203 | -------------------------------------------------------------------------------- /docs/1.1.3.md: -------------------------------------------------------------------------------- 1 | # 1.1.3 机器学习是人工智能的基石 2 | 3 | ## 第一部分 4 | 5 | 正如我们之前所说,理性的智能体不仅应该感知它的环境,还要学习它。但是,计算机从其环境中学习是什么意思? 6 | 7 | 例如,简单地将存储数据来学习吗?这个问题的答案是否定的。存储数据的计算机称为数据库,它与学习无关。相反,学习意味着泛化的能力。 8 | 9 | ![](../img/1-1-3-1.jpg) 10 | 11 | 为了在呈现新数据时采取最优行动,将显示的数据用于学习就足够了。泛化是学习的最终目标,或者我们甚至可以说,学习是一种方法,在没见过的数据上很好地完成任务。 12 | 13 | 机器学习分别是人工智能的一个子领域,它研究感知,学习和行为任务,作为从原始数据中学习的算法。 14 | 15 | ![](../img/1-1-3-2.jpg) 16 | 17 | 机器学习已经出现,或者我们甚至可以说它在统计建模和动态规划等领域中脱颖而出,作为对现实世界工业需求的响应,需要有效处理大型和高维数据的方法。机器学习通过关注计算机算法,来估计复杂函数,它们通常不能以封闭形式表达,来使这些领域现代化。此外,机器学习还受益于许多领域,如信息论,计算机科学,物理学,神经科学,生物学等。作为一般人工智能研究的一个特定子领域,机器学习用于人工智能领域,如测量语言处理,基于知识的系统和任务,或者在广义人工智能领域。我还想提醒你,我提到的机器智能一词。作为一个建议的课程,我们应该假设它们代表人工创业公司以及大公司所追求的 AI 空间项目。 18 | 19 | ![](../img/1-1-3-3.jpg) 20 | 21 | 现在,让我们更详细地考虑,传统统计建模和机器学习之间的区别。尽管在两种方法之间绘制一条硬分隔线并不容易,但我们仍然可以指定一些区分它们的广泛类别。首先,统计模型通常试图用基于因果关系的关系来解释世界。相反,机器学习只是试图模仿作品而不是解释它。 22 | 23 | 我们经常使用相关性作为因果关系的代替。现代统计方法具有非常具体的世界模型,只需要进行估算。在这种方法中推导出可观察量之间的关系。在机器学习方法中引入了可观察量之间的不同关系。这是因为它没有任何先验预先指定的世界模型,而是专注于预测能力。 24 | 25 | 此外,统计模型通常处理小数据,通常具有多达数百个属性和数千个示例。另一方面,机器学习有时会处理可能具有数十万个属性的数据。由于这种差异,例子数量是数以亿计。虽然可扩展性通常不是统计模型和方法的主要关注点。它有时在机器学习应用中变得至关重要。 26 | 27 | 最后,我想提一下,虽然统计建模是基于概率方法。一些机器学习方法包括支持向量机,神经网络和一些聚类方法是非概率性的。 28 | 29 | 现在,是时候介绍机器学习的主要图表了。 30 | 31 | 回想一下前一个显示智能体和环境的视频的图表。 32 | 33 | 现在让我用名称 ML 算法替换名称智能体,并再次将它们绘制到元素。 1997 年米切尔的书中给出了机器学习作为学习过程的简明操作定义。它说计算机程序旨在从经验 E 中学习,涉及任务 T 的子类和表现度量 P,如果它在任务 T 中,由 P 测量的表现随经验 E 而改善。 34 | 35 | ![](../img/1-1-3-4.jpg) 36 | 37 | 因此,将这三个元素添加到图表中,我们现在可以将其视为机器学习过程的一般描述。但是这个 T,E 和 P 如何? 38 | 39 | 我们需要更详细地说明任务 T,表现度量 P 和经验 E 的含义。这就是我们接下来要做的。 40 | 41 | ![](../img/1-1-3-5.jpg) 42 | 43 | ![](../img/1-1-3-6.jpg) 44 | 45 | ## 第二部分 46 | 47 | 所以回顾一下,我们说下一个目标是定义任务类型 'T',表现度量 'P',和经验 'E'。让我们从机器学习中遇到的不同类型的任务开始。 48 | 49 | 请记住我们用于可视化智能体与其环境之间的交互的图表。 50 | 51 | ![](../img/1-1-3-7.jpg) 52 | 53 | 它们可以是许多类型的环境,例如,可观察的或部分可观察的,随机的或确定性的等等。 54 | 55 | 智能体还可以以不同模式与环境交互。 56 | 57 | 例如,智能体可以通过传感器实时地与物理环境交互。 58 | 59 | 这种类型的学习称为在线学习。 60 | 61 | 当智能体不能对环境实时访问时,会创建不同的设置,但只能访问作为数据存储在计算机磁盘上的快照。 62 | 63 | 这称为离线或批量学习。 64 | 65 | 该图表明,有两种常见类型的机器学习任务。 66 | 67 | 第一种类型由所谓的感知任务组成。 68 | 69 | 对于这些任务,智能体应从其环境中学习,来执行一个特定的预定义操作。 70 | 71 | 例如,你可能有一个分类智能体,将所有图像分类为热狗而不是热狗。 72 | 73 | 因为在这种情况下,智能体的动作是智能体所学习的环境的固定函数,所以我们将这些任务称为感知任务(预测)。 74 | 75 | 另一类由任务构成,其中智能体应从一组所有可能的动作中选择最佳动作。 76 | 77 | 让我们称这样的任务为行为任务(决策)。 78 | 79 | 与感知任务类似,它们涉及从环境中学习的子任务,但最终目标是在许多动作中找到最佳动作。 80 | 81 | 因此,行为任务通常比感知任务更复杂。 82 | 83 | 现在,我们来谈谈表现度量 'P'。通常,正确的度量指标的选择特定于任务 'T'。例如,让我们考虑二分类的任务,例如上面的热狗和不是热狗分类器的例子。 84 | 85 | ![](../img/1-1-3-8.jpg) 86 | 87 | 模型精度的一个度量可以是误差率,定义为错误分类的示例与示例总数的比率。 88 | 89 | 在这种情况下,准确率只是一减去错误率。 90 | 91 | 错误率也可以被视为预期 0-1 损失率的估计。 92 | 93 | 这为每个误分类示例给出误差一,每个正确分类示例给出误差零,但是这种表现度量在实践中是不方便的,因为当模型的参数连续变化时它可能会连续地改变。 94 | 95 | 换句话说,这种表现度量将是其参数的不可微分函数,因此基于梯度的优化方法不能应用于该设定中。 96 | 97 | 表现度量的错误率的平滑且可微分的替代方案,是在模型的假设下考虑观察数据的概率或低概率。 98 | 99 | 这产生了可微的目标函数,用于将所有参数拟合到数据的过程,这可以使用基于梯度的优化软件有效地完成。 100 | 101 | 如果我们处理回归问题,一个特定的表现指标是由此函数定义的均方损失。 102 | 103 | 这里,Y 是真实观察到的输出,'Y' 帽子是这些输出的模型估计。 104 | 105 | 总和在所有观察值上计算,因此只有当所有数据点完全匹配模型而没有任何错误时,均方误差才为零。 106 | 107 | 此处显示的所谓 L-1 损失表示回归的另一个表现指标。 108 | 109 | 它所做的就是用绝对值替换它们的平方。 110 | 111 | 根据回归问题的具体细节,它可以是前一个或后一个选项,在每个给定的情况下最合适。 112 | 113 | 最后,让我们更仔细地看一下经验 'E'的定义。通常,我们可以区分三种主要的学习类型和经验。 114 | 115 | ![](../img/1-1-3-9.jpg) 116 | 117 | 第一种称为监督学习。 118 | 119 | 它被称为监督学习的原因是,因为这个设定假设为了训练机器学习算法,人类教师给出了一组例子,教师在训练完成后期望从算法中得到什么。 120 | 121 | 集合由一对属性和右侧标签组成。 122 | 123 | 你知道它分别为 X 和 C。 124 | 125 | 这意味着对于具有属性 X 的每个数据点,机器学习智能体可以比较其自己的基于模型的标签 C hat 与该数据点的真实标签 C。 126 | 127 | 另一种类型称为无监督学习。 128 | 129 | 它被称为无监督的原因是,这里仅给出了具有属性 X 的示例,但没有教师提供类标签。 130 | 131 | 在这种情况下,智能体必须提供自己的标签 C 帽,而不依赖于教师提供的标签 C。 132 | 133 | 最后,第三种经验学习被称为强化学习。 134 | 135 | 这种情况在前两种情况之间。 136 | 137 | 有一位教师,但这位教师只对机器学习智能体的表现给出了部分反馈。 138 | 139 | 反馈来自智能体在执行其操作时收到的奖励。 140 | 141 | 智能体已知的,最大化某些目标的行为,会得到更高的奖励,而其他行为变得更小甚至是负面奖励,即他们受到惩罚。 142 | 143 | 将机器学习算法分类为监督,无监督和强化学习可能是机器学习最基本的本体论。 144 | 145 | 绝大多数适合机器学习技术的实用算法都属于这些类别之一。 146 | 147 | 在下一个视频中,我们将深入研究此类别中更具体的机器学习任务。 148 | 149 | ![](../img/1-1-3-10.jpg) 150 | 151 | ## 第三部分 152 | 153 | 好的,所以上周在这里,我们介绍了金融机器学习的三个主要过程。即监督学习,无监督学习和强化学习。现在我们可以进一步开发这个选集,让我们再看一下图表。 154 | 155 | ![](../img/1-1-3-11.jpg) 156 | 157 | 我想在这里添加的第一件事是,监督和无监督学习都是关于感知任务。这是因为在这二者中,智能体应该执行一个特定的操作,例如,对图像进行分类。另一方面,强化学习就是行动任务。所以我们将其添加到图表中。现在让我们从监督学习开始,可以考虑这个课程中的更具体的任务。第一项任务,也是最常见的金融任务,就是回归。对于这些任务,目标是学习实值函数,它将 n 维空间 Rn 映射到实值直线 R 上。教师提供输入输出对,x 和 ys 的训练集,其中 y 是实数,x 是 Rn 中的向量。另一个非常常见的监督学习任务是分类。此处的设定与回归完全相同,但此时,ys 是离散数字。你现在看到类别标签。而不是像回归那样连续的东西。 158 | 159 | 现在让我们考虑无监督学习。正如我们之前所说,在这种情况下,没有教师提供正确的答案。但是,我们可以为智能体提供任何有意义的任务吗?嗯,一个这样的任务可以是聚类,也称为商业细分。然而,要将数据点的集合聚类或划分为同构的点分组,你只需要提供所有点的算法属性 x。就函数而言,它看起来与分类完全相同,只是没有向算法提供类标签。另一大类无监督学习算法称为表示学习。该术语包括大量不同的方法,其主要思想始终相同。具体地说,该任务是将初始 n 维数据,其中 n 可以是大数字,映射为 k 维的较低维度空间,其中 k 较小且通常远小于 n。这些任务也称为降维或未来教学任务。 160 | 161 | 我们稍后将在此可视化中看到,表示学习任务在金融中非常常见。它们作为监督学习问题的一部分出现,或者直接在特定的商业环境中使用。例如,一家创意汽车公司可能会针对不同的广大汽车用户群采用不同的营销策略。最后,让我们看看强化的例子。 162 | 163 | 在 enforcement lowering 中优化的函数,是这种所谓的策略函数。这个函数规定了智能体应该根据环境的当前状态做什么,以便在一段时间内最大化其总价值,我们将在本专项的最后一个课程中更详细地讨论。为了实现如此低的等级,训练数据应该采用元组的形式,其中包含当前状态动作、下一个状态的东西、这样做的奖励。除了这种直接强化学习之外,人们对替代形式也有不同的兴趣,称为逆强化学习。在此设置中,所有内容都与直接强化学习相同,但是没有智能体在采取行动时收到的奖励的信息。相反,我们只是给出了一系列环境状态和智能体的行动。并假设,我们被问到,智能体在作出这些行为时所追求的目标。另一个问题是,智能体的最佳可能行动策略是什么,甚至可能与用于收集数据的策略不对应。这就是景观的高级描述。 164 | 165 | 现在,我们的图表为你提供了完整的高级机器学习类型。机器学习中也有一些中间类别,如半监督学习或主动学习。 166 | 167 | ![](../img/1-1-3-12.jpg) 168 | 169 | 但我们不会在这个专项中处理这些主题。我们可以稍微修改一下这个图表。这样我们就可以直观地展示技术行业中机器学习的最常见应用。像谷歌,Facebook,亚马逊等公司。从回归开始,最常见的使用技术包括销售预测,事件预测和类似任务。对于分类,典型的工业应用是垃圾邮件检测,图像识别或文档分类。聚类方法用于客户细分或异常检测。表示学习方法尤其用于文本识别和机器翻译。最后,直接强化学习广泛用于机器人和计算广告。那么,大部分已发表的学习工作都涉及机器人技术。提供用于不同类型的机器学习的特定方法的简要概述,可能也是有用的。 170 | 171 | ![](../img/1-1-3-13.jpg) 172 | 173 | 这可以通过该图表表示。如果你不熟悉绿色矩形中的部分或全部术语,请不要担心。我将在本专项的后面介绍大部分这些方法。所以这个图表主要是为了你未来的努力。但我想在这里提出的观点是,你可以注意到,神经网络存在于所有类型的机器学习中。因此,它们提供了适用于所有类型机器学习的多功能和通用的方法。神经网络的意义在于,它们可以使用统称为深度学习的方法扩展到非常大的数据集。 174 | 175 | 2007 年左右出现了深度学习,作为一种使用大型神经网络的新方法。从那以后,它产生的算法大大超过了其他机器学习算法,用于图像识别和机器翻译等任务,以及许多基础和工业应用。因为它们是非常普遍和强大,我们将花费大量时间在神经网络的便利和影响中,来解决金融问题。 176 | 177 | 但首先,我想谈谈机器学习的一般金融问题。我们在下一个视频中进行操作。 178 | 179 | ![](../img/1-1-3-14.jpg) 180 | 181 | ![](../img/1-1-3-15.jpg) 182 | -------------------------------------------------------------------------------- /docs/1.1.4.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/docs/1.1.4.md -------------------------------------------------------------------------------- /docs/1.1.md: -------------------------------------------------------------------------------- 1 | # 1.1 人工智能和机器学习 2 | 3 | ## 目标 4 | 5 | + 了解机器学习是什么以及它与人工智能的关系。 6 | + 在日常生活中认识 ML:我们周围的算法。 7 | + 说明 ML 应用程序的需求。 8 | + 解释 ML 的核心范式:监督,无监督和强化学习。 9 | + 比较金融中与技术中的 ML(图像和语音识别,机器人等)。 10 | 11 | ## 阅读材料 12 | 13 | + [The Business of Artificial Intelligence](https://hbr.org/cover-story/2017/07/the-business-of-artificial-intelligence) 14 | 15 | + [How AI and Automation Will Shape Finance in the Future](https://www.forbes.com/sites/workday/2017/11/03/how-ai-and-automation-will-shape-finance-in-the-future/#70016965481b) 16 | 17 | + [A. Geron, "Hands-On Machine Learning with Scikit-Learn and TensorFlow", Chapter 1](https://github.com/apachecn/hands_on_Ml_with_Sklearn_and_TF) 18 | -------------------------------------------------------------------------------- /docs/1.2.1.md: -------------------------------------------------------------------------------- 1 | # 1.2.1 泛化和偏方差权衡 2 | 3 | 好的,到目前为止,我们讨论了机器学习和人工智能之间的关系,机器学习方法的广阔前景。金融机器学习与技术机器学习之间存在差异。现在是时候进一步深入详细地了解机器学习如何工作。让我们从机器学习最重要的目标开始,即泛化的目标。 4 | 5 | ![](../img/1-2-1-1.jpg) 6 | 7 | 让我们回到一个图表,该图表显示了我们在上一个讲座中介绍的智能体的学习过程。在这里,我们左侧有一个机器学习智能体,它与右侧的环境进行交互。智能体会感知并了解其环境,以便更好地执行其行动来实现其目标。例如,你的智能体可能是一种算法,用于计算给定客户在信用卡上的违约概率。然后,目标是对许多持卡人计算平均时,使预测尽可能准确。这是通过学习的转变。该算法从可用数据中学习有用信息,以便在新的看不见的数据上表现良好。这种在新数据上表现良好的能力称为泛化。而这种能力是在机器学习环境中学习的最终目标。现在让我们尝试量化泛化能力的概念。 8 | 9 | 让我们考虑一个经典的回归问题,其中我们有一个预测器的向量,或者特征,x,以及尺度 y,我们认为这是由这些预测器驱动的。例如,y 可以是特定股票的回报。 x 可以是市场指数的向量,如标准普尔 500 指数,道琼斯工业平均指数,纳斯达克综合指数,市场情绪指数等。我们想找到一个函数`y = f(x) + epsilon`,它将在给定 x 的值的情况下预测 y 的值。 10 | 11 | ![](../img/1-2-1-2.jpg) 12 | 13 | 这里 epsilon 是一个随机误差项,均值为 0 和方差为 sigma 平方。我们希望找到函数`f(x)`的近似值,它可以很好地泛化。这是什么意思?这意味着,这种近似应该最小化所有数据的平方损失函数,`y-f(x)`的平方,无论是看到的还是看不见的。 14 | 15 | 因此,这种最小化问题是这个表达式,平方损失函数的期望展示在这里。这里的符号`e`意味着我们对所有可能的组合计算期望,即`f(x)`和 epsilon,这可能在我们新的,尚未见到的数据中遇到。 16 | 17 | 因此,一旦我们定义了一个目标函数,让我们看看如果我们试图最小化它会发生什么。首先,我们求解平方并用期望值之和代替总和的期望值。 18 | 19 | 其次,我们将平方的期望表达为方差和期望的平方。并使用原始方程来求解最后一项。接下来,我们组合所有项来获得最终公式。 20 | 21 | ![](../img/1-2-1-3.jpg) 22 | 23 | 现在我们得到了一个特殊的名字,它被称为偏差 - 方差分解。这是先前公式的拆开表述,让我们再读一遍。它表示回归问题的泛化误差等于偏差平方,方差和噪声之和。让我们一个接一个地讨论这些术语。偏差平方是近似预测器和真实预测器之间预期差异的平方。方差衡量估计器对数据选择的敏感性。 24 | 25 | ![](../img/1-2-1-4.jpg) 26 | 27 | 请注意,这只是 f 帽子而不是 f 的函数。最后,噪声项根本不依赖于 f 或 f 帽子。这是我们无法控制的数据属性。 28 | 29 | ![](../img/1-2-1-5.jpg) 30 | 31 | 现在,重要的是要注意,偏方差分解主要是理论值。实际上,我们不知道真实预测器 f(x),我们不知道如何计算偏差和方差项中出现的期望值。但是,它显示了两种不同的模式,通过这两种模式,模型的泛化误差可能会恶化。你的模型可能有很大的偏差,或者它可能有很大的方差。 32 | 33 | 此外,在大多数实际情况中,机器学习算法的一般趋势是,偏差和方差之间具有一种强烈的负相关性。这称为偏差 - 方差权衡。为了减少偏差,你可能愿意考虑包含更多特征的更复杂的模型。这些倾向于减少偏差,因为你的模型更灵活,它有更多的容量来适应数据。 34 | 35 | 然而,另一方面,添加更多特征通常会增加方差。反之亦然,你可以使用简单的线性模型进行回归,但特征数量较少。那么你的模型将具有较小的方差,但它会有很大的偏差。 36 | 37 | 因此,为你的问题构建正确的模型,需要找到与数据复杂性相匹配的,正确级别的模型复杂性。 38 | 39 | 但也许可以事先通过数据的某些特征来建立正确级别的模型复杂性和模型架构。例如,它的维度而不是数据本身。想象一下,例如,如果我们可以有简单的规则,生活将是多么简单,如果数据的维度低于 100,则使用随机森林算法进行分类。如果大于它,则使用神经网络。 40 | 41 | 在下一个视频中,我们将检查这些想法是否可行。 42 | 43 | ![](../img/1-2-1-6.jpg) 44 | -------------------------------------------------------------------------------- /docs/1.2.2.md: -------------------------------------------------------------------------------- 1 | # 1.2.2 没有免费的午餐定理 2 | 3 | 不幸的是,计算机科学中存在强烈的理论负面结果,表明这是不可能的。它被称为免费午餐定理,它由大卫沃尔珀特于 1996 年建立。 4 | 5 | ![](../img/1-2-2-1.jpg) 6 | 7 | 无免费午餐定理说,没有一种分类算法可以普遍在所有领域优于任何其他算法。该定理的更强和更令人惊讶的表述是,当计算所有可能的数据生成分布上的平均时,所有分类算法具有相同的错误率。类似的结果适用于我们之前介绍的回归案例。这句话听起来可能非常令人惊讶,所以让我们考虑一个具体的例子。 8 | 9 | ![](../img/1-2-2-2.jpg) 10 | 11 | 假设我们想要制作一个我们称之为热门股票或不热门股票的分类器。分类器将采用一组预测器或特征,X1 到 XN,我们用它来进行预测。为方便起见,我在这里添加了一个常数预测器,x0 等于 1,但如果你还不知道它是什么,请不要担心。我们稍后会讨论这些技术问题。现在,分类器的输出 z 将是二元数 0 或 1。给定股票的值为 1 表示预期会超过市场,如果不是,则表示 0。我们将使用这种分类器的输出来做出我们的投资决策,以便分类器成为我们的投资顾问。 12 | 13 | 现在要从实值输入 X1 到 XN 得到 0 的 1 的二元输出 z,我们需要把这些输入放进某种非线性变换。我们可以示意性地,把这个函数表示为这种蓝色圆圈。 14 | 15 | 在这个圆圈内部,我为一个变量的情况绘制了一个非线性变换的例子。该函数将具有一些参数。至少 N + 1 个参数,因为这是我们输入变量的数量,包括我们的常量输入 x0。 16 | 17 | 这种函数的一个简单例子是这里所示的所谓 logistic 函数,其中参数将是所有特征的线性组合。这样的函数会有 N + 1 个参数,所以它很简单。这还不是二元输出,因为这样的函数会产生连续输出。但是我们将在后续视频中看到它的输出如何转换为 0 或 1 的二元值。现在,让我们继续这个例子,并假设我们微​​调这个模型的参数,以便它现在在一些大型股票数据集上训练,比如 2,000 只股票和 2000 天的观察。因此,我们总共有 400 万个观测值,每个观测值都有 50 个特征。我再次跳过如何完成此操作的详细信息。我们将在短时间内学习它,但是现在我想专注于高阶概念。因此,假设你构建了这样的分类器并通过查看数据的解析来微调其参数。 18 | 19 | 现在你有一个预测器,会告诉你的是否有任何特定股票是热门的。你现在可以使用此预测器开始交易。例如,你可以购买十个热门股票并卖出十个不热门的股票。实际上,你可能不会对策略的表现太激动,并且你会想要改进分类器。 20 | 21 | 所以现在让我们假设我们提出了如何实现的好主意。如果我们只是生成信息流水线(在这张图片上显示),会发生什么? 22 | 23 | 这里的圆圈代表了这个方框的输入的一些变换。因此,我们的整个流水线将产生非线性变换的一种不同的瀑布。 24 | 25 | 流水线将由接收输入的层组成,对它们进行非线性变换,并在架构中传递它们。 26 | 27 | ![](../img/1-2-2-3.jpg) 28 | 29 | 这里我只展示了两个这样的层,但原则上,我们可以在输入和输出之间的某处添加更多层。每个转换都有自己的参数。因此整个流水线将具有许多参数,并且将产生足够丰富的函数。如果我们有大量数据或许多预测器,那么在某些参数调整之后,这样的模型可能比第一个不太复杂的模型表现得更好。 30 | 31 | 事实上,我所描述的是神经网络的示意图,我们将在此专项中大量讨论它。现在让我们假设我们已经构建了这样一个更先进的模型,甚至发现它确实对我们的股票数据更有效。因此,可能因为它对于股票预测更有效,对于任何相同形状的数据,这种更复杂的模型总是比第一个更不复杂的模型更好。在我们的例子中,有 400 万行和 50 列。实际上,如果它的参数比第一个模型的参数多,那么对于任何 4 百万乘 50 的数据中心,我们是否总是不应该引用第一个模型?无免费午餐定理给出的答案是,更复杂的模型不仅不总是比简单模型更好,如果它们的表现是相同大小的所有可能数据集的比率,它们实际上将具有完全相同的错误率。 32 | 33 | 现在怎么可能,它意味着什么?它只是意味着,所有可能的数据生成机制的集合太丰富,不能被任何给定的机器学习算法充分表示,算法的泛化能力由特定的模型架构决定。例如,虽然非常大的神经网络可以在图像分类上击败任何其他模型,但是免费午餐定理可以保证更简单的模型至少对某些类型的数据更有效。现在缺乏普遍性的坏消息还是好消息?我个人认为这是一个非常好的消息,因为正是它让机器学习如此令人兴奋,并且对每个想要尝试新类型数据集和新机器学习算法的人开放。 34 | 35 | 从上述所有方面得出的另一个更实际的结论是,我们不应该寻求在所有可能的领域中普遍优于任何其他模型的机器学习模型。相反,重点应放在对特定感兴趣领域更有效的模型上。 36 | 37 | ![](../img/1-2-2-4.jpg) 38 | 39 | 这正是这个专项的目标之一,我们在这里探索在金融领域最有效的方法,而不是那些在其他领域发挥更好作用的方法。例如,用于图像识别。 40 | 41 | 在本文中,让我们接下来谈谈一个关键的机器学习概念,即正则化的概念。 42 | 43 | ![](../img/1-2-2-5.jpg) 44 | -------------------------------------------------------------------------------- /docs/1.2.3.md: -------------------------------------------------------------------------------- 1 | # 1.2.3 过拟合和模型容量 2 | 3 | (待补充) -------------------------------------------------------------------------------- /docs/1.2.4.md: -------------------------------------------------------------------------------- 1 | # 1.2.4 线性回归 2 | 3 | 现在是时候介绍我们的第一个机器学习算法了。 4 | 5 | 而出人意料,这个算法是着名的线性回归,这是一种你可能熟悉的算法。我们将通过将其视为典型的机器学习算法,来了解线性回归的原理,算法具有我们之前介绍的任务,表现测量和机器学习方法的其他属性。 6 | 7 | 为了稍微调整一下,我们将从一开始就考虑一般的多变量情况。 8 | 9 | 首先,让我们从任务 T 开始。我们的任务是预测标量变量 y 的值,给定预测器或特征向量 X0 到 XD-1,这将是 D 维空间 RD 中的向量。 10 | 11 | ![](../img/1-2-4-1.jpg) 12 | 13 | 现在,为了从经验中学习,我们给出了一对 X 和 y 的数据集,我们可以像以前一样分成两个数据集,X_train,y_train 和 X_test,y_test。假设这两个数据集都是来自某些数据生成分布 P 数据的 IAD 样本。接下来,考虑我们想要使用的模型架构。由此,我们的意思是定义一个 X 函数空间,我们试图拿它拟合我们数据。 14 | 15 | 在这种情况下,我们选择线性架构。也就是说,我们将自己约束为 X 的一类线性函数。这里,y 是 N 个预测值的向量。X 是尺寸为 N×D 的设计矩阵。W 是长度为 D 的回归系数的向量。 16 | 17 | ![](../img/1-2-4-2.jpg) 18 | 19 | 这种向量通常也被称为机器学习中的权重向量。 20 | 21 | 现在,这种线性回归模型的一个例子是,试图预测某些股票的每日回报的模型。让我们例举亚马逊股票。虽然 X 将是各种市场指数回报的向量,例如标准普尔 500 指数,纳斯达克综合指数,VIX 等。现在我们必须指定表现指标。我们将其定义为,在测试集上计算的均方误差或简称 MSE。因此,为了计算它,我们计算测试集中 O 个点的不同 Y,和模型预测 Y hat 之间的平方差的平均值。同样的事情也可以更紧凑地写成,因为向量 Y hat 和 Y 之间的重缩放的平方距离。 22 | 23 | ![](../img/1-2-4-3.jpg) 24 | 25 | 现在我们可以用上面的模型方程代替 Y hat,并用这种形式写出来。 26 | 27 | 接下来的问题是如何找到最佳参数 W。 28 | 29 | 我们按照在上一讲中讨论的那样继续进行,并寻找最小化另一个目标的参数 W,即训练集上的 MSE 误差。这将是与此处相同的等式,但 X_test 由 X_train 代替,Y_test 由 Y_train 代替。 30 | 31 | 原因是两个均方误差以及训练和测试数据都估计相同的数量,这是泛化误差。 32 | 33 | ![](../img/1-2-4-4.jpg) 34 | 35 | 现在,为了找到 W 的最佳值,我们需要将 MSE 训练误差的梯度设置为 0。这给出了这个表达式,对于 W 的最佳向量,它应该等于 0。现在,让我们在 N_train 上添加一个不必要的常数乘数 1,并将梯度写为向量范数的梯度,我们将其写为向量和自身的标量积。 36 | 37 | 这里,符号 T 代表转置向量。 38 | 39 | ![](../img/1-2-4-5.jpg) 40 | 41 | 现在,让我稍微简化一下这个关系,省略上标,因为我们不需要它们。我们只记得在这个计算中我们只使用训练数据。 42 | 43 | 现在,下一步,我们扩展标量乘积并计算相对于 W 的整个表达式的导数。 44 | 45 | ![](../img/1-2-4-6.jpg) 46 | 47 | 由于第一项是 W 的二次方,第二项几乎是线性的,而最后一项完全不依赖于 W,它会在微分时省略。结果,我们得到了这个表达式。对于最佳向量 W,它应该等于 0。现在通过简单地对等式求逆来获得 W 最佳值。所以我们最终得到了这个公式。 48 | 49 | 这种关系也称为回归分析中的正规方程。让我们回想一下,这里的 X 和 y 指的是训练集中的值。 50 | 51 | 为了了解此处涉及的矩阵运算,如此处所示,可视化此关系也很有用。 52 | 53 | 现在,给定估计向量 W,我们可以用它做一些事情。首先,我们可以通过将 X_train 左乘 W 来计算训练或样本内误差。 54 | 55 | 如果我们用这个表达式代替 W,我们看到它可以表示为矩阵 H 的乘积,由数据矩阵 X_train 和向量 y_train 组成。该矩阵有时称为 H hat 矩阵。你可以检查此矩阵是否为投影矩阵。 56 | 57 | ![](../img/1-2-4-7.jpg) 58 | 59 | 特别是,它是对称的和幂等的,意味着它的平方等于矩阵本身。 60 | 61 | 估计向量 W 的另一个方面是使用它来进行预测。 62 | 63 | 例如,如果我们使用测试数据集来预测样本,那么答案就是 X_test 和向量 W 的乘积。 64 | 65 | ![](../img/1-2-4-8.jpg) 66 | 67 | 现在,请注意这种关系中有趣的事情。我们看到 W 的表达式包括 X 转置和 X 矩阵的乘积的倒数。如果数据矩阵 X 包含几乎相同或非常强相关的列,则可能导致该乘积几乎是退化矩阵的情况。 68 | 69 | 当一列可以表示为其他列的线性组合时,会发生另一种常见情况,产生几乎退化矩阵。这在统计学上被称为多重共线性现象。这是该矩阵的行列式。在所有这些情况下,我们在数字上非常接近于零。这可能导致预测值不稳定或无穷大。 70 | 71 | 有多种方法可以防止线性回归中的这种不稳定性。其中之一是扫描预测变量集以排除可能的多重共线性。但也有一些其他方法。特别是,在下一个视频中,我们将讨论平等化,是一种在监督学习算法中提供更好的样本外性能的方法。 72 | 73 | ![](../img/1-2-4-9.jpg) 74 | -------------------------------------------------------------------------------- /docs/1.2.5.md: -------------------------------------------------------------------------------- 1 | # 1.2.5 正则化、验证集和超参数 2 | 3 | 我们在上一个视频中提到,当泛化表现开始恶化时,称为正则化的过程有助于线性回归和其他机器学习算法。 4 | 5 | 现在,我们来谈谈正则化,机器学习的另一个关键概念,更详细一点。 6 | 7 | 如果我们回想起在机器学习中我们最小化训练误差,MSE train 用于回归,即使我们的主要兴趣在于 MSE test,正则化的想法也变得更加清晰。 8 | 9 | 主要思想是,通过添加模型参数的函数来修改目标函数,希望新函数能够生成具有较小方差的模型。 10 | 11 | 这里显示了我称之为 J 的这种函数。 12 | 13 | ![](../img/1-2-5-1.jpg) 14 | 15 | 它有两项。 16 | 17 | 第一个是熟悉的 MSE 训练损失。 18 | 19 | 注意,它是模型参数 W 和数据 X 的函数。 20 | 21 | 第二项由正则函数 omega 给出,该函数是权重 lambda 乘以输入总和。 22 | 23 | 该参数通常称为正则化参数。 24 | 25 | 注意,第二项仅是模型参数 W 的函数,而不是输入 X 的函数。 26 | 27 | 现在,这个新项的影响既取决于 W 的形式,也取决于正则化参数 lambda 的值。 28 | 29 | 如果 lambda 接近零,我们回到最初的情况,没有任何正则化。 30 | 31 | 另一方面,如果 lambda 非常大,那么优化器将忽略第一项所有并且将尝试最小化第二项。 32 | 33 | 因为第二项完全不依赖于数据,所以所得到的解决方案,将简单由 W 的一种正则化器一次性固定,而不管实际数据如何。 34 | 35 | 对于 lambda 的任何中间值,模型参数的结果值将介于将在这两个限制情况下获得的值之间。 36 | 37 | 这种情况是我们所需要的。 38 | 39 | 我将在几分钟内解释我们如何选择 lambda 的最佳值,但首先让我向你展示机器学习中常用的正则化器的一些流行示例。 40 | 41 | ![](../img/1-2-5-2.jpg) 42 | 43 | 第一个常见的正则化器,就是向量 W 的 L2 范数的平方。 44 | 45 | 这种正则化器的回归问题称为岭回归。 46 | 47 | 它的作用是试图找到权重不会太大的解决方案。 48 | 49 | 另一个流行的正则化器是向量 W 的 L1 范数。 50 | 51 | 这被称为 L1 或 LASSO 正则化,并且事实证明这种正则化强制了解决方案的稀疏性。 52 | 53 | 当权重应该是非负的并且总和为 1 时,有时使用的另一种正则化是所谓的熵正则化,这在此处示出。 54 | 55 | 这种正则化源于贝叶斯统计。 56 | 57 | 我们将在本专项的下一个课程中更深入地讨论正则化方法。 58 | 59 | 但就目前而言,如果你已经决定使用正确的正则化项,我想讨论如何选择 lambda 的最佳值。 60 | 61 | 正则化参数将是我们所谓的超参数的第一个例子。 62 | 63 | ![](../img/1-2-5-3.jpg) 64 | 65 | 我们将在此专项中看到更多超参数的例子,但那些超参数是什么?通常,超参数是机器学习算法的任何定量特征,它们不通过最小化训练或样本内损失,诸如 MSE train,而直接优化。 66 | 67 | 超参数的主要功能是控制模型容量,即模型逐步拟合更复杂数据的能力。 68 | 69 | 回归超参数的一个例子是用于回归的多项式的次数,即它是线性的,二次的,三次的等等。 70 | 71 | 我们刚刚介绍的正则化参数 lambda 是另一个常用的超参数。 72 | 73 | 超参数的其他示例包括,决策树中的层数或神经网络中的层数或每层的节点数。 74 | 75 | 一些参数将提供一些进一步的例子,这些参数决定了模型拟合新数据的速度。 76 | 77 | 这些参数称为学习率,适当的选择在实践中通常非常重要。 78 | 79 | 所有这些超参数之间的共同点,是它们通常使用两种方法之一来选择。 80 | 81 | 第一种方法非常简单。 82 | 83 | 我们只是将训练集分成一个较小的训练集和一个称为验证集的集合。 84 | 85 | 例如,你可以为验证集留出约 20% 的训练数据。 86 | 87 | 我们的想法是使用新的训练集来调整模型的参数,然后使用验证集来调整超参数。 88 | 89 | 调整参数和超参数时,使用测试集评估模型的最终表现,方法与之前相同。 90 | 91 | 这种方法很简单,理论上也很可靠,但是当数据集很小时,它可能并不理想。 92 | 93 | 在这种情况下,为验证集留出一些数据可能是不合需要的,因为它可能导致样本的准确性更差。 94 | 95 | 为了应对这种情况,使用了一种称为交叉验证的方法。 96 | 97 | 与第一种方法不同,交叉验证方法在训练期间不会丢弃任何信息。 98 | 99 | 这就是交叉验证的工作原理。 100 | 101 | ![](../img/1-2-5-4.jpg) 102 | 103 | 假设我们有 N 个样本可用于训练但 N 很小,因此留出一部分数据是有问题的。 104 | 105 | 那么,我们做的是以下几点。 106 | 107 | 首先,我们定义一些超参数的可能值的集合。 108 | 109 | 例如,我们想要优化的正则化参数 lambda。 110 | 111 | 通常,这被定义为一小部分可能的值,因此我们只想从一组候选值中选择最佳值。 112 | 113 | 接下来,我们将整个训练数据集划分为大小相等的 k 个块,X1 到 Xk。 114 | 115 | 然后我们启动以下循环过程,我们对我们的候选值集合中的正则化参数的所有值重复这些过程。 116 | 117 | 首先,我们将第一个块拿出来,并在其余的训练数据上训练我们的模型。 118 | 119 | 完成后,我们使用超参数的当前值和坐标值来评估块 X1 的模型误差。 120 | 121 | 因此,到目前为止,它看起来与基于验证集的方法完全相同,但不同之处在于我们的下一步。 122 | 123 | 记录完样后,第一个块获取的样本误差后,我们把它放回训练集并取出我们的下一个块,X2。 124 | 125 | 然后我们重复上面的所有步骤,即我们用块 X1,X3 等等训练模型,然后在块 X2 上运行训练的模型,并记录估计的样本外误差。 126 | 127 | 然后,我们继续此循环过程,并计算在按序取出所有块时获得的平均样本外错误。 128 | 129 | 我们分别针对我们想要尝试的超参数的所有可能值执行此过程,并且超参数的最佳值将是提供样本误差的最小平均值的值。 130 | 131 | 我所描述的称为 K 折交叉验证,其中 K 代表我们对训练数据集进行划分的块数。 132 | 133 | 这里有一些特殊情况值得一提。 134 | 135 | 首先,如果我们让 K 等于 1,那么显然在这种情况下我们将不会有任何保留的块。 136 | 137 | 所以,这个案例对我们的目的来说并不是很有意思。 138 | 139 | 其次,如果我们将 K 等于 M,我们得到了交叉验证的限制情况,称为留一交叉验证。 140 | 141 | 在这种情况下,在我们的循环过程的每个步骤中,我们只有一个数据点不用于估计模型,因此可用于样本外测试。 142 | 143 | 这种留出式交叉验证在实践中很少使用,因为一旦你的数据集变得相当大,它就会变得非常耗时。 144 | 145 | 一个更受欢迎的选择是使用 10 折或 5 折的交叉验证,其中块的数量分别为 10 或 5。 146 | 147 | 调整超参数通常是构建机器学习算法的一个非常重要的部分,这也可能是非常耗时的部分,特别是如果你有很多超参数或者你没有它们的良好猜测。 148 | 149 | 因此,它需要广泛的可能值。 150 | 151 | 我们将在专项的许多部分进行此类分析,包括监督学习,无监督学习和强化学习等主题。 152 | 153 | 总结一下本课程,我们已经涵盖了机器学习的许多重要概念,例如过拟合,偏差方差分解,正则化和超参数调整的问题。 154 | 155 | 在下一课中,我们将开始了解,这些概念如何应用于,可以使用监督学习方法解决的现实世界金融问题。 156 | 157 | ![](../img/1-2-5-5.jpg) 158 | -------------------------------------------------------------------------------- /docs/1.2.6.md: -------------------------------------------------------------------------------- 1 | # 1.2.6 金融中的监督学习概览 2 | 3 | ![](../img/1-2-6-1.jpg) 4 | 5 | 俗话说,如果你有锤子,一切看起来像钉子。这正是本周末你会得到的。你会得到那台机器学习之锤。 6 | 7 | 锤子是与 TensorFlow 相结合的神经网络,TensorFlow 是一个功能强大的机器学习(符号计算)库,由 Google 于 2015 年 11 月开源。 8 | 9 | 你可能以前曾听说过或使用过这些工具。但如果没有,那么我认为现在就可以了解这些工具。所以这就是你将在本周学到的东西。让我们从本周的第一课开始吧。首先,你将通过我们的主要工具 TensorFlow 熟悉本课程。我们将首先回顾一下 TensorFlow 如何实现所谓的计算图。 10 | 11 | 然后我们将打开我们的第一个 TensorFlow Jupyter 笔记本,通过查看非常简单的操作,来了解这些内容是如何工作的。 12 | 13 | 接下来,你将看到 TensorFlow 如何实现简单的线性回归,并将其与其他 Python 包的完成方式进行比较。之后,你将了解神经网络的组织方式,以及线性回归为何只是一个非常特殊和简单的神经网络。 14 | 15 | 你还将看到为什么神经网络可以被视为一种机器学习之锤。 16 | 17 | 了解神经网络后,你将了解用于训练的方法。在这里,你将会遇到现代机器学习的一些主力课程,即梯度下降法及其变体,如随机梯度下降。我们将看到他们在理论和实践中都怎么用,也就是说,在幻灯片和 Jupyter 笔记本中一起。在这里,我们将首先看到,它在线性回归中的原理,然后在 TensorFlow 中实现神经网络回归。所有这些都将使用一些简单的非金融数据来完成,这样我们就不会同时在几个新主题中迷失。 18 | 19 | 所有这些主题将在第一课中介绍。然后在我们得到如此强大的锤子后,我们将开始寻找金融的钉子。你会看到的第一个钉子是一个非常经典的金融问题,即预测每股收益或简称 EPS 的问题。 20 | 21 | ![](../img/1-2-6-2.jpg) 22 | 23 | 一旦我们拥有 TensorFlow 和其他软件包(如 scikit-learn 和 statsmodels )之类的工具,我们就可以尝试对此问题进行线性和非线性神经网络回归。之后,我们将转向分类方法。我们将首先看看机器学习如何处理概率模型。然后我们将讨论最大似然估计和相关方法,如最大后验方法。 24 | 25 | 我们还将讨论相对熵的概念,也称为 KL 散度,这对理解机器学习非常重要。 26 | 27 | ![](../img/1-2-6-3.jpg) 28 | 29 | 然后你会看到,所有这些机器如何应用于分类问题。你将了解最强大的分类方法之一,称为逻辑回归。你还将学习如何在 scikit-learn 和 TensorFlow 中实现它。你将看到另一个特例,逻辑回归是如何被称为神经网络的通用锤子。最后,我们的锤子将找到第二个金融的钉子,这将成为预测银行破产的问题。正如你将看到的,我们的锤子对于这种类型的钉子来说非常好。所以这就是你将在本周掌握的内容。 30 | -------------------------------------------------------------------------------- /docs/1.2.7.md: -------------------------------------------------------------------------------- 1 | # 1.2.7 数据流和 TensorFlow 2 | 3 | 好的,让我们从 TensorFlow 开始,它,以及其他一些库,将是我们本课程中的主要工具之一。 4 | 5 | 什么是 TensorFlow? TensorFlow 是一个高质量的,可用于生产和资源友好的机器学习库。 6 | 7 | 在 2015 年 11 月由谷歌开源之后,它迅速成为最受欢迎的框架之一,无论是在机器学习研究人员社区还是从业者之间。 8 | 9 | 作为一个例子,我只能提到谷歌在其业务中使用的大多数相关任务,现在由 TensorFlow 提供支持。 10 | 11 | 很快,这可能会让你了解一旦掌握了这个伟大的工具,你可以获得什么样的力量。 12 | 13 | 正如你将看到的,稍后,TensorFlow 不仅是机器学习的一个很好的工具,而且由于其灵活性,计算和分析能力,对一般的应用数学也非常有用。 14 | 15 | 让我们从 TensorFlow 的组织方式入手。 16 | 17 | TensorFlow 中实现的主要思想是数据流计算模型。 18 | 19 | 这个想法虽然听起来很简单,但对于实际的机器学习算法的优先级,可扩展性和可移植性来说,这一点至关重要。 20 | 21 | 让我们看看它是如何工作的。 22 | 23 | ![](../img/1-2-7-1.jpg) 24 | 25 | 数据流图是具有节点和边的图,节点表示某些计算单位,边表示由任何给定节点消耗或产生的数据。 26 | 27 | 换句话说,边表示图上的数据流。 28 | 29 | 这就是为什么它被称为数据流图。 30 | 31 | 让我们看看我们如何表达两个变量 x 和 y 的简单函数,这里显示 x 平方乘 y + y + 2。 32 | 33 | ![](../img/1-2-7-2.jpg) 34 | 35 | 为此,我们首先介绍几种节点。 36 | 37 | 首先,我们将有蓝色方块。 38 | 39 | 这些代表函数输入。 40 | 41 | 它们可以是变量,如 x,y,或者它们可以是常量,如用于固定数的节点,在此函数中为 2。 42 | 43 | 像这些椭圆形的其他节点代表操作,或简称 ops。 44 | 45 | 这些在输入和其他操作的输出上执行。 46 | 47 | 现在让我们使用这个数据流图再进一步,看看如果我们向图输入其他张量,而不是常规数字,会发生什么。 48 | 49 | 但什么是张量?如果你熟悉 Numpy 中的多维数组,那么它们就是这些张量。 50 | 51 | 换句话说,张量是多维数学对象,可以用 Python 或其他语言存储为多维数组。 52 | 53 | 如果你从未使用 Python 中的多维数组,但只熟悉矩阵或二维数组,你可以考虑这样的矩阵列表。 54 | 55 | 这将是 3 阶张量。 56 | 57 | 为什么它是 3 阶的,什么是张量的阶?张量的阶只是张量的维数。 58 | 59 | 对于我们的例子,这个数字将是 3,因为我们将有三个坐标来存储我们的矩阵列表。 60 | 61 | 矩阵的数量,行和列。 62 | 63 | 在金融中使用 3 阶张量的一个非常自然的例子是股票数据。 64 | 65 | ![](../img/1-2-7-3.jpg) 66 | 67 | 在这样的张量中,一个维度代表日期,另一个代表股票代码,第三个维度代表你希望包含在分析中的该主题的所有特征。 68 | 69 | 例如,如果你使用一组日期获取一组股票的股票数据,它将返回一个称为数据面板的对象,该对象实现了这种类型的张量。 70 | 71 | 请注意,无论你希望在此分析中包含多少东西,你的数据仍将是 3 阶张量。它仅仅沿着第三维度增加元素数量。因此,一旦我们让张量存在于数据流图上,我们就理解了 TensorFlow。它的名字是它的作用的准确描述。 72 | 73 | ![](../img/1-2-7-4.jpg) 74 | 75 | 它在图上计算称为 Tensor 的数据流。更确切地说,它分两步进行。首先,它允许你使用高级 Python API 为你的问题构建数据流图。然后,它允许你在单个设备(如 CPU 或 GPU),或此类设备的网络上执行此图。正如我之前提到的,TensorFlow 于 2015 年由谷歌开源。从那时起,它成为最受欢迎的机器学习工具之一。我们将在本周末,通过可视化,看到为什么会出现这种情况。 76 | 77 | 现在,让我们回到 TensorFlow 的主要架构思想。正如我们刚才所说,第一个是数据流图的概念。另一个是延迟求值的想法。什么是延迟求值?延迟求值正是将你的计算分为我刚刚提到的两个步骤。你只需第一步来构建图。 78 | 79 | 你可以将其视为详细的项目规范,你可以将其提供给助理,详细说明项目中应该执行的操作和顺序。当你将图传递给 CPU 或 GPU 等设备时,实际计算将在第二步进行。该设备会将你的图转换为高度优化的 C++ 代码并进行计算。你还可以在图上创建一些节点。等待其他一些节点在开始之前执行,而不是整个图。虽然延迟求值对于 TensorFlow 的高效工作非常重要,但作为用户,了解 TensorFlow 的另一个关键特性,即自动微分更为重要。 80 | 81 | 更具体地说,TensorFlow 实现了一种特定的算法,用于对参数自动微分具有许多输入的任何函数。该算法称为反向模式自动微分,以下是它的工作原理。它首先执行从输入到输出的正向传播,来评估给定输入的函数。它在图上执行反向传播,从输出到输入。 82 | 83 | 这允许它按顺序计算所有导数。在这种顺序计算中使用的技术,只是复合函数的导数的链式规则。为了回顾链式规则,它表示如下。如果函数 f 的参数是独立参数 x 的另一个函数 n ,则函数 f 对 x 的导数,由 f 对 n 导数与 n 对 x 的乘积给出。现在让我们使用前面的例子看看它是如何工作的。 84 | 85 | ![](../img/1-2-7-5.jpg) 86 | 87 | 让我们首先为图表上的节点分配数字。所以我们将有节点 1,2,3 等。让我们从最后一个节点 n7 开始。因为这个节点的输出是我们函数本身的值,所以我们将编写函数对于节点值的导数,在这种情况下将是 1。 88 | 89 | ![](../img/1-2-7-6.jpg) 90 | 91 | 现在,让我们转到节点 6。我们使用链式规则计算输出对该节点的导数。我们在这里有两个导数的乘积,但是第一个导数已经知道并且它等于 1。因此输出对节点 6 的导数将由该导数给出,该导数再次为 1,因为节点 n7 实现了一个加法迭代。接下来,我们计算关于节点 n5 和 n4 的导数。 92 | 93 | 请注意,在第二个表达式中,我们最终得到节点 n5 对 节点 n4 的导数。因为节点 n5 是节点 n4 乘以 n3 ,所以导数等于节点 n3 的值。 94 | 95 | 现在我们计算相对于节点 n3 的导数,节点 n3 携带输入 y。在这种情况下,我们必须记住节点 n3 连接到图上的两个节点 n5 和 n6。因此,我们通常中使用两项来计算导数。这个导数的最终答案是 x 平方 + 1,这肯定是一个正确的答案,因为我们可以通过我们的函数 f 的微分来检查它。最后我们计算 x 的导数。同样,这里的数字 2xy 正是我们通过函数 f 对 x 的微分得到的。所以这是我们对 TensorFlow 的第一次理论介绍。 96 | 97 | ![](../img/1-2-7-7.jpg) 98 | 99 | 总结一下,TensorFlow 提供了极大的灵活性和整洁的设计结构,来构建机器学习模型。它具有非常强大的功能,可以自动计算任意函数的导数。它还有许多其他强大的功能,例如可视化工具,当我们开始使用 TensorFlow 时,你将看到它们。这正是我们接下来要做的事情。在下一个视频中,我们将运行我们的第一个标准流程代码,在非常简单的算术示例中,来查看图的工作原理。 100 | 101 | ![](../img/1-2-7-8.jpg) 102 | -------------------------------------------------------------------------------- /docs/1.2.8.md: -------------------------------------------------------------------------------- 1 | # 1.2.8 TensorFlow 的第一个演示 2 | 3 | ![](../img/1-2-8-1.jpg) 4 | 5 | 作为我们可以做的第一件事,我们启动下面的单元格,我们通过使用此函数,在默认图中创建它。然后我们为两个变量 x 和 y 创建三个节点。而且一个常量。它们将分别通过值 3,4 和 2 初始化。现在,让我们检查一下我们创建的节点是否确实在默认图上。很好,就是这样。 6 | 7 | ![](../img/1-2-8-2.jpg) 8 | 9 | 作为旁注,我想告诉你,节点也可以在其他图上创建。这是一个注释的例子,X2 是在名为 Graph 的图上创建的。如果我们求值这些语句,那么这就是我们将要看到的。现在,让我们求值一下这个单元格,看看我们刚刚创建的节点是否尚未初始化。 10 | 11 | ![](../img/1-2-8-3.jpg) 12 | 13 | 下一个单元格,我们定义一个函数 f 等于 x 平方加 y 加 a。我们来求值单元格。如果我们现在固定 f 的值,我们会看到它是类型为`add`的 Tensor。还没有 f 的值,这是 TensorFlow 中延迟求值的一个例子。 14 | 15 | ![](../img/1-2-8-4.jpg) 16 | 17 | 现在,在 TensorFlow 中运行我们的第一个图表,一切都准备好了。为此,我们需要启动 TensorFlow 会话。在我们打开一个会话之后,我们必须在这里和这里初始化变量,然后运行我们的函数。请注意,无需在 TensorFlow 中初始化常量。 18 | 19 | ![](../img/1-2-8-5.jpg) 20 | 21 | 会话结束后,我们应该使用此命令手动关闭它。让我们运行它来查看结果。结果就是这样。有一种更方便的方法,可以使用`with`结构来自动关闭会话,如此单元格所示。 22 | 23 | ![](../img/1-2-8-6.jpg) 24 | 25 | 最后,如果我们在这里引入一个新节点,整个代码可以更短。这样可以同时处理所有标签的初始化。以下是我们如何使用它。因此,如果我们运行此单元格,我们再次看到相同的结果。要检查 TensorFlow 创建的节点,我们可以在此处键入`init`。结果就是这样。我们的下一个插图显示了节点值的生命周期。创建节点时,它仅仅向运行 TensorFlow 会话时的执行阶段添加值。让我们考虑这个例子。这里我们创建一个常数 w 等于 3 的节点,然后我们创建三个 x,y 和 z。 26 | 27 | ![](../img/1-2-8-7.jpg) 28 | 29 | 我们假设我们想要计算 y 和 z 的值。一种方法就是在单元格中显示。 30 | 31 | 在这种情况下,TensorFlow 图将反转两次,以便彼此独立地计算 y 和 x 的值。即使 y 和 z 都使用相同的 x 值。 32 | 33 | ![](../img/1-2-8-8.jpg) 34 | 35 | 重要的是要记住,在图的不同行之间,所有节点值会删除。此规则的唯一例外是变量,它们在初始化为代码时开始生命周期,并在会话关闭时结束。 36 | 37 | 因此,在运行单元格之后,我们可以再次检查节点 x 的状态,然后再次看到初始化的图。此外,这里代码同时改变 w 和 x 两次,来计算 y 和 z,来分离图的 trans。通过告诉 TensorFlow 在一个解析中完成图上所有计算,可以更有效地完成此操作。此单元格中显示了此语法。这是我们的做法。 38 | 39 | ![](../img/1-2-8-9.jpg) 40 | 41 | 如果我们求解它,我们会得到相同的结果。接下来,我想演示 TensorFlow 中反向模式自动微分的工作原理。让我们考虑一下这里显示的函数。它是指数的指数的指数。这个函数实际上非常类似于我通过神经网络实现的损失函数。因此,此示例可能对你理解 TensorFlow 中神经网络的工作非常有用。让我们看看我们如何实现这个函数。这非常简单,并在此单元格中显示。这里,我们首先定义输入单元的 Tensor 值输出,然后将其用作输入来计算第二层的输出。最后,使用最后一个输出来生成函数的值。我们将这三个值作为函数的输出返回。这是在单元格上。我们还可以在其上面进行一些综合探索,并在其自己的范围内定义每个层,就像在此单元格中显示的一样。 42 | 43 | 这对于 TensorFlow 图的可视化以及它属于何处有用。现在,让我们指定一个你想要计算导数的点。我想找到一个点,所有截距都等于零,所有斜率都是 1。 44 | 45 | ![](../img/1-2-8-10.jpg) 46 | 47 | 让我们在这里实现并验证我们得到了什么。这是正确的点。接下来,我们分析计算所有导数,在这里展示。你可以使用此视频的铅笔中的节点,详细了解多个计算。但就目前而言,让我们看看 TensorFlow 如何计算这些导数。 48 | 49 | ![](../img/1-2-8-11.jpg) 50 | 51 | 所以我们清除图表再次从头开始,并通过变量节点 w 和 x 创建,两者都是浮点类型,然后我们调用我们的函数。并且(?)所有层的值,f2,f1 和 f0。 52 | 53 | ![](../img/1-2-8-12.jpg) 54 | 55 | 下一行是行 Q。在这里,我们定义了节点,用于外部函数 F2 对于所有参数 w 的梯度。 56 | 57 | 所以让我们求解它,并看到它返回的张量。这里的求解只需通过调用`tf.gradients`完成,其中包含两个参数,函数的名称 f2 和我们要调用来计算梯度的变量。 58 | 59 | 现在,让我们转到下一个单元格。这是我们运行 TensorFlow 图的地方。 60 | 61 | ![](../img/1-2-8-13.jpg) 62 | 63 | 我们可以运行它两次,来首先计算函数值,然后计算梯度值。或者我们选择此处注释的代码,或者我们可以使用之前显示的相同语法在一次运行中完成。 64 | 65 | ![](../img/1-2-8-14.jpg) 66 | 67 | 让我们运行它。我们有梯度,我们有六个用于梯度的数字,跟着自由参数的数量,你可以使用上面给出的公式检查,并手动检查这些是正确的数字。现在,我们检查会话结束后,函数再次返回张量的未初始化值。 68 | 69 | 最后,我想向你展示如何可视化 TensorFlow 图。有两种方法可以做到。在 Jupyter 笔记本中或使用 TensorBoard。在这里,我将向你展示第一种方法。这个矩阵来源是在这个单元格中给出的,这是我从 Garren 的书中借来的代码。所以,让我们运行它,然后移动到下一个单元格,在那里我们显示一个图。让我们来吧。我们为代码输出了 TensorFlow 图。 70 | 71 | ![](../img/1-2-8-15.jpg) 72 | 73 | ![](../img/1-2-8-16.jpg) 74 | 75 | 现在,你可以看到为什么我们在函数定义中引入了这个名称范围。 TensorFlow 将所有名称范围放在像这样的单独框中。我们可以点击它们并查看这些框内的操作。等待我们的演示,我将向你展示如何运行 TensorBoard 来可视化图,以及如何在此处查看不同训练算法的表现。这就是我们将要看到的。 76 | 77 | ![](../img/1-2-8-17.jpg) 78 | -------------------------------------------------------------------------------- /docs/1.2.9.md: -------------------------------------------------------------------------------- 1 | # 1.2.9 TF 中的线性回归 2 | 3 | 在之前的视频中,我们熟悉 tensorflow 图,操作,变量和常量。 4 | 5 | 我们还看到了 tensorflow 如何计算任意函数的梯度。 6 | 7 | 在本视频中,我们将应用该机制,在 tensorflow 中估计线性回归模型。 8 | 9 | 我们将使用两种方法来实现:第一种方法是基于我们之前介绍的线性回归的正规方程。 10 | 11 | 第二种是概率方法,称为最大似然估计或简称 MLE。 12 | 13 | 所以,让我们深入了解它是如何运作的。 14 | 15 | 我们在这里用笔记本。 16 | 17 | 我们常用输入的第一个单元格,将 tensorflow 导入为 tf。 18 | 19 | 第二个单元格是图的重置工具函数,我们之前笔记本中已经使用了。 20 | 21 | 第三个单元格定义了我们拟合的线性回归模型。 22 | 23 | 我们有三个预测器,X1 到 X3,它们从 -1 到 1 均匀采样。 24 | 25 | 然后我们用权重 B1 到 B3 对它们进行加权,加上截距 A 并最后加上高斯噪声,其波动率 sigma 等于 10%。 26 | 27 | 接下来,我们模拟 5,000 个这样的整数数据,然后将它以四比一的比例分成训练和测试数据集。 28 | 29 | 让我们来看看我们在这里得到什么。 30 | 31 | 好的。 32 | 33 | 现在,我们的数据准备就绪,我们可以继续估算模型了。 34 | 35 | 第一个计算显示了如何在普通 numpy 中完成此操作。 36 | 37 | 我们通过在此处的左侧添加一列来定义扩充数据度量,然后在此处应用正规方程。 38 | 39 | 好的。 40 | 41 | 所以,这是结果,到目前为止一切顺利。 42 | 43 | 所以,现在让我们在 SKlearn 做同样的事情。 44 | 45 | 现在我们可以简单地编写线性回归 glessine SKlearn 的拟合方法,而不是在这里明确编写正规方程。 46 | 47 | 我们来吧。 48 | 49 | 这是结果。 50 | 51 | 正如你所看到的,它与我们在 numpy 中获得的结果相同,这是因为 Scikit-learn 在背后使用了 numpy。 52 | 53 | 现在,让我们看看如何使用 tensorflow 完成相同的操作。 54 | 55 | 在这里,我们再次首先制作一个我们称之为 X_np 的扩充数据矩阵。 56 | 57 | 然后我们创建两个 tf 节点 X 和 Y,它们将是 tf 常量,将在运行时初始化为 X_7P 和 Y_train。 58 | 59 | 然后我们在 tf 中实现正规方程。 60 | 61 | 这次使用 tensorflow 矩阵迭代。 62 | 63 | 然后,我们让我们的会话来计算 theta 的值,这里是结果。 64 | 65 | 现在,让我们为线性回归建立一个 tf 类,它实现了正规方程和另一种称为最大似然估计或简称 MLE 的方法。 66 | 67 | 如果你不熟悉 MLE,请不要担心我们将在本周晚些时候介绍它。 68 | 69 | > 线性回归的最大似然(MLE)和最小二乘法(OLS)是一样的,是一个优化目标的不同角度的解释。 70 | 71 | 因此,如果你不理解我将在 MLE 方法的 tensorflow 中实现的公式,你将能够返回此演示。 72 | 73 | 好的。 74 | 75 | 那么,这堂课我们有什么?让我们看一下类构造函数。 76 | 77 | 这里需要解释的第一件事是这两个属性,self.X 和 self.Y. 78 | 79 | 它们被声明为占位符。 80 | 81 | 占位符是 tf 图中的特殊节点,不需要任何计算,只需在运行时传递输入数据。 82 | 83 | 在创建图形的这个阶段,tensorflow 需要知道,它应该为这些数据创建什么类型的张量。 84 | 85 | 因此,它的第一个参数将是这些数据的一种类型,第二个参数将是表示此数据的张量的形状。 86 | 87 | 这里,填充占位符节点的张量形状,为 none 和特征数。 88 | 89 | 这意味着第二个维度,即数据样本中的列数将是 n 个特征,但第一个维度,数据样本中的点数可以是任何值。 90 | 91 | 接下来的两行实现了正规方程,如上所述,以及均方误差。 92 | 93 | 让我们转到这个类中实现的第二个方法。 94 | 95 | 使用 MLE 方法,我们估计回归的所有参数加噪声方差。 96 | 97 | 估计需要 n 个特征加上两个参数。 98 | 99 | 因此,我们创建一个变量 self.weights,它将存储我们的 MLE 估计结果。 100 | 101 | 接下来的几行计算线性回归的负对数似然函数。 102 | 103 | 请注意我在这里使用的一个小技巧,将标准差或波动率 sigma 定义为最后一个权重的平方。 104 | 105 | 加上一些小的正数。 106 | 107 | 这样做是为了确保此处定义的对数似然值,对于所有权重值保持良好定义。 108 | 109 | 最后,构造函数中的最后一行定义了一个节点,该节点指定将执行的优化方法。 110 | 111 | Tensorflow 拥有许多内置优化器。 112 | 113 | 我们将使用一个称为 Adam 优化器的方法。 114 | 115 | 另一种选择可以是梯度下降优化,这是在这里指出的。 116 | 117 | 稍后我们将讨论这些算法在理论上如何工作,但现在,我们正在研究它们如何在这些简单示例的实践中工作。 118 | 119 | 该类的其余部分是一个函数,它生成人造数据,为方便起见,我在上面的单元格中复制了这些数据。 120 | 121 | 现在,这里的主函数首先创建数据,然后创建训练测试数据集。 122 | 123 | 然后它在这里创建我们的线性回归模型,并启动 tensorflow 会话。 124 | 125 | 现在,请注意我们如何运行图。 126 | 127 | 要计算在我们的类中定义的节点,我们需要填充我们在那里创建的占位符。 128 | 129 | 这是在运行时使用名为`feed_dict`的字典完成的,其键是占位符的节点,值是模型输入。 130 | 131 | 这样的计算用于计算它们的最佳参数值,训练和测试误差。 132 | 133 | 请注意,在最后两次计算中,我们计算相同的节点,但每次使用不同的数据,以不同方式填充其占位符。 134 | 135 | 这是针对类中的正规方程实现。 136 | 137 | 下一行显示了 MLE 方法的训练。 138 | 139 | 在这里,我们将进行 1,000 步优化,这将根据我们在类中定义的最小化方案,持续更新模型权重。 140 | 141 | 此代码返回损失的当前值和更新的模型权重。 142 | 143 | 训练完成后,我们测试模型。 144 | 145 | 之后,我们计算噪声波动率的模型预测并打印结果,并显示我们的预测结果的三维投影。 146 | 147 | 让我们执行这个单元格,并执行下一个单元格来查看结果。 148 | 149 | 以下是结果。 150 | 151 | 正如你所看到的,这两种方法都能产生非常相似的结果,并且都能为数据提供良好的输入。 152 | 153 | 这个笔记本在下面包含另一个线性回归的实现,这次使用不同的算法代码,随机梯度下降,并将线性回归实现为单个神经元神经网络。 154 | 155 | 所有这些都将成为我们下一个视频的主题。 156 | 157 | 在熟悉这些主题之后,你可以稍后再回到这个笔记本,看看它们是如何实现的。 158 | 159 | 现在,让我在此时停止使用笔记本。 160 | 161 | 好的。 162 | 163 | 现在,在我们看到 tf 中的线性回归,并使用正规方程解和最大似然解之后,我们准备继续进行机器学习中的回归问题。 164 | 165 | 在下一个视频中,我们将看看如何使用神经网络解决回归问题。 166 | -------------------------------------------------------------------------------- /docs/1.2.md: -------------------------------------------------------------------------------- 1 | # 1.2 机器学习的数学基础 2 | 3 | ## 学习目标 4 | 5 | + 将泛化解释为机器学习的目标。 6 | + 解释复杂和简单模型中的偏差 - 方差权衡。 7 | + 举例说明免费午餐定理。 8 | + 将统计方法解释为第一个 ML 算法。 9 | + 描述 ML 与统计建模的不同之处。 10 | + 使用交叉验证选择超参数。 11 | + 将课程中学到的线性和逻辑回归方法,应用于课程项目中的 FDIC 银行业务呼叫报告数据。 12 | 13 | ## 阅读 14 | 15 | + [I. Goodfellow, Y. Bengio, A. Courville, “Deep Learning”, Chapters 4.5, 5.1, 5.2, 5.3, 5.4](https://github.com/exacity/deeplearningbook-chinese) 16 | 17 | + Leo Breiman, “Statistical Modeling: The Two Cultures” 18 | -------------------------------------------------------------------------------- /docs/1.3.1.md: -------------------------------------------------------------------------------- 1 | # 1.3.1 神经网络 2 | 3 | 我们刚刚进行了TensorFlow的第一个演示。 4 | 5 | 这看起来很简单,对吧?我们将看看 TensorFlow 如何创建图形并对其进行评估。 6 | 7 | 然后我们在 TensorFlow 中实现了线性回归,并将其与心理学中的线性回归进行了比较。 8 | 9 | 而现在,我有一些惊喜要给你。 10 | 11 | 令人惊讶的是,事实上,我们刚刚实现的是一类非常普遍的神经网络模型的极限情况。 12 | 13 | 换句话说,重申一下,线性回归是一种非常特殊的神经网络。 14 | 15 | 因此,我们可以说你刚刚在 TensorFlow 中实现了第一个称为线性回归的神经网络。 16 | 17 | 现在让我更详细地解释一下我的意思,以及为什么这在实践中有用。 18 | 19 | 让我们再看看线性回归,并将其视为函数变换。 20 | 21 | 变换采用实值输入 x,使用权重集 W 计算其线性组合,然后添加截距 W0,最后添加高斯噪声 epsilon 来获得最终输出y。 22 | 23 | 我们可以将其视为输入的线性变换,它由一组参数 W 控制。 24 | 25 | 可以调整这些参数来拟合你的训练数据。 26 | 27 | 我们可以将这种线性变换表示为一种像这样的计算节点。 28 | 29 | 当我们的节点有“n”个的实值输入时,另外,我在这里添加了一个常数输入 x0 等于 1,这样我们就可以在 x 的总和中包含截距 w0,它在从 0 到 n 的 i 上运行。 30 | 31 | 此节点的输出只是输入线性回归方程的,输入的线性组合。 32 | 33 | 我们可以用更一般的形式,将相同的东西写为整个表达式的函数 f。 34 | 35 | 在我们的线性回归的特定情况下,该函数是单位函数`f(z) = z`。 36 | 37 | 在更一般的情况下,当它不是单位函数时,该函数有一个名称,它被称为激活函数。 38 | 39 | 现在如果我们使这个函数更复杂,即非线性。 40 | 41 | 在这种情况下,我们得出非线性回归。 42 | 43 | 与前一种情况的唯一区别在于,现在节点的输出是输入的线性组合的一些非线性变换 f。 44 | 45 | 这种函数将被称为非线性函数功能。 46 | 47 | S 形函数是非线性激活函数的一个示例。 48 | 49 | sigmoid 函数由此表达式定义,作为其参数的函数,它的行为在此处显示。 50 | 51 | 对于负参数,sigmoid 很快接近零,并且对于正参数快速接近 1。 52 | 53 | 在这个专项中我们将多次需要这个函数,但是现在,我只是想用它来说明,非线性变换可以由这样的节点计算。 54 | 55 | 现在,我们的节点变得更加通用,可以对其输入进行非线性变换。 56 | 57 | 这种结构有一个名字,它被称为人工神经元。 58 | 59 | 人造神经元或感知器 由Frank Rosenblatt 于 1957 年引入,作为人类大脑中真实物理神经元功能的极端仿生模型。 60 | 61 | 物理神经元拥有一个,有时是大量轴突,传递电信号作为其输入,并将其产生的信号传递给其他神经元。 62 | 63 | 以类似的方式,人工神经元获取其输入并产生一个输出到其他地方。 64 | 65 | 现在你看到我们在这里调用激活函数 f 的原因了。 66 | 67 | 它是一个函数,定义了这个人工神经元的活动或触发率的。 68 | 69 | 实际上,从这一点开始,我们只谈论人工神经元,而不是物理神经元。 70 | 71 | 因此,为简单起见,当我们指的是人工神经元时,我们只是说神经元。 72 | 73 | 因此,神经元可以具有不同的激活函数。 74 | 75 | 例如,这里显示的 sigmoid,tanh 函数或所谓的整流线性(ReLU)激活函数,`max(z, 0)`。 76 | 77 | 最有趣的见解来自这里。 78 | 79 | 如果我们向神经元的输入发送一些数据转换,我们可以称之为`h(x)`,而不是原始数据 X,会发生什么?在这种情况下,输出变为复合非线性。 80 | 81 | 也就是说,由于函数 h 和非线性激活函数 f,它将是非线性的。 82 | 83 | 这种非线性复合函数可以提供非常复杂的输入分布,因为通过正确选择函数 h 和 f,它可以非常灵活。 84 | 85 | 好的,到目前为止一切顺利。 86 | 87 | 但是我们如何进行这些变换呢?这里的答案听起来非常简单,但一旦完全暴露其逻辑结果,它的价值就达数十亿美元。 88 | 89 | 答案是这样的,让我们使用我们刚刚制作的相同类型的神经元,来产生这样的变换,这将我们带入神经网络。 90 | 91 | 这里显示的是一个前馈神经网络。 92 | 93 | 前馈网络是一种高度风格化的模型,表示哺乳动物大脑的部分(称为神经皮层)如何处理视觉和音频信号。 94 | 95 | 它是如何工作的?前馈网络由多层神经元组成,它们仅在一个方向上从左向右传递信号,或从底部传递到顶部。 96 | 97 | 信号从 x0 到 xn,在这种情况下是三个,我首先复制到网络的输入层。 98 | 99 | 输入层除了复制输入之外,不会做任何事情。 100 | 101 | 然后输入传递到隐藏层中的神经元。 102 | 103 | 让我把它们的输出称为 z,带有一个上标。 104 | 105 | 隐藏层中的神经元以我们刚才描述的相同方式工作。 106 | 107 | 也就是说,他们接受输入,转换它们,并将它们传递给最终的神经元。 108 | 109 | 现在我们将这些最终神经元 z 的输出添加上标 2,来强调该神经元存在于神经网络的第二层。 110 | 111 | 请注意,我们不将输入层视为真实层,因为它只复制输入而不执行任何其他操作。 112 | 113 | 因此输出层的上标是 2,而不是 3。 114 | 115 | 输出层 z^2 的激活函数的选择取决于我们试图解决的问题。 116 | 117 | 如果你处理回归问题,那么线性激活函数就可以完成这项工作,如果你处理那个分类问题,那么 sigmoid 函数就是你需要的。 118 | 119 | 但无论是回归还是分类问题,一般结构都将保持不变。 120 | 121 | 根据你的神经网络试图解决的问题,只需要替换最后一个输出神经元。 122 | 123 | 这里最重要的想法是,神经网络中从一层到另一层的级联式数据转换的想法。 124 | 125 | 我们可以进一步扩展它,并说明为什么只有一个隐藏层?事实上,我们可以再添加一个隐藏层,在这种情况下,我们可以获得一个双隐层神经网络。 126 | 127 | 我们甚至可以继续并拥有两个以上的隐藏层,如三个,四个,五个,七个等等。 128 | 129 | 任何具有两个以上隐藏层的神经网络(不计算输出层)称为深度神经网络。 130 | 131 | 深度神经网络被证明对于许多技术应用来说非常强大,例如图像或人脸识别,并且有一些非常好的理由,我们将在本课程后面讨论。 132 | 133 | 我们将在这个专项中大量谈论深度学习,但是现在请知道,至少在性质上,这种深层网络与具有一个或两个隐藏层的非深层浅层网络没有什么不同。 134 | 135 | 特别是,深度和浅层神经网络都使用称为梯度下降的优化方法进行训练。 136 | 137 | 在下一个视频中,我们将看到它是如何工作的。 138 | -------------------------------------------------------------------------------- /docs/1.3.2.md: -------------------------------------------------------------------------------- 1 | # 1.3.2 梯度下降优化 2 | 3 | 所以,在上一个视频中,我们学到了两件非常重要的事情。 4 | 5 | 首先,我们了解到线性回归只不过是一种非常特殊的神经网络。 6 | 7 | 即,它是由一个线性神经元组成的网络。 8 | 9 | 还有更先进的神经网络称为前馈网络,可以在网络各层之间组织多层的信息处理,从输入到输出。 10 | 11 | 我们还说过,使用一种名为梯度下降的方法,可以将这种网络中所有神经元的权重 W 拟合到某些训练数据。 12 | 13 | 现在,因为线性回归是一个非常特殊的神经网络,让我们首先看一下,对一个实现线性回归的神经元,它如何工作。 14 | 15 | 要为此,让我们再回到上一个视频中的示例。 16 | 17 | 回顾一下,我们有一组输入 x0 到 xN,它们由线性神经元变换,也就是说,我们在它们的输出中使用线性激活函数 h(x),依赖输入和权重W. 18 | 19 | 现在,我们如何微调参数 W 来提供一些数据?那么,对于线性回归,我们已经知道了答案。 20 | 21 | 它是由我们上周讨论的正规方程给出的。 22 | 23 | 让我们简要回顾一下上周我们所涵盖的数学。 24 | 25 | 我们说最佳权重应该是这样,均方误差 MSE train 对于这些最优权重的梯度应该消失。 26 | 27 | 在一些代数之后,这产生了称为正规方程的,最佳权重向量的解析表达式。 28 | 29 | 对于许多情况,这是一个很好的解决方案 30 | 31 | 但在许多其他情况下,并非如此简单。 32 | 33 | 首先,这个精确解仅适用于具有二次损失函数的线性回归。 34 | 35 | 更改损失函数,然后就没有精确解了。 36 | 37 | 其次,正规方程在这里涉及求逆,其具有`O(n^3)`的高复杂度成本,其可以通过使用专用算法进行矩阵求逆,而减少到像`O(n^2.4)`。 38 | 39 | 但是,当你的数据矩阵 X 具有数十或数十万的列数时,这仍然是复杂性的高度计算,可能导致计算速度非常慢。 40 | 41 | 事实证明,梯度下降的方法是一种选择方法,可用于这种情况,以及如果我们使用非线性回归而不是线性回归,可能需要的其他损失函数。 42 | 43 | 梯度下降只是丢弃了正规方程并退后一步。 44 | 45 | 如上所述,损失函数的梯度应该为零的最佳点,梯度下降在步骤中灵活地找到该最佳点。 46 | 47 | 让我们看看它如何在一个变量的简单示例上工作。 48 | 49 | 让我们将这个函数的参数称为 theta ,以及我们想要最小化的函数是`g(theta )`。 50 | 51 | 如果我们处理线性回归,则g(theta )将是损失的均方,而 theta 将是回归参数。 52 | 53 | 但我想在这里使用更一般的符号。 54 | 55 | 那么它是怎样工作的?我们从一些初始猜测 theta0 开始,并计算此时函数 g 的导数。 56 | 57 | 该导数由此红线给出,在此示例中为负。 58 | 59 | 然后,我们通过将我们的初始值移动一个量,它等于负的参数 eta 乘以 theta0 处的函数的梯度,来更新 theta 的值。 60 | 61 | 参数 eta 称为学习率,它在梯度下降法中起着非常重要的作用。 62 | 63 | 让我们看看这个等式意味着什么。 64 | 65 | 因为 eta 是正的,而 theta 的梯度是负的,并且由于这里是负的,这整个式子的净值,包括减号,将是正的。 66 | 67 | 这正是我们想要的,因为最小值在我们最初的猜测 theta0 的右边。 68 | 69 | 但如果它就在它的右侧,就像这里一样,那么这个术语就是负数,并且初始猜测会在第一次迭代时向左移动。 70 | 71 | 因此,这里的负号是正确的,因为它意味着为了使函数最小化,我们必须向与其梯度相反的方向前进,这指向该函数的最大方向。 72 | 73 | 学习率 eta 只是我们向这个方向移动的数量。 74 | 75 | 如果我们采用更大的 eta,你沿着这条线移动更多,它会给你梯度下降方法的下一个迭代。 76 | 77 | 现在,之后所做的只是重复这第一步。 78 | 79 | 同样,使用新的初始猜测 θ1 并且使用相同的等式和相同的学习率 eta 来完成 θ 的当前最佳值的更新。 80 | 81 | 新的候选解决方案 theta 2 现在更接近真正的最小 theta。 82 | 83 | 然后该过程继续,直到该函数以给定的容差变化停止。 84 | 85 | 这意味着算法已经收敛。 86 | 87 | 好的,这是对算法如何在一维上工作的解释。 88 | 89 | 当存在许多维度时,该算法遵循相同的规则,沿着每个维度执行数据的梯度下降。 90 | 91 | 让我向你展示一个简单的动画,了解梯度下降如何适用于二维损失函数。 92 | 93 | 正如你所看到的,这里显示的是初始点,因为红点在几个优雅的步骤中逐渐下降到函数的真正最小值。 94 | 95 | 所有这些在实践中如何运作,取决于我们想要最小化的函数和学习率 eta。 96 | 97 | 例如,我们的学习率可能太低,因此,要找到最小值,需要采取太多步骤。 98 | 99 | 另一个例子,学习率可能太高。 100 | 101 | 在这种情况下,解决方案甚至可能那样发散,像这样。 102 | 103 | 对于较大的学习率,你的迭代每次都会反弹,并且每次反弹实际上会变大。 104 | 105 | 这将导致解决方案在数字上发散。 106 | 107 | 当我们想要最小化的函数是非凸的时,使用梯度下降会出现其他微妙的点。 108 | 109 | 也就是说,它有不止一个最小值。 110 | 111 | 在这里显示的场景中,使用初始猜测结果,梯度下降可能很难找到 θ 的全局最小值,因为最有可能的是,它将落在此处所示的局部最小值。 112 | 113 | 稍后,在这个可视化中,我们将讨论如何将学习率 eta,变成迭代次数的函数。 114 | 115 | 梯度下降法可用于这种非凸优化问题。 116 | 117 | 我们还将看到,相同的技术如何有助于优化最优值,在某种意义上,最后一个函数具有几乎平的平台,就像这里的函数值几乎恒定一样。 118 | 119 | 但是现在,我们将考虑具有恒定学习率 eta 的梯度下降方法的基本版本。 120 | 121 | 因此,我们理解了,梯度下降如何适用于实现线性回归的一个线性神经元的简单情况。 122 | 123 | 现在,具有更多节点的通用神经网络又如何呢?通用神经网络具有许多自由参数,即每个节点的一组参数。 124 | 125 | 这种情况下梯度下降也可以吗?正如我们将看到的,它可以。 126 | 127 | 但为了使其高效,它需要与一个名为反向传播的方法结合使用。 128 | 129 | 让我们在下一个视频中,看看它的工作原理。 130 | -------------------------------------------------------------------------------- /docs/1.3.md: -------------------------------------------------------------------------------- 1 | # 1.3 神经网络和 TensorFlow 简介 2 | 3 | -------------------------------------------------------------------------------- /docs/1.md: -------------------------------------------------------------------------------- 1 | # 一、金融机器学习概览 -------------------------------------------------------------------------------- /img/1-1-1-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-1-1-1.jpg -------------------------------------------------------------------------------- /img/1-1-1-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-1-1-2.jpg -------------------------------------------------------------------------------- /img/1-1-2-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-1-2-1.jpg -------------------------------------------------------------------------------- /img/1-1-2-10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-1-2-10.jpg -------------------------------------------------------------------------------- /img/1-1-2-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-1-2-2.jpg -------------------------------------------------------------------------------- /img/1-1-2-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-1-2-3.jpg -------------------------------------------------------------------------------- /img/1-1-2-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-1-2-4.jpg -------------------------------------------------------------------------------- /img/1-1-2-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-1-2-5.jpg -------------------------------------------------------------------------------- /img/1-1-2-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-1-2-6.jpg -------------------------------------------------------------------------------- /img/1-1-2-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-1-2-7.jpg -------------------------------------------------------------------------------- /img/1-1-2-8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-1-2-8.jpg -------------------------------------------------------------------------------- /img/1-1-2-9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-1-2-9.jpg -------------------------------------------------------------------------------- /img/1-1-3-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-1-3-1.jpg -------------------------------------------------------------------------------- /img/1-1-3-10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-1-3-10.jpg -------------------------------------------------------------------------------- /img/1-1-3-11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-1-3-11.jpg -------------------------------------------------------------------------------- /img/1-1-3-12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-1-3-12.jpg -------------------------------------------------------------------------------- /img/1-1-3-13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-1-3-13.jpg -------------------------------------------------------------------------------- /img/1-1-3-14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-1-3-14.jpg -------------------------------------------------------------------------------- /img/1-1-3-15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-1-3-15.jpg -------------------------------------------------------------------------------- /img/1-1-3-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-1-3-2.jpg -------------------------------------------------------------------------------- /img/1-1-3-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-1-3-3.jpg -------------------------------------------------------------------------------- /img/1-1-3-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-1-3-4.jpg -------------------------------------------------------------------------------- /img/1-1-3-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-1-3-5.jpg -------------------------------------------------------------------------------- /img/1-1-3-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-1-3-6.jpg -------------------------------------------------------------------------------- /img/1-1-3-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-1-3-7.jpg -------------------------------------------------------------------------------- /img/1-1-3-8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-1-3-8.jpg -------------------------------------------------------------------------------- /img/1-1-3-9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-1-3-9.jpg -------------------------------------------------------------------------------- /img/1-1-4-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-1-4-1.jpg -------------------------------------------------------------------------------- /img/1-1-4-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-1-4-2.jpg -------------------------------------------------------------------------------- /img/1-1-4-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-1-4-3.jpg -------------------------------------------------------------------------------- /img/1-1-4-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-1-4-4.jpg -------------------------------------------------------------------------------- /img/1-1-4-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-1-4-5.jpg -------------------------------------------------------------------------------- /img/1-2-1-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-1-1.jpg -------------------------------------------------------------------------------- /img/1-2-1-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-1-2.jpg -------------------------------------------------------------------------------- /img/1-2-1-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-1-3.jpg -------------------------------------------------------------------------------- /img/1-2-1-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-1-4.jpg -------------------------------------------------------------------------------- /img/1-2-1-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-1-5.jpg -------------------------------------------------------------------------------- /img/1-2-1-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-1-6.jpg -------------------------------------------------------------------------------- /img/1-2-2-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-2-1.jpg -------------------------------------------------------------------------------- /img/1-2-2-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-2-2.jpg -------------------------------------------------------------------------------- /img/1-2-2-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-2-3.jpg -------------------------------------------------------------------------------- /img/1-2-2-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-2-4.jpg -------------------------------------------------------------------------------- /img/1-2-2-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-2-5.jpg -------------------------------------------------------------------------------- /img/1-2-4-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-4-1.jpg -------------------------------------------------------------------------------- /img/1-2-4-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-4-2.jpg -------------------------------------------------------------------------------- /img/1-2-4-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-4-3.jpg -------------------------------------------------------------------------------- /img/1-2-4-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-4-4.jpg -------------------------------------------------------------------------------- /img/1-2-4-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-4-5.jpg -------------------------------------------------------------------------------- /img/1-2-4-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-4-6.jpg -------------------------------------------------------------------------------- /img/1-2-4-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-4-7.jpg -------------------------------------------------------------------------------- /img/1-2-4-8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-4-8.jpg -------------------------------------------------------------------------------- /img/1-2-4-9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-4-9.jpg -------------------------------------------------------------------------------- /img/1-2-5-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-5-1.jpg -------------------------------------------------------------------------------- /img/1-2-5-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-5-2.jpg -------------------------------------------------------------------------------- /img/1-2-5-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-5-3.jpg -------------------------------------------------------------------------------- /img/1-2-5-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-5-4.jpg -------------------------------------------------------------------------------- /img/1-2-5-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-5-5.jpg -------------------------------------------------------------------------------- /img/1-2-6-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-6-1.jpg -------------------------------------------------------------------------------- /img/1-2-6-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-6-2.jpg -------------------------------------------------------------------------------- /img/1-2-6-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-6-3.jpg -------------------------------------------------------------------------------- /img/1-2-7-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-7-1.jpg -------------------------------------------------------------------------------- /img/1-2-7-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-7-2.jpg -------------------------------------------------------------------------------- /img/1-2-7-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-7-3.jpg -------------------------------------------------------------------------------- /img/1-2-7-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-7-4.jpg -------------------------------------------------------------------------------- /img/1-2-7-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-7-5.jpg -------------------------------------------------------------------------------- /img/1-2-7-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-7-6.jpg -------------------------------------------------------------------------------- /img/1-2-7-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-7-7.jpg -------------------------------------------------------------------------------- /img/1-2-7-8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-7-8.jpg -------------------------------------------------------------------------------- /img/1-2-8-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-8-1.jpg -------------------------------------------------------------------------------- /img/1-2-8-10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-8-10.jpg -------------------------------------------------------------------------------- /img/1-2-8-11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-8-11.jpg -------------------------------------------------------------------------------- /img/1-2-8-12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-8-12.jpg -------------------------------------------------------------------------------- /img/1-2-8-13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-8-13.jpg -------------------------------------------------------------------------------- /img/1-2-8-14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-8-14.jpg -------------------------------------------------------------------------------- /img/1-2-8-15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-8-15.jpg -------------------------------------------------------------------------------- /img/1-2-8-16.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-8-16.jpg -------------------------------------------------------------------------------- /img/1-2-8-17.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-8-17.jpg -------------------------------------------------------------------------------- /img/1-2-8-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-8-2.jpg -------------------------------------------------------------------------------- /img/1-2-8-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-8-3.jpg -------------------------------------------------------------------------------- /img/1-2-8-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-8-4.jpg -------------------------------------------------------------------------------- /img/1-2-8-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-8-5.jpg -------------------------------------------------------------------------------- /img/1-2-8-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-8-6.jpg -------------------------------------------------------------------------------- /img/1-2-8-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-8-7.jpg -------------------------------------------------------------------------------- /img/1-2-8-8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-8-8.jpg -------------------------------------------------------------------------------- /img/1-2-8-9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wizardforcel/nyu-mlif-notes/671746d713931f312db5d7fe22daf6060846437a/img/1-2-8-9.jpg --------------------------------------------------------------------------------