skydownacai / DGA-Domain-Detection

基于LSTM的恶意域名检测实例
18 stars 1 forks source link

训练特征是什么呢? #2

Open Man1978-scd opened 3 years ago

Man1978-scd commented 3 years ago

看了代码,目前只看到index编码和不足的用0补全,不明白怎么产生的,希望帮忙解惑

skydownacai commented 3 years ago

模型思路是这样的:

  1. 首先有个embedding层。(见model.py 第23行)。这个层把字典中的每个字符映射为一个向量。 id为0的字符 标记为 padding 也就是填充符。
  2. 输入域名字符串id序列(即每个字符在字典中的下标) 比如可能是[1,2,4,...,0]。编码为0其实是为了让输入的字符串长度相同。所以id为0其实就是表示这个位置是填充符
  3. 使用LSTM对输入的字符串id序列 在embedding后得到的向量 进行 自编码 得到特征向量
  4. 用全连接层 对 步骤3的特征向量进行分类。
Man1978-scd commented 3 years ago

黑名单哪里来的呢?都是一些涉黄赌之类的网站么?,我看并不是那种比赛用的dga域名,比如360的,导致训练出的模型在360dga数据上效果并不好,另外有没有尝试加dropout,我试了下,好像并没有什么效果

skydownacai commented 3 years ago

黑名单应该不是那种比赛用的,这个数据是别人提供给我的,具体我也不清楚,是毕业设计用的。 这个模型没有加drop out。 你要加的话可以加在 全连接层前面 加个dropout(p = 0.5)。