自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

杨的博客

C++编程,数据结构和算法。

  • 博客(29)
  • 收藏
  • 关注

原创 【三】加密上下文代理的网站指纹

本文介绍了一篇来自来自西安交通大学,马晓波等人的文章,主要内容是加密上下文代理的网站指纹。文章主要实现了对每条流量进行分析,检测该流量是否对某个网站进行了访问。主要过程是对每条流量生成流式指纹,对每个网站生成网站指纹,然后利用KNN构建二分类分类器,检测该流量是否对该网站实现了访问。分为以下部分:(1)该工程面临的挑战有:无法从复杂流量样本中提取原始流量样本(因为同一个时间窗口可能通过代理访问多个网站),并且访问不同的网站也有可能产生相似的流量。(2)所以实现了一个基于轻量级加密代理的上下文

2021-10-26 13:46:44 311

原创 【网络流量识别】【聚类】【二】FCM和GMM—使用聚类技术和性能比较进行网络流量异常检测

本文介绍采用高斯混合模型(GMM)和模糊C均值聚类(FCM)来进行网络流量异常检测的方法。原文来自IEEE,发表日期2013年。原文链接:使用聚类技术和性能比较进行网络流量异常检测|IEEE 会议出版物|伊 · X普洛尔摘要K-means聚类和高斯混合模型(GMM)是有效的聚类技术,模糊聚类比硬聚类更加灵活,并且由于使用模型聚类对数据进行自然处理,因此在入侵检测方面非常实用。模糊c均值聚类法(FCM)是一种迭代的最佳算法,通常基于最小二乘法来划分数据集,具有较高的计算开销。本文建议修

2021-10-17 16:22:32 5133 1

原创 【网络流量识别】【聚类】【三】自适应密度FCM和自适应权重K-Means

第一篇:自适应密度的模糊聚类地址:使用基于自适应密度的模糊聚类|进行网络流量异常检测IEEE 会议出版物|伊 · X普洛尔(一)文章内容概述本篇文章针对径向FCM在分析中不利用空间信息而不准确的情况下,提出了一种自适应模糊聚类技术。即在成员分簇的计算时同时考虑距离,密度和数据实例密度变化的趋势。同时,引入自适应阈值加快迭代过程。从企业网络中自己采集真实的网络数据流量,采用PCA进行特征提取,提取出10个特征。然后使用自适应的模糊聚类技术进行聚类。结果证明,自适应模糊聚类技术性能优于传统FCM。

2021-10-17 15:32:01 1455

原创 【网络流量识别】总结篇2:机器学习方法在网络流量识别的应用

本文是总结系列文章的第二篇,主要介绍涉及到的聚类方法和深度学习方法的基本原理,以及应用时的操作。由于传统基于模型方法的缺陷,机器学习方法是目前用于IDS的突出方法。基于机器学习的网络流量数据分类大概可分为三种:(1)聚类:无监督学习,如K-Means,FCM等;(2)传统机器学习分类方法:半监督学习,如SVM,RF,GBT等;(3)深度学习:监督学习,如DNN,CNN,RNN等;此处介绍聚类方法,以K-Means和FCM为例,以及深度学习方法,以RNN,IRNN,LSTM,GRU和DBN

2021-10-16 10:17:18 2391 1

原创 【数据结构】NOJ017—输出以二叉树表示的算术表达式

题目简述:解析:重点:代码:总结:

2021-10-14 22:43:40 182

原创 【数据结构】NOJ016—计算二叉树叶子结点数目

题目简述:解析:首先建立二叉树。将输入的字符串建立成二叉树。然后遍历子树,遇到一个节点就判断它左右子树是不是都为空,若不是则分别递归判断它左右子树。重点:其实没有什么难点,掌握以下知识:(1)各种输入情况下,二叉树的创建;(2)二叉树的先序中序后序遍历;(3)注意左右子树均为空时判断它是叶子节点,反之,分别判断左右子树,有时候只有一个子树,所以两棵子树要分别判断;代码:#include <iostream>#include<stdlib.h&g.

2021-10-14 22:37:29 2096 1

原创 【搭建网络架构】【01】搭建网络模型的方法——tf和pytorch

2021-10-14 18:14:34 2842

原创 【数据结构】【拓展题】【03】围圈报数问题

问题描述:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。输入:3输出:2解析:两种解题方式,第一种使用数组,考察思路问题;第二种使用循环链表,很适合解决这个问题。首先使用数组。n个人,就要循环n-1次,每次出去一个人。对于每次循环,设置num=0,记录当前找到几个人出去,其次设置i,记录当前到哪个人了。首先查看这个人是不是已经出去了,如果没有,num++;然后查看当前找到几个人了,如果num==3,丢掉当前下

2021-10-14 13:09:05 1075

原创 【学习笔记】【DBN】十九——深度信念网络DBN

本篇简要介绍深度信念网络DBN,是一个不太常见的神经网络。一、DBN概述深度信念网络(Deep Belief Nets,DBN),既可用于非监督学习,类似于一个自编码机;也可以用于监督学习,作为分类器使用。从非监督学习来讲,其目的是尽可能地保留原始特征的特点,同时降低特征的维度。从监督学习来讲,提高分类的准确率。二者都是对特征进行学习的过程,即如何得到更好的特征表达。作为神经网络,DBN由若干神经元组成,组成原件是受限玻尔兹曼机(RBM)。二、RBMRBM有两层神经元,一层叫做显层(

2021-10-13 16:20:32 7631 1

原创 【学习笔记】【GRU】十八——GRU原理简介与LSTM的比较

LSTM是RNN的升级版,加了门控装置,解决了长时记忆依赖的问题。但由于门控装置复杂,带来了计算量增加,所以引进了简化版的LSTM,即GRU。本文介绍GRU的基本原理,并将其与LSTM和RNN进行对比,分析它们各自的优劣。重点理解LSTM中h(t)和C(t)的本质,以及为什么门机制可以解决梯度问题,并且简化计算。目录一、从传统RNN说起二、改进的RNN:LSTM三、简化版的LSTM:GRU四、LSTM和GRU的区别和选择总结一、从传统RNN说起传统RNN称为循环神经网络,

2021-10-12 17:09:14 4442

原创 【神经网络】学习笔记十七——IRNN:初始化矩阵RNN

首先对IRNN进行了总的简要介绍,后面进行了原理剖析和为什么引进了IRNN,以及最后总结了它的优点和特点。目录一、说在前面1. 传统RNN的问题2. IRNN做出的改变3. 提出的IRNN的重点二、引入:传统RNN存在的问题1. 传统RNN存在的问题2. 改进的LSTM和GRU的问题3. IRNN的引入总结一、说在前面IRNN(Identity Matrix RNN),初始化RNN,即初始化矩阵循环神经网络。1. 传统RNN的问题传统RNN由于在时间.

2021-10-10 11:58:35 1942 1

原创 【python上课知识】01—编码,语句,输入,异常

今天是2021.10.9,python第一节课,知识点如下。目录1. 编码2. 关键字3. 多条语句4. 多行语句5. 关于变量的空间和内存6. 运算符除7. 逻辑表达式is和is not8. 输入input9. 输出不换行10. for语句搭配else11. 模块12. python异常处理1. 编码python使用UTF-8编码保存数据,编译时将变量编码成UTF-8保存下来,但python3.0解释器解释为unicode字符串,就可以正常输出.

2021-10-09 22:33:26 99

原创 【网络流量识别】总结篇1:机器学习方法在网络流量识别的应用

本文总结深度学习方法在流量识别方面的应用,也是对前四篇文章的总结。主要包括数据集,特征提取方法,深度学习网络,性能比较等几方面的介绍。一、概述网络入侵检测系统(N-IDS)是根据网络类型及其行为,对网络网络流量数据分类的主要方法有(1)误用检测;(2)异常检测;(3)状态完整协议分析机器学习方法是目前用于IDS的突出方法。传统的ML方法应用于IDS的有很多,如随机森林(RF),支持向量机(SVM),这些基于ML的传统的实时IDS解决方法并不是很有效,因为模型的输出呈高误报率,

2021-10-06 21:29:03 16329

原创 【数据结构】NOJ015—建立二叉树的二叉链表存储结构

题目描述:解析:首先建立节点Node:typedef struct Node{ char val; Node *left,*right;}Node,*LNode;(1)读入当前字符,肯定是节点,直接赋给node->val,然后初始化左右指针为NULL;(2)再读入一个字符,检查是什么: ——如果是左括号“(”,说明是父节点,有左右子树,则递归建立左右子树; ——如果是逗号",",说明是子节点,没有子树,不处理,让它自...

2021-10-06 02:21:50 835 1

原创 【C++读书笔记】001-输入输出流、取整、引用和指针

每天看几页C++书,并总结知识点。目录1. 读取数量不定的输入while(cin>>n)2. 输入输出流3. C++取整4. 引用5. 指针1. 读取数量不定的输入while(cin>>n)比如预先不知道要给多少个数求和时,使用while(cin>>n)进行判断。比如输入的是整数,那么直至遇到不是整数的才跳出循环。其他的无法跳出循环。#include <iostream>using namespace std;int

2021-10-05 21:23:02 179

原创 【MLP实战】001:基于Minist数据集的手写数字识别

本文又是一篇基于Minist数据集的手写数字识别。首先对文章代码进行分块介绍,然后给出运行过程和运行结果,再对调试过程中遇到的一些问题进行简要说明,最后粘贴全部代码。一、代码分块介绍导入库:import tensorflow as tfimport matplotlib.pyplot as pltimport numpy as npimport os第一个是深度学习框架的库第二个是绘图库第三个是数据分析库第四个是操作系统功能接口库获取Minist数据集dat

2021-10-05 17:41:50 3807 1

原创 【数据结构】NOJ010—k阶斐波那契数列

题目简述:解析:重点:代码:总结:

2021-10-05 02:42:03 233

原创 【数据结构】【拓展题】【02】逆波兰式计算

题目简述:输入一个逆波兰式,输出其计算结果。同时需注意,所有的数字均是一位数。输入:1231+*+输出:9输入:123*+34*+输出:19解析:也是经典的利用栈解决问题,其实不难。只需要一个栈。遇到数字就将它压入栈,遇到一个运算符,说明此时需要计算,且必然是最前面两个数据,就直接拿出栈顶前两个元素计算即可。然后将计算结果入栈。记得刚刚用过的两个都要出栈。最后栈里只剩一个计算结果。重点:理清思路,其实很简单。代码:#include <iostre

2021-10-05 01:38:52 381

原创 【数据结构】【拓展题】【01】中缀表达式计算

问题描述:中缀表达式计算。输入一个中缀表达式,输出计算结果。输入:2+4*(1+2)输出:14解析:根据逆波兰式的转换题,可以很快想到需要用栈解决。那么需要一个数字栈和一个运算符栈。首先,遇到一个数字,将其压入数字栈;遇到运算符根据运算符的不同进行不同操作:(1)遇到+和-号:该运算符入栈,继续读入字符串;(2)遇到*和/号:检测下一个字符是什么,如果是数字则直接计算,即将数字栈栈顶元素与下一个数字直接进行计算,并将原来数字栈栈顶元素出栈,将计算结果入数字栈,该运算符也不

2021-10-05 01:15:10 210

原创 【字符串和字符数组】总结篇—字符串和字符数组的创建和使用函数以及差别

本文写C++中字符串的一些常见函数,以及字符数组的常见使用,以及二者的差别。主要包含字符串string的一些常见函数,比如切割,转换。其中包含了与C语言混合使用的一些操作。

2021-10-04 23:24:56 597

原创 【栈和队列】总结篇—栈和队列的常见使用以及自行实现栈和循环队列

本篇总结数据结构中有关栈和队列的题目中所用到的栈和队列的知识。主要包括C++中栈和队列的一些常见的函数和使用方法,栈和队列作为参数传递时的方法,以及自行实现栈和队列的方法。(1)栈的创建和常用方法(2)队列的创建和常用方法(3)作为参数传递(4)自行实现栈(5)自行实现队列...

2021-10-04 19:10:26 306

原创 【链表】总结篇—链表的创建,插入和合并

本篇文章总结数据结构题目中出现有关于链表的知识点。包括链表的声明(两种结构体的创建方法),链表的创建(头插法和尾插法),单/双链表的节点插入(已知前节点/后节点),有序链表的合并等。1. 链表的声明此处包含结构体的创建,声明为结构体变量和结构体指针变量的区别。以及两种定义指针变量,为变量申请空间的方法malloc/free和new/delete。(1)结构体的创建涉及到有无返回值的问题。2. 链表的创建头插法和尾插法,三步和两步。3. 双向链表的创建4. 链表的节

2021-10-04 17:59:02 641

原创 【数据结构】NOJ014—求广义表深度

题目描述:解析:题目要求用递归做,当然这个题用栈也可以做。(1)栈遇见一个“(”就把它压入栈,遇见一个“)”就出栈一个“(”。最后如果栈为空说明表达式输入正确,否则表达式有误。同时,考虑到有同等深度的左括号和右括号,所以每入栈一个“(”,就记录当前的栈的元素个数,更新Max_len值(可能出栈以后,后面来了深度更大的)。(2)递归用到了联合体union,讲道理不是很懂,等我看懂了再来注解吧。先抄上代码。知识点:表头表尾表示法及求深度。代码:(1)用栈实现:.

2021-10-03 20:33:27 866

原创 【数据结构】NOJ013—以十字链表为存储结构实现矩阵相加

题目描述:解析:首先是十字链表的建立。十字列表节点包括行号、列号、值、和指向下方和右方的两个指针。然后定义一个十字链表,根据行数m和列数n申请m个行头地址指针rhead,n个列头地址指针chead。typedef struct Node{//定义十字链表结点 int i,j; int val; struct Node *right,*down;}Node,*Link;typedef struct{//定义十字链表 Link *rhead,*chea

2021-10-03 20:33:11 976

原创 【数据结构】NOJ012—以三元组表为存储结构实现矩阵相加

问题描述:解析:创建一个结构体,里边包含row,col和value三个变量,表示value处在row行col列中。输入得到两个稀疏矩阵A和B。同时遍历A和B,首先比较行号,行号靠前的先加入C;其次(即行号相同时)比较列号,列号靠前的先加入C。行号列号相同,就把对应元素相加,加入C。这样解决了:(1)按顺序进入C表并顺序输出的过程;(2)保证时间复杂度仅为max(m, n),而不必两层循环;重点:关键在于要同时遍历A和B,保证最小的时间复杂度。遍历思想与单链表的归并一样

2021-10-03 15:36:59 959

原创 【数据结构】NOJ011—循环右移

题目描述:解析:数组,循环右移K位,而且只能用一个元素的附加存储,那么显然用k次,每次向右循环移动一位即可。没什么别的知识点,此题比较简单。代码:#include <iostream>using namespace std;int main(){ int n,k; cin>>n>>k; int *a=new int[n]; //动态申请两种方法,malloc/free和new/delete for(i

2021-10-03 12:23:17 215

原创 【网络流量识别】【深度学习】【四】DNN、GBT和RF—利用大数据和深度学习技术进行入侵检测

本文发表于2019年4月,ACM东南会议纪要,作者为奥萨马·费克等人,现收录于ACM网站。原文题目:使用大数据和深度学习技术进行入侵检测原文链接:使用大数据和深度学习技术进行入侵检测|2019年ACM东南会议纪要首先看这里:本文构建了DNN,RF和GBT三个分类器在UNSW NB15和CICIDS2017两个数据集上进行二分类和多分类。同时采用同质性度量方法用来提取特征,与全数据集构成对比实验。实验结果表明,二元分类中GBT准确率最高,但是耗时长;多分类中,DNN时间短且准确率高。同时.

2021-10-03 11:57:37 4100 1

原创 【网络流量识别】【深度学习】【三】CNN和LSTM—基于信息获取和深度学习的网络流量异常检测

本文是北京大学陆祥林等人,2019年四月发表于ICISDM的一篇文章,收录于ACM网站。文章题目:基于信息获取和深度学习的网络流量异常检测原文网址:基于信息获取和深度学习的网络流量异常检测|2019年第三届信息系统和数据挖掘国际会议纪要 (acm.org)看文章前注意:本文利用了IG信息增益将来自KDDCUP-99数据集的41个特征提取出28个作为神经网络的训练数据。然后使用CNN和LSTM构建神经网络对网络流量进行二分类。最后训练结果训练精度达到0.99,测试精度达到0.925。.

2021-10-01 22:08:41 9788 26

原创 【网络流量识别】【深度学习】【二】RNN和ANN—深度学习入侵检测方法:ANN和RNN在NSL-KDD上的新性能

方法:本文采用两种方法,(1)采用ANN和RNN作为特征选择方法;(2)使用RNN信息增益(IG)、粒比 (GR) 和相关属性 (CA) 作为特征选择方法;数据集为NSL-KDD 数据集。结果表明RNN优于ANN优于其他机器学习分类器。作者为纳西玛等人,发表于2020年10月,收录于ACM网站。原文网址:深入学习入侵检测方法|第一届智能系统与模式识别国际会议纪要 (acm.org)首先应该看的:本文的重点是对特征提取的方法。第一种方法使用IG方法提取重要的和去掉不必要的特征.

2021-10-01 16:38:02 3253

空空如也

空空如也

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

TA关注的人

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