- 博客(17)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 公交线路爬虫
最近由于一门课的project需要用到爬虫,因此在网上找了个教程,边看边学,写了一个爬虫,爬取了深圳市公交路线的线路及站点信息。为了防止以后要用到该爬虫或者作进一步的改进时忘记当初的思路,因此写个博客记录一下。 首先,该爬虫所用的库主要是Requests+BeautifulSoup,Requests库提供了获取网页的函数,BeautifulSoup库帮助我们解析网页,...
2019-10-15 20:26:12
1194
2
原创 Java实现Dijkstra算法(LeetCode 1514.概率最大的路径)
这是LeetCode上的一道题,给定一张图,寻找概率最大的路径。由于这张图是一张正边权图,且目的是找到概率最大的路径,因此我们可以用Dijkstra算法来解决。下面是具体的代码,关键部分都已经给出了注释:class Solution { // 迪杰斯特拉算法解决,用BFS+优先级队列实现 public double maxProbability(int n, int[][] edges, double[] succProb, int start, int end) { Li
2021-03-11 17:30:55
330
原创 数据结构与算法二:树相关算法
1、遍历一棵树树相关的所有问题都可以总结为遍历一棵树,然后对其进行相关操作。遍历一棵树总体可以分为两种:递归遍历(前中后序遍历)以及迭代遍历(层序遍历)。具体采用哪种遍历方式需要根据具体问题分析。2、遍历框架2.1、递归遍历(前中后序遍历)递归遍历一棵树根据访问根节点的先后次序可分为前序遍历(根左右)、中序遍历(左根右)以及后序遍历(左右根)。这三种遍历方式都可以用这个框架表示:public TreeNode traversal(TreeNode root){ // 前序遍历 travers
2021-01-17 11:55:22
180
原创 数据结构与算法一:基本数据结构及算法总体设计思路
1、数据结构的存储方式数据结构的存储方式其实只有数组和链表两种,别的数据结构例如队列、栈、树、图、堆及散列表都是基于以上两种方式实现的。数组的优点在于可以随机访问,但是插入删除时需要解决扩容缩容的问题;链表的优点在于可以高效插入删除,但是无法随机访问。2、数据结构的基本操作数据结构的基本操作主要为增删改查,其本质是遍历+访问。设计不同的数据结构其根本目的是使得增删改查尽可能的高效。例如对于银行办理业务这个实际问题,使用队列来存储数据就比其他的数据结构更加高效。究其根本,数据结构其实是对现实世界的抽象。
2021-01-04 15:49:06
1540
原创 Ubuntu安装英伟达驱动和cuda以及pytorch-gpu版本
环境:Ubuntu20.04.1 首先,安装英伟达驱动,安装英伟达驱动之前需要禁用Ubuntu自带的第三方驱动nouveau,否则无法运行英伟达的驱动,安装英伟达的驱动可参考这个链接:https://zhuanlan.zhihu.com/p/59618999,装完驱动用Nvidia-smi看一下是否有cuda,如果有的话直接装对应的pytorch就行了,需要注意的是,pytorch仅支持cuda9.2、10.1、10.2和11.0....
2020-10-28 15:45:04
203
原创 异常检测算法介绍-LOF(Local Outlier Factor)局部异常因子算法、CBLOF及KNN算法
局部因子算法的思想是通过计算一个样本的局部密度来判断该样本是否是一个异常点,如果该样本的密度比它的邻域内点的密度低,那么就认为它是一个异常点。1、K距离和K距离近邻:该点到距离它第K近的点的距离(不包括该点本身),称为该点的K距离,K距离内的所有点称为该点的K距离近邻,其中K是一个参数,人为给定的。2、可达距离:给定一个K之后,如果一个点是它的K距离近邻,那么它们之间的距离就是K距离,如果不是它的K近邻点,那么它们之间的距离就是他们之间的欧几里得距离。换言之,可达距离是K距离与实际距离之间的最大值,
2020-09-06 10:39:47
1538
原创 VAE与GAN做异常检测的原理
近几年,有大量的人用VAE和GAN来做异常检测,用这两个模型做异常检测的假设都是一样的,即假定正常数据是服从某一种分布的,而异常数据是不能够拟合进这个分布的,因此我们可以用VAE和GAN来找到正常数据的分布,从而用这个分布来做异常检测。1、VAEVAE是变分自编码器的简称,该模型最开始提出的目的是为了找到训练数据的分布,从而用这个分布来生成数据。从另一个角度而言,如果我们能够找到正常数据的分布,那么我们就可以用这个分布来做异常检测。具体来说,我们在训练数据上训练好一个VAE,该VAE的encoder
2020-08-12 22:19:53
4226
1
原创 极值理论在时序数据异常检测中的应用
极值理论在时序数据异常检测中的应用极值理论是用来对极值的分布进行建模的工具,该理论专注于尾部数据,即对数据的分布的尾部进行建模,尾部数据由于其数据量少,从而中心极限定理在这里不再适用。一般来说,极值理论可分为两部分:一部分是Block Maxima Method,服从广义极值分布、另一部分是Peaks-over-threshold 方法,简称POT,服从广义帕累托分布。这两种部分的不同点在于Block Maxima method描述的是某段时间内最大值的分布、而POT方法描述的是超过阈值的值的分布,在时
2020-08-05 21:06:16
2975
原创 IDE常用快捷键(mac版,持续更新)
command+shift+up/down:将当前代码行向上向下移动command+shift+left/right:往左/右全选代码行command+/:注释当前代码行
2019-12-29 10:26:51
184
原创 组合数学
下列所有的符号中,如果没有特殊说明,则n表示集合中所有元素的个数、r表示所取的元素个数,k表示种类数。第一章:绪论,介绍了为什么要研究组合数学,以及组合数学的三个研究内容。第二章:鸽巢原理:把N+1个鸽子放到N个巢里面,则至少有一个巢里面有两只鸽子。推论:如果把N个物体放到K个盒子当中,则至少有一个盒子里面有N/k取上界个物体。例子:Ramsey数第三章:1、集合的...
2019-11-14 20:34:21
1764
原创 矩阵分析
第一章:线性空间(如何用代数来研究几何)1.1线性空间定义:给定一个集合V以及一个数域F,若有一个映射满足V×V—>V,以及另一个映射V×F—>V,则称前一个映射为V上的加法,后一个映射为V上的数乘法,并且这两个运算满足通常的运算规则,则称这个集合V关于此+和*是F上的线性空间。简称V是线性空间,V中的元素也称为向量,线性空间也叫向量空间。域:对+、-、*、➗都封闭的数字集...
2019-10-22 19:02:01
629
原创 复杂网络建模学习笔记四(级联故障以及同步性)
级联故障建模:基于节点和边的混合动态模型:用eij来表示节点i、j之间的信息传递效率,eij∈[0,1],eij越大代表传输效率越高。用平均效率来衡量网络破坏的程度。结论:ER随机图抵抗级联故障的能力比BA无标度网络强,且基于负荷的去节点方式比随机去节点方式更容易引发级联故障。同步性建模:由状态方程表示:当x1=x2=...=xn时,为同步流形态。当网络是一个无向连通图时,...
2019-10-21 16:52:33
2123
原创 复杂网络建模学习笔记三(因特网的拓扑结构、病毒传播以及免疫)
因特网的拓扑结构主要有三代:第一代:基于随机性的拓扑模型(Waxman模型)、第二代:基于结构的拓扑模型(Transit-stub模型)、第三代:基于节点度的拓扑模型(BRITE、Inet以及小世界模型和无标度模型)这些模型分别从不同的角度描述了因特网的拓扑结构,因特网的节点度满足幂律分布。病毒的传播存在一个临界值,对于随机图而言,该值大于零;对于无标度网络而言,该值等于零。无标度...
2019-10-20 19:27:35
1322
原创 复杂网络建模学习笔记二(模型)
各模型的特点: 随机图模型:度分布满足泊松分布、每个结点的度大致相同、平均路径很小且聚集系数也很小、网络的规模不会增长。 小世界模型:度分布满足泊松分布、每个结点的度大致相同、平均路径很小但是聚集系数很大、网络规模不会增长。 无标度模型:度分布满足幂律分布、度很大的节点很少且度很小的节点很多、网络规模会增长。总结:随机图与小世界都是随机的,...
2019-10-20 18:26:47
755
原创 复杂网络建模学习笔记一(图论)
邻接矩阵、关联矩阵、拉普拉斯矩阵:描述的分别是点与点之间的连接关系、点与边之间的连接关系、以及节点的度分布关系。平面图:可以画在一个平面内并且边之间不会交叉的图:可平面化的图形:与一个平面图同构的图形。判定方法:如果一个三维的图形可以镶嵌在球体的表面,那么他就可以和一个平面图同构;这个图形不存在与K5或K3,3同胚的子图。trail:边各不相同 path:点各不相同 ...
2019-10-20 17:02:25
566
原创 方差、均方差、中位数的意义
方差:每个统计值与平均值(数学期望)的差的平方和的平均,衡量的是样本与平均值(数学期望)的偏离程度。标准差:方差的平方根。由于方差和数据的量纲不一致,不能直观的看出数据的具体偏离程序,所需定义了一个和数据同一量纲的值,能够让我们直观的知道数据的偏离程度。正如正态分布用均值和标准差表示一样,我们能够直观的得出在区间[u-σ,u+σ]的数据大概是95%。中位数:位于数据中间的那个数。中位数能够...
2019-10-16 19:22:06
4177
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人