大家好,又到了一周案例时间,5分钟带你突破技术
从各种宣传页广告到钓鱼邮件,垃圾邮件漫天飞舞
如果它们一直很安静,只要一键清除就可以删掉
然而,现在“垃圾”不仅数量增加,智商也急速上升
最明显的例子就是它们成功把大家的钱包掏空、资料锁定
在如今诈骗信息满天飞的今天,如何能有效规避掉风险?
主角PaddlePaddle登场,教你如何鉴别垃圾邮件
Step1 数据收集与清洗
1)邮件样本广告邮件,保存为典型的Spam,分为元数据(发信方、书信方、编码格式等)和正文,提炼代表垃圾邮件的关键词
2)安装结巴分词,根据其中提供较为方便的分词方式,对正文部分进行处理
3)借助神经网络基本架构。输入内容是经过编码后的自然语言,变成张量,工具选择gensim,模块中选择Word2Vec类别。
4)分词后,得到spam.txt,即邮件样本集合,映射到向量,这样词语之间的关系也能够显示出来。
Step2 模型搭建
此步骤理论基础:
全连接层,通俗理解起来,每一层的所有神经元都和下一层两两有关
代码解读:
size:是神经元个数,根据代码计算机性能决定,activation选择linear。Fc1中,size是90个,代表有90个神经元
dropout:消减过拟合情况,可以理解为是修正90个神经元进行“减负”,避免模型跑偏
dropout rate: 就是每次扔掉多少神经元的比例
fc2-fc4:就是全连接层,每一层输入就是上一层的输出
最后一层激活函数是ReLu,是一个修正线性单元,在神经网络中引入非线性,可以对更复杂的情况进行分类。
bn :即batch normalization,即归化层,把之前的数据统计分布调整为均值0、方差1,提高分类准确度
Step3 确定训练代码
变量cost: 损失函数,衡量分类是否正确,parameters生成将要优化的参数级
Optimizer:优化器,使用Adam,并且加入L2正则化,模型平均,相关的设置参数,而超参数需要后续调整
生成训练器,随机梯度下降
最后,启用trainer就可以训练处自动鉴别垃圾邮件的模型
收集数据-清洗数据-搭建模型-训练使用
机智的小伙伴们一定都记好啦
当然,除了鉴别,肯定也有小伙伴技痒,想去“以牙还牙”
PaddlePaddle应用场景系列内附“反击”详细攻略