下面是使用神经网络进行JAVA溢出攻击代码:

# -*- coding:utf-8 -*-import re
import matplotlib.pyplot as plt
import os
from sklearn.feature_extraction.text import CountVectorizer
from sklearn import cross_validation
import sklearn
import osimport numpy as np
from sklearn.neural_network import MLPClassifierdef load_one_flle(filename):x=[]with open(filename) as f:line=f.readline()line=line.strip('\n')return linedef load_adfa_training_files(rootdir):x=[]y=[]list = os.listdir(rootdir)for i in range(0, len(list)):path = os.path.join(rootdir, list[i])if os.path.isfile(path):x.append(load_one_flle(path))print "Load file(%s)" % pathy.append(0)return x,ydef dirlist(path, allfile):filelist = os.listdir(path)for filename in filelist:filepath = os.path.join(path, filename)if os.path.isdir(filepath):dirlist(filepath, allfile)else:allfile.append(filepath)return allfiledef load_adfa_java_files(rootdir):x=[]y=[]allfile=dirlist(rootdir,[])for file in allfile:if re.match(r"../data/ADFA-LD/Attack_Data_Master/Java_Meterpreter_\d+/UAD-Java-Meterpreter*",file):print "Load file(%s)" % filex.append(load_one_flle(file))y.append(1)return x,yif __name__ == '__main__':x1,y1=load_adfa_training_files("../data/ADFA-LD/Training_Data_Master/")x2,y2=load_adfa_java_files("../data/ADFA-LD/Attack_Data_Master/")x=x1+x2y=y1+y2#print xvectorizer = CountVectorizer(min_df=1)x=vectorizer.fit_transform(x)x=x.toarray()    print x[:10]min_max_scaler = sklearn.preprocessing.MinMaxScaler()x = min_max_scaler.fit_transform(x)print x[:10]mlp = MLPClassifier(hidden_layer_sizes=(150,50), max_iter=30, alpha=1e-4,solver='sgd', verbose=10, tol=1e-4, random_state=1,learning_rate_init=.1)score=cross_validation.cross_val_score(mlp, x, y, n_jobs=-1, cv=10)print  np.mean(score)

如果不加min_max_scaler ,则迭代6次提前结束,准确率87%,而使用后迭代可以达到预设的30次,准确率可以达到95%。

转载于:https://www.cnblogs.com/bonelee/p/7881907.html

神经网络中归一化的重要作用相关推荐

  1. 卷积层和全连接层的区别_卷积神经网络中全连接层作用理解总结

    前言 一般来说,卷积神经网络会有三种类型的隐藏层--卷积层.池化层.全连接层.卷积层和池化层比较好理解,主要很多教程也会解释. •  卷积层(Convolutional layer)主要是用一个采样器 ...

  2. python 神经网络中隐藏层的作用是什么?

    引用文章1: hidden layer隐藏层的自我理解 https://blog.csdn.net/c45449210/article/details/82957455 引用文章2: 对隐藏层的简单理 ...

  3. 神经网络中隐藏层的作用,深度神经网络隐藏层数

    神经网络隐藏层是什么 一个神经网络包括有多个神经元"层",输入层.隐藏层及输出层.输入层负责接收输入及分发到隐藏层(因为用户看不见这些层,所以见做隐藏层). 这些隐藏层负责所需的计 ...

  4. 神经网络中的激活函数的作用和选择

    如果不用激励函数(其实相当于激励函数是f(x) = x),在这种情况下你每一层输出都是上层输入的线性函数,很容易验证,无论你神经网络有多少层,输出都是输入的线性组合,与没有隐藏层效果相当,这种情况就是 ...

  5. 卷积神经网络中各层的作用

    一个完整的神经网络模型往往包含卷积层.池化层.全连接层.输出层.但是各层的具体作用与含义,有时候我自己也搞不明白,这里找到了相关的资料,简单记录一下,希望对相关的同学有所帮助. 1.卷积层 卷积层特征 ...

  6. PNAS | 理解单个神经元在深度神经网络中的作用

    本次报道论文为发表于PNAS的Understanding the role of individual units in a deep neural network.众所周知,深度神经网络擅长查找可解 ...

  7. 深度学习:神经网络中的激活函数

    http://blog.csdn.net/pipisorry/article/details/71157037 激活函数 神经网络神经元中,输入的 inputs 通过加权,求和后,还被作用了一个函数, ...

  8. 神经网络中常用的激活函数

    原文地址:http://www.cnblogs.com/rgvb178/p/6055213.html 版权声明:本文为博主原创文章,未经博主允许不得转载. 激活函数的作用 首先,激活函数不是真的要去激 ...

  9. 神经网络中的S型函数是什么?

    S型函数是什么?有什么用? S型函数(Sigmoid function)是BP神经网络中常用的非线性作用函数,即sigmoid函数,公式是f(x)=1/(1+e-x)(-x是幂数) Sigmoid函数 ...

最新文章

  1. Java项目:车租赁管理系统(java+Gui+文档)
  2. python 方向梯度直方图_手动绘制方向梯度直方图(HOG)
  3. ArrayList和LinkedList的各项操作性能比较
  4. TCP-IP详解:重传机制
  5. VS2010 MFC exe独立系统环境运行
  6. Linux虚拟内存管理(glibc)
  7. java如果把字符串转成对象_Java中的重复对象:不仅仅是字符串
  8. LeetCode 685. 冗余连接 II(并查集)
  9. NMS_非极大值抑制(转)
  10. linux脚本中空格怎么显示,linux vim 显示空格
  11. ubuntu开发c/c++帮助文档
  12. jquery easyui Tab 引入页面的问题
  13. 超详解读:垃圾回收机制 | 原力计划
  14. Linux shell 编程(四):变量
  15. gulp——用自动化构建工具增强你的工作流程
  16. Win10 解决端口占用问题
  17. 微软小娜服务器,微软小娜正在继续被边缘化中:奇妙清单也不再支持小娜连接-...
  18. 二冲程发动机均值模型仿真
  19. 依赖倒置原则应用-司机开车案例
  20. 听刘万祥老师讲“风险矩阵分析图”

热门文章

  1. arcgis js 移除某一个点_GIS Experience (二):ArcGIS实践操作问题集
  2. python实现高校教务管理系统_python实现教务管理系统
  3. 批改网作文提交时分析不出来_小学生作文写作从哪些方面提高呢?
  4. java获取24小时制时间格式_java 日期格式时间24小时制
  5. 初识微信小程序第一弹
  6. 一条正确的Java职业生涯规划,顺利拿到offer
  7. 【OpenCV环境配置】Xcode+OpenCV+pkg-config
  8. PL/SQL两种case语句写法
  9. python【蓝桥杯vip练习题库】ADV-290成绩排序
  10. Python程序设计题解【蓝桥杯官网题库】 DAY7-基础练习