自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LeetCode笔记06:167. 两数之和 II - 输入有序数组

给你一个下标从 1 开始的整数数组numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] ,则 1

2022-10-10 11:37:22 422 1

原创 LeetCode笔记05:最长公共前缀

https://leetcode.cn/problems/longest-common-prefix/

2022-09-28 14:30:16 487

原创 LeetCode笔记04:对角线遍历

给你一个大小为 m x n 的矩阵 mat ,请以对角线遍历的顺序,用一个数组返回这个矩阵中的所有元素。

2022-09-27 22:40:02 610

原创 LeetCode笔记03:零矩阵

编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。

2022-09-27 10:16:43 164

原创 LeetCode笔记02:旋转矩阵

leecode题目:给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度。不占用额外内存空间能否做到?

2022-09-22 22:04:49 171

原创 LeetCode笔记01:区间合并

力扣刷题笔记01(合并区间):以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。

2022-09-20 22:14:24 148 1

转载 CRF原理

CRF(条件随机场)与Viterbi(维特比)算法原理详解Data_driver 2019-04-17 10:36:52 4013 收藏 11展开摘自:https://mp.weixin.qq.com/s/GXbFxlExDtjtQe-OPwfokA https://www.cnblogs.com/zhibei/p/9391014.htmlCRF(Conditional...

2020-04-29 21:34:11 1765

转载 理解viterbi算法

1.题目背景:从前有个村儿,村里的人的身体情况只有两种可能:健康或者发烧。假设这个村儿的人没有体温计或者百度这种神奇东西,他唯一判断他身体情况的途径就是到村头我的偶像金正月的小诊所询问。月儿通过询问村民的感觉,判断她的病情,再假设村民只会回答正常、头晕或冷。有一天村里奥巴驴就去月儿那去询问了。第一天她告诉月儿她感觉正常。第二天她告诉月儿感觉有点冷。第三天她告诉月儿感觉有点头晕。那么...

2020-04-29 15:09:34 301

原创 transformer---李宏毅

什么是transformer?对于seq2seq模型,我们常用的是RNN,但我们所使用的RNN是按照时间步去计算的,缺少并行性,当我们的训练集很庞大时,我们的训练时间要很久,而李宏毅老师在视频里讲到,有人提出用CNN去替代RNN,如下图,左图为双向RNN,而右图为CNN去训练序列所以有人提出了,用CNN来替代RNN。图中每一个三角形代表一个filter。但是CNN只能考虑有限的信息,比如...

2020-04-13 01:33:48 453 1

原创 tensorflow实现简单encode-decode-attention

#创建编码层'''rnn_size : rnn sizesequence_length : sequence lengthnum_layers: create layer divrnn_inputs: input datakeep_prob: save ratio'''def encoding_layer(rnn_size, sequence_length, num_layers,...

2020-04-11 03:21:51 941

转载 Beam-search

Beam search搜索策略是贪心策略和穷举策略的一个折中方案,它在预测的每一步,都保留Top-k高概率的词,作为下一个时间步的输入。k称为beam size,k越大,得到更好结果的可能性更大,但计算消耗也越大。请注意,这里的Top-k高概率不仅仅指当前时刻的ytyt的最高概率,而是截止目前这条路径上的累计概率之和,如下图的公式所示。举例如下,假设k=2k=2,第一个时间步保留Top-2的词为"...

2020-04-09 14:27:49 1128

转载 Attention注意力机制

深入理解Attention机制要了解深度学习中的注意力模型,就不得不先谈Encoder-Decoder框架,因为目前大多数注意力模型附着在Encoder-Decoder框架下,当然,其实注意力模型可以看作一种通用的思想,本身并不依赖于特定框架,这点需要注意。Encoder-Decoder框架可以看作是一种深度学习领域的研究模式,应用场景异常广泛。图2是文本处理领域里常用的Encoder-Dec...

2020-04-06 17:45:17 419

转载 seq2seq简单实现--在输入序列后添加1

import numpy as npimport tensorflow as tfimport functools#参数设置PAD = 0EOS = 1# embedding parametersvocab_size = 10 #词典数量 约等于最后输出的数据库input_embedding_size = 20 #embedding输入层大小 词的向量化的输入数据# n...

2020-04-05 22:10:42 324

转载 Seq2Seq原理2

seq2seq的NMT(神经网络翻译)如下图所示,它由两个RNN组成,左边的红色部分称为Encoder RNN,它负责对源语言进行编码(Encode);右边的绿色部分称为Decoder RNN,它负责对目标语言进行解码(Decode)。首先,Encoder RNN可以是任意一个RNN,比如朴素RNN、LSTM或者GRU。Encoder RNN负责对源语言进行编码,学习源语言的隐含特征。Encode...

2020-04-05 11:02:40 344

转载 Seq2Seq--原理

seq to seqSeq2Seq 模型顾名思义,输入一个序列,用一个 RNN (Encoder)编码成一个向量 u,再用另一个 RNN (Decoder)解码成一个序列输出,且输出序列的长度是可变的。用途很广,机器翻译,自动摘要,对话系统,只要是序列对序列的问题都能来搞。seq2seq 是一个Encoder–Decoder 结构的网络,它的输入是一个序列,输出也是一个序列, Encoder ...

2020-04-05 10:19:34 808

原创 BILSTM实现MNIST数据集学习

from __future__ import print_functionimport tensorflow as tffrom tensorflow.contrib import rnnimport numpy as np# Import MNIST datafrom tensorflow.examples.tutorials.mnist import input_datamnis...

2020-04-04 21:12:51 402 1

原创 VUE学习日记——芜湖音乐

芜湖音乐通过VUE实时响应操作dom开发音乐播放器1、定义CSS样式表,设计网页布局(略)2、添加音乐搜索功能使用网易云提供的API接口进行数据的交互。首先我们要实现的功能是回车搜索与点击搜索。回车搜索功能绑定在input之中,而点击搜索功能则绑定在img上然后我们在vue的实例中编写getMusicList函数获取歌曲列表getMusicList: function () {//...

2020-04-04 00:43:25 150

原创 VUE学习日记——配合axios

AxiosAxios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。Features1、从浏览器中创建 XMLHttpRequests2、从 node.js 创建 http 请求3、支持 Promise API4、拦截请求和响应5、转换请求数据和响应数据6、取消请求7、自动转换 JSON 数据8、客户端支持防御 XSRF导入Axios包...

2020-04-03 10:59:15 147

原创 VUE-记事本----熟悉vue指令

使用v-for渲染页面中的列表,使用v-model绑定 input中的数据,同时使用v-on:"keyup.enter"将输入框中的数据传给vue实例的数组中,渲染新的列表。、记事本删除功能使用v-for中的index项,使用v-on指令绑定click添加remove函数,传入index的参数,使用splice去除当前下标的元素,页面会及时将当前数组渲染。记事本的统计使用插值...

2020-04-02 18:05:45 264

原创 DAY4-BILSTM-tensorflow.nn.bidirectional_dynamic_rnn()

LSTM的全称是Long Short-Term Memory,它是RNN(Recurrent Neural Network)的一种。LSTM由于其设计的特点,非常适合用于对时序数据的建模,如文本数据。BiLSTM是Bi-directional Long Short-Term Memory的缩写,是由前向LSTM与后向LSTM组合而成。两者在自然语言处理任务中都常被用来建模上下文信息。自然语言处理...

2020-04-01 23:25:13 402

转载 LSTM--简单实例

import numpy as npimport tensorflow as tffrom tensorflow.contrib import rnnclass SeriesPredictor: def __init__(self, input_dim, seq_size, hidden_dim=10): self.input_dim = input_dim #每次输...

2020-04-01 13:59:29 970

原创 VUE学习日记2

v-show作用,根据后面数据所表达的值,切换元素的显示和隐藏。v-show后面可以跟表达式

2020-03-31 01:46:55 105

原创 VUE学习日记1

一、VUE实例导入调试版本VUE导入生产版本VUE也可进入官网下载js文件进行导入,头部进行导入第一个VUE页面+el属性el为挂载点、data为挂载点中的数据,上图为将数据传入ID=app的标签中的{{message}},双大括号语法为插值表达式。vue的实例作用范围为挂载标签与所有的子标签。data数据VUE中数据定义在data中,data中的数据可以为字符串、数字...

2020-03-30 15:28:56 234

转载 DAY3——LSTM

Long Short Term Memory networks(以下简称LSTMs),一种特殊的RNN网络,长序列,该网络设计出来是为了解决长依赖问题。该网络由 Hochreiter & Schmidhuber (1997)引入,并有许多人对其进行了改进和普及。他们的工作被用来解决了各种各样的问题,直到目前还被广泛应用。细胞状态,传输训练数据的主通道。让我们回到语言模型的例子中来基于...

2020-03-29 21:48:48 227

转载 DAY3--RNN神经网络学习笔记

单层RNN创建import tensorflow as tfimport numpy as npcell = tf.nn.rnn_cell.BasicRNNCell(num_units=128) # state_size = 128print(cell.state_size) # 128inputs = tf.placeholder(np.float32, shape=(32, 10...

2020-03-29 17:50:14 208

转载 DAY2--RNN神经网络学习笔记

全连接神经网络和卷积神经网络,他们都只能单独的取处理一个个的输入,前一个输入和后一个输入是完全没有关系的。但是,某些任务需要能够更好的处理序列的信息,即前面的输入和后面的输入是有关系的。比如,当我们在理解一句话意思时,孤立的理解这句话的每个词是不够的,我们需要处理这些词连接起来的整个序列;当我们处理视频的时候,我们也不能只单独的去分析每一帧,而要分析这些帧连接起来的整个序列。这时,就需要用到深度学...

2020-03-29 09:28:14 301

转载 DAY1——Tensorflow——CNN——MINIST

import tensorflow as tfimport numpy as npfrom tensorflow.examples.tutorials.mnist import input_dataminist = input_data.read_data_sets("MINIST_data/",one_hot=True) #读出MINIST数据集sess = tf.Interactive...

2020-03-27 16:49:49 1014

原创 kmp算法

KMP算法S[0]为B,P[0]为A,不匹配,执行第②条指令:“如果失配(即S[i]! = P[j]),令i = i - (j - 1),j = 0”,S[1]跟P[0]匹配,相当于模式串要往右移动一位(i=1,j=0)S[1]跟P[0]还是不匹配,继续执行第②条指令:“如果失配(即S[i]! = P[j]),令i = i - (j - 1),j = 0”,S[2]跟P[0]匹配(i...

2019-08-31 19:11:15 724

原创 单链表的逆转

链表的部分逆转。#include<iostream>using namespace std;struct list{ int num; list *next;};list* createlist(int k){ list* head = (list*)malloc(sizeof(list)); list* temp = head; cin >> h...

2019-05-27 22:07:29 168

转载 判断一棵树是否是平衡二叉树

struct TreeNode{ TreeNode *leftChild; TreeNode *rightChild; int data; }; int getHeight(const TreeNode* root){ if( root == nullptr){ return 0; } ...

2019-05-27 21:01:02 738

转载 递归实现全排列 -----学习记录

自我学习#include <iostream>using namespace std;void swap(int &a,int &b){ int temp=a; a=b; b=temp;}void perm(int list[],int low,int high){ if(low==high){ //当low==high时,...

2019-05-27 12:11:47 210

原创 简单并查集 树的简单应用 hdu1232

并查集,是利用树的思想题目:某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路?输入帮助:测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N ( < 1000 )和道路数目M;随后的M行...

2019-05-25 18:06:09 129

原创 二分查找 递归实现

#include <iostream>#include<iomanip>using namespace std;int find(int left, int right, int a[],int k){ int mid = (left + right) / 2; if (left <= right) { if (k > a[mid]) {...

2019-05-25 14:51:44 5177 1

原创 01背包 动态规划

利用动态规划原理,把递归对此重复运算的值,利用二维数组去储存int a[x][y];x代表商品的编号,y代表 最大容纳量。利用数组的遍历,不断地去更新二维数组的选择最大值取决于选于不选。#include <iostream>#include<iomanip>using namespace std;int max(int a, int b){ return ...

2019-05-20 22:45:41 123

原创 01背包 (递归解决)

01背包,设定一个背包,他有一个maxweight,现在你有n个物品,每个物品都有重量与其价值,现在要你求取得的最大价值。运用递归的思想,假如现在是从最后一个开始选,如果这个东西的重量大于背包的重量,那是不是可以从第n-1个物体开始选。假如这个东西的重量小于背包的重量,那么现在你将面临两个选择,一不选,那么你就跳过了这个物品,就可以从n-1开始选。 二,选,假如你选了的话,那么背包的重量就减少...

2019-05-20 19:44:57 3494

原创 十字链表——理解 通过链表储存二位数组

十字链表用通过两个结构体进行储存,第一个结构体储存 x,y坐标与记录值。第二个结构体则存储行的头链表与列的头链表,还有关于开辟链表的大小,x,y,z,z为非零值的个数。然后通过一个函数去实现链表的开辟,实现十字链表。链表的两个表头为第一个结构体的指针的指针,即其指针指向第一个结构体的指针,利用第一个结构体的指针实现输入功能。动态建立指针数组的方式如下p = (OLink )malloc(...

2019-05-19 21:59:10 739

原创 简单归并排序————数组的归并 理解归并的原理

归并排序的原理是归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。归并操作的工作原理如下:第一步:申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序...

2019-05-19 14:54:32 864

原创 最大子序列和 分而治之

分而治之求 一个数列最大连续子数列和。原理利用递归的思想,将数列不断地分成两半,分到最小时为一个数。返回一个初值,然后再判断4,-3,4+(-3),哪个大,在返回4,再判断5与-2,返回5,再判断4与,依次类推。下面是代码#include<iostream>using namespace std;int crossmax(int *a, int left, int righ...

2019-05-19 13:53:53 732 2

原创 数据结构之动态规划

动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划求解的问题,经分解得到子问题往往不是互相独立的。若用分治法来解这类问题,则分解得到的子问题数目太多,有些子问题...

2019-05-18 17:45:27 673

空空如也

空空如也

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

TA关注的人

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