机器学习精讲(txt+pdf+epub+mobi电子书下载)


发布时间:2020-10-01 04:03:38

点击下载

作者:(加拿大) 安德烈·布可夫(Andriy Burkov)

出版社:人民邮电出版社有限公司

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

机器学习精讲

机器学习精讲试读:

版权信息

书名:机器学习精讲

ISBN:978-7-115-51853-8

本书由人民邮电出版社发行数字版。版权所有,侵权必究。

您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。

我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。

如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。版      权

著    [加拿大] 安德烈·布可夫(Andriy Burkov)

译    韩江雷

责任编辑 陈冀康

人民邮电出版社出版发行  北京市丰台区成寿寺路11号

邮编 100164  电子邮件 315@ptpress.com.cn

网址 http://www.ptpress.com.cn

读者服务热线:(010)81055410

反盗版热线:(010)81055315版权声明

Simplified Chinese translation copyright ©2019 by Posts and Telecommunications Press.

ALL RIGHTS RESERVED.

The Hundred-Page Machine Learning Book by Andriy Burkov. Copyright © 2019 Andriy Burkov.

本书中文简体版由作者Andriy Burkov授权人民邮电出版社出版。未经出版者书面许可,对本书的任何部分不得以任何方式或任何手段复制和传播。

版权所有,侵权必究。内容提要

本书用简短的篇幅、精炼的语言,讲授机器学习领域必备的知识和技能。全书共11章和一个术语表,依次介绍了机器学习的基本概念、符号和定义、算法、基本实践方法、神经网络和深度学习、问题与解决方案、进阶操作、非监督学习以及其他学习方式等,涵盖了监督学习和非监督学习、支持向量机、神经网络、集成学习、梯度下降、聚类分析、维度降低、自编码器、迁移学习、强化学习、特征工程、超参数调试等众多核心概念和方法。全书最后给出了一个较为详尽的术语表。

本书能够帮助读者了解机器学习是如何工作的,为进一步理解该领域的复杂问题和进行深入研究打好基础。本书适合想要学习和掌握机器学习的软件从业人员、想要运用机器学习技术的数据科学家阅读,也适合想要了解机器学习的一般读者参考。致我的父母:塔提亚娜,瓦雷里还有我的家人:凯瑟琳,爱娃和德米特里译者序

我与“机器学习”的初次邂逅是在5年前,那时我刚刚决定于新加坡南洋理工大学攻读计算机博士学位。比起计算机学院的主流课程,如数据库、软件开发、嵌入式系统等,“机器学习”这个“新领域”既令人好奇,又让人望而生畏。当时,“学习”还没那么深度, “数据科学家”刚刚被《哈佛商业评论》宣布为“二十一世纪最吸引人的职业”。回头看来,差不多同一时间,“人工智能”正在为一次空前的崛起积累能量、蓄势待发。

我在新加坡南洋理工大学的研究项目属于工业界的应用问题,因此得以接触各种工业界数据和工具,并在研究工作中尝试部分机器学习模型。与此同时,与机器学习相关的各种文献、资料、开源项目在网络上大量涌现。作为从业者,我一方面受益于大量信息所带来的便利,另一方面却也时常因为信息量太大而不知从何入手。

2018年下半年,一次偶然的机会,我在职业社交平台上发现本书作者的贴子。安德烈是个职场“网红”,经常发些妙趣横生、却可能只有程序员才能理解的段子和图片。当时,他正积极地为新书做宣传,包括不定期连载和提供免费试读。泛读之后,我被作者精巧的构思和精炼的语言深深吸引。

在本书之前,我接触过一些关于机器学习技术的教科书。这些书的共同特点是:深、厚、难。首先,它们普遍内容深奥,阅读门槛较高。严谨的论证和详细的数学推导,需要很强的理论基础才能看懂。其次,很多教科书篇幅动辄上千页,让刚入门的读者望而却步。最后,实现书中所介绍的算法所需要的工程量较大,很难快速应用于实际问题。相比专业教科书,本书更像是一本科普读物,任何具备基本代数知识的读者都可以理解其大部分内容。本书篇幅较短、章节清晰,适合通读与精读。书中介绍的很多实用技巧也可以帮助读者快速上手实践。

虽然篇幅较短,但本书涵盖了关于机器学习的大部分精华要点,并将知识点系统地串联在一起。书中凝炼了大量学术文献的中心内容和结论,权威性很强。同时,作者将多年研究和工程项目中所总结的经验以最容易理解的方式与读者分享,可读性和实用性都非常强。由于篇幅所限,书中省去了大量数学推导过程以及文献引用。不过,有深入研究需要的读者仍可通过配套的网页获取更多内容。

当得知作者有意向将本书翻译成其他语言并在各国出版时,我主动联系作者和出版社,并通过试译,得到了翻译本书的机会。对我个人来说,翻译一本专业著作是个全新的挑战。当时主要的考量有二:一方面,将原书内容翻译成另一种语言的过程,也是加深对各种技术概念的印象、在精读中发现新的视角和问题的过程;另一方面,随着越来越多的行业正加入人工智能的革新浪潮,对机器学习人才的需求会继续增加,我也希望通过自己的绵薄之力,让更多对机器学习感兴趣却又望而却步的中文读者接触到这本书。

翻译这样一本书需要多次精读,并同时与作者保持沟通,查阅中英文资料以确保表述清晰、准确。当英文原文有多种含义时,就需要译者对比最佳契合度和应用的广泛性,决定最终译文方案。在此过程中,我深深感慨在该技术领域,中文用户社区蓬勃发展、高人众多。同时,鉴于本人在新加坡成长受教、工作科研,中文表述及使用与中国读者难免存在某些差异,翻译的过程中也难免会有遗漏或不周之处,敬请各位读者谅解、指教,一起学习。

人工智能技术发展之快令人难以置信。在我翻译本书的几个月时间里,就有多个重要研究成果被发表,基准测试被刷新。以这种速度发展下去,我很好奇未来的世界会是什么样子?人工智能到底会给人类社会带来怎样的改变?如果未来有读者拾起本书,是否会觉得安德烈探讨的“机器学习”早已成为常识?

谨以此书,献给求索无止的人类,还有热爱学习的机器!韩江雷2019年夏新加坡前      言

在开始之前,我们要澄清一个事实——机器根本不会学习。所谓的“机器学习”,只是在寻找一个数学公式。找到之后,我们可以利用该公式和一组输入数据(训练数据)进行运算,并与正确结果进行比较。我们希望该公式能对大多数新的(不同于训练数据)、取自相同或相似统计分布的输入数据进行正确运算。

为什么我们认为这不算学习呢?原因是,如果输入数据发生微小改变,那么新的运算结果可能与正确结果截然不同。相比之下,动物的学习就完全不同。比如,很多人喜欢在计算机或手机上玩游戏。如果在正常的屏幕上会玩这个游戏,那么屏幕稍微倾斜或者旋转时也不太会影响我们玩游戏。如果换成一个机器学习的算法来玩呢?除非它是专门用来识别屏幕变化的算法,否则很可能无法在屏幕发生变化的情况下正常游戏。

既然如此,我们为什么还要叫它“机器学习”呢?这个名称在很大程度上是一个市场宣传噱头。“机器学习”概念由美国计算机游戏和人工智能领域先驱之一亚瑟·塞缪尔(Arther Samuel)在1959年首次提出。当时他就职于IBM。这个在当时很酷炫的概念帮助公司吸引了客户和高水平员工。后来,IBM又在2010年左右提出了“认知计算”(Cognitive Computing)的概念,再次助公司在激烈的竞争中占得先机。

正如人工智能不是真正的智能,机器也不能真正学习。然而,这并不影响“机器学习”逐渐成为一个被广泛接受的名词——构建一种计算机系统的科学和工程方法。使用“机器学习”构建的系统,无须明确地用指令编程,即可输出正确结果。总而言之,机器的“学习”只是一种比喻,并非实际意义上的学习。本书的目标读者

自20世纪60年代以来,学术界与工业界涌现了大量与机器学习有关的材料。在本书中,我们只选择其中公认的最精华的部分。通过阅读本书,初学者能够较全面地了解机器学习的基础知识,为理解该领域的复杂问题和进一步深入研究打好基础。

与此同时,本书为有从业经验的读者提供了多种自我进修的方向。作为一本工具书,它同样适用于项目初期的头脑风暴阶段,比如评估机器学习是否适用于解决某个技术或业务问题,以及具体的解决思路。如何阅读本书

由于本书篇幅精简,因此我们建议初学者按照章节顺序阅读。如果读者对某一课题特别感兴趣,想了解更多,可以通过扫描章节后附带的二维码获取附加资料(英文)。

扫描这些二维码将打开与本书配套的维基页面,其中包括大量推荐阅读、视频、问答、代码、习题等。本书的原作者,协同分布在世界各地的志愿者们,将会持续更新这些内容。可以说,本书犹如一坛美酒,越陈越香。

对于没有二维码的章节,它们很有可能也有对应的页面。读者可以在维基中搜索标题,以获取更多资料。第1章 绪论1.1 什么是机器学习

作为计算机科学的一个分支,机器学习致力于研究如何利用代表某现象的样本数据构建算法。这些数据可能是自然产生的,可能是人工生成的,也可能来自于其他算法的输出。

同时,机器学习也可以定义为一套解决实际问题的流程,具体步骤包括收集数据、利用算法对收集到的数据进行统计建模以及利用构建好的统计模型解决具体问题。

为节省篇幅,本书中交替使用名词“学习”和“机器学习”。1.2 不同类型的学习

机器学习的方法主要有4种:监督(supervised)、半监督(semi⁃supervised)、非监督(unsupervised)及强化(reinforcement)学习。1.2.1 监督学习[1]

监督学习(supervised learning)需要一个数据集(dataset),其中全[2]部样本是有标签样本(labeled example),表示为。数据集中有N个元素,每个元素x为一个特征向量(feature vector)。特征向量的i每个维度j=1,…,D可以理解为描述某样本的一个角度。每个维度的值(j)称为特征(feature),表示为x。举个例子,如果每个样本x代表一个人,那(1)(2)么第一个特征x可能对应身高,第二个特征x对应体重,第三个特征(3)x表示性别,诸如此类。一个数据集中的所有样本,特征向量的同一个位置j必须包含同类信息。如果某样本x的第二个特征表示质量(千i克),其他所有样本的第二个特征都是以千克为单位的质量值。另一方面,标签(label)y可能是一个有限类别(class)集合里的一个元素{1,2,i…,C},既可能是一个实数,也可能具有更复杂的结构,比如向量、矩阵、[3]树或者图。本书重点讨论前两种情况,即类别和实数标记。类别可以理解为一个样本的某个属性。例如,如果我们想用监督学习方法检测垃圾邮件,标签就有两类——{“垃圾邮件”,“非垃圾邮件”}。

监督学习算法(supervised learning algorithm)利用有标签数据集生成一个模型。以一个样本的特征向量作为输入,模型可以输出用于判断该样本标记的信息。例如,一个癌症预测模型可以利用某患者的特征向量,输出该患者患有癌症的概率。1.2.2 非监督学习

有别于监督学习,进行非监督学习(unsupervised learning)只需要包含无标签样本的数据集,表示为。非监督学习算法(unsupervised learning algorithm)所产生的模型(model)同样接受一个特征向量x为输入信息,并通过数学变换使其变成另外一个对其他任务更有用的向量或数值。举几个例子:聚类(clustering)模型输出代表数据集中每个特征向量所在类簇(cluster)的标记;降维(dimensionality reduction)模型将输入的高维度特征向量x转化为一个低维度的输出向量;异常值检测(outlier detection)模型的输出是一个实数值,代表x在多大程度上不同于数据集中的“标准”样本。1.2.3 半监督学习

半监督学习(semi⁃supervised learning)可利用掺杂着有标签和无标签样本的数据集进行学习。通常情况下,无标签样本的数量远超过有标签样本。半监督学习算法(semi⁃supervised learning algorithm)的功能和原理与监督学习算法大同小异,区别在于,我们希望算法可以利用大量无标注的样本学得更好的模型。

乍看之下,这个思路可能不太靠谱。难道加入大量无标签样本不会使问题变得更复杂吗?其实,在加入无标签样本的同时,我们也加入了大量新的信息:更多的样本可以更好地反映数据总体的概率分布。从理论上来看,一个算法应可以通过利用这些额外的信息而更好地学习。1.2.4 强化学习

在强化学习(reinforcement learning)这个分支领域中,我们假设机器“生活”在一个环境中,并可以感知当前环境的状态(state)。环境的状态表示为特征向量。在每个状态下,机器可以通过执行不同动作而获取相应的奖励,同时进入另一个环境状态。强化学习的目的是学习选择行动的策略(policy)。

与监督学习模型相似的是,强化学习中的策略同样是一个函数,以某状态的特征向量作为输入,输出一个在当前状态下最优的可执行动作。“最优”是指平均期望奖励最大。

强化学习专门解决需要按顺序做决策,并具有长期目标的问题,例如电子游戏、机器人控制、资源管理、物流管理等。本书重点介绍对相互独立的输入样本进行预测的一次性决策问题,所以关于强化学习的具体内容将不会出现在书中。1.3 监督学习是如何工作的

在深入探讨之前,我们先大概解释一下监督学习的工作原理。我们从监督学习开始,因为它是最常见的机器学习方法。

监督学习的第一步是采集数据。每个数据点需要以(输入,输出)的形式成对出现。输入文件的格式可以是多样的,比如电子邮件、图片或者传感器读数等。输出格式则通常为一个实数值,或者代表类别的标签(例如,“垃圾邮件”“非垃圾邮件”“猫”“狗”“老鼠”等)。某些情况下,输出也可能是向量(例如,一个图片中人物所在区域的4点坐标)、序列[例如“一只猫”所对应的词性(“数词”“量词”“名词”)]或其他形式。

我们还是用过滤垃圾邮件为例说明。假设现在我们已经收集了一万封邮件,并将每个邮件标记为“垃圾邮件”或“非垃圾邮件”(可以请人帮忙,也可以自己动手标注)。接下来,我们要把每个邮件转变成特征向量。

如何用特征向量表示一个客观存在的事物(如一封邮件),通常由数据分析师通过经验来决定。一种常用的将文字转化为特征向量的模型叫作“词袋模型”(bag of words)。举个例子,我们可以使用3 500个常[4]用汉字表(按笔画排列)作为一个词袋模型的特征。● 如果一封邮件中包含汉字“一”,那么第一个特征的值为1;否则

为0。● 如果该邮件包含汉字“乙”,那么第二个特征的值为1;否则为0。● 如果该邮件包含汉字“罐”,那么第二个特征的值为1;否则为0。

通过以上过程,每个收集来的邮件都可以转变成一个3 500维的特征向量,每个维度的值是1或0。

现在,输入数据就可以被计算机识别了,不过标签仍是文字。大多数机器学习算法要求将标签转化为数字格式才能正常运行,比如用数字0和1表示“非垃圾邮件”和“垃圾邮件”。接下来,我们要以支持向量机(Support Vector Machine,SVM)算法为例进行具体解释。该算法需要用数字+1(正数1)表示阳性标签(“垃圾邮件”),而阴性标签(“非垃圾邮件”)为-1(负数1)。

转化之后,我们就有了一个数据集和一个算法。下一个问题是,如何利用这个算法从该数据集中学习模型。

SVM算法将每个特征向量看成一个高维度空间中的一个点(在我们的例子中,该空间有3 500维)。算法把所有的点画在一个3 500维的空间中,再用一个3 499维的超平面(hyperplane)将阳性样本和阴性样本分开。在机器学习术语中,分隔两类样本的边界叫作决策边界(decision boundary)。

该超平面可以用以下线性方程来描述。该方程中含有两个参数,一个实数向量w,与输入特征向量x具有的维度相同,以及一个实数b:wx-b=0(1)(1)(2)(2)((DD))

其中,wx的意义是wx+wx+…+wx,D为特征向量x的维度。

如果读者现在对某些公式还不太理解,没关系。在第2章中,我们会系统复习机器学习所用到的数学和统计学概念。请暂且试着理解,读过第2章之后就容易多了。

现在,我们可以用以下公式来预测某个输入特征向量x的标签了:这里的sign是一个数学运算,用来取一个数值的符号。如果数值为正,就返回+1;如果数值为负,就返回-1。*

SVM算法的训练目标是利用数据集找到参数w和b的最优值w和*b。找到之后,我们的模型(model)f(x)变成以下形式:

接下来,使用训练好的模型预测一封邮件是不是垃圾邮件。我们**只需要把邮件文字转化成特征向量,与w相乘,再减去b。最后,sign运算得到了一个预测结果(+1代表“垃圾邮件”,-1代表“非垃圾邮件”)。**

那么,要怎么找到最优值w和b呢?这是一个有约束的优化(optimization)问题,可用计算机解决。

这里的约束是什么?首先,我们想要训练后的模型能准确地预测1万个样本的标签。每个样本i=1,…,10 000的格式是一对(x,y),其中x是iii特征向量、y是值为+1或-1的标签。那么,这里的约束可以被表示为:i

与此同时,我们也希望分割正负样本的超平面间隔(margin)最大。该间隔由决策边界定义为两类样本的最近距离。间隔大的模型具有更好的泛化性(generalization),也就是模型对新样本的处理能力更强。为此,我们需要最小化w的欧几里德范数(Euclidean norm),可通过计算得出。

这样依赖,我们需要计算机解决的优化问题可以被写成:

其中,表达式y(wx-b)≥1同时包含了两个约束。ii**

该优化问题的解w和b即为统计模型(statistical model),简称为模型。我们称构建该模型的过程为训练(training)。

图1.1展示了一个SVM模型的图例。在图1.1中,特征向量为二维。其中,蓝色和红色的圆圈分别表示正负样本;红线代表决策边界,用wx-b=0表示。图1.1 一个对二维特征向量进行分类的SVM模型实例

那么,为什么将w的范数最小化可以帮我们找到正负样本之间的最大间隔呢?如图1.1所示,wx-b=1和wx-b=-1定义了两个相互平行的超平面。在几何学中,两个超平面的距离是。因此,范数越小,超平面间的距离越大。

以上是支持向量机的基本原理。使用该算法构建的模型可称为线性模型(linear model)。之所以称为线性,是因为它的决策边界是一条直线(也可能是一个平面或超平面)。SVM也可以通过利用加入核(kernel)来获得任意非线性的决策边界。很多情况下,由于数据中的噪声、错误的标注以及极端值(outlier)(与数据集中其他样本截然不同的样本),我们无法完全区分两类样本。另一个版本的SVM可以通过超参[5]数对训练样本中对某些特定类别的分类失误进行惩罚。我们会在第3章中学习更多关于SVM的具体内容。

从原则上来说,任何一个分类学习模型都直接或间接地构建一个决策边界。决策边界可能是一条直线或者弧线,可能具有更复杂的形态,也可能由多个几何形态叠加组成。该边界的形式决定了模型的准确率(accuracy,准确预测样本占总样本数的比率)。各种学习算法的区别在于计算决策边界的方法有所不同。

在实践中,还有两个区分学习算法的因素需要考虑:模型构建所需时间和预测所需时间。在许多实际案例中,我们可能因为需要一个可以快速生成的模型或者可以快速做出预测的模型,从而选择准确率偏低的模型。1.4 为什么模型可以应用于新数据

为什么机器学习得到的模型可以准确预测新数据的标签呢?答案同样可以从图1.1中看出。显而易见,由于两类样本被决策边界分隔,每个类别的样本位于各自的子空间中。如果训练样本是随机抽取而且相互独立,在统计学上,新的负样本在同样空间内的位置很可能位于其他负样本附近。同理,新的正样本也更可能被其他正样本所包围。从而,决策边界有很高概率区分正负新样本。不过,我们的模型也会判断失误,不过可能性较低,远低于判断正确的情况。

可想而知,训练样本的数量越多,出现与训练样本截然不同(在图表中远离同类样本)的新样本的可能性就越低。

为将失误的概率最小化,SVM算法试图将间隔最大化。换句话说,决策边界的位置需要距离两个类别的样本都尽量远。

除此之外,模型失误还与其他因素相关,比如训练集大小、定义模型的数学方程式、模型训练时间等。想对造成模型失误的原因以及可学习性(learnability)进行更多了解的读者可以参考PAC(Probably Approximately Correct)学习。PAC理论着重分析一个学习算法在什么情况下可以生成一个近似正确的模型。[1] 本书中加黑的术语表示该术语被收录在术语表中。[2] 译者注:“标签”与“标注”“标记”交替使用,后同。[3] 实数是可以用来表示距离的量,例如0、256.34、1000、1000.2等。[4] 译者注:原作使用20000个英文单词作为案例特征。[5] 一个超参数是一个学习算法的属性,通常(但不一定)是一个数值。数值的大小影响着算法的运行。超参数的具体取值不是通过数据学习到的,而是需要数据科学家在算法运行前预先设定。第2章 符号和定义2.1 符号

我们在本章复习机器学习中常用到的一些数学符号。2.1.1 数据结构

一个标量(scalar)是单独的数值,像15或者-3.25。我们用一个斜体小写字母表示一个标量变量或者常数,例如x或a。

一个向量(vector)是一个由若干元素组成的有序列表(ordered list)。每个元素是一个标量,代表一个特征。我们用粗体小写字母代表一个向量,如x或w。我们可以把一个向量想象成一个高维空间中的点,以及指向该点的方向。例如,图2.1中的3个向量,分别是a=[2,3]、b=[-2,5]和c=[1,0]。我们用一个斜体小写字母和一个索引一起代表向((ij))量中的元素,比如w和x。其中,索引i和j表示向量中的特定维度,也是(1)(2)该特征在有序列表中的位置。以图2.1中红色的向量a为例,a和a分别等于2和3。图2.1 3个向量可以被想象为3个方向或者3个点(23j)

需要注意的是,x不是幂运算,比如x(平方)或x(立方)等。当我们(2j)需要对一个向量中特定元素进行幂运算时,我们用(x)来表示。

一个变量可能有两个或更多索引,比如或。在神经网络中,我们用表示第l层神经元中第u个单元的第j维输入特征。

一个矩阵(matrix)是一个排列由行和列组成的矩形数组(array)。下面例子中的矩阵由两行三列组成。

我们用粗体大写字母表示矩阵,比如A和W。

一个集合(set)是指包含多个独特元素的无序集体(unordered collection)。我们用书法体的大写字母(如S)来表示一个集合。我们可以在大括号中列出一个有限集合包括的所有元素,比如{1,3,18,23,235}和{x,x,x,x,…,x}。此外,集合也可以包括某个范围值内的无数个元1234n素。如果一个集合包含两个数值a与b之间的所有值,包括a和b本身,那么我们可以在中括号中表示为[a,b];如果a和b不被包括在内,我们则在小括号表示为(a,b)。举个例子,集合[0,1]可以包括以下元素:0、0.000 1、0.25、0.784、0.999 5和1.0。此外,我们用符号表示一个常用的特殊集合,该集合包括负无穷和正无穷间的所有实数。

x∈S表示“x属于一个集合S”。两个集合S和S的交集12(intersection)是一个新的集合S,表示为S←S∩S。例如,{1,8}←3312{1,3,5,8}∩{1,8,4}。

S和S的并集(union)也是一个新的集合S,表示为S←S∪S。123312例如,{1,3,4,5,8}←{1,3,5,8}∪{1,8,4}。2.1.2 大写西格玛(∑)符号(1)(2)

对一个集合X={x,x,…,x,x},或一个向量x=[x,x,12n-1n((mm-1))…,x,x]中所有元素的求和运算,可以用∑表示:或者其中,符号的意思是“定义为”(is defined as)。2.1.3 大写派(Π)符号

大写字母派(Π)所表示的运算与∑相似。Π运算对一个集合或向量中所有元素求积:其中,a·b表示a乘以b。一般地,我们用更简洁的方式ab来表示a乘以b。2.1.4 集合运算2

一个集合可以通过运算衍生出新的集合。例如:S'←{x|x∈S,x>3}。该表达式的意思是,把集合S中所有大于3的元素取平方值,然后组成新的集合S'。符号表示集合S中元素的个数。2.1.5 向量运算(1)(1)(2)(2)((mm))

向量的加法:x+z=[x+z,x+z,…,x+z](1)(1)(2)(2)((mm))

向量的减法:x-z=[x-z,x-z,…,x-z]

一个向量与一个标量的乘积是一个向量,例如:

两个向量的点积(dot product)或内积(inner product)是一个标量,例如。有的教科书用w·x来表示点积。需注意的是,两个向量必须具有相同维度,否则它们的点积不存在。

一个矩阵W与一个向量x的乘积是一个向量。比如,给定一个矩阵:

当一个向量与一个矩阵进行运算时,我们通常用一个列向量或只有一列的矩阵来表示这个向量。只有当这个列向量的行数与矩阵的列数相等时,矩阵与向量相乘才是有效运算。假设我们的向量,则Wx的结果是一个二维向量。该运算的具体过程为:

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载