我正在尝试使用 Keras 开发基于深度学习的入侵检测系统。
我们模拟了正常的网络流量,并在 CSV 文件中准备了它(网络数据包字段的数字数据集(IP 源、端口等))。但我没有异常(恶意)数据包来训练神经网络。
我搜索了类似的问题,发现自动编码器是无监督学习中的一个很好的方法,但问题是我是深度学习的新手,我只找到了这个例子 https://blog.keras.io/building-autoencoders-in-keras.html他们在图像数据集上使用自动编码器。
我想将自动编码器(或任何对我的情况有用的东西)与数值 CSV 数据集结合使用,以预测传入的数据包是正常的还是恶意的。
有什么推荐吗?
最佳答案
我找到了答案:
您可以使用例如将数值数据集加载到Python中numpy加载文本。然后,指定编码器和解码器网络(基本上只需使用 Keras Layers 模块来设计神经网络)。确保编码器的输入层接受您的数据,并且解码器的输出层具有相同的维度。然后,再次使用 Keras 损失指定适当的损失函数(最小二乘、交叉熵等)。最后,使用 Keras 优化器(令人惊讶!)指定您的优化器。
就是这样,你完成了!点击“运行”,然后观察自动编码器的自动编码(因为自动编码器就是这样做的)。如果您想要有关如何构建它的精彩教程。
关于dataset - 在 Keras 中的数值数据集上使用自动编码器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43739224/