- 博客(74)
- 收藏
- 关注
原创 数据分析-深度学习 NLP Day3句法分析
随着大规模标注树库的建立,基于统计学习模型的句法分析方法开始兴起,句 法分析器的性能不断提高,最典型的就是风靡于 20 世纪 70 年代的 PCFG ( Probabil istic Context Free Grammar ),它在句法分析领域得到了极大的应用,也是现在句法分析中常 用的方法。统计句法分析模型本质是一套面向候选树的评价方法,其会给正确的句法树 赋予一个较高的分值,而给不合理的句法树赋予一个较低的分值,这样就可以借用候选 句法树的分值进行消歧。而效率主要用于对 比句法分析器的运行时间。
2023-03-02 16:28:19 787 1
原创 数据分析-深度学习 NLP Day2关键词提取案例
根据具体要处理的文本,计算每个词的TF值,并获取前面训练好的IDF数据,直接获取每个词的IDF值,综合计算每个词的TF-IDF。model为本主题模型的具体算法,分别可以传入LSI,LDA,默认为LSI。5 加载数据集,并对数据集中的数据分词和过滤干扰词。12 对上面的各个方法进行封装,统一算法调用接口。3)根据训练好的算法提取关键词;3)对数据集中的文档进行分词;4)根据停用词表,过滤干扰词;2)根据停用词表,过滤干扰词;2 定义好停用词表的加载方法。1)加载已有的文档数据集;5)根据数据集训练算法;
2023-02-21 16:56:01 1323
原创 数据分析-深度学习RNN+LSTM Day1
根据最近的信息表明,下一个词可能是一种语言的名称,但是如果我们想缩小哪种语言的范围,我们需要“法国”的背景,来自更前面的信息。接下来,tanh层创建一个新候选值的向量,该向量可以添加到状态中。在这样的问题中,cell状态可能包括当前主语的词性,从而可以使用正确的代词。看到新的主语时,我们想忘记旧的主语的词性。RNN的一大亮点是它能够连接之前的信息到当前的任务,比如,在一个视频中,可以根据之前的图像帧,预测当前的帧。在我们的语言模型示例中,我们希望将新主语的词性添加到cell状态中,以替换我们遗忘的旧主语。
2023-02-16 23:08:52 484
原创 数据分析-深度学习 Tensorflow Day6
其实是这样的,前馈是从网络结构上来说的,是前一层神经元单向馈入后一层神经元,而后面的神经元没有反馈到之前的神经元;而BP网络是从网络的训练方法上来说的,是指该网络的训练算法是反向传播算法,即神经元的链接权重的训练是从最后一层(输出层)开始,然后反向依次更新前一层的链接权重。以上 就是损失函数: 我们知道,这个函数,当他的导数为0的时候, 它的值最小。则f(g(x))对x的导数为=f(g(x))的导数 * 个g(x)的导数。f(x)=x*x*x +3*x+4 的导数是 3(x*x)+3。
2023-02-15 17:51:09 422
原创 数据分析-深度学习 Tensorflow Day5
由上图可以看出,当正确结果处的概率越大 则信息熵越小,信息量越大 最大为1,交叉熵为0。本篇博客会记录数据加载,全连接层,输出方式,误差计算的相关知识点。就是各种激活函数和原始输出的联系和作用。MSE 和 交叉熵 计算loss。常用数据集及数据集加载。
2023-02-12 09:12:37 143
原创 数据分析-深度学习 Tensorflow Day4
例如对shape为(a,b)的Tensor进行扩展,指定axis=0,那么就在维度a前扩展,扩展后shape为(1,a,b);此外,它还可以进行任意的维度交换,实际上转置也可以看做维度的交换,例如[1,2,3]现在可以将第二维和第三维交换,结果是[1,3,2]。但不是任何情况都不会出错,扩展的过程为,遵循最后一维对齐原则,缺失的维度自动扩展,且值为1,对值为1的维度进行扩展,值不为1的维度不能扩展。[3,1]可以扩展,根据右对齐原则,[3,1]缺少对应2的维度,自动扩展为(1,3,1)。
2023-02-07 16:19:46 474
原创 数据分析-深度学习 Tensorflow Day3
gather_nd参数中给出一个结构,输出结果会将结构中的索引用数据替代,例如下面In[104],用a[0]替代了结构[0],所以结果是一个向量;又比如In[107],用a[0]替代[0],用a[1]替代[1]因为结构包裹了一层方括号,因此,结果是一个矩阵。注意这里的[0,1]可以理解为索引列表,但是不支持冒号。所以有个问题就是gather与gather_nd在截取比较复杂的数据时,会比较麻烦。
2023-02-07 16:15:47 417
原创 数据分析-深度学习 Tensorflow Day2
那么为什么要区分需要计算梯度信息的张量和不需要计算梯度信息的张量呢?由于梯度运算会消耗大量的计算资源,而且会自动更新相关参数,对于不需要优化的张量,如神经网络的输入X不需要通过tf.Variable封装;相反,需要计算梯度并优化的张量,如神经网络层的W和b,需要通过tf.Variable封装以便TensorFlow跟踪相关梯度信息。为了区分需要计算梯度信息的张量和不需要计算梯度信息的张量。tf.Variable()类型在普通张量类型的基础上添加了name、trainable等属性来支持计算图的构建。
2023-02-04 10:09:26 199
原创 数据分析-深度学习 Tensorflow Day1
TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。TensorFlow 最初由Google大脑小组(隶属于Google机器智能研究机构)的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领域。其命名来源于本身的原理,Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算。高度的灵活性:只要能够将计算表示成为一个数据流图,那么就可以使用TensorFlow。
2023-02-02 21:38:55 389
原创 数据分析-深度学习Pytorch Day13
反向传播算法让多层感知器,或者说传统的全连接神经网络有了训练的手段,引发了神经网络的第二次热潮,虽然为期不长,毕竟当时算力和数据都很有限,但是全连接神经网络总算是正式起来了。单层感知机是二分类的线性分类模型,输入是被感知数据集的特征向量,输出时数据集的类别{+1,-1}。该函数称为单层感知机,其中w是网络的N维权重向量,b是网络的N维偏置向量, w.x是w和x的内积,w和b的N维向量取值要求在实数域。单层感知机是二分类的线性分类模型,输入是被感知数据集的特征向量,输出时数据集的类别{+1,-1}。
2023-01-31 22:22:48 413
原创 数据分析-深度学习Pytorch Day12
我们假设一个分布,高斯分布,均值为0,方差为1,我们希望你属于一个这样的分布,如果你没有输入这个分布,我们鉴别你,我们把真实的z和希望得到的z’都送给这个网络做鉴别这个差距,如果差距大,就是不属于预设的这个分布,我们输出一个fake,我们这个分布属于预设的分布,就是属于这个高斯分布,我们输出这个1。比如你从【-1, 1】变换h分布的时候,重建出来的图片它可能是一样的,就是没有呈现出这种分布过来,这样的话就比价烦人了,那么怎么解决这个问题呢?sample()是不可微的,不能进行反向传播,
2023-01-29 23:06:01 332
原创 数据分析-深度学习Pytorch Day11
梯度下降法( gradient descent )是一阶最优化算法,通常也称为最速下降法,是通过函数当前点对应梯度(或者是近似梯度)的反方向,使用规定步长距离进例行迭代搜索,从而找到一一个函数的局部极小值的算法,最好的情况是希望找到全局极小值。但是在使用梯度下降算法时,每次更新参数都需要使用所有的样本。它是对梯度下降法算法的一种改进,且每次只随机取一部分样本进行优化, 样本的数量一般是2的整数次幂,取值范围是32~256,以保证计算精度的同时提升计算速度,是优化深度学习网络中最常用的一类算法。
2023-01-28 23:18:33 477
原创 数据分析-深度学习Pytorch Day10
对于最优判别器D*,虚假样本判断结果D(G(z))应为0,1-D(G(z))为1,log(1-D(G(z)))为0;若判别器非最优,log(1-D(G(z)))小于0。而D网络的训练就是一个2分类,目标是分清楚真实数据和生成数据,也就是希望真实数据的D输出趋近于1,而生成数据的输出即D(G(z))趋近于0,或是负类。没有约束条件的生成模型是无监督模型,将给定的简单先验分布π(z)(通常是高斯分布),映射为训练集图片的像素概率分布p(x),即输出一张服从p(x)分布的具有训练集特征的图片。
2023-01-27 23:38:56 545
原创 数据分析-深度学习Pytorch Day9
理论篇的上一篇文章中我们学习了残差网络(ResNet),其核心思想是通过跳跃连接构建残差结构,使得网络可以突破深度的限制,从而构建更加深层次的网络。本期实战分享我们主要对ResNet网络结构中常用的ResNet-18进行代码Tensorflow实践, 本次代码十分简洁,希望各位全程跟上。本次数据采用RAFDB人脸表情数据集,包含七个分类:平和,开心,悲伤,惊讶,厌恶,愤怒,害怕。与之前的数据集类似,该人脸表情数据集也包含。一样,该数据集包含训练集与测试集,每个集包含七个文件夹(表情)
2023-01-26 18:10:46 325
原创 数据分析-深度学习 Pytorch Day9
换句话说,可以认为神经网络的前面几层学习到的是通用特征,随着网络的加深,后面的网络更偏重于学习到任务相关的特定特征,因此可以利用这种通用特征和任务相关的特定特征进行知识迁移。针对目前强化学习接入、训练都比价耗时的情况,利用预训练的模型可以显著的降低训练工作量,提升训练效果,预训练的模型在计算机视觉、NLP领域都取得了很大的成功,但是在强化学习领域,仍然是一个亟待研究的问题,后续我们可以考虑通用模型建模和预训练模型,从而进一步提升强化学习的训练效率和模型表现。生成器和判别器的互相博弈,就完成了对抗训练。
2023-01-23 22:05:27 752
原创 数据分析-深度学习 Pytorch Day8
我们类比着来学习,首先看图中最中间的地方,Cell,我们上面也讲到了memory cell,也就是一个记忆存储的地方,这里就类似于普通RNN的 �� ,都是用来存储信息的,这里面的信息都会保存到下一时刻,其实标准的叫法应该是 ℎ� ,因为这里对应神经网络里的隐藏层,所以是hidden的缩写,无论普通RNN还是LSTM其实t时刻的记忆细胞里存的信息,都应该被称为 ℎ�。在现实生活中,门就是用来控制进出的,门关上了,你就进不去房子了,门打开你就能进去,同理,这里的门是用来控制每一时刻信息记忆与遗忘的。
2023-01-22 21:46:22 666 1
原创 数据分析-深度学习 Pytorch Day7
注意:__init__这一块下划线要注意,按理说只要将模型定义到__init__()里就ok了,但是大家容易少打一个下划线会报错,将下划线_改为__即可解决问题。1.CIFAR10数据集共有60000张彩色图像,这些图像式32*32*3,分为10个类,每个类6000张。:其中BATCH_SIZE = 32 中的32 可以根据自己电脑配置来定,配置高可以定128 低可以定16。这时候多运行几次,代码是没有问题的,应为JUPYTER是在网页上运行,需要时间反应,多运行几次。出现如下图结果数据集下载成功。
2023-01-17 22:43:44 306
原创 数据分析-深度学习Pytorch Day6
问题1:如果隐藏层有1000个神经元,每个样本的输入是100*100*3,仅仅单层的总weights数是。池化的缺陷:池化的作用是将图片变小,做了subsampling之后减小运算量。对比两种不同方式下的颜色:在单个感受野生成的列向量对应的权重和Fliters中的数值是一一对应。不同的神经元能够实现参数共享share parameters,从而作用域不同的感受野区域。感受野:用来表示网络内部的不同位置的神经元对原始图像的感受范围的大小。问题来了:相同的特征在不同的位置,需要在不同的位置使用不同的神经元吗?
2023-01-16 22:25:01 528 1
原创 数据分析-深度学习 Pytorch Day5
如果学习率调整的太小,比如蓝色的线,就会走的太慢,虽然这种情况给足够多的时间也可以找到最低点,实际情况可能会等不及出结果。坐标系中是两个参数的error surface(现在考虑左边蓝色),因为 w1 对 y的变化影响比较小,所以 w1 对损失函数的影响比较小,w1 对损失函数有比较小的微分,所以w1方向上是比较平滑的。同理反复进行这样的计算。上图左边是 x1 的scale比 x2 要小很多,所以当 w1 和 w2 做同样的变化时,w1 对y 的变化影响是比较小的,x2对 y 的变化影响是比较大的。
2023-01-15 22:09:18 545 1
原创 数据分析-深度学习 Pytorch Day4
对低频的参数做较大的更新,对高频的做较小的更新,也因此,对于稀疏的数据它的表现很好,很好地提高了 SGD 的鲁棒性,例如识别 Youtube 视频里面的猫,训练 GloVe word embeddings,因为它们都是需要在低频的特征上有更大的更新。但是在AdaGrad中,随着梯度g的增大,我们的r也在逐渐的增大,且在梯度更新时r在分母上,也就是整个学习率是减少的,这是为什么呢?在实际应用中,各个参数的重要性肯定是不一样的,所以我们对于不同的参数要动态的采取不同的学习率,让目标函数更快的收敛。
2023-01-14 23:44:44 460
原创 数据分析-深度学习 Pytorch Day3
PyTorch张量在概念上与numpy数组相同:张量是一个n维数组,PyTorch提供了许多操作这些张量的函数。对于现代的深度神经网络,gpu通常提供50倍或更高的加速,所以很不幸numpy不足以满足现代的深度学习。Torch张量和NumPy数组将共享它们的底层内存位置(如果Torch张量在CPU上),改变一个就会改变另一个。当创建一个未初始化的矩阵时,无论当时分配的内存中有什么值,都会显示为初始值。在现有张量上创建的张量,其属性将重用输入张量的属性,除非用户提供新的值。
2023-01-13 16:05:38 726
原创 数据分析-深度学习Pytorch Day2
server的带宽成为server和worker的通信瓶颈,并且worker数量越多,通信成本越大,在server和worker进行通信的时候,server是不进行计算的,因此会造成资源浪费。在model(test)之前,需要加上model.eval(),否则的话,有输入数据,即使不训练,它也会改变权值。每个GPU两两进行梯度交互,构成一个闭环,最终可以使得所有GPU都有相同的梯度。DP比DDP慢,原因是:DP需要传输“数据”,“模型”,“输出”,“损失”,“梯度”,而DDP只需要传输“梯度”。
2023-01-12 23:59:41 246
原创 数据分析-深度学习Pytorch Day1
2其次要注意将命令中-c pytorch删除,-c pytorch的意思就是从官网上获取,即使你已经更换了镜像源,去除-c pytorch之后,系统就会默认从设置的镜像源中获取。第二步:安装CUDA,搜索Cuda download,下载CUDA Tookit10.0 Download(根据python版本选择相应的CUDA版本),安装完成之后,打开cmd检测安装是否成功。安装完成以后,默认会安装一些附属的包,比如torchvision等。找到对应的版本下载即可,我的是python3.6,cuda9.0。
2023-01-11 22:33:28 395
原创 数据分析-深度学习Day5
而a又可以为下一级神经元作为输入,经权重偏置计算的到Z',Z'',我们求C对z的偏微分就可以经过链式法则,a对z的偏微分就是sigmoid(z)的导数,我们很熟悉,而后者可以展开成图最后的式子,当然Z',Z''对a的偏微分就是w3,w4,但是C对Z',Z''的偏微分怎么求呢,只要还有下一级神经元,我们就需要再往下一级计算(事实上类似于递归的算法)我们假设当前神经元连结的不是输出层,即连接的还是神经元,我们为了求出当前的偏导就需要用到下一级的偏导,直到传递到输出层,和递归很向吧。关注IP属地: 上海。
2023-01-10 22:28:54 244
原创 数据分析-深度学习 Day4
参考下图,我们再来看一下,下图中的每一行都是一个样本资料,图中给了batch=3的情况,假设我们对 z1 做了微小的改动,那本来是只会影响到 a1 的输出,然后由于做了Feature Normalization, μ 和 σ 都会发生相应的变化,这会间接影响到每个 ai 的输出,因此,在做了Feature Normalization之后,每个输入都变得相互关联了,这样的话,我们将所有输入资料和网络看做是一个。
2023-01-09 19:03:02 240
原创 数据分析-深度学习 Day3
attention的运作方式如下,输入可以是一个embedding的input,或者是hidden layer,比如下面的每个 bi 的输出都考虑了每个输入 ai 的信息,同时对于每个 ai 需要考虑它们各自的重要程度,因此会有一个权重 α ,对于 α 的计算方式有很多,比如下面图中,红色框框内的计算方式就是transformer中self-attention的计算方式,右边黑色框框内的 α 是通过两个vector的和,再一层激活函数和一层线性层得到。Positon Encode 的功能,只是。
2023-01-08 22:54:41 257
原创 数据分析-深度学习 Day2
attention的运作方式如下,输入可以是一个embedding的input,或者是hidden layer,比如下面的每个 bi 的输出都考虑了每个输入 ai 的信息,同时对于每个 ai 需要考虑它们各自的重要程度,因此会有一个权重 α ,对于 α 的计算方式有很多,比如下面图中,红色框框内的计算方式就是transformer中self-attention的计算方式,右边黑色框框内的 α 是通过两个vector的和,再一层激活函数和一层线性层得到。Positon Encode 的功能,只是。
2023-01-07 21:50:30 657 3
原创 数据分析-深度学习 Day1
李宏毅老师给出了一个可能的解释是:在模型刚开始训练的时候,每个数据点对模型来说都是新的,并没有学到任何东西,或者说并不知晓数据的分布情况,这个时候的 σ 统计是不精准的,模型这个时候如果给与比较大的学习率很容易学偏,并且在一开始的时候很难把错误的点拉回来,因此在模型一开始训练的时候让它慢慢学,等到学到一定的先验知识,对数据分布有了解之后,再加大学习率去学习,至于后面为什么要小下去,这个解释和前面的learning rate decay的思想一样。但细心的同学也许会发现,
2023-01-06 08:51:33 731
原创 数据分析-Hive学习 Day6
比如我们可以从银行的存款额和企业的贷款额之间的计算,推算出目前的市场状况是如何,如果企业的贷款额高,银行的存款额也高,说明人们不愿意消费了,都把钱存起来,小型企业的产品卖不出去,要发工资,那么自然要贷款,这只是一个例子,具体还需要结合很多数据做分析。数据仓库(Data Warehouse)简称 DW 或 DWH,是数据库的一种概念上的升级,可以说是为满足新需求设计上的一种新数据库,而这个数据库是需容纳更多的数据,更加庞大的数据集, 从逻辑上讲数据仓库和数据库没有什么区别的。主题是根据分析的要求来确定的。
2023-01-03 23:42:21 492
原创 数据分析 -Hive学习 Day5
LAG()函数是一个窗口函数,允许您从当前行向前看多行数据。与LEAD()函数类似,LEAD()函数对于计算同一结果集中当前行和后续行之间的差异非常有用。LAG语法: LAG(列名,[offset], [default_value]) OVER ( PARTITION BY 列名,... ORDER BY 列名 [ASC|DESC],... )
2023-01-02 22:49:41 395
原创 数据分析-Hive学习 Day3
datediff(string enddate, string startdate):结束日期机器拿去开始日期的天数。激活时间在2018年,年龄段在20-30岁和30-40岁的婚姻状况分布。备注:如果不指定截取的长度,则从开始一直截取到最后一位。param2:用key取出想要获取的value。4. 统计每个性别用户等级高低的分布情况。param1: 需要解析的json字段。1. 时间戳转化为日期。2. 如何计算日期间隔。
2022-12-31 23:31:53 472
原创 数据分析-Hive学习 Day2
Hive 的原子数据类型是可以进行隐式转换的,类似于 Java 的类型转换,例如某表达式 使用 INT 类型,TINYINT 会自动转换为 INT 类型,但是 Hive 不会进行反向转化,例如, 某表达式使用 TINYINT 类型,INT 不会自动转换为 TINYINT 类型,它会返回错误,除非使 用 CAST 操作。在建表的时候,用户 还需要为表指定列,用户在指定表的列的同时也会指定自定义的 SerDe,Hive 通过 SerDe 确定表的具体的列的数据。如果相同名字的表已经存在,则抛出 异常;
2022-12-30 20:47:20 331
原创 数据分析-Hive学习 Day1
Hive 是一个构建在 Hadoop 之上的数据仓库,它可以将结构化的数据文件映射成表,并提供类 SQL 查询功能,用于查询的 SQL 语句会被转化为 MapReduce 作业,然后提交到 Hadoop 上运行。。
2022-12-29 21:22:14 366
原创 机器学习-Sklearn(第三版)Day11 XGBoost
作为工程能力强,效果优秀的算法,XGBoost应用广泛并且原理复杂。可以意识到,XGBoost的难点在于它是一个集大成的模型。它所涉及的知识点和模型流程,多半在其他常用的机器学习模型中出现过:如树的迭代过程,其实可以和逻辑回归中的梯度下降过程进行类比;如剪枝的过程,许多都可以与随机森林和决策树中的知识进行对比。
2022-12-28 21:28:55 1098
原创 机器学习-Sklearn(第三版)Day10 朴素贝叶斯
1. 朴素贝叶斯 朴素贝叶斯被认为是最简单的分类算法之一。首先,我们需要了解一些概率论的基本理论。假设有两个随机变量X和Y,他们分别可以取值为x和y。有这两个随机变量,我们可以定义两种概率:关键概念:联合概率与条件概率联合概率:“X取值为x”和“Y取值为y”两个事件同时发生的概率,表示为 P ( X = x , Y = y ) P(X = x, Y = y) P(X=x,Y=y)条件概率:在X取值为x的前提下,Y取值为y的概率,表示为 P ( Y = y ∣ X = x ) P(Y = y | X =
2022-12-27 22:24:32 177
原创 机器学习-Sklearn(第三版)Day9 回归大家族:线性回归,岭回归,Lasso与多项式回归
1 线性回归大家族回归是一种应用广泛的预测建模技术,这种技术的核心在于预测的结果是连续型变量。决策树,随机森林,支持向量机的分类器等分类算法的预测标签是分类变量,多以{0,1}来表示,而无监督学习算法比如PCA,KMeans并不求解标签,注意加以区别。回归算法源于统计学。
2022-12-26 21:27:11 1257
原创 机器学习-Sklearn(第三版)Day8 SVM下集
1 SVC用于二分类的原理复习在支持向量SVM(上)中,学习了二分类SVC的所有基本知识,包括SVM的原理,二分类SVC的损失函数,拉格朗日函数,拉格朗日对偶函数,预测函数以及这些函数在非线性,软间隔这些情况上的推广,并且引出了核函数这个关键概念。今天,基于已经学过的理论,继续探索支持向量机的其他性质,并在真实数据集上运用SVM。开始今天的探索之前,先来简单回忆一下支持向量机是如何工作的。支持向量机分类器,是在数据空间中找出一个超平面作为决策边界,利用这个决策边界来对数据进行分类,并使分类误差尽量小的模型
2022-12-25 21:35:57 310
原创 机器学习-Sklearn(第三版)Day7 SVM上集
可以注意到,我们的参数向量由[a,-1]变成了[-a,1], b 变成了 −b ,但参数向量依旧可以被表示成 w ,只是它是原来的负数了,截距依旧可以被表示成 b ,只是如果它原来是正,它现在就是负数了,如果它原本就是负数,那它现在就是正数了。我们可以把决策边界 B1 向两边平移,直到碰到离这条决策边界最近的方块和圆圈后停下,形成两个新的超平面,分别是 b11 和 b12 ,并且我们将原始的决策边界移动到 b11 和 b12 的中间,确保 B1 到 b11 和 b12 的距离相等。
2022-12-24 22:12:04 213
原创 机器学习-Sklearn(第三版)Day6 聚类算法K-means
在过去的五周之内,我们学习了决策树,随机森林,逻辑回归,他们虽然有着不同的功能,但却都属于“有监督学习”的一部分,即是说,模型在训练的时候,即需要特征矩阵X,也需要真实标签y。机器学习当中,还有相当一部分算法属于“无监督学习”,无监督的算法在训练的时候只需要特征矩阵X,不需要标签。我们曾经学过的PCA降维算法就是无监督学习中的一种,聚类算法,也是无监督学习的代表算法之一。聚类算法又叫做“无监督分类”,其目的是将数据划分成有意义或有用的组(或簇)。
2022-12-23 22:06:00 183
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人