自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(112)
  • 收藏
  • 关注

原创 【机器学习线性代数】19 复数域中的向量与矩阵

#1 回顾:复数和复平面首先我们快速的回顾一下复数和复平面的基本知识,便于后续知识的介绍。我记得当我们接触到x2=−1x^2=-1x2=−1这个方程的时候,虚数iii第一次进入到了我们的世界中,对于虚数而言,他的加法和乘法运算都并无新意:i+i=2ii+i=2ii+i=2i2i+3i=5i2i+3i=5i2i+3i=5i唯一的新奇之处就在于虚数的平方运算,也就是在解方程x2=−1x^2=-1x2=−1的时候,其平方运算结果是i2=−1i^2=-1i2=−1。那么对虚数有了认识之后,复数的概念就很

2021-04-08 11:06:42 2349 2

原创 【机器学习线性代数】18 傅里叶级数:从向量的角度看函数

1 函数:无穷维向量空间是整个线性代数理论与实践的核心概念,在这一节中我们再一次的遇见了他。我们先简要的回顾一下之前介绍过的向量空间有关概念。向量空间RnR^nRn由所有含有 nnn 个成分的列向量所构成。比如,R4R^4R4空间中就包含了所有含有 444 个成分的列向量[x1x2x3x4]\begin{bmatrix} x_1\\x_2\\x_3\\x_4\end{bmatrix}⎣⎢⎢⎡​x1​x2​x3​x4​​⎦⎥⎥⎤​, 因此RnR^nRn空间也称为是 nnn 维空间,并且在这个向量空间RnR

2021-04-08 11:05:04 1802 1

原创 【机器学习线性代数】17 利用SVD进行彩色图片压缩

这一节,我们再来介绍一个奇异值分解的实际案例:即如何基于SVD的主成分分析方法,来对一张彩色图像进行压缩处理。1.图像的数据表示很明显,如果要对一张图像进行压缩,首先我们得知道应该如何用数据的形式来表示一张具体的图像,在此基础上才能进行下一步的数据压缩处理。那么首先我们利用python中的第三方工具 pillowpillowpillow,来读取一张样例图片,观察他的参数信息。这里我们要处理的样例图片如下:这里要提醒一下大家,由于pillowpillowpillow库是第三方工具,不是python3

2021-04-08 11:00:50 1732 3

原创 【机器学习线性代数】16 SVD在推荐系统中的应用

1.应用背景在这一节里,我们来重点分析一下如何把 SVDSVDSVD 的处理方法应用到推荐系统中,我们在一个实际的案例中进行探讨。有一个风味美食平台,经营着多种不同风味儿的地方特色美食,在系统中维护着一个原始的打分表:表中的行表示各个用户,列表示各种菜品,每一个用户在对一个菜品消费之后都会对其进行打分,分数为1分~5分,分数越高表示评价越高。如果该用户没有消费某道菜品,则分数值默认为0分。在我们的例子中,一共有18名用户对11个不同的菜品进行了打分评价,原始的打分数据如下:2.整体思路概述我

2021-04-08 10:51:59 1515 3

原创 32-matplotlib数据可视化之坐标轴与主次刻度用法详解

0.本集概览1.剖析plt和坐标轴对象ax的关系2.主刻度与次刻度的概念3.格式生成器与定位器的概念4.数值型主次刻度与自定义格式生成器函数举例5.日期型主次刻度举例这一集,我们专门来谈谈坐标轴的有关内容。1.plt和坐标轴对象ax的关系先看以下两段代码,他们实现的是同样的功能:绘制正余弦两个子图:代码一:import numpy as npimport matplotlib.pyplot as pltx = np.linspace(0,10,1000)plt.subplot

2021-04-06 22:13:14 967

原创 31-matplotlib数据可视化之绘制子图

0.本集概览1.一般化的子图布局及绘图2.用plt.subplot/subplots方法绘制子图3.子图之间共用坐标轴的用法4.GridSpec绘制不规则多行多列子图的方法及举例今天我们深入的探讨一下子图的有关内容。有时候我们需要从多个角度进行数据的比较、分析,因此就需要用到子图。 子图的本质是在一个较大的图形中同时放置一组较小的坐标轴,布局形式可以多种多样,不拘泥于我们在第五集中举的那种网格图的形式。1.一般化的子图布局我们先进行一般化的子图布局。首先要创建各个子图的坐标轴,传入一个

2021-04-06 22:08:49 334

原创 30-matplotlib数据可视化之线形图绘制

0.本集概览1.指定单条、多条函数线形图的绘制2.图形标签(图形标题、坐标轴标题、图例)的完善3.图形颜色、线型的设置4.子图的绘制在前面,我们介绍了NumPy和DataFrame的相关内容,那我们就在想了,通常我们喜欢用图的形式来表征数据,这样会更加直观,Matplotlib.pyplot包中含有简单绘图功能,那么从今天起,我们就开始学习这里面的绘图内容。1.简单线形图的绘制首先,话不多说,我们先弄出一个图形来。画一个最简单的三角函数图形 y=sin(x)y=sin(x)y=sin(x)

2021-04-06 22:04:11 819

原创 29-数据透视表的使用方法

0.本集概览1.透视表的基本使用2.透视表实现高维度的行列分组3.透视表实现多属性观察及自定义统计函数这一季里,各种表啊什么的可真多啊,这又是什么鬼~1.透视表的使用背景我先不说透视表是啥,我还是先说一个问题,我们这一集举泰坦尼克号的乘客信息这个经典数据。代码片段:import numpy as npimport pandas as pdimport seaborn as snstitanic = sns.load_dataset('titanic')print(titanic

2021-04-06 22:02:08 229

原创 28-GroupBy使用方法(下篇):累计、过滤、转换与应用

0.本集概览1.GroupBy的累计、过滤、转换和应用功能2.GroupBy分组键的自定义3.索引名称的别名索引上一集里,我们对GroupBy的概念和运行机理进行了重点介绍,这一集在之前的基础上,我们要重点介绍他的一些核心方法,围绕累计、过滤、转换和应用这四个层面。光说这几个词未免显得空洞,那么我们还是一个一个来举例说明:这一集里我们所有的操作对象都是这个DataFrame数据对象:代码片段:import numpy as npimport pandas as pdrng = np

2021-04-03 10:17:33 239 1

原创 27-GroupBy使用方法(上篇):实现分割、应用和组合

0.本集概览1.GroupBy的使用场景和使用方法2.GroupBy分割、应用和组合的操作内涵3.GroupBy对象的遍历1.GroupBy的使用场景和使用方法今天这一集我们开始介绍Pandas中对数据进行处理的一个高逼格的方法:GroupBy。我举一个使用场景,科学家用不同的测量方法,测出了行星的质量、距离、轨道周期等等,就如同下面的代码所示:代码片段:import seaborn as snsplanets = sns.load_dataset('planets')print(pl

2021-04-03 10:15:09 239

原创 26-Pandas数据合并中的关系代数和集合操作

0.本集概览1.DataFrame数据连接中的一对一连接、多对一连接和多对多连接2.指定DataFrame合并列的方法3.DataFrame对象合并列中存在索引列的处理方法4.DataFrame对象连接过程中的内连接、外连接、左连接和右连接5.重复列名问题的处理DataFrame是一种表格型的数据,他的每一个数据行表征着具备各列属性值的一个实体对象,类似关系型数据,而关系代数就是处理这类关系数据的方法基础。这一集我们首先就来探讨数据连接的关系代数:一对一连接、多对一连接和多对多连接。1.

2021-04-03 10:13:12 243

原创 25-Pandas对象的简单数据合并

0.本集概览1.Pandas数据对象按行、列两个维度进行拼接的方法2.对象拼接合并时,行索引相同时的处理方法3.对象拼接合并时,对列进行处理的方法之前的几集,我们都是针对单一的Pandas数据结构进行操作,那么这一集开始,我们重点讨论如何对多个Pandas数据对象进行数据连接。这一集我们讨论如何利用concat方法进行简单的数据拼接。1.按行维度进行拼接代码片段:import pandas as pdser1 = pd.Series(['A','B','C'], index=[1,2,

2021-04-03 10:10:48 141

原创 24-多级索引Pandas对象的取值、分片与运算方法

0.本集概览1.Pandas数据类型多级索引的取值方法2.Pandas数据类型多级索引的分片方法3.多级Series与DataFrame的转换4.多级DataFrame的行列统计接着上一集,说说多级索引下Pandas数据类型的取值方法。1.多级索引的Series其实我们只用紧紧抓住一条:多级索引本质还是索引!就是和之前介绍的Series、DataFrame相比,在原来的基础上增加了索引的数据维度。1.1.多级索引下的取值方法更直观的,我们举Series的例子来看,继续使用上一集中用到的

2021-04-03 10:08:53 361

原创 23-Pandas多级索引的创建方法

0.本集概览1.带多级索引的Series数据类型2.多级索引Series对象和DataFrame对象的相互转化3.带多级索引的DataFrame数据类型4.多级索引的创建方法5.多级行索引和多级列索引举例1.多级索引的Series类型之前的几集里,我们使用了Series数据类型表示一维数据(即仅有一个索引列),用DataFrame类型数据表示二维数据(即包含行索引和列索引这两维索引数据)。但是如果是下面这种情况呢?比如我们用Series来表示美国不同的州、不同年份的人口数据,这对Seri

2021-04-03 10:06:19 334

原创 22-Pandas缺失值的处理技巧

0.本集概览1.Pandas中缺失值的表征方式及运算处理规则2.如何发现缺失值3.如何对缺失值进行丢弃处理4.如何对缺失值进行填充处理现实中的数据,往往不如我们在例子中演示的那般干净、整齐,经常会出现数据缺失的现象,今天这一集,我们就来说说Pandas中缺失值的处理方法。1.缺失值的表征方式python中采用一种NaN(Not a Number)标签来表示缺失值,NaN本质上是一种浮点数类型:代码片段:import pandas as pdimport numpy as npva

2021-03-20 10:50:43 253

原创 21-Series与DataFrame对象的数值运算

0.本集概览1.DataFrame和Series一元运算会作用于每一个数据元素2.DataFrame间和Sereis间的二元运算会自动对齐索引,并进行缺失值处理3.DataFrame和Series之间可以进行行、列两方向上的运算,同样会对齐索引介绍完Pandas对象的构造和数据获取,这一集,我们来说说Series和DataFrame类型的数值运算。1.一元运算作用于每一个数据元素首先说说一元运算,由于Pandas的底层是基于NumPy实现,所以自然而言一元运算会作用于Pandas数据类型的每

2021-03-20 10:50:04 573

原创 20-DataFrame对象的数据选取方法

0.本集概览1.对列标签进行字典形式的取值访问,获取Series对象2.使用字典语法进行列的扩充3.使用values属性,获取ndarray二维数组类型,可以使用相同操作方法4.loc、iloc、ix三种索引器,支持行和列的索引、分片灵活操作5.DataFrame的条件过滤操作6.DataFrame具体值的修改这一集,我们来说DataFrame对象的数据选取方法。同样,我们使用类比法进行学习,前面我们提到过,DataFrame可以看作是若干Series对象构成的字典,也可以看做是一个二维数

2021-03-20 10:49:22 500

原创 19-Series对象的数据选取方法

0.本集概览1.类比字典,按照键-值的方法来进行取值2.类比数组,采用分片、条件掩码和花哨索引来取值3.采用索引器使得数值型索引的取值更清晰前两集里,我们概述了Pandas的基本数据对象,从这一集开始,我们结合这几种数据对象,按照专题,一步一步的综合推进。首先介绍Pandas中数据的选取方法,今天先介绍Series对象的数据选取方式。在之前的剧集中我们谈到过,Series和NumPy数组、Python字典在许多方面都有可比之处,那么我们就从这两个维度来类比Series数据对象的索引和获取。

2021-03-20 10:48:25 1361

原创 18-DataFrame数据对象使用方法概述

0.本集概览1.DataFrame是若干有序排列的Series对象2.DataFrame可以看作含有行索引和列索引的二维数组结构3.DataFrame可以看作是特殊字典,反应了列索引到Series的映射关系4.DataFrame的常见创建方法按照上一集的思路,今天我们继续学习Pandas的另一个基础数据结构DataFrame。我们按照前面的学习路线图,对DataFrame数据对象先进行一个全局性的概览。1.DataFrame是若干有序排列的Series对象如果说Series对象可以类比为带

2021-03-20 10:47:29 588

原创 17-Series数据对象使用方法概述

0.本集概览1.学习Pandas库的必要性2.Series可以视作带索引的增强版数组3.Series的索引基本操作4.Series的类字典特性在第二季的前面4集里,我们学习了NumPy库,从这一集开始,我们向Python数据处理的另一个库Pandas进发。Pandas是在Numpy的基础上建立的一个第三方程序库。1.学习Pandas库的必要性之所以在掌握了NumPy库之后还要学习和使用Pandas,是因为ndarray数据结构常常作用于那些常见的干净整齐、组织良好的数据,但是我们在实际工作

2021-03-20 10:46:41 304

原创 16-NumPy简单统计方法举例

0.本集概览1.csv数据的读取2.利用常用函数获取均值、中位数、方差、标准差等统计量3.利用常用函数分析价格的加权均值、收益率、年化波动率等常用指标4.处理数据中的日期今天这一集,我们介绍一下NumPy库中的一些非常实用和常用的函数方法。1.应用背景要知道,NumPy的常用数学和统计分析的函数非常多,如果我们一个一个的分散来讲,一来非常枯燥,二来呢也记不住,就仿佛又回到了昏昏欲睡的课堂,今天我们用一个背景例子来串联一下这些零散的知识点。我们通过分析苹果公司的股票价格,来串讲NumPy的

2021-03-20 10:45:33 311

原创 15-ndarray 基本运算方法解析

0.本集概览1.二维数组的转置与内积2.数组的元素级别运算3.条件逻辑运算where4.各轴向上的统计运算5.布尔数组的运算6.数组的就地排序这一集我们主要介绍NumPy中,关于ndarray数组的基本运算。1.二维数组的转置与内积二维数组的转置,这里先简单的提一下,这其实是线性代数的内容,我们后面介绍线性代数的内容时还会再提的。代码片段:import numpy as np arr = np.arange(15).reshape(5,3) print(arr) prin

2021-03-20 10:44:07 465

原创 14-ndarray高维数组的索引和分片技巧

0.本集概览1.ndarray高维数组的索引与切片2.布尔索引与条件赋值3.指定行和列的选取1.ndarray数组的索引和切片1.1.一维数组的情况一维数组的相关内容非常简单,和我们之前讲过的python内置列表差不多,我们简单的浏览一下:代码片段:import numpy as nparr = np.arange(10) print(arr) print(arr[5]) print(arr[5:8]) 运行结果:[0 1 2 3 4 5 6 7 8 9] 5 [5

2021-03-20 10:43:04 254

原创 13-NumPy 函数包使用方法初步

0.本集概览1.NumPy数据类型的优势概述2.ndarray多维数组的创建与基本属性3.网格数据和范围数据的创建4.ndarray多维数组的维度转换、连接与标量计算通过第一季的学习,我们全面接触了Python这门有趣、有用的语言。做到了核心内容全覆盖,并且具备了一定的深度。相信掌握了他们,你已经跃跃欲试,想做点什么了,对吗?1.NumPy概述在这一季里,我们主要学习Python数据分析的一些常用的基本工具。我们首先要接触的是NumPy这个函数包,NumPy是Numerical Pytho

2021-03-20 10:40:40 206

原创 12-异常的处理方式

0.本集概览1.异常的默认处理和主动捕获2.主动触发异常和自定义异常3.try、except、else、finally、raise关键字解析4.异常的处理流程5.try/except/else/finally组成的几种异常处理模式1.异常的处理方式没错,每当在运行时检测到程序错误时,Python就会引发异常。对待异常有两种方法:一是可以在程序中捕捉和响应错误;或者忽略已发生的异常。如果是忽略已发生的异常,Python默认的异常处理行为将启动:停止程序,打印出错消息。如果不想启动这种默认行

2021-03-07 21:16:57 242

原创 11-函数闭包与装饰器用法详解

0.本集概览1.嵌套作用域与闭包现象2.nonlocal关键字与内嵌作用域变量修改3.装饰器到底是什么4.装饰器的用法和语法糖5.装饰器如何添加额外参数回顾一下上一集所讲的,上一集里我们介绍了变量的LEGB索引机制:对一个变量,首先在本地(函数内)查找;之后查找嵌套函数的本地作用域,然后再是查找当前的全局作用域。1.嵌套作用域与函数闭包到目前为止,我们还有一个作用域没有介绍,就是嵌套作用域,即E,他是嵌套函数的本地作用域。1.1.嵌套函数**首先说说什么是嵌套函数。**Python有

2021-03-07 21:15:54 176

原创 10-函数参数的传递、修改、匹配与解包过程全解析

0.本集概览1.函数参数传递的实现过程2.可变对象和不可变对象参数传递、修改的区别3.如何避免参数传递的本地修改4.基于位置和关键字的参数匹配方法5.使用默认参数形式6.函数定义使用* 和** 进行任意数目参数收集7.函数调用时使用* 和** 进行参数解包今天我们再来说说函数中的参数传递问题。这个看上去自然而然的过程里其实很有讲究。1.参数的传递参数的传递是通过自动将对象赋值给本地变量名来实现的。在函数运行时,函数头部的参数名是一个新的、本地的变量名,这个变量名是在函数的本地作用域内

2021-03-07 21:14:29 249

原创 09-函数的基本特征与变量作用域

0.本集概览1.函数也是对象2.函数的多态内涵3.变量的四种作用域4.函数变量的LEGB作用域搜索机制5.利用global关键字进行全局变量修改从这一集开始,我们分三集来讲讲函数。简而言之,一个函数就是将一些语句集合在一起的部件,它们能够不止一次的在程序中运行。函数还能计算出一个返回值,并能够改变作为函数输入的参数,而这些参数在代码运行时也许每次“代入”的值都不相同。函数是python为了代码最大程度的重用和最小化代码冗余而提供的最基本的程序结构。1.第一个简单完整的函数首先我们先学习一

2021-03-07 21:13:27 170

原创 08-生成器的使用技巧详解

0.本集概览1.生成器可以避免一次性生成整个列表2.生成器函数的运行过程解析及状态保存3.生成器表达式的使用方法4.生成器表达式的可迭代特性之前我们介绍了列表解析式,他的优点很多,比如运行速度快、编写简单,但是有一点我们不要忘了,他是一次性生成整个列表。如果整个列表非常大,这对内存也同样会造成很大压力,想要实现内存的节约,可以将列表解析式转换为生成器表达式。今天这一集,就单聊生成器。1.避免一次性生成整个列表避免一次性生成整个结果列表的本质是在需要的时候才逐次产生结果,而不是立即产生全部

2021-03-07 21:12:06 216

原创 07-一文理顺可迭代对象、迭代器与迭代环境

0.本集概览1.可迭代对象、迭代器、迭代协议究竟是什么2.迭代过程手动演示3.典型可迭代对象举例:文件、字典以及range、enumerate返回值4.使用迭代协议的逐项扫描工具可以称之为迭代环境5.迭代环境还包含很多可以传入可迭代对象的内置方法这一集的标题名称看起来比较绕,反反复复出现的是迭代二字。大家注意,这一节的内容很pythonic,是很有特色也非常重要的知识点。敲黑板啦!1.可迭代对象Python中有一类工具叫做迭代工具,他们能从左至右扫描对象。这包括了for循环、列表解析、i

2021-03-07 21:10:59 247

原创 06-Python动态类型与对象拷贝机制分析

0.本集概览1.Python的动态类型和引用机制2.Python的共享引用和垃圾收集机制3.可变对象的原处修改性质4.获取对象独立拷贝的方法5.对象比较、相等判定和真值问题1.动态类型和对象引用有朋友问我,C语言中常常可以看到int a = 1这种表达式,可是Python中怎么没见到这些?回答这个问题,就得谈谈Python中的对象引用机制和动态类型。的确,Python使用变量的时候都没有声明变量的类型,这一点和C语言不同。但是,变量还可以工作,因为在Python中类型是在运行的过程中自动

2021-03-07 21:03:52 181

原创 05 Python文件操作用法探讨

0.本集概览1.文件操作模式,他的本质是字符串2.文件的读方法和文件迭代器逐行扫描3.文件的关闭与刷新4.二进制文件的读写与对象的文件存储前面两集,我们详细介绍了Python字符串以及编解码的有关内容,这些内容实质上也是文件操作的基础。今天这一集,我们就正好来说说文件操作。1.文件操作模式先预热一下,看一个利用open函数打开文件的简单例子:代码片段:myfile = open('myfile.txt','w')myfile = open('myfile.txt','r')文件读

2021-03-07 21:01:44 222

原创 04-Python字符编码深入剖析及应用举例

0.本集概览1.字符编码的基本概念和发展过程2.Python的文本字符串和字节字符串3.Python编、解码的本质内涵4.Python编、解码的操作方法5.文本文件读取场景下的应用举例通过前面一集的内容,我们熟悉了字符串的常见用法。不过倒也让我想起一直以来让人困惑的一些概念:ASCII码、Unicode、字符编码什么的,很多朋友一直为此头大,这一集我们就来深入剖析这些内容。先开始我们不讲编程,不堆概念,我们讲讲故事吧。1.字符编码是如何变成今天这样的关于字符编码的概念太多太杂,当ASC

2021-03-07 20:59:55 316

原创 03-字符串用法详解

0.本集概览1.字符串本质上是不可更改的有序字符容器2.字符串常用操作:分片、连接、赋值、遍历等3.字符串进阶操作:查找、替换、提取、连接与空白去除4.字符串的格式化输出与类型转换5.转义字符与原始字符串Python中一项很重要的工作就是进行文本处理,与之紧密相关的数据类型是字符串,这一集,我们由浅入深介绍一系列关于字符串的使用内容。1.字符串的容器本质前面刚刚介绍了容器,字符串本质上也可以理解为字符的容器。他就是由单个字符组成的有序序列,且不可修改。类比前面提到的列表,如正向索引、反

2021-01-10 21:39:38 423

原创 02-循环迭代与容器遍历用法解析

0.本集概览1.while循环和for循环的基本用法2.几种容器对象(列表、字典、元组、字符串和文件)的遍历方法3.range、zip、enumerate的循环高级技巧4.列表解析式与字典解析式循环是每个程序语言的最基本最重要的部分之一,这一部分我们来说说循环迭代这个话题。大家肯定会说:循环就是for循环、while循环嘛。不过python的循环使用更方便,涉及的技巧和用法也更值得好好聊聊。1.Python中的循环基本用法现在就来谈谈循环的基本用法,通过这一节你就能愉快的使用python

2021-01-09 21:55:25 513 2

原创 重要!加入讨论群的方式

入群方式:下图右下角是作者企业微信二维码请用微信扫二维码加作者,然后作者就可以拉您进入讨论群了!

2020-12-06 11:00:39 4440 1

原创 微积分与最优化:最终解决方案的落地手段

机器学习中,数学为什么重要?大家好,我是张雨萌,毕业于清华大学计算机系,目前从事自然语言处理相关的研究工作。撰写《机器学习中的数学》系列专栏并和大家一起共同交流学习,是我们准备了很久的一个计划。当下,机器学习、人工智能领域吸引了许多有志者投身其中,其中包含了大量非科班出身或从其他行业切换赛道转行而来的朋友。大家在学习的过程中经常会感觉学习曲线陡峭、难度较大,而机器学习之所以这么难,首要原因就是数学知识需要得太多了!的确如此,机器学习是一个综合性强、知识栈长的学科,需要大量的前序知识作为铺垫。其中

2020-11-24 13:03:27 1491

原创 【概率图与随机过程】25 从有向到无向:谈谈条件随机场

这是这一期专栏的最后一讲了,我们来简要介绍一下无向图模型中的一个非常重要的模型:条件随机场。1.隐马尔可夫模型中的一些问题还记得前面我们隐马尔可夫模型中,我们老说的两个假设吗?老生常谈了,不厌其烦再谈一次。第一个假设:观测独立性假设。观测变量xtx_txt​的取值只与对应的隐变量yty_tyt​相关,而与其他的观测变量、隐变量均无关。第二个假设:齐次马尔科夫假设。隐变量yty_tyt​的取值只与前一时刻的yt−1y_{t-1}yt−1​相关,而与其他的观测变量、隐变量均无关。这两个假设模型在很大

2020-11-22 20:33:01 930 3

原创 【概率图与随机过程】24 重采样:粒子滤波中的处理技巧

1.粒子滤波采样流程解读在上一讲中,我们已经得到了粒子滤波中t−1t-1t−1时刻和ttt时刻权重之间的关系:wt=p(xt∣zt)wt−1w_t= p(x_t|z_t)w_{t-1}wt​=p(xt​∣zt​)wt−1​,那么粒子滤波中的采样过程具体就描述如下,显然这是一个迭代的过程:前提:在t−1t-1t−1时刻采样过程已完成那么在ttt时刻,我们采样NNN个zt(i)z_t^{(i)}zt(i)​样本点for   i=1,2,...,N:for \,\,\,i=1,2,...,N:fori=1

2020-11-22 20:32:38 843 2

原创 【概率图与随机过程】23 粒子滤波基本原理

1.粒子滤波:更一般的情况上一讲中我们介绍过,卡尔曼滤波是可以得到解析解的,而原因是由于ztz_tzt​和zt−1z_{t-1}zt−1​之间满足线性关系,且变量服从高斯分布。我们回想一下,正是因为高斯分布的完美特性,导致了我们可以拿出滤波结果的解析解。但是这毕竟是一种非常特殊的情况,换句话说,如果在更一般的情况下ztz_tzt​和zt−1z_{t-1}zt−1​之间不满足线性关系,而是可以满足任意关系,且变量不服从高斯分布,那么会是什么样的一种情形?这就是我们这一讲开始要介绍的粒子滤波。2.粒子滤波

2020-11-22 20:32:18 708

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除