对股民来说,上证指数的涨跌关系着整个市场情绪,在大盘上涨的大前提下操作个股,风险才可控,所以对上证指数的涨跌进行预测,是很有意义的。本文介绍用Pytorch实现CNN网络,来预测上证指数完整过程。
人工智能专栏,分享图像处理、 NLP算法、深度学习、神经网络等领域的知识。
对股民来说,上证指数的涨跌关系着整个市场情绪,在大盘上涨的大前提下操作个股,风险才可控,所以对上证指数的涨跌进行预测,是很有意义的。本文介绍用Pytorch实现CNN网络,来预测上证指数完整过程。
Pytorch深度学习实现手势数字识别项目,因为其数据规整,场景简单,是一个经典的CNN模型入门项目,本文从代码角度,将项目分为四步步骤:数据加载、模型设计、模型训练、模型测试,以下是代码具体代码实现。
前面文章中,介绍了一元线性回归的求解,其关键点在于系数w和截距b的求解。但如果是多元特征,需要求解的变量就是多维的,之前的方法就会异常复杂。所以对于多元特征问题,求解的思路是将向量聚合,用矩阵的方式求解。
线性回归是利用数理统计中的回归分析,来确定两种或两种以上属性间相互依赖的定量关系的一种统计分析方法。本文以学习时长和成绩之间的关系,学习时长越长,成绩越高,来阐释线性关系。
在传统机器学习中,要实现分类算法,一般可采用KNN或者KMeans等方法实现,但以上两种方法,都会有K取值不同,分类结果的问题。而在深度学习中,跟线性回归一样,也可以使用简单粗暴的方式,解决分类问题。以下介绍使用 Pytorch 通过深度学习的方法,实现分类算法。
传统机器学习中,实现线性回归的方法,是先手推公式,得出 θ 的表达式,然后计算得出。但在深度学习中,方法会更简单粗暴,而且拟合效果更好。以下介绍使用 Pytorch 通过深度学习的方法,实现线性回归算法。
损失函数(Loss Function)是用来估量你模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y, f(x))来表示,损失函数越小,模型的鲁棒性就越好。损失函数是经验风险函数的核心部分,也是结构风险函数重要组成部分。
深度学习中的优化问题通常指的是:寻找神经网络上的一组参数θ,它能显著地降低代价函数J(θ)。主要优化算法有:BGD、SGD、Momentum、Adagrad、Adadelta、RMSProp、Adam。
深度学习中的 Normalization 根据规范化操作涉及的对象不同可以大致分为两大类,一类是对 l 层的激活后的输出值进行标准化,Batch Norm、Layer Norm、Instance Norm、Group Norm 就属于这一类;另外一类是对神经元连接边的权重进行规范化操作,Weight Norm 就属于这一类。
在使用Pytorch搭建多层CNN网络结构时,需要调整各层输入参数,一般输入参数可以通过计算获得,但是会比价麻烦,特别是遇到填充和修改步长之后。其实没那么复杂,只需要在定义完模型之后,模拟输入数据,就可以获得各层的输出。
激活函数,也叫激励函数,对于神经网络模型学习、理解复杂数据,具有十分重要的作用。让神经网络可以描述非线性问题的步骤,使神经网络变得更强大。通俗解释,激活函数的作用就是使重要的信息被激励,不重要或者反向的信息被抑制。
在训练深度学习模型之前,样本集的制作是非常重要的环节。在pytorch中,提供了一些接口和类,方便我们定义自己的数据集合,按照对应格式自定义数据集,才可以使用DataLoader加载数据,下面是自定义样本集的整个流程。
CIFAR-10 数据集,是为数不多的可以用笔记本跑的深度学习数据集,总共有6w张彩色图片,图片大小为32x32,分为10类,其中5w张训练集,1w张测试集,本文主要介绍在Pytorch中使用该数据集的方法。
TF-IDF(term frequency–inverse document frequency)是一种常用于NLP的统计方法,用以评估一字词,对于一个语料库中的某一份文档的重要程度。该词重要性,跟它在文件中出现的次数成正比,但同时跟它在语料库中出现的频率成反比。本文介绍使用TF-IDF提取文档关键词的方法。
上节中,一起手写了KNN算法,算法本身不难,但比较麻烦。在真实开发场景中,一般都是使用调包的方式,来处理类似大众化的问题。本节介绍使用sklearn实现KNN算法,并针对KNN算法存在的问题,使用KDtree算法进行一个简单优化。
KNN(K-Nearest Neighbor)近邻算法是机器学习算法中最基础、最简单的算法之一,是一种有监督学习算法。它既能用于分类,也能用于回归。KNN的工作原理,是当预测一个新的值x时,根据它距离最近的K个点是什么类别,来判断x属于哪个类别。