- 博客(68)
- 收藏
- 关注
原创 服务器配置jupyter-notebook使用
配置后能够实现本地写代码,使用服务器跑,在配置线xshell写其他命令会很方便,不过也有文件究竟放在哪里的问题,关于写深度学习代码的问题,强烈看看周阳大神是怎么写的,jupyter 配置教程zy的类脑实验ps:真正的科研差距要从周围看齐,多沟通交流,一旦有疑问很可能是共性的疑问,不要一叶障目...
2022-06-13 14:50:41 127
原创 KMP算法
KMP算法讲解原理快速字符串匹配算法PMT部分匹配表:表示到当前这个位置,最大的前缀和后缀匹配的数量进行匹配时,到了不相同的地方,只要找到前一位的PMT值,然后将模式字符串指针移到那个位置就能保证指针前面的模式串部分和原串部分是匹配的。为了方便直接调转指针位置,将PMT的值向后移一位,每次直接转移至当点位置数组指向位置即可,这个新数组为 next数组。匹配时通过这个next数组匹配。求解next数组就相当于两个相同的字符串求解next数组用动态规划的思想**设:**已经求得next[i-1
2022-05-07 17:39:52 180
原创 【类脑实验】`Hopfield` 模型的实现
类脑实验记录系列:实验1Hopfield 模型的实现实验名称:Hopfield 模型的实现课程名称:认知科学与类脑计算一 实验目的:加深对 Hopfield 模型的理解,能够使用 Hopfield 模型解决实际问题.二 实验环境:硬件:Dell笔记本软件:Python3.7 vscode numpy三 实验内容:根据 Hopfield 神经网络的相关知识,设计一个具有联想记忆功能的离散型 Hopfiled 神经网络。要求该网络可以正确识别 0-9 这 10 个数字,当数字被一定的.
2022-05-07 13:04:06 2988
原创 服务器使用-pycharm连接
“Can’t run remote python interpreter: Can’t get remote credentials for deployment server”问题解决
2022-04-23 09:47:47 221
原创 git ssh连接配置
操作https://blog.51cto.com/u_15127569/4381792按照这篇完全配置坑原来已经https连接报错不能连接的,重新用ssh的方式克隆试试
2022-04-21 21:20:30 717
原创 【 西瓜书】4 决策树
西瓜书-决策树决策树是递归生成过程,递归边界:训练集全部属于同一类所有样本属性相同,标签不同,不能划分,标签为当前节点的大多数标签。样本集合为空,不能划分,标签为父节点的大多数的标签。第二种是利用当前节点的后验分布,第三种是利用腹肌诶单的样本分布当做当前节点的先验分布根据每次划分选择的属性的方式,有以下决策树算法信息熵:越小,纯度越高,类别数少信息增益:纯度增大的度量ID3用信息增益选择划分属性缺点:信息增益偏好类别多的属性因此,有用增益率来选择属性的**增益率:**信息
2022-04-12 22:55:27 834
原创 【算法笔记】最短路
最短路问题 A: 算法7-15:迪杰斯特拉最短路径算法在带权有向图G中,给定一个源点v,求从v到G中的其余各顶点的最短路径问题,叫做单源点的最短路径问题。在常用的单源点最短路径算法中,迪杰斯特拉算法是最为常用的一种,是一种按照路径长度递增的次序产生最短路径的算法。掌握这种高效建图方法,以及每次都要tot=0,否则re,地杰斯特拉的模板题写法,以及使用vis标记可以达到只有最后输出有用,在过程中没用,判定条件为距离更小,而不是没有到达过(如果是就是贪心算法了,不能保证全局最优);注意无穷的写法。
2022-04-07 23:40:43 334
原创 Onehot_encode与Word2vec词向量训练
Onehot_encode与Word2vec词向量训练1.编写onehot_encode函数使用:class sklearn.preprocessing.OneHotEncoder(*, categories='auto', drop=None, sparse=True, dtype=<class 'numpy.float64'>, handle_unknown='error')categories中指定含有的类别[[a,b,c],[1,2,3]]一个大数组表示所有的特征,里面的每一个
2022-04-07 22:17:05 1653
原创 CBOW与Skip-Gram
CBOW与Skip-Gram两个训练任务,过程中产生VxD的矩阵,可以用于将独热编码压缩缩短,得到的矩阵叫embedding矩阵。CBOW根据矩阵的维度思考:第一个是VxN,用于实现维度压缩;第二个是NxV为了得到这个位置上是语料库中任意一个单词的概率,通过softmax 最大化groundtruth(真实单词)的概率,反向传播训练得到矩阵。参考Skip-Gram中间同样实现降维,降维后再输出到V维度上概率,表示该位置单词成为这个单词上下文的概率。第一个仍然是降维矩阵,第二个是为了得到概
2022-04-07 21:55:24 256
原创 算法笔记-图搜索
统计图的连通分支数思路 建图,搜索,注意这种建图方式是有向图,反例: 1 2,3 4,4 1这种不会识别出来,因此建图时需要使用有向图,在add阶段加入两个方向的路径;add时从1开始的边的标号,0用来判断结束,斗则冲突有问题int tot=0;const int maxn=1e6;int nxt[maxn]={0},head[maxn]={0},u[maxn]={0},v[maxn]={0};int vis[maxn]={0};void add(int i,int j){ tot
2022-03-30 20:33:11 187
原创 【算法笔记9.2】树
问题 B: 二叉树如上所示,由正整数1,2,3……组成了一颗特殊二叉树。我们已知这个二叉树的最后一个结点是n。现在的问题是,结点m所在的子树中一共包括多少个结点。比如,n = 12,m = 3那么上图中的结点13,14,15以及后面的结点都是不存在的,结点m所在子树中包括的结点有3,6,7,12,因此结点m的所在子树中共有4个结点。输入数据包括多行,每行给出一组测试数据,包括两个整数m,n (1 <= m <= n <= 1000000000)。最后一组测试数据中包括两个0,表示
2022-03-28 17:14:29 184
原创 Bert+LSTM+CRF命名实体识别pytorch代码详解
Bert+LSTM+CRF命名实体识别从0开始解析源代码。理解原代码的逻辑,具体了解为什么使用预训练的bert,bert有什么作用,网络的搭建是怎么样的,训练过程是怎么训练的,输出是什么调试运行源代码NER目标NER是named entity recognized的简写,对人名、地名、机构名、日期时间、专有名词等进行识别。结果输出标注方法采用细粒度标注,就是对于每一个词都给一个标签,其中连续的词可能是一个标签,与原始数据集的结构不同,需要对数据进行处理,转化成对应的细粒度标注形
2022-03-28 14:20:14 18447 22
原创 git提交报错
git报错:fatal: ServicePointManager 不支持具有 socks5 方案的代理。remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.remote: Please see https://github.blog/2020-12-15-token-authentication-requirements
2022-03-26 20:29:02 2810 1
原创 算法笔记8.2BFS宽搜
问题 C: 【宽搜入门】8数码难题思路为:将每种棋盘对应成一个整数,整数存进map表示已经出现过这种状态,对于每种状态,转化成3x3的矩阵,判断是否有下一种状态存进queue,,对于每种状态存取到达这步的步数;BFS宽搜。提升 这道题做到这我就完了,但是其实它有很多优化问题我没想到,甚至是AI大作业;无解情况存在,但题目不涉及,也考虑是题目比较简单;对于阶乘计算9!;**DBFS**双向深搜,还不理解是在干啥#include<bits/stdc++.h>// #include<
2022-03-23 20:18:38 302
原创 map使用结构体作为key结构体内含有数组
map使用结构体作为key结构体内含有数组问题struct作为map的key,报错解:结构体内部重定义<,==号;后续问题,结构体里面含有数组,不能按照==定义的位移确定键值,也就是数组相同,map仍然会继续插入新元素:map里面使用equal等函数,再加上数组比较复杂,最好还是自己写一个搜索判断的函数,花很多时间搜索,但是不理解map的内部机理没有用。struct作为map的key当结构体内部没有数组,只有基本类型时可用。注意,重定义运算符必须使用const,因为是map内部要求默认的s
2022-03-23 20:14:35 804
原创 算法笔记深搜
问题 E: 【递归入门】出栈序列统计栈是常用的一种数据结构,有n令元素在栈顶端一侧等待进栈,栈顶端另一侧是出栈序列。你已经知道栈的操作有两•种:push和pop,前者是将一个元素进栈,后者是将栈顶元素弹出。现在要使用这两种操作,由一个操作序列可以得到一系列的输出序列。请你编程求出对于给定的n,计算并输出由操作数序列1,2,…,n,经过一系列操作可能得到的输出序列总数。实际是一种栈操作,如图条件分析:用in、out分别表示入队队列和出队队列当in为空时,栈内的只能出去,为终止条件,序列已经确定
2022-03-21 00:16:52 944
原创 损失函数熵理解
损失函数熵理解详解:https://www.cnblogs.com/wangguchangqing/p/12068084.html#autoid-0-0-0熵:信息量大小,和化学中的混乱程序想对比理解,越大表示不确定性越大,信息量越小;因此越小越好相对熵:也叫KL散度,两个概率分布的相似程度,越小越相似,从公式也可以看出来两个每个的概率都相同,那么为0;交叉熵:目标分布与原分布的相似程度;很多损失函数都是用交叉熵表示的,就是用自己求出的分布和原分布比较相似性,越小越好,其中含有的含义就是相似
2022-03-20 21:09:35 752
原创 手写CRF
手写CRF:potorch版本对于pytorch和crf小白,从0开始学会手写CRF!本文对于pytorch和crf原理有详细解释,是对原作代码的进一步解释补充。原理: crf是为了给词和词之间的连接相邻关系加一个限制,比如吃->饭,而不是吃->人具体操作时就是给出句子词语的特征函数,做个特征函数采用加权方式,通过函数得到得分,词性标注结果在特征函数上最高的,作为词性标注结果。这里的特征函数,传统方式为构造法。神经网络bilstm-crf:crf层的学习参数为转移矩阵,每个词性后面一个词
2022-03-20 20:57:28 1492
原创 next_permutation使用
next_permutation使用int a[100];do{ for(int i=0;i<n;i++) cout<<a[i]<<" "; cout<<"\n";}while(next_permutation(a,a+n));next_permutation(起始指针,终止指针)对于数组必须从0开始,容器可以直接使用v.begin(),v.end()全排列数int main(){ int n; int a[20]={0
2022-03-20 14:28:12 251
原创 【算法笔记】4.3递归
4.3递归本系列为《算法笔记》刷题记录,记录自己有思考的错的地方,版子题不多解释只放代码。就是将问题分解处理,解题主要考虑两点:终止条件问题分解回溯递归过程中,使用条件判断,不满足条件时,不再继续向下递归,这种过程叫回溯。问题 D: 八皇后会下国际象棋的人都很清楚:皇后可以在横、竖、斜线上不限步数地吃掉其他棋子。如何将8个皇后放在棋盘上(有8 * 8个方格),使它们谁也不能被吃掉!这就是著名的八皇后问题。对于某个满足要求的8皇后的摆放方法,定义一个皇后串a与之对应,即a=b1b2…b
2022-03-12 11:30:30 111
原创 matplotlib.pyplot使用
Pyplot基础绘图每个绘图函数对图形进行一些更改:例如,创建图形,在图形中创建绘图区域,在绘图区域绘制一些线条,使用标签装饰绘图等。plt.plot()plt.plot(x,y,‘b-’):通用的绘图函数,x y为numpy数组,第三个参数为线形,‘ro’红色点状,默认为蓝色线形;一个plot绘制多条线# evenly sampled time at 200ms intervalst = np.arange(0., 5., 0.2)# red dashes, blue squares an
2022-02-27 19:35:09 591
原创 CV10-Reconstruction1
三维重建1从本质矩阵求R、t 有用的参考;三角化需要参数:外参:相机位置、朝向内参:焦距等参数像素对应关系针孔相机模型三角形相似右边的图可以直接得到下面的式子,x、y为成像面上点的坐标相机坐标系如图所示:内参先介绍什么是相机的内参外参主点偏移主点不在图像中心,所以要对实际在图片中的位置做修正px,py,这里使用齐次坐标表示;(X,Y,Z)表示是三维空间中的点,为了表示出来Z作为分母,使用(x,y,1)齐次坐标,等价于(Zx,Zy,Z);使用中间矩阵【I;0】来匹配维度;
2022-01-18 10:19:28 1688
原创 CV9-图像匹配3
图像匹配应用流程是:假设参数化运动模型齐次坐标homogeneous coordinates:所谓齐次坐标,简而言之,就是用N+1维来代表N维坐标。我们可以在一个2D笛卡尔坐标末尾加上一个额外的变量w来形成2D齐次坐标,因此,一个点(X,Y)在齐次坐标里面变成了(x,y,w),并且有X = x/wY = y/w例如,笛卡尔坐标系下(1,2)的齐次坐标可以表示为(1,2,1),如果点(1,2)移动到无限远处,在笛卡尔坐标下它变为(∞,∞),然后它的齐次坐标表示为(1,2,0),因为(
2022-01-18 10:16:46 358
原创 CV8-matching2
特征描述将特征局部图像转化成描述特征的向量要求不变性;区分性;基于模板的匹配方法衡量算法SSD(Sum of Square Difference)SAD(Sum of Absolute Difference)NCC (Normalized Cross Correlation)利用子图与模板图的灰度,通过归一化的相关性度量公式来计算二者之间的匹配程度。没有归一化数值过大;Census Transform特征描述以一个像素为中心,对周围像素点进行编码,然后对两个匹配像素点进行异或
2022-01-18 10:06:29 1686
原创 CV7-matching
图像匹配目的:找到同一场景点在不同图像之间像素对应关系。用局部特征检测比较稳定应对尺度、光照、几何变化;所以需要几个步骤:特征检测特征匹配运动估计特征检测特征点:稳定检测;易于匹配;同时我们还需要特征点是本地特征,不随着环境而改变;要有大量特征点进行匹配;要有独特性,包含明显的区域,并且方法适合实时检测;角点检测角点检测公式理解:详细推导椭圆,特征值海森矩阵为什么要检测角点?希望稳定的特征,不随着变换而改变,表现为各个方向的梯度较大。*我们衡量是感兴趣的特征点,假设有一
2022-01-18 10:05:31 1619
原创 CV6-图像结构-2
图像结构非二值图像结构信息:边缘;基元(直线、圆);图像边缘检测canny edge边缘检测要求:检测准确:假阳(false positive)、假阴(false negative)最少定位准确:与真实边缘对齐单像素响应:边缘宽度为单像素步骤:边缘响应:计算一阶导,,一阶导的最大值对应边界,计算二阶导,更容易通过0点判断边界。具体求解:导数与卷积:∂f‾(x,y)∂x=limε→0f(x+ε,y)−f(x,y)ε\underline{\partial f} \frac{(
2022-01-18 10:03:28 146
原创 CV5-图像结构
图像结构像素连接关系:领域:4、D、8邻域图像连通域1.根据种子像素搜索最大连通区域区域增长、种子填充:灰色为希望增长的区域,红色为种子,算法:将红色标记为区域1,对于领域(4/8)满足条件的:是0没有标记,I表示像素值,像素值与当前像素满足小于一个阈值的条件,就放入队列中作为种子,直到种子活跃区为空停止。2.快速连通域算法从左到右、从上到下扫描,4四邻域时考虑左边和上面p、q分为四种情况:x!=p && x!=q:都不相同,新的类x=p 或 x=q标记为
2022-01-18 10:01:58 947
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人