logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

深度学习同分布假设原因?何时可以弱化?

博主之前写过一篇类似的文章,不过还是不够清晰直观,本文将进一步直观的解释,为什么需要独立同分布假设,以及什么时候该假设可以弱化。机器学习的根本目的是为了拟合features和label之间的函数关系,即y=f(x_1,x_2,...,x_k,x_k+1,...,x_n),目的是通过样本数据、模型和优化算法,拟合出f,然后再用拟合得到的f去做预测。因此,好的拟合有三要素:高质量的样本数据、理论可得到

神经网络反向传播(BP)算法推导

BP算法是训练神经网络的一种算法,其是一种计算神经网络可训练参数的梯度的高效算法,正是因为BP算法的提出和在工程上的实现,使得深度神经网络模型可以比较轻易的训练。BP算法是建立在梯度下降的优化算法基础之上的,正是因为我们使用了梯度下降的方法来优化我们的模型,我们才有计算参数梯度的需求。当然,神经网络已经给了我们目标函数的表达方式,因此,计算梯度其实是一件很显而易见的事情,问题在于,如果更加高效简单

#神经网络#算法#深度学习
python为项目创建虚拟环境

不同的项目可能会使用不同版本的包或库,并且我们希望项目的依赖库尽量的少,所以不需要的库便不再安装,尽量保持项目的干净整洁,这样对于不同的项目,有必要给其创建不同的环境。python中,可以通过虚拟环境来实现这个想法。一个虚拟环境包含了python解释器和项目需要的库,以及一些构成虚拟环境的文件。其和系统python以及其他虚拟环境独立,所以我们可以把一个虚拟环境当作一个独立的开发执行环境,从而保持

pandas中对nan空值的判断和陷阱

pandas基于numpy,所以其中的空值nan和numpy.nan是等价的。numpy中的nan并不是空对象,其实际上是numpy.float64对象,所以我们不能误认为其是空对象,从而用bool(np.nan)去判断是否为空值,这是不对的。对于pandas中的空值,我们该如何判断,并且有哪些我们容易掉进去的陷阱,即不能用怎么样的方式去判断呢?可以判断pand......

#pandas#python#数据分析
UnicodeDecodeError: 'utf8' codec can't decode byte 0xd1 in position 0: invalid continuation byte解决办法

出现这个问题,首先就是检查源文件的编码方式是不是utf8,这个可以用vscode或者notepad++打开后直接看编码方式,当然也可以用其他方法查看。如果不是utf8编码方式,则自然不能用utf8解码,对此只需要把编码参数设置成对应的编码方式即可。当然,上面说的是最简单基本的解决方式,一般遇到上述问题,如果用各种编辑软件打开源文件后显示的编码方式就是utf8,但是尽...

vnpy框架的策略开发和回测逻辑详解---以螺纹钢主力合约的R-breaker日内策略为例

       笔者之前写过一篇关于vnpy的简单介绍和安装方法,本篇文章的目的是简单介绍vnpy的框架,然后详细介绍一下如何用vnpy开发自己的量化策略以及整个的回测逻辑是怎么样的。只有我们真的搞清楚了框架结构和相关的逻辑,我们才可以比较灵活高效的使用这种开源框架。       vnpy是开源的,好处是显而易见的,我们可以自己修改和增加相关的功能,个性化定制;但是弊端就是,对于我这样的一个初级..

numpy:性能提升之利用numpy的apply_along_axis函数替代pandas的apply函数

pandas的DataFrame的apply函数可以实现对指定的轴进行遍历操作,这是个很方便也很常用的函数,但是问题在于,当我们的数据量较大,比如有50万行,这时要对50万行进行逐行遍历的话,如果对每行的操作用到了Series索引,那么这将是一个非常耗时的过程,因为对于pandas来说,索引操作是低效的,这种低效再经过50万行放大,那么性能就会显得很差。对此,我们可以通过numpy的...

pandas中对nan空值的判断和陷阱

pandas基于numpy,所以其中的空值nan和numpy.nan是等价的。numpy中的nan并不是空对象,其实际上是numpy.float64对象,所以我们不能误认为其是空对象,从而用bool(np.nan)去判断是否为空值,这是不对的。对于pandas中的空值,我们该如何判断,并且有哪些我们容易掉进去的陷阱,即不能用怎么样的方式去判断呢?可以判断pand......

#python#数据分析
到底了