自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(142)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 简单词性标注实战

文章目录词性标注实战讲解代码实现读取词性标注数据集构建上述三个特征数组进行词性标注查看一下路径对应的词性,以及错误词性的dp值学自NLPCamp词性标注实战讲解对于一段文本我们要知道其中每个词的词性。形式如下:# Z为词性总和:{z1,z2,...,zn},S为句子(词总和):{w1,w2,...,wn}# S中每个词的词性肯能有多种,而组合起来的Z就更多了所以对于要求的P(Z|S),S是一个小概率,Z是大概率。所以其是求不出来的,使用贝叶斯公式求。我们要求的是:从S的所有词的词性组

2021-11-27 16:10:57 744 1

原创 整个NLP重新学习(二)

文章目录NLP训练营学习记录(二)语言模型Noisy Channel ModelLanguage ModelChain Rule(链式法则)马尔科夫假设(Markov Assumption)Language ModelUnigramBigramN-gram构造语言模型平滑化 SmoothingAdd-one SmoothingAdd-K SmoothingInterpolation(插值法)Good-Turning Smoothing评估语言模型语言模型实现1 将自定义词库添加到jieba词库中2 加载停用

2021-11-03 22:24:50 463

原创 动态规划-01背包

01背包背包最大重量为4。物品为: 重量 价值物品0 1 15物品1 3 20物品2 4 30问背包能背的物品最大价值是多少?碰到是否可以使用DP,我们需要思考是否存 在最优子结构,并且有重复子问题。通常情况下暴力解法就是你思考最优子结构的作用。暴力解法:我们在选择物品时有两种选择:选 或 不选,所以递归如图所示:这样根节点的最优选项为:选0号物品 与 不选0号物品 中最优的那个。其他非叶子节点亦然。而DP是自底向上进行的,当背包大小为1的时候

2021-11-01 09:48:54 218

原创 动态规划-不同二叉搜索树

不同的二叉搜索树给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。输入:n = 3输出:5示例 2:输入:n = 1输出:1来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/unique-binary-search-trees著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。示例1:画图所示规律如图:二叉搜索树的定义,父

2021-11-01 09:48:07 136

原创 动态规划-整数拆分

整数拆分给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。示例 1:输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1。示例 2:输入: 10输出: 36解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36。说明: 你可以假设 n 不小于 2 且不大于 58。来源:力扣(LeetCode)链接:https://leetcode-c

2021-11-01 09:46:09 474

原创 动态规划-不同路径

不同路径一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径? 示例 1:输入:m = 3, n = 7输出:28示例 2:输入:m = 3, n = 2输出:3解释:从左上角开始,总共有 3 条路径可以到达右下角。1. 向右 -> 向下 -> 向下2. 向下 ->

2021-11-01 09:45:22 517

原创 动态规划-使用最小花费爬楼梯

使用最小花费爬楼梯数组的每个下标作为一个阶梯,第 i 个阶梯对应着一个非负数的体力花费值 cost[i](下标从 0 开始)。每当你爬上一个阶梯你都要花费对应的体力值,一旦支付了相应的体力值,你就可以选择向上爬一个阶梯或者爬两个阶梯。请你找出达到楼层顶部的最低花费。在开始时,你可以选择从下标为 0 或 1 的元素作为初始阶梯。 示例 1:输入:cost = [10, 15, 20]输出:15解释:最低花费是从 cost[1] 开始,然后走两步即可到阶梯

2021-11-01 09:44:52 169

原创 动态规划-爬楼梯

爬楼梯假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3. 2 阶 + 1 阶来源:力扣(LeetCode)链接:https:

2021-11-01 09:44:13 117

原创 动态规划-编辑距离

编辑距离编辑距离就是通过增删替换三种操作,计算最少通过几次操作能将一个向量转换为另一个向量。这个操作次数就是编辑距离。例如:使用两个指针分别指向尾部。过程如下:上词为源词,对源词进行增删替换当进行添加时,j-1当进行删除时,i-1当进行替换时,i-1,j-1边界为:当上词i=-1时,剩下的编辑距离为将下词所有当前j之前的字符增加到上词中。当下次j=-1时,剩下的编辑距离为将上词所有i之前的字符删除。# count为编辑距离count = 0i = dj =

2021-11-01 09:43:43 1481

原创 图算法-单源最短路径-Dijkstra算法

Dijkstra算法算法描述:将图转化成邻接矩阵。行为当前点,列为目标前,矩阵中元素为当前点到目标点的距离。与本点的距离为0,与直接相连的点距离为对应距离,与不直接相连点的距离为无穷。将所有顶点分为两部分:**已知最短路径集合P和未知最短路径集合Q。**使用一个数组记录P、Q,数组中为1的部分为集合P中的元素,数组中为0的部分为集合Q中的元素。初始时P集合中只有源点v。设置dist距离数组。dist数组为源点到各点的最短距离。初始dist表为:到源点的距离为0,到与原点直接相连的点u的

2021-11-01 09:42:07 234

原创 搜索算法-二分查找-34.在排序数组中查找元素的第一个位置和最后一个位置

34.在排序数组中查找元素的第一个位置和最后一个位置给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。进阶:你可以设计并实现时间复杂度为 O(log n) 的算法解决此问题吗? 示例 1:输入:nums = [5,7,7,8,8,10], target = 8输出:[3,4]示例 2:输入:nums =

2021-11-01 09:40:39 130

原创 搜索算法-二分查找-1.两数之和

1.两数之和给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。 示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例 2:输入:nums = [3,2,

2021-11-01 09:39:50 227

原创 搜索算法-二分查找-367.有效完全平方数

二分查找注意!二分查找时也要注意不变量。 如果你调用输入的是 [left, right](或[left, len(nums)-1]),则你的终止条件是if left > right。因为你的区间是左闭右闭的,所以当left == right的时候是有意义的。367.有效完全平方数给定一个 正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 false 。进阶:不要 使用任何内置的库函数,如 sqrt 。 示例 1:输入:num = 16

2021-10-30 11:23:56 112

原创 堆-优先队列-703.数据流中的第K大元素

优先队列优先队列的底层是堆,堆是一个具有特殊属性的完全二叉树。堆分为最大最小堆:最大堆的父节点永远比儿子节点大最小堆的父节点永远比儿子节点小时间复杂度:最大堆(最小堆)查找最大节点(最小节点)的时间复杂度是 O(1)插入/删除堆中节点的时间复杂度是 O(logn)查找topK的时间复杂度为 O(logn)堆的底层就是一个数组,它的一个堆特性是:第i个位置的元素应小于第 i * 2、i * 2 + 1 位置的元素。(那两个元素是i位置元素的子节点)703.数据流中的第K大元素设计一

2021-10-30 11:22:39 129

原创 堆-python中的堆heapq

python中的堆heapqpython中并没有像java那样封装一个堆类。而是提供了一个heapq堆函数,它可以将list转化为堆。heapq中的堆是最小堆!heapq中拥有的函数:heapq.heapify(list):将list转换成堆,直接对list进行修改,不返回值。heapq.heappush(heap, val):将val添加进堆中。应注意!添加的数组应为堆数组(也就是heapify后的),如果是普通数组它添加时并不会按照你想的方式添加(因为添加是按照堆的规则添加的)。h

2021-10-30 11:21:13 298

原创 链表-环形链表-141.判断有环无环

141.环形链表给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中存在环,则返回 true 。 否则,返回 false 。进阶:你能用 O(1)(即,常量)内存解决此问题吗?示例 1:输入:head =

2021-10-30 11:19:26 96

原创 链表-反转链表-24.两两交换链表中的节点

24.两两交换链表中的节点给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例 1:输入:head = [1,2,3,4]输出:[2,1,4,3]示例 2:输入:head = []输出:[]示例 3:输入:head = [1]输出:[1]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/swap-nodes-in-pairs著作权归领

2021-10-30 11:18:22 80

原创 链表-反转链表-206.反转链表

206.翻转链表给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1:输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]示例 2:输入:head = [1,2]输出:[2,1]示例 3:输入:head = []输出:[]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-linked-list著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明

2021-10-30 11:17:34 68

原创 数组-模拟-螺旋矩阵

螺旋矩阵螺旋矩阵就是模拟路径进行螺旋,但是要注意不变量。输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例 2:输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]来源:力扣(LeetCode)链接:https://leetcode

2021-10-30 11:16:39 83

原创 数组-前后指针-26.移除数组中的重复项

26.移除有序数组中的重复项给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下:// nums 是以“引用”方式传递的。也就是说,不对实参做任何拷贝int len = rem

2021-10-30 11:15:37 92

原创 数组-前后指针-27.移除元素

27.移除元素给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下:// nums 是以“引用”方式传递的。也就是说,不对实参

2021-10-30 11:14:43 106

原创 数组-前后指针-283.移动0

283.移动零给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/move-zeroes著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。使用双指针法,前指针指向第一个零项,后指针寻找非零项。当每次后指针找到非零项后,与前指针进行swap,前后指针加一。

2021-10-30 11:13:43 65

原创 NLP训练营学习记录(一)

文章目录NLP训练营学习记录(一)理解性小案例:机器翻译概率语言模型优化自然语言处理的四个维度算法复杂度归并排序以及Master Theorem(主定理分析)P、NP hard、NP complete问题斐波那契数的计算(介绍递归算法的时间复杂度)递归实现循环实现(将递归问题转化为DP问题)基于检索的问答系统的搭建(做NLP的流程介绍)问答系统介绍文本处理切词前向最大匹配(forward max matching)考虑语义的分词算法拼写纠错遍历词表选择候选词法生成候选词法去停用词NLTK停用词库停用词过滤词

2021-10-25 20:41:53 613

原创 linux基础

文章目录linux基础一桥连接与NAT设置打开实现共享文件linux目录结构远程登录到linuxXShell系统中退格不能使用,键盘乱码问题XFtpvi与vim的使用vi的三种模式vi与vim的快捷键开关机以及用户登录注销开关机用户登录与注销用户管理组创建组删除组用户与组相关信息的文件(查看组)linux常用指令指定运行级别帮助指令文件目录类pwd 显示当前路径ls 显示当前目录中的文件cd 切换目录mkdir 创建目录rmdir 删除空目录rm -rf 强制删除非空目录touch 创建空文件cp 拷贝rm

2021-09-29 15:18:41 403

原创 git基础

文章目录Git基础一git命令操作本地库操作本地库初始化基本操作查看git当前状态将工作区中的内容add到暂存区将暂存区中的文件rm出去从暂存区commit到本地仓库版本的前进与后退比较文件差异分支管理查看所有的分支创建分支切换分支合并分支解决冲突远程库操作给github项目地址起别名查看地址别名 git remote -V添加地址别名 git remote add推送内容到远程库克隆远程库中的内容将远程库中的内容pull到本地库git fetch下载内容git merge 合并内容直接 pull 拉取远程

2021-09-29 15:10:41 73

原创 学习k近邻

K近邻(KNN)k近邻(k-nearest neighbor)可以做分类也可以做回归任务。k近邻的基本描述:选择预测点周围距离最近的k个点,通过这几个点的特征按照某种规则来预测预测点。从上述描述中可以看出在k近邻中决定某个点的值有三个要素:k值的选择距离的度量分类决策的规则分类决策的规则(学习的策略)这里介绍一种分类决策的规则:多数表决制多数表决制:在训练数据集中找到与该实例最近邻的k个实例,这k个实例多数属于某个类,就把该输入实例分为这个类。分类决策的算法:输入:训练数据集

2021-09-01 16:57:01 347 1

原创 感知机学习

文章目录感知机sign函数(感知机的模型)感知机的数据集感知机的学习策略感知机的学习算法感知机完整的学习过程一个感知机完整的学习流程图相应的实例实例的实现过程代码实现感知机感知机的定义:感知机是个线性二分类模型。其目的是学习一个超平面,可以将特征空间中的实例分为正负两类。感知机算法有两种形式:原始形式与对偶形式。从下图可以形象的看出感知机是一个什么东西:(那条斜线就是感知机学习到的超平面,这个超平面将两类点分离)sign函数(感知机的模型)函数原型:可以从上面看出sign函数非常符合感知机

2021-08-14 21:56:09 618 1

原创 获取一年中的自然周

自然周:以每月第一个星期一作为这个月第一周的开始。前面不满星期一的作废(其实它是算在上一个月最后一周的。观察日历即可明白)import datetimeimport calendardef out_day_by_date(date): ''' 根据输入的日期计算该日期是在当年的第几天 ''' year=date.year month=date.month day=date.day months=[0,31,59,90,120,151,181,2

2021-05-03 17:18:16 751

原创 XML基础(一)

文章目录XML基础(一)XML简介XML的树状结构以及语法XML元素的命名规则XML的可扩展性XML的属性XML的DTDDTDDTDPCDATA与CDATAPCDATACDATADTD声明元素声明空元素声明只有 PCDATA文本 的元素声明带有子元素的元素声明带有任何内容的元素声明只出现一次的元素声明至少出现一次的元素声明出现零次或多次的元素声明出现零次或一次的元素DTD声明属性python解析XMLSAX解析XMLContentHandlerparserDOM解析XMLXML基础(一)XML简介XM

2021-04-26 18:41:13 286

原创 python-docx基础(一)

文章目录python-docx基础(一)打开一个文档创建一个空白文档作为文档对象打开一个现有文档作为文档对象段落直接追加段落到文档末尾通过段落游标插入段落标题分页表格表格的创建与使用已有表格,向表格中插入行使用样式图片样式段落的样式文档样式python-docx基础(一)打开一个文档from docx import Document创建一个空白文档作为文档对象document = Document()print(document)<docx.document.Document obj

2021-04-25 20:31:24 1106 1

原创 python查漏

文章目录python小知识点可以使用in遍历file对象可以直接import py文件中的类、函数。python中is与==,is not与!=之间的区别二维数组的申请申请避免浅拷贝(正确申请方法)列表解析数组的+与nd封装的+的区别Python中字符串前“b”,“r”,“u”,“f”的作用父类中调用子类函数python小知识点可以使用in遍历file对象​ 使用in遍历file对象时,与使用file.readline()是一个道理。filename = "a.txt"file = open(

2021-04-16 19:08:32 223 1

原创 存储二进制图片以及取出

存储二进制图片及取出import psycopg2 as pgconn = pg.connect(database='testbase', user='postgres', password='111111', host='127.0.0.1', port='5432')cur = conn.cursor()sql = 'insert into test_save_img(img) values (%s)';with open('G:\\test\\1.png', 'rb') as f:

2021-04-15 20:46:39 177

原创 数组插值及类型转换

文章目录数组插值及类型转换类型转换使用 :: 符号进行转换使用cast函数进行转换一维数组插值使用 || 运算符进行插值使用array_append/prepend插值二维数组插值使用 || 运算符进行插值一维数组添加到二维数组中二维数组与二维数组拼接使用array_cat进行插值数组插值及类型转换类型转换使用 :: 符号进行转换直接在数据后面使用::type进行类型转换。例如:对单独的数进行转换:select array_cat(bits, array[1::bit,1::bit,1::bit

2021-04-15 15:20:49 495

原创 PostgreSQL基础(四)

PostgreSQL基础(四)Python连接使用数据库在python中使用psycopg来连接数据库,它里面继承了数据库驱动等。获取数据库连接:psycopg2.connect(...)获得会话:psycopg2.connect(...).cursor()执行sql:psycopg2.connect(...).cursor().execute(sql)提交:psycopg2.connect(...).commit()获取增删改的行数:psycopg2.connect(...).cursor

2021-04-13 20:40:42 213

原创 PostgreSQL基础(三)

文章目录PostgreSQL基础(三)PostgreSQL语法视图创建一个视图删除视图存储过程触发器创建触发器索引唯一索引删除索引在何时避免使用索引时间相关函数其他函数返回当前时间事务锁PostgreSQL基础(三)PostgreSQL语法视图视图与模式的区别:模式包含了所有物理表(对应模式中的),模式可以划分表的作用域,这样用户与用户之间就不会冲突。表中的数据是完整的。视图是外模式,它是一个伪表(表中所有行还是存储在原来的表中),使得用户只能访问指定的一个或多个表中的一个或多个行。表中的数据

2021-04-13 20:01:10 618

原创 PostgreSQL基础(三)

文章目录PostgreSQL基础(三)PostgreSQL语法视图创建一个视图删除视图存储过程触发器创建触发器索引唯一索引删除索引在何时避免使用索引时间相关函数其他函数返回当前时间事务锁PostgreSQL基础(三)PostgreSQL语法视图视图与模式的区别:模式包含了所有物理表(对应模式中的),模式可以划分表的作用域,这样用户与用户之间就不会冲突。表中的数据是完整的。视图是外模式,它是一个伪表(表中所有行还是存储在原来的表中),使得用户只能访问指定的一个或多个表中的一个或多个行。表中的数据

2021-04-13 19:57:09 219

原创 PostgreSQL基础(二)

文章目录PostgreSQL基础(二)pgAdmin的使用PostgreSQL语法指令DDL创建数据库选择数据库查看已存在的数据库切换数据库删除数据库DROP DATABASE会话正在使用数据库不能删除错误dropdb dbname创建表查看创建好的表修改表删除表格模式创建模式在模式中创建表访问模式中的表删除模式DML增改删除DQL查WHERE子句联表查询GROUP BYORDER BYLIMITWITH子句WITH 语句中是 SELECTWITH 语句中不是 SELECTRETURNING子句拼接表 UN

2021-04-11 17:13:01 774

原创 PostgreSQL基础(一)

文章目录PostgreSQL基础(一)安装PostgreSQL数据类型数值类型货币类型字符类型日期/时间类型布尔类型位串类型枚举类型UUID类型文本检索类型几何类型JSON类型数组类型创建表时声明为数组类型向数组类型字段中插值访问数组根据数组类型数据筛选元组修改数组类型PostgreSQL基础(一)PostgreSQL 是一个对象-关系数据库服务器(ORDBMS)。手册地址:https://www.runoob.com/manual/PostgreSQL/index.html关系型数据库(RDBMS

2021-04-08 20:26:52 339

原创 pytorch掩码(masked)

pytorch掩码(masked)pytorch使用tensor.masked_fill将张量中的一些值掩盖掉。在Transformer中与BERT中都有用到。方法原型:tensor.masked_fill(mask, value)将mask中为1的部分使用value替代(value通常是一个极大或极小值),0的部分保持原值。mask必须是一个ByteTensor类型的张量(由01组成)value是替代值,一般为:1e9/1e-9示例:import torchx = torch.ar

2021-04-06 15:29:06 4104 1

原创 pytorch自定义初始化函数

文章目录Pytorch自定义初始化对单层网路进行初始化对模型(多层)进行初始化(递归)防止递归过深进行初始化手动对模型的每个层进行初始化(层数不多的时候)Pytorch自定义初始化在pytorch中,定义一个层(继承自Module),它在实例化的时候会自动初始化。但是有的场景是已知参数值的一个大概范围,那我们就可以将参数值初始化为我们想要的值,使得收敛更加快速!pytorch中提供了多种初始化函数:torch.nn.init.constant(tensor, val)torch.nn.init

2021-03-31 19:28:39 1064

ssmbuild.zip

一个springmvc的脚手架,通用基础配置。

2021-03-01

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

TA关注的人

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