自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

多反思,多回顾,要坚持。

小白小白,请多关照^_^

  • 博客(107)
  • 资源 (4)
  • 收藏
  • 关注

原创 BERT模型的若干问题整理记录 & 思考

1.BERT的基本原理是什么?BERT来自Google的论文Pre-training of Deep Bidirectional Transformers for Language Understanding,BERT是”Bidirectional Encoder Representations from Transformers”的首字母缩写,整体是一个自编码语言模型(Autoencoder ...

2020-03-31 10:07:30 5144

原创 关于Transformer的若干问题整理记录& 思考

模型总览:1.Transformer的结构是什么样的?Transformer本身还是一个典型的encoder-decoder模型,如果从模型层面来看,Transformer实际上就像一个seq2seq with attention的模型,下面大概说明一下Transformer的结构以及各个模块的组成。(1). Encoder端 & Decoder端总览Encoder端由N(原...

2020-03-31 10:01:20 1966 1

原创 关于ELMo的若干问题整理 & 思考

1.ELMo的基本原理是什么?ELMO采用了典型的两阶段过程,第一个阶段是利用语言模型进行预训练;第二个阶段是在做下游任务时,从预训练网络中提取对应单词的网络各层的Word Embedding作为新特征补充到下游任务中。第一阶段:利用语言模型进行预训练第一阶段模型总览:上图展示的是其预训练过程,它的网络结构采用了双层双向LSTM,其中单词(token)特征这一块采用的是单词的embedd...

2020-03-31 09:57:44 830

原创 关于word2vec的一些相关问题整理 & 思考

1.简述word2vec基本思想,并简要描述CBOW和Skip-gram模型word2vec的基本思想是一个词的意思, 可以由这个词的上下文来表示。 相似词拥有相似的上下文, 这也就是所谓的离散分布假设(distributional hypothesis),论文中的做法是通过神经语言模型训练每个词并将其映射成k维实值向量(k一般为模型中的超参数),在高维空间中可以通过词之间的距离来判断语义相似度...

2020-03-31 09:53:59 1536

原创 关于Numpy数组切片操作的整理与思考

1.Python3中切片的定义切片的语法表达式为:[start_index : end_index : step],其中:start_index表示起始索引end_index表示结束索引step表示步长,步长不能为0,且默认值为1切片操作是指按照步长,截取从起始索引到结束索引,但不包含结束索引(也就是结束索引减1)的所有元素。python3支持切片操作的数据类型有list...

2018-07-29 17:34:43 7656 1

转载 热爱编程 (转自互联网)

看到下文, 感觉自己弱爆了, 要重新好好的”热爱编程”.95年的时候,我高中同学郭军买了一本Borland C++手册,我们两个人此后两年没机会碰真的电脑,没见过Tubro C更没见过Borland C++,生看这本书,看了两年,百看不厌。做不到,别轻易说,我热爱编程,热爱学习。97年,父母在高考前三天给我买了一台电脑,整个假期,全部在电脑面前度过,把VB的全部文档看完,自己学会VB,啃D

2015-08-12 23:59:46 1128 1

原创 Chapter14——动态规划及其应用

写在前面        动态规划这一类问题非常灵活,而且其下有很多子问题,由于自己水平有限,这里只比较基础的介绍动态规划,并带大家感性的认识一下什么是动态规划,为什么短短数行代码,会有如此大的威力?1.1 定义        对于动态规划的规范性定义可以参考维基百科:动态规划。 动态规划(英语:Dynamic programming,简称DP)是一种在数学、管理科学、计算机

2018-02-02 22:36:20 1051 2

原创 Chapter8——链表的常见问题

写在前面    这一章对于一些有一定算法经验或者一定编程基础的同学来说,是比较容易的。但是,回顾自己当时学这一章的时候,确实是走了不少的弯路,因此自己写这一章的目的,旨在记录链表的一些常见问题以及这些问题的分析思路和解决方案。一、链表的一些易混淆概念1.头指针 or 头结点 or 首结点?    初学数据结构时,我对这几个概念也是分不清楚,所以开门见山,首先梳理这三个概

2018-02-02 11:45:21 1358

原创 Chapter4——贪心算法及其应用

写在前面    贪心算法是一个应用非常广泛的算法,由于我自己对贪心算法的认识也不够深刻,因此会比较偏重于从题目入手来理解和掌握贪心算法。1.1 定义    对于贪心算法的规范性定义可以参考维基百科:贪心法,下面是一段来自维基百科的定义: 贪心法,又称贪心算法、贪婪算法、或称贪婪法,是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是最好

2018-02-01 22:50:09 846

原创 Chapter3——常用的排序和查找算法

一.排序1.冒泡排序    对于冒泡排序的规范性定义可以参考维基百科:冒泡排序,下面冒泡排序的算法过程引自维基百科: 1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。 3.针对所有的元素重复以上的步骤,除了最后一个。 4.持续每次对越来越少的元素

2018-02-01 21:47:02 490

原创 Chapter1——递归和迭代

一.递归1.1 定义    对于递归的规范性定义可以参考维基百科:递归,但是我觉得这个定义对于初学者来说比较晦涩,下面是我在知乎上搜到的一个形象的比喻: 我们使用的词典,本身就是递归,为了解释一个词,需要使用更多的词。当你查一个词,发现这个词的解释中某个词仍然不懂,于是你开始查这第二个词,可惜,第二个词里仍然有不懂的词,于是查第三个词,这样查下去,直到有一个词的解释是你完全能看

2018-01-31 21:10:49 572

原创 编译原理FIRST集、FOLLOW集、SELECT集求法通俗解释 & LL(1)文法判定

1.为什么要引入FIRST集的概念?因为有公共左因子的问题,公共左公因子是指在文法的产生式集合中,某个非终结符的多个候选式具有相同的前缀。一般来说,公共左公因子的产生式为 A→αβ1│αβ2 A→\alpha\beta_1│\alpha\beta_2 如果有公共左因子的问题,那么只能采取试探的方法来分析每一个候选式,分析的过程很可能产生回溯,回溯分析法是一种不确定的方法。若所有候选式都没有

2017-06-10 17:50:36 41860 15

原创 自顶向下分析方法之表驱动LL(1)分析程序

自顶向下分析方法之表驱动LL(1)分析程序分为三个部分:非LL(1)文法转换为LL(1)文法;LL(1)文法的判别;构造预测分析表和对输入符号串进行分析。程序流程图:非LL(1)文法转换为LL(1)文法  非LL(1)文法转换为LL(1)文法要分以下三步:消除文法中一切左递归,包括直接左递归和间接左递归。提取左公因子,消除回溯。消除无用表达式。...

2017-06-02 10:06:46 9046 6

原创 Java常用算法——搜索(dfs) & 回溯(全排列、八皇后、分苹果问题的详细解析)

dfs & 回溯(1).定义 深度优先搜索算法(英语:Depth-First-Search,简称DFS)是一种用于遍历或搜索树或图的算法。沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所在边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点,则选择其中一个作为源节点并重复以上过程,整个进程反复进行直到

2017-01-23 09:56:45 5081 1

原创 Java常用算法——迭代 & 递归篇

迭代 & 递归迭代(1).定义来自维基百科: 迭代是重复反馈过程的活动,其目的通常是为了接近并到达所需的目标或结果。每一次对过程的重复被称为一次”迭代”,而每一次迭代得到的结果会被用来作为下一次迭代的初始值。 在数学中: 数学中的迭代可以指函数迭代的过程,即反复地运用同一函数计算,前一次迭代得到的结果被用于作为下一次迭代的输入。即使是看上去很简单的函数,在经过迭代之后也可能产生复

2017-01-23 09:51:25 4147

原创 Java正则表达式学习(二)

Java正则表达式学习(二)之Pattern & Matcher详解

2016-12-03 20:16:08 729

原创 Java正则表达式的学习(一)

Java正则表达式(Regular Expression)基础篇(一)

2016-12-03 16:49:05 3043

转载 JRE与JDK的区别

1. 定义JRE(Java Runtime Enviroment)是Java的运行环境。面向Java程序的使用者,而不是开发者。如果你仅下载并安装了JRE,那么你的系统只能运行Java程序。JRE是运行Java程序所必须环境的集合,包含JVM标准实现及 Java核心类库。它包括Java虚拟机、Java平台核心类和支持文件。它不包含开发工具(编译器、调试器等)。JDK(Jav

2016-10-22 13:40:39 599 2

转载 有关JVM处理Java数组方法的思考

本文来自jarfield的博客,原文标题为《为什么如此获取Java数组的长度》。记得vamcily 曾问我:“为什么获取数组的长度用.length(成员变量的形式),而获取String的长度用.length()(成员方法的形式)?”我当时一听,觉得问得很有道理。做同样一件事情,为什么采用两种风格迥异的风格呢?况且,Java中的数组其实是完备(full-fledged)的对象,直接暴

2016-10-11 15:02:08 515

转载 为什么要设置Java环境变量(详解)

1. PATH环境变量。作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把 jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好 PATH变量后,就可以在任何目录下执行javac/java等工具了。   2. CLASSPA

2016-10-10 14:46:48 838

原创 Java 命令行运行java程序,出现“找不到或无法加载主类 ”的解决办法

如果要在cmd命令行中,使用java运行java程序,可能会出现如下问题:那么,在出现这样的问题时,该如何解决呢?解决办法如下:1.由于是在运行阶段出现的问题,那么可能是环境变量配置不当的问题,即可能是classpath路径配置错误,而导致.class文件无法加载。那么此时你可以检查是否配置好classpath路径,一般来说classpath路径配置如下:.;%java_hom

2016-10-10 14:34:31 23844

原创 【周赛】第一周周赛——欢迎16级的新同学题解(题目出自codeforces 318A,546A,431C,665E,HDU 4104)

A题:A题题目链接A题题目描述:Home W的数学TimeLimit:1000MS  MemoryLimit:256MB64-bit integer IO format:%I64dadminProblem Description编辑    我们都知道,Home W的数学最厉害了。有一天,他又开始开动脑筋了,他想:“

2016-10-09 21:34:43 1425

转载 从问题看本质:socket到底是什么?

一、问题的引入——socket的引入是为了解决不同计算机间进程间通信的问题1.socket与进程的关系1).socket与进程间的关系:socket 用来让一个进程和其他的进程互通信息(IPC),而Socket接口是TCP/IP网络的API接口函数。2).进程间通信(本机内)进程间通信(不同计算机,要联网)2、socket与文件的关系——如何理解so

2016-07-24 09:30:02 850

转载 vim编辑器的使用

vi编辑器简介1.vi编辑器    visual interface的简称,是Linux上基本的文本编辑工具,可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制。2.vim编辑器    vi  IMproved的简写,属于增强版的vi,在vi的基础上增加了很多功能,如代码的关键字加亮等,vim兼容所有的vi指令。3.一般常用的修改配置等

2016-05-31 19:14:49 508

原创 第十周周赛——周赛兼组队赛第二场题解(出自 BNUOJ28207,BNUOJ28201,BNUOJ28209,codeforces 667B,HDU 5439,HDU 5478)

A题:A题题目链接题目描述:StarTimeLimit: 1000ms  MemoryLimit:32768KB64-bit integer IO format:%I64dProblem DescriptionOverpower often go to the playground with classmates. They pl

2016-05-08 23:03:00 938

原创 数论基础——循环节和矩阵快速幂的运用

首先我们来看一道基础题:    题目链接:HDU1005 Number Sequence    题目描述:Number SequenceTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 147421    Acce

2016-05-03 11:04:01 3978

原创 第九周周赛——周赛兼组队赛第一场题解(出自HDU5443,本oj,HDU 5667,poj1742,codeforces 664A,BUNOJ 28199)

A题:A题题目链接题目描述:The Water ProblemTimeLimit:1000MS  MemoryLimit:131072KB64-bit integer IO format:%I64dadminProblem Description编辑In Land waterless, water is a ver

2016-04-29 21:45:29 4767

原创 第八周周赛——复习题解(出自codeforces 633A,610A,poj2155,poj3070,codeforces 538B,codeforces 513A)

A题:A题题目链接题目描述:Ebony and IvoryTimeLimit:2000MS  MemoryLimit:256MB64-bit integer IO format:%I64dadminProblem Description编辑Dante is engaged in a fight with "The

2016-04-19 20:16:34 788

原创 数据结构——线段树的基础知识

1.线段树的定义:线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[a,(a+b)/2],右儿子表示的区间为[(a+b)/2+1,b]。因此线段树是平衡二叉树,最后的子节点数目为N,即整个线段区间的长度。——来自百度百科举例描述:因此有了以上对线段

2016-04-12 23:23:27 5016

原创 第七周周赛——字典树 + 线段树 + 树状数组等等(去师大比赛前的最后一场)

题目分别出自:poj1195,codeforces 482B,codeforces 591A,poj 2503,poj2442,codeforces 445BA题:A题题目链接题目描述:Mobile phonesTimeLimit:5000MS  MemoryLimit:65536K64-bit integer IO format:%lld

2016-04-11 22:04:44 3100

转载 伪代码的写法

伪代码(Pseudocode)是一种算法描述语言。使用伪代码的目的是为了使被描述的算法可以容易地以任何一种编程语言(Pascal,C,Java,etc)实现。因此,伪代码必须结构清晰、代码简单、可读性好,并且类似自然语言。 介于自然语言与编程语言之间。  它以编程语言的书写形式指明算法的职能。相比于程序语言(例如Java, C++,C, Dephi 等等)它更类似自然语言。它是半角式化、不

2016-04-09 17:42:34 9253

转载 深入浅出UML类图(五)

实例分析3——售票机控制程序      某运输公司决定为新的售票机开发车票销售的控制软件。图I给出了售票机的面板示意图以及相关的控制部件。图I   售票机面板示意图      售票机相关部件的作用如下所述:      (1) 目的地键盘用来输入行程目的地的代码(例如,200表示总站)。      (2) 乘客可以通过车票键盘选择车票种类(单程票、

2016-04-08 19:36:27 893

转载 深入浅出UML类图(四)

实例分析1——登录模块      某基于C/S的即时聊天系统登录模块功能描述如下:      用户通过登录界面(LoginForm)输入账号和密码,系统将输入的账号和密码与存储在数据库(User)表中的用户信息进行比较,验证用户输入是否正确,如果输入正确则进入主界面(MainForm),否则提示“输入错误”。      根据以上描述绘制初始类图。    

2016-04-08 19:34:28 1059 1

转载 深入浅出UML类图(三)

类与类之间的关系(2)      2. 依赖关系      依赖(Dependency)关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的其他事物,在需要表示一个事物使用另一个事物时使用依赖关系。大多数情况下,依赖关系体现在某个类的方法使用另一个类的对象作为参数。在UML中,依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方。例如:驾驶员开车,在Driver类的dr

2016-04-08 19:32:33 660

转载 深入浅出UML类图(二)

类与类之间的关系(1)      在软件系统中,类并不是孤立存在的,类与类之间存在各种关系,对于不同类型的关系,UML提供了不同的表示方式。      1. 关联关系      关联(Association)关系是类与类之间最常用的一种关系,它是一种结构化关系,用于表示一类对象与另一类对象之间有联系,如汽车和轮胎、师傅和徒弟、班级和学生等等。在UML类图中,用实线连接有关联

2016-04-08 19:29:17 907 1

转载 深入浅出UML类图(一)

在UML 2.0的13种图形中,类图是使用频率最高的UML图之一。Martin Fowler在其著作《UML Distilled: A Brief Guide to the Standard Object Modeling Language, Third Edition》(《UML精粹:标准对象建模语言简明指南(第3版)》)中有这么一段:“If someone were to come up

2016-04-08 19:24:00 1233 1

原创 第六周周赛——AK机会不易得,好好把握题解(出自HDU5650,codeforces 616A,624A,659A,655A,658A)

A题:A题题目链接题目描述:位运算TimeLimit:1000MS  MemoryLimit:65536KB64-bit integer IO format:%I64dadminProblem Description编辑已知一个包含 n 个元素的正整数集合S,设 f(S) 为集合S中所有元素的异或(XOR)的结果。

2016-04-05 14:56:08 1614

原创 HDU1896(优先队列的应用)

题目链接题目描述:StonesTime Limit: 5000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 1733    Accepted Submission(s): 1122Problem DescriptionBe

2016-04-01 17:55:45 2186 1

原创 poj3253——哈夫曼树思想 + 优先队列解决

题目链接:Fence Repair题目描述:Fence RepairTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 37099 Accepted: 12013DescriptionFarmer John wants to rep

2016-03-31 00:27:51 762

原创 哈夫曼编码问题再续(下篇)——优先队列求解

上篇描述了哈夫曼编码问题的基本描述以及建造一个哈夫曼树的过程分析,那么当算法已经描述清楚之后,我们要怎么样来实现代码呢?或者说,给你一些带有权值的叶子节点,要怎么样利用程序快速算出所对应的哈夫曼树的带权路径WPL呢?我们首先回顾一下上篇讲到的那个问题:例如有这一个字符串“good good study day day up”,现在我们要对字符串进行哈夫曼编码,该字符串一共有 26

2016-03-30 22:21:20 2781 1

CS 229课堂笔记(基于吴恩达老师斯坦福机器学习课程)

CS 229的课堂笔记,整理的非常好,适合直接打印学习。

2018-07-17

《Java基础36讲》

四川大学研究生学长亲制的《Java基础36讲》,适合零基础的同学入门学习,也适合非CS专业的同学自学,讲的很详细!

2018-07-17

吴恩达CS 229-Machine Learning Autumn 2017的课件,带书签版本

吴恩达CS 229-Machine Learning Autumn 2017的课件,带书签版本(包括extra notes、problem set、助教上课的课件和吴恩达老师推荐的论文)

2018-07-16

超智能体pdf文件

超智能体pdf,原来托管在GitBook上,后来被原博主删除。该书生动形象的描述了机器学习和深度学习的基础知识,值得推荐。

2018-03-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除