自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 对VSCODE的显示进行调整,在debug阶段可查看tensor维度

vscode自动显示维度

2024-05-20 10:43:16 459 1

原创 KMP算法

本文章基于carl大佬的视频讲解所整理出来的kmp算法笔记,原视频在这里帮你把KMP算法学个通透!(理论篇)解决的问题KMP解决的就是字符串匹配的问题,例如:文本串:aabaabaaf模式串:aabaaf目的,是为了求证在文本串当中是否有模式串的出现KMP算法流程:首先按照上面的例子,模式串和文本串先一一对应的进行匹配,在模式串遍历到 f 的时候,文本串遍历到了 b,此时 f 和 b 不匹配,这时候KMP算法会找模式串中不匹配地方 f 前面的字符串当中的最长相等前后缀的下标。这里 f 前面的字

2022-05-05 22:06:40 717

原创 Lexical Model

Lexical Model本篇文章是针对《Improving Lexical Choice in Neural Machine Translation》这篇论文的一些理解。同时这个模型还在NAACL 2018 Improving Lexical Choice in Neural Machine Translation fix 这个视频中大概介绍了。本篇是基于这个视频的笔记。首先在机器翻译当中,我们需要在词表里面找每个词的概率。一般常出现的词的概率就会高一些,每个单词都可以用一个词向量表示。比如2018和

2022-03-15 17:11:27 1181

原创 关于一些比较好的视频讲解:AIRMA和语音识别

视频讲解AIRMA机器学习经典算法:时间序列ARIMA模型语音识别入门精选:从零搭建语音识别引擎 - 基于Kaldi

2022-03-05 16:22:38 2713

原创 面经经历--滴滴,科大讯飞

将面试的过程问到的问题记录下来,方便以后回顾滴滴一面:项目内容:RNN为什么会引起梯度消失LSTM为什么会解决梯度消失的问题在你的项目中对于机器翻译的评判标准是什么手撕代码:二分查找将一个有序数组进行旋转,如何用logN的算法实现查找到目标数字,例如:数组为 nums = [5,6,1,2,3,4] target = 2. 如何用logN的算法在nums中找到target科大讯飞一面:介绍一下transformer的结构介绍一下bert对最新的bert变型结构是否有了解gp

2022-02-27 09:38:29 830

原创 Attention的理解,Bert以及其变型总结

原文出处为这里,张老师关于注意力的讲解 非常的通俗易懂,读了这篇文章之后,写下这篇博客作为笔记。极其推荐看一下这篇原文。关于key,value,query其中对于机器翻译来说,将source翻译为target,在注意力机制中可写作source中是key和value的键值对,对于翻译每一个target的单词,就是向source中进行一次query。其中key为source中的词向量,value为在encoder端的每个单词的hj。Attention(query, source) = \sum simi

2022-01-11 15:37:05 880

原创 数据结构和算法笔记--16设计模式

设计模式面向对象三大特性:封装继承多态

2021-10-28 17:31:14 110

原创 leetcode刷题笔记

数组链表python 中的一些常用操作# 创建链表linkedlist = deque()# 添加元素# 时间复杂度为O(1)linkedlist.append(1)linkedlist.append(2)linkedlist.append(3)print(linkedlist) # [1,2,3]# 插入元素# 时间复杂度O(N):插入仍然是O(1),但是这里需要用到索引的值,找到其对应索引的位置进行插入,这个寻找索引位置的操作的时间复杂度为O(n)# insert(索引位置

2021-10-20 14:19:36 76

原创 数据结构和算法进阶笔记--15欧几里得算法和RSA算法

欧几里得算法最大公约数约数:如果整数a能被整数b整除,那么a叫做b的倍数,b叫做a的约数给定两个整数a,b,两个数所以公共约数中最大值即为最大公约数(Greatest Common Divisor,GCD)例如:12与16最大公约数是4欧几里得:辗转相除法gcd(a,b) = gcd(b, a mod b)例:gcd(60,21) = gcd(21,18) = gcd(18,3) = gcd(3,0) = 3def gcd(a, b): if b == 0: return a els

2021-09-26 22:44:38 187

原创 数据结构和算法进阶笔记--14动态规划

动态规划例子:斐波那契数列:Fn=Fn−1+Fn−2F_n = F_{n-1} + F_{n-2}Fn​=Fn−1​+Fn−2​使用递归和非递归的方法来求解斐波那契数列的第n项。F1=1,F2=1F_1 = 1, F_2 = 1F1​=1,F2​=1# 子问题的重复计算# f(5) = f(4) + f(3)# f(4) = f(3) + f(2)# f(3) = f(2) + f(1) # f(5)中的f(3)# f(3) = f(2) + f(1) # f(4)中的f(3)# 其中 f

2021-09-26 18:11:38 79

原创 数据结构和算法进阶笔记--13贪心算法

贪心算法

2021-09-26 09:05:35 113

原创 数据结构和算法笔记--12树

树关于树的基本概念:可见6堆排序中的树的部分

2021-09-22 16:10:03 108

原创 数据结构和算法笔记--11哈希表

哈希表

2021-09-19 16:43:04 120

原创 python查缺补漏--1class中特殊成员

特殊成员

2021-09-19 16:39:47 80

原创 数据结构和算法笔记--10链表

链表链表是由一系列节点组成的元素集合。每个节点包含两部分,数据域item和指向下一个节点的指针next。通过节点之间的相互连接,最终串联成一个链表class Node: def __init__(self, item): self.item = item self.next = Nonea = Node(1)b = Node(2)c = Node(3)a.next = bb.next = cprint(a.next.item) # --> 2创建链表头插法:在hea

2021-09-19 16:39:19 66

原创 数据结构和算法笔记--9数据结构介绍:列表,栈,队列

数据结构数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。简单来说,数据结构就是设计数据以何种方式组织并存储在计算机当中比如:列表,集合,字典等都是一种数据结构N.Wirth: “程序=数据结构+算法”数据结构的分类数据结构按照其逻辑结构可分为线性结构,树结构,图结构线性结构:数据结构中的元素存在一对一的相互关系树结构:数据结构中的元素存在一对多的相互关系图结构:数据结构中的元素存在多对多的相互关系线性结构–列表列表中元素存储方式:

2021-09-19 16:38:53 179

原创 数据结构和算法笔记--8希尔排序,计数排序,桶排序,基数排序

希尔排序第一趟,d1d_1d1​ = n/2 = 9//2 = 5 = gap, 每组数据进行插入排序d2d_2d2​ = d1/2d_1/2d1​/2 ,以此类推def insert_sort_gap(li, gap): for i in range(gap,len(li)): # i 表示取到的数的下标,为无序区的第一个数 j = i - gap # 有序区的最后一个数的下标 tmp = li[i] # 找插入的位置 while j >= 0 and li[j] &g

2021-09-19 16:38:32 87

原创 数据结构和算法笔记--7归并排序

归并排序

2021-09-19 16:38:15 137

原创 数据结构和算法笔记--6堆排序

堆排序数与二叉树树是一种数据结构 比如目录结构树是一种可递归定义的数据结构树是由n个节点组成的集合:如果n=0, 那这是一颗空树如果n>0,那存在1个节点作为树的根节点,其他节点可以分为m个集合,每个集合本身又是一棵树。一些概念:根节点,叶子节点树的深度树的度:度是该节点分叉的数量,树的度则是该树当中有着最多分叉的节点的分叉数量,如上图树的度为3,因为在这个树当中,A和C有着最多的三个分叉,所以这个树的度为3孩子节点,父节点: 节点之间的关系,C为H的父节点,H为

2021-09-19 16:37:51 143

原创 数据结构和算法笔记--5快速排序

堆排序堆的向下调整性质假设根结点的子树都是堆,但是根结点不满足堆的性质。可以通过一次向下调整使其变成一个堆堆排序的过程1.建立一个堆2.得到堆顶元素为最大元素3.去掉堆顶,将堆最后一个元素放到堆顶,此时可通过一次调整使得堆变得有序4.堆顶元素为第二大元素5.重复步骤3,直到堆变空构造堆由下至上,由叶至根调整函数:def sift(li, low, high): # param li:列表 # param low:堆的节点位置 # param high: 堆的最后一

2021-09-19 16:37:29 58

原创 数据结构和算法笔记--4排序(冒泡排序,选择排序,插入排序)

将一组无序的记录序列调整为有序的记录序列。列表排序:将无序列表变为有序列表输入:列表输出:有序列表升序和降序内置排序函数:sort()常见排序算法简单的排序算法冒泡排序选择排序插入排序有效的排序算法快速排序堆排序归并排序其他算法希尔排序计数排序基数排序冒泡排序列表中每两个相邻的数,如果前面的数比后面的数大,则交换这两个数。一次排序完成后,则无序区减少一个数,有序区增加一个数。...

2021-09-19 16:37:07 65

原创 数据结构和算法笔记--3查找

查找在一些数据元素中,通过一定的方法找出与给定关键字相同数据元素的过程。列表查找(线性表查找):从列表中查找指定元素输入:列表,待查找元素输出: 元素下表(未找到元素时一般返回none或者-1)内置列表查找函数:index() 这个函数是linear search顺序查找(linear search)顺序查找:从列表第一个元素开始,顺序进行搜索,直到找到元素对应元素或者搜索到列表最后一个元素。def linear_search(li, val): for ind, v in enume

2021-09-19 16:36:47 45

原创 数据结构和算法笔记--2递归

数据结构和算法笔记–2递归递归两个特点调用自身结束条件下面展示递归的函数。// An highlighted blockdef func(x): if x>0: print(x) func(x-1)汉诺塔问题将A的所有盘子都移动到另外一个柱子,小圆盘不能放大圆盘,三个柱子一次只能放一个圆盘。有n个盘子时:把上面的n-1个盘子从A经过C移动到B把第n个盘子从A移动到C把n-1个盘子从B经过A移动到Cdef hanoi(n, a, b, c): # n 代

2021-09-19 16:36:24 94

原创 数据结构和算法笔记--1时间复杂度

数据结构和算法笔记—1.时间复杂度为了更加清楚的记录学习到的知识,也为之后更加方便的复习查看,因此写下这些笔记。时间复杂度// An highlighted blockprint('hello world')时间复杂度为O(1)// An highlighted blockfor i in range(n): print('hello world')时间复杂度为O(n)// An highlighted blockfor i in range(n): for j in range

2021-09-19 16:34:32 94

空空如也

空空如也

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

TA关注的人

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