![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编程语言
猪猪家的小可爱
这个作者很懒,什么都没留下…
展开
-
算法题:leetcode200:岛屿数量
题目描述:给定一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。深度搜索class Solution { public int numIslands(char[][] grid) { if (grid == null || grid.length == 0 || grid[0].length == 0) return 0 ;原创 2020-08-25 11:43:04 · 218 阅读 · 0 评论 -
递推算法:C++版斐波那契数列
1、题目描述有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子.假如兔子都不死,并且第一个月出生一对兔子,请问第n个月有多少只兔子?分析第一个月:1对第二个月:1 对第三个月:1对+新生=2对第四个月:已有的兔子+新生=2+1=3对第五个月=已有的兔子+新生=3+2=5第n个月:f(n)=f(n-1)+f(n-2)2、斐波那契数列1)、递推f(n)=f(n-1)+f(n-2)#include<iostream>using namep原创 2020-08-21 10:40:09 · 3617 阅读 · 0 评论 -
伯禹 动手学深度学习 打卡19之词嵌入与文本分类
词嵌入进阶载入预训练的 GloVe 向量GloVe 官方 提供了多种规格的预训练词向量,语料库分别采用了维基百科、CommonCrawl和推特等,语料库中词语总数也涵盖了从60亿到8,400亿的不同规模,同时还提供了多种词向量维度供下游模型使用。torchtext.vocab 中已经支持了 GloVe, FastText, CharNGram 等常用的预训练词向量,我们可以通过声明 to...原创 2020-02-25 21:27:16 · 328 阅读 · 0 评论 -
伯禹 动手学深度学习 打卡18之数据增强
图像增广在5.6节(深度卷积神经网络)里我们提到过,大规模数据集是成功应用深度神经网络的前提。图像增广(image augmentation)技术通过对训练图像做一系列随机改变,来产生相似但又不同的训练样本,从而扩大训练数据集的规模。图像增广的另一种解释是,随机改变训练样本可以降低模型对某些属性的依赖,从而提高模型的泛化能力。例如,我们可以对图像进行不同方式的裁剪,使感兴趣的物体出现在不同位置,...原创 2020-02-25 21:18:05 · 166 阅读 · 1 评论 -
伯禹 动手学深度学习 打卡18之 word2vec
词嵌入基础在这里我们主要介绍 Skip-Gram 模型的实现,CBOW 实现与其类似,读者可之后自己尝试实现。后续的内容将大致从以下四个部分展开:PTB 数据集Skip-Gram 跳字模型负采样近似训练模型import collectionsimport mathimport randomimport sysimport timeimport osimport nump...原创 2020-02-24 20:27:28 · 187 阅读 · 0 评论 -
伯禹 动手学深度学习 打卡17 之梯度下降
梯度下降%matplotlib inlineimport numpy as npimport torchimport timefrom torch import nn, optimimport mathimport syssys.path.append('/home/kesci/input')import d2lzh1981 as d2ldef f(x): retu...原创 2020-02-24 20:07:35 · 130 阅读 · 1 评论 -
伯禹 动手学深度学习 打卡16之凸优化
优化与深度学习优化与估计尽管优化方法可以最小化深度学习中的损失函数值,但本质上优化方法达到的目标与深度学习的目标并不相同。优化方法目标:训练集损失函数值深度学习目标:测试集损失函数值(泛化性)%matplotlib inlineimport syssys.path.append('/home/kesci/input')import d2lzh1981 as d2lfrom mpl...原创 2020-02-24 19:44:49 · 162 阅读 · 0 评论 -
伯禹 动手学深度学习 打卡15之Transformer
Transformer在之前的章节中,我们已经介绍了主流的神经网络架构如卷积神经网络(CNNs)和循环神经网络(RNNs)。让我们进行一些回顾:CNNs 易于并行化,却不适合捕捉变长序列内的依赖关系。RNNs 适合捕捉长距离变长序列的依赖,但是却难以实现并行化处理序列。为了整合CNN和RNN的优势,[Vaswani et al., 2017] 创新性地使用注意力机制设计了Transfo...原创 2020-02-18 15:09:28 · 160 阅读 · 0 评论 -
伯禹 动手学深度学习 打卡14之注意力机制和Seq2seq模型
注意力机制在“编码器—解码器(seq2seq)”⼀节⾥,解码器在各个时间步依赖相同的背景变量(context vector)来获取输⼊序列信息。当编码器为循环神经⽹络时,背景变量来⾃它最终时间步的隐藏状态。将源序列输入信息以循环单位状态编码,然后将其传递给解码器以生成目标序列。然而这种结构存在着问题,尤其是RNN机制实际中存在长程梯度消失的问题,对于较长的句子,我们很难寄希望于将输入的序列转化为...原创 2020-02-18 14:47:24 · 314 阅读 · 0 评论 -
伯禹 动手学深度学习 打卡13之机器翻译和数据集
机器翻译和数据集机器翻译(MT):将一段文本从一种语言自动翻译为另一种语言,用神经网络解决这个问题通常称为神经机器翻译(NMT)。 主要特征:输出是单词序列而不是单个单词。 输出序列的长度可能与源序列的长度不同。import syssys.path.append('/home/kesci/input/d2l9528/')import collectionsimport d2limpor...原创 2020-02-18 14:25:12 · 377 阅读 · 0 评论 -
伯禹 动手学深度学习 打卡12之 RNN 进阶
GRURNN存在的问题:梯度较容易出现衰减或爆炸(BPTT)⻔控循环神经⽹络:捕捉时间序列中时间步距离较⼤的依赖关系RNN:GRU:重置⻔有助于捕捉时间序列⾥短期的依赖关系;更新⻔有助于捕捉时间序列⾥⻓期的依赖关系。载入数据集import osos.listdir('/home/kesci/input')[‘d2lzh1981’, ‘houseprices2807’,...原创 2020-02-18 11:11:45 · 145 阅读 · 0 评论 -
伯禹 动手学深度学习 打卡11之循环神经网络
循环神经网络循环神经网络的构造从零开始实现循环神经网络我们先尝试从零开始实现一个基于字符级循环神经网络的语言模型,这里我们使用周杰伦的歌词作为语料,首先我们读入数据:import torchimport torch.nn as nnimport timeimport mathimport syssys.path.append("/home/kesci/input")impo...原创 2020-02-18 10:48:03 · 119 阅读 · 0 评论 -
伯禹 动手学深度学习 打卡10之文本预处理
读入文本我们用一部英文小说,即H. G. Well的Time Machine,作为示例,展示文本预处理的具体过程。import collectionsimport redef read_time_machine(): with open('/home/kesci/input/timemachine7163/timemachine.txt', 'r') as f: ...原创 2020-02-17 21:44:41 · 86 阅读 · 0 评论 -
伯禹 动手学深度学习 打卡09 之批量归一化和残差网络
批量归一化(BatchNormalization)对输入的标准化(浅层模型)处理后的任意一个特征在数据集中所有样本上的均值为0、标准差为1。标准化处理输入数据使各个特征的分布相近批量归一化(深度模型)利用小批量上的均值和标准差,不断调整神经网络中间输出,从而使整个神经网络在各层的中间输出的数值更稳定。1.对全连接层做批量归一化位置:全连接层中的仿射变换和激活函数之间。全连接:2...原创 2020-02-17 21:28:20 · 177 阅读 · 0 评论 -
伯禹 动手学深度学习 打卡08 之 深度卷积神经网络(AlexNet)
深度卷积神经网络(AlexNet)LeNet: 在大的真实数据集上的表现并不尽如⼈意。1.神经网络计算复杂。2.还没有⼤量深⼊研究参数初始化和⾮凸优化算法等诸多领域。机器学习的特征提取:手工定义的特征提取函数神经网络的特征提取:通过学习得到数据的多级表征,并逐级表⽰越来越抽象的概念或模式。神经网络发展的限制:数据、硬件AlexNet首次证明了学习到的特征可以超越⼿⼯设计的特征,从而...原创 2020-02-17 21:00:17 · 109 阅读 · 0 评论 -
伯禹 动手学深度学习 打卡07 之 LeNet
Convolutional Neural Networks使用全连接层的局限性:图像在同一列邻近的像素在这个向量中可能相距较远。它们构成的模式可能难以被模型识别。对于大尺寸的输入图像,使用全连接层容易导致模型过大。使用卷积层的优势:卷积层保留输入形状。卷积层通过滑动窗口将同一卷积核与不同位置的输入重复计算,从而避免参数尺寸过大LeNet 模型LeNet分为卷积层块和全连接层块两...原创 2020-02-17 15:31:04 · 155 阅读 · 0 评论 -
伯禹 动手学深度学习 打卡06之卷积神经网络基础
卷积神经网络基础二维卷积层本文介绍的是最常见的二维卷积层,常用于处理图像数据。二维互相关计算二维互相关(cross-correlation)运算的输入是一个二维输入数组和一个二维核(kernel)数组,输出也是一个二维数组,其中核数组通常称为卷积核或过滤器(filter)。卷积核的尺寸通常小于输入数组,卷积核在输入数组上滑动,在每个位置上,卷积核与该位置处的输入子数组按元素相乘并求和,得到...原创 2020-02-17 15:13:04 · 111 阅读 · 0 评论 -
伯禹 动手学深度学习 打卡05 之梯度消失、梯度爆炸以及Kaggle房价预测
梯度消失和梯度爆炸深度模型有关数值稳定性的典型问题是消失(vanishing)和爆炸(explosion)。当神经网络的层数较多时,模型的数值稳定性容易变差。随机初始化模型参数在神经网络中,通常需要随机初始化模型参数。下面我们来解释这样做的原因。回顾多层感知机一节描述的多层感知机。为了方便解释,假设输出层只保留一个输出单元o1(删去o2和o3以及指向它们的箭头),且隐藏层使用相同的激活...原创 2020-02-16 21:55:25 · 179 阅读 · 0 评论 -
伯禹 动手学深度学习 打卡04 之过拟合、欠拟合及其解决方案
模型选择、过拟合和欠拟合训练误差和泛化误差在解释上述现象之前,我们需要区分训练误差(training error)和泛化误差(generalization error)。通俗来讲,前者指模型在训练数据集上表现出的误差,后者指模型在任意一个测试数据样本上表现出的误差的期望,并常常通过测试数据集上的误差来近似。计算训练误差和泛化误差可以使用之前介绍过的损失函数,例如线性回归用到的平方损失函数和so...原创 2020-02-16 21:12:02 · 184 阅读 · 0 评论 -
伯禹 动手学深度学习 打卡03 之Softmax与分类模型
softmax和分类模型softmax的基本概念分类问题权重矢量神经网络图输出问题直接使用输出层的输出有两个问题:一方面,由于输出层的输出值的范围不确定,我们难以直观上判断这些值的意义。例如,刚才举的例子中的输出值10表示“很置信”图像类别为猫,因为该输出值是其他两类的输出值的100倍。但 ,那么输出值10却又表示图像类别为猫的概率很低。另一方面,由于真实标签是离散值,...转载 2020-02-13 21:46:44 · 210 阅读 · 0 评论 -
伯禹 动手学深度学习 打卡02 之多层感知机
多层感知机理论知识深度学习主要关注多层模型。在这里,我们将以多层感知机(multilayer perceptron,MLP)为例,介绍多层神经网络的概念。隐藏层下图展示了一个多层感知机的神经网络图,它含有一个隐藏层,该层中有5个隐藏单元。表达公式激活函数上述问题的根源在于全连接层只是对数据做仿射变换(affine transformation),而多个仿射变换的叠加仍然是一个仿射...转载 2020-02-13 20:47:32 · 158 阅读 · 0 评论 -
伯禹 动手学深度学习 打卡01 之线性回归
线性回归基础知识模型为了简单起见,这里我们假设价格只取决于房屋状况的两个因素,即面积(平方米)和房龄(年)。接下来我们希望探索价格与这两个因素的具体关系。线性回归假设输出与各个输入之间是线性关系:数据集我们通常收集一系列的真实数据,例如多栋房屋的真实售出价格和它们对应的面积和房龄。我们希望在这个数据上面寻找模型参数来使模型的预测价格与真实价格的误差最小。在机器学习术语里,该数据集被称为...转载 2020-02-12 21:51:46 · 129 阅读 · 0 评论 -
百度飞浆学习——python中numpy库基础知识
Numpy是Numerical Python的简称,是Python中高性能科学计算和数据分析的基础包。Numpy提供了一个多维数组类型 ndarray,它具有矢量算术运算和复杂广播的能力,可以实现快速的计算并且能节省存储空间。在使用Python调用飞桨API完成深度学习任务的过程中,通常会使用Numpy实现数据预处理和一些模型指标的计算,飞桨中的Tensor数据可以很方便的和ndarray数组进行...转载 2020-01-22 17:05:26 · 558 阅读 · 0 评论 -
汇编语言学习09 之数据操作运算符指令
本文主要参考此网站内容http://c.biancheng.net/view/3476.htmlINC 和 DEC 指令INC(增加)和DEC(减少)指令分别表示寄存器或内存操作数加 1 和减 1。语法如下所示:INC reg/memDEC reg/mem例子:.datamyWord WORD 1000h.codeinc myWord ...原创 2020-01-04 19:28:10 · 901 阅读 · 0 评论 -
汇编语言学习08 之数据操作指令
本文主要参考这个学习网站的内容 http://c.biancheng.net/view/3476.htm操作数操作数有 3 种基本类型:立即数——用数字文本表达式寄存器操作数——使用 CPU 内已命名的寄存器内存操作数——引用内存位置movMOV指令:将源操作数复制到目的操作数在几乎所有的汇编语言指令中,左边的操作数是目标操作数,而右边的操作数是源操作数。只要按照如下原则,MOV ...原创 2020-01-04 19:16:00 · 599 阅读 · 0 评论 -
汇编语言学习07 之数据类型(结合实例分析)
本文参考主要参考这个网站的内容http://c.biancheng.net/view/3476.html汇编器识别一组基本的内部数据类型(intrinsic data type),按照数据大小(字节、字、双字等等)、是否有符号、是整数还是实数来描述其类型。下表给出了全部内部数据类型的列表数据类型的定义数据定义语句(data definition statement)在内存中为变量留岀存储空...原创 2020-01-04 17:54:30 · 1515 阅读 · 0 评论 -
汇编语言学习 06之 汇编语言程序基础
主程序汇编语言的基本工作流程如下,以例子说明main ASM mov eax, 1 add eax, 2 INVOKE ExitProcess, 0main ENDP这段程序的每一行命令解释如下:第 1 行开始 main 程序(主程序),即程序的入口;第 2 行将数字 1送入 ax 寄存器;第 3 行把 2 加到 ax的值上,得到新值 3;第 5 行调用...原创 2020-01-04 15:11:13 · 267 阅读 · 0 评论 -
汇编语言学习05之I/O操作系统
汇编语言学习05之I/O操作系统I/O 访问层次I/O指 input,output,即输入、输出系统。和虚拟机类似,I/O系统也有不同的访问层次。主要有以下几个:1.高级语言函数高级编程语言,如 C++ 或 Java,包含了执行输入输出的函数。由于这些函数要在各种不同的计算机系统中工作,并不依赖于任何一个操作系统,因此,这些函数具有可移植性。2. 操作系统程序员能够从被称为 API...转载 2020-01-04 14:44:48 · 947 阅读 · 0 评论 -
汇编语言学习04之X86计算机组件
X86计算机组件本文首先通过检查典型主板配置以及围绕 CPU 的芯片组来了解 x86 如何与其他组件的集成。然后讨论内存、I/O 端口和通用设备接口。最后说明汇编语言程序怎样利用系统硬件、固件,并调用操作系统函数来实现不同访问层次的 I/O 操作。主板主板是微型计算机的心脏,它是一个平面电路板,其上集成了 CPU、支持处理器(芯片组(chipset))、主存、输入输出接口、电源接口和扩展插槽...转载 2020-01-04 14:32:58 · 201 阅读 · 0 评论 -
汇编语言学习03 之X86_CPU处理器架构
参考此链接http://c.biancheng.net/view/3295.html汇编语言学习03 之X86_CPU处理器架构基本微机设计下图给出了假想机的基本设计。中央处理单元(CPU)是进行算术和逻辑操作的部件,包含了有限数量的存储位置——寄存器(register),一个高频时钟、一个控制单元和一个算术逻辑单元其中,时钟 (clock) 对 CPU 内部操作与系统其他组件进行同...转载 2020-01-04 14:11:45 · 220 阅读 · 0 评论 -
汇编语言学习01之虚拟机
汇编语言学习之虚拟机虚拟机是什么虚拟机特定的机器总结引用自此http://c.biancheng.net/view/3295.html虚拟机是什么计算机通常可以执行用其原生机器语言编写的程序。这种语言中的每一条指令都简单到可以用相对少量的电子电路来执行。为了简便,称这种语言为 L0。由于 L0 极其详细,并且只由数字组成,因此,程序员用其编写程序就非常困难。如果能够构造一种较易使用的新语言...原创 2020-01-04 13:52:21 · 396 阅读 · 0 评论