深度学习
文章平均质量分 85
二哥不像程序员
公众号:数据山谷
展开
-
Tensorflow2.0|深度学习
合并和分割合并是指将多个张量在某个维度上合并为一个张量,比如我们要将某学校所有的考试成绩单进行合并,张量A中记录了该学校1-4班的50名学生的9门科目的成绩,此时对应的shape就是[4,50,9],张量B记录了5-10班的成绩,此时的shape就是[6,50,9],我们合并这两个张量就能够得到该学校全部成绩的张量C为[10,50,9],此时张量合并的用处就得以体现了。张量的合并可以通过拼接和堆叠来实现,拼接操作并不会产生新的维度,仅在现有的维度上合并,而堆叠会创建新维度。选择使用拼接还是堆叠操作来合并原创 2020-07-22 19:15:04 · 1286 阅读 · 0 评论 -
Tensorflow2.0基础|深度学习
本文基于Tensorflow2.2版本编写公众号:数据山谷什么是TensorflowTensorflow 是一个面向深度学习算法的科学计算库,内部数据保存在张量(Tensor)对象熵,所有的运算操作(Operation)也都是基于张量对象进行的,我们所接触到的复杂的神经网络算法本质上就是各种张量相乘,想加等一些基本运算操作的组合。Tensorflow的数据类型数值类型Tensorflow的数值类型我们称之为张量(Tensor),根据不同的维度我们可以分成以下几个部分。标量(Scalar).原创 2020-07-15 15:05:58 · 1326 阅读 · 1 评论 -
PCA|机器学习|连载
PCA本文让我们来了解一下机器学习中最常用的一种降维方法PCA。降维在我们机器学习所训练的数据中,通常会存在着很多的特征,这也就意味着我们所要处理的数据的维度是很大的,由于维度大的数据处理起来非常困难,各种各样的降维算法也就随之产生了。所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中。降维的本质是学习一个映射函数 f : x->y,其中x是原始数据点的表达,目前最多使用向量表达形式。 y是数据点映射后的低维向量表达,通常y的维度小于x的维度(当然提高维度也是可以的)原创 2020-05-27 19:08:01 · 1167 阅读 · 1 评论 -
无须推导的LightGBM|机器学习
LightGBM上文中我们了解了一下XGBoost的原理,本文再来了解一下GBDT的另一个进化算法LightGBM,从原理上来说它和GBDT及XGBoost类似,都采用损失函数的负梯度作为当前决策树的残差近似值,去拟合新的决策树。不了解LightGBM的人可能会有疑问,XGBoost已经在各大场景有很好的表现了,为什么还要用LightGBM呢?我们先来看一下LightGBM相对于XGBoost的优点,再来决定要不要了解一下这个算法。LightGBM相对于XGBoost的优点:更快的训练效率低内存原创 2020-05-21 20:10:57 · 1684 阅读 · 0 评论 -
连载|如何通俗理解AdaBoost
AdaBoost基本思想对于分类问题而言,给定一个训练样本集,求比较粗糙的分类规则(弱分类器)要比求精确的分类规则(强分类器)容易的多,提升方法就是从弱学习算法出发,反复学习,得到一系列弱分类器(基本分类器),然后组合这些弱分类器,构成一个强分类器。大多数的提升方法都是改变训练数据的概率分布,针对不同的训练数据分布调用弱学习算法学习一系列弱分类器。对于提升方法来说,有两个问题需要回答:一是在...原创 2020-04-28 19:35:08 · 1280 阅读 · 0 评论 -
连载|神经网络(下)
误差逆传播算法(BP神经网络)BP神经网络是一种按误差反向传播(简称误差反传)训练的多层前馈网络,其算法称为BP算法,它的基本思想是梯度下降法,利用梯度搜索技术,以期使网络的实际输出值和期望输出值的误差均方差为最小。基本BP算法包括信号的前向传播和误差的反向传播两个过程。即计算误差输出时按从输入到输出的方向进行,而调整权值和阈值则从输出到输入的方向进行。下面让我们从数学原理上来看一下BP算法...原创 2020-04-15 19:04:55 · 2253 阅读 · 0 评论 -
连载|神经网络(上)
神经网络(上)文末送书福利进行中~人工神经元结构受生物神经元的启发,1943年心理学家McCulloch和数学家Pitts提出了人工神经元模型(Artificial Neuron,简称AN),人们也常用它们两个名字的首字母来命名这个人工神经元模型,称之为M-P模型,这种模型也一直沿用至今。M-P模型的结构如下:在M-P模型中神经元接收到来自n个其他神经元传递过来的输入信号,这些输入信号通...原创 2020-04-13 17:21:55 · 2347 阅读 · 0 评论 -
连载|决策树(上)
决策树简单理解决策树决策树是一类常见的机器学习方法,和我们人类在进行问题决策时一样,决策树基于树的结构进行决策。例如对于西瓜来说,我们要对“这是好瓜吗”进行决策,通常我们会先进行一些判断:西瓜颜色、根蒂形态、敲打声音等等,最终得到决策后的结果:好瓜or坏瓜。如下图简单展示关于西瓜分类问题的一颗决策树:很显然,决策的最终过程也就对应着我们最终想要得到的结果,决策树的概念通常情况下我们用...原创 2020-04-07 10:43:17 · 2393 阅读 · 2 评论 -
Tensorflow中常用的池化函数
池化函数在神经网络中,池化函数一般跟在卷积函数的下一层,池化操作是利用一个矩阵窗口在张量上进行扫描,将每个矩阵窗口中的值通过最大值或者平均值来减少元素的个数,每个池化操作的矩阵窗口大小是由ksize指定的,并且根据步长strides决定移动步长。(1)计算池化区域中元素的平均值tf.nn.avg_pool(value, ksize, strides, padding, data_format...原创 2019-10-25 14:39:13 · 757 阅读 · 0 评论 -
Tensorflow中常用的卷积函数
卷积函数(1)计算N维卷积的和tf.nn.convolution(input, filter, padding, strides=None, dilation_rate=None,name=None,data_format=None)(2)对一个四维的输入数据input和卷积核filter进行操作,然后对输入数据进行一个二维的卷积操作,最后得到卷积之后的结果。tf.nn.conv2d(in...原创 2019-10-24 14:55:31 · 842 阅读 · 0 评论 -
瞎聊深度学习——PaddlePaddle的使用(一)
PaddlePaddle介绍PaddlePaddle是百度自主研发的集深度学习核心框架、工具组件和服务平台为一体的技术领先、功能完备的开源深度学习平台,有全面的官方支持的工业级应用模型,涵盖自然语言处理、计算机视觉、推荐引擎等多个领域,并开放多个预训练中文模型。PaddlePaddle同时支持稠密参数和稀疏参数场景的大规模深度学习并行训练,支持千亿规模参数、数百个节点的高效并行训练。Pad...原创 2019-06-04 10:12:32 · 10156 阅读 · 1 评论 -
瞎聊机器学习——Attention机制
本文讲述一下在自然语言处理中很常用的一个机制—Attention机制。Seq2Seq模型提到了attention机制我们就不得不说一下Seq2Seq模型,也就是编码器-解码器 (Encode-Decode) 结构,该结构是当前非常热门的一种深度学习结构。Seq2Seq模型是基于RNN的一种模型(由两个RNN网络构成),模型的一大特点是输入输出序列的长度可以是不相同的,这种结构又可以叫做...原创 2019-05-28 21:34:20 · 2170 阅读 · 0 评论 -
瞎聊深度学习——卷积神经网络
什么是卷积神经网络卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。 它主要包括卷积层、池化层和全连接层等。相比于传统的神经网络他们在结构上具有一定的相似性,只不过卷积神经网络相较于传统神经网络来说多了一些层级对比与传统的神经网络卷积神经网络具有如下的结构:...原创 2019-05-24 18:31:02 · 512 阅读 · 0 评论 -
瞎聊机器学习——TF-IDF算法(原理及代码实现)
TF-IDF的概念TF-IDF是Term Frequency - Inverse Document Frequency的缩写,即“词频-逆文本频率”。它由两部分组成,TF和IDF。TF策略我在之前的高频词提取文章中进行过使用,TF用来表示词频,也就是某个词在文章中出现的总次数,也就是:TF=某个词在文章中出现的总次数但是考虑到每篇文章的长短是不同的,所以我们可以把上述内容进行一个...原创 2019-05-16 14:51:08 · 7893 阅读 · 6 评论 -
瞎聊深度学习——TensorFlow的基本应用
首先来说一下TensorFlow的几个关键词:图(graph)、会话、张量(tensor)、变量(Variable)、feed、fetch。说一下上面关键词的作用:用图(graph)来表示计算任务 在被称之为会话(Session)的上下文(context)中执行图 使用tensor表示数据 通过变量(Variable)维护状态 用feed和fetch可以为任意操作赋值或者从中获...原创 2019-05-12 15:11:39 · 362 阅读 · 0 评论 -
瞎聊深度学习——IMDB影评文本分类
本文中我希望用IMDB数据集和神经网络对数据集中的影评内容进行“正面影评”和“负面影评”的二分类。IMDBIMDB数据集是Tensorflow中带有的数据集,其中包含来自互联网电影库的50000条影评文本,首先来下载该数据集并且查看一下:加载数据(如果缓存中没有回自动下载该数据):import tensorflow as tffrom tensorflow import ker...原创 2019-05-12 21:31:05 · 2752 阅读 · 1 评论 -
瞎聊深度学习——神经网络基础(概念,正则化)
神经网络是深度学习中最重要的一类模型,本文来讲解一下神经网络基础。一、基本概念神经网络的基本构成输入层图中粉色的部分(input layer)是输入层,输入层在神经网络中主要起到输入数据的作用,是一个神经网络的入口。隐藏层图中蓝色的部分(hidden layer)是隐藏层,我们叫他为隐藏层因为我们并不能够在训练样本中观测到他们的值,隐藏层的主要作用是把输入数据的特征,经...原创 2019-05-22 14:22:49 · 502 阅读 · 0 评论 -
瞎聊深度学习——一文了解各种循环神经网络
循环神经网络的概念在了解循环神经网络之前,你一定了解过前馈神经网络和卷积神经网络,循环神经网络相对于这两种网络来说可能要更有“个性”一些。循环神经网络的独特之处就在于它不仅考虑到了当前的输入,而且对前面输入的内容有记忆功能,可以说其他神经网络的隐藏层是无连接的,而循环神经网络的隐藏层之间是有连接的,隐藏层的输入不仅包含输入层的输出,同时也包含了上一时刻隐藏层的输出。循环神经网络的结构如下图...原创 2019-05-26 18:35:12 · 733 阅读 · 0 评论 -
瞎聊机器学习——从词袋模型到word2vec
在进行自然语言处理以及文本分析问题的时候,文本向量化是我们用来表示文本的一种重要方式,其中词袋(Bag of Words,BOW)和词向量(Word Embedding)是两种最常用的类型,本文我们一同来探讨一下这两种类型。词袋模型词袋模型是一种简单常用的模型,在该模型中,我们可以把文本看做是一系列词的集合,我们用袋子来把他们装起来就叫做词袋,这么说可能有些抽象,用一个例子来表示一下:...原创 2019-05-18 19:24:24 · 2374 阅读 · 0 评论 -
瞎聊机器学习——BERT模型
1. 前言在本文之前我们已经介绍了ELMo和GPT的两个成功的模型,今天给大家介绍google新发布的BERT模型。BERT来头可不小,其性能超越许多使用任务特定架构的系统,刷新了11项NLP任务的当前最优性能记录。2. BERT原理BERT模型的全称是Bidirectional Encoder Representations from Transformers,它是一种新型的语言模型...转载 2019-05-30 20:17:48 · 1758 阅读 · 0 评论 -
瞎聊深度学习——词性标注(jieba词性标注实战:jieba.posseg)
词性标注简介简单的说明一下什么是词性标注,词性(词类)是词汇中剧本的语法属性,而词性标注是在给定句子中判定每个词的语法范畴,确定它的词性并加以标注的过程。比如给定句子“她很漂亮”,对应的词性标注结果就是“她/名词 很/副词 漂亮/形容词”,这就是一个简单的词性标注的例子。但是在中文中有一些词语通常有多种词性,这就会对词性标注带来一些困难,解决该问题最简单的方法就是使用当前词...原创 2019-05-14 14:57:37 · 21418 阅读 · 0 评论