参考目录
《跟着迪哥学Python数据分析与机器学习实战》唐宇迪
《Python编程从数据分析到数据科学》朝乐门
《Web安全之机器学习入门》刘焱
《恶意代码分析实战》诸葛建伟
机器学习算法
sklearn
工具包提供了在机器学习中最核心的三大模块(分类Classification、回归Regression、聚类Clustering)的实现方法供大家调用,还包括数据降维(Dimensionality reduction)、模型选择(Model selection)、数据预处理(Preprocessing)等模块,功能十分丰富。在初学阶段,大家还可以参考Examples模块,基本上所有算法和函数都配套相应的实例程序供大家参考。
线性回归算法
线性回归方程 P114
通过观察样本数据的情况来选择合适的参数从而得到与样本数据相似的结果
预测值与真实值越接近意味着回归方程做的越好
梯度下降算法
1.批量梯度下降:容易得到最优解,但是由于每次考虑所有样本,速度很慢
2.随机梯度下降:每次找一个样本,迭代速度快,但不一定每次都朝着收敛的方向
3.小批量梯度下降:每次更新选择一小部分数据来算,实用
逻辑回归算法
逻辑回归本质上是一个经典的二分类问题,要做的任务性质发生了变化,也就是一个是否或者说0、1问题,有了线性回归的基础,只需稍作改变,就能完成分类任务。
下采样:既然异常数据比较少,那就让正常样本和异常样本一样少
过采样:不想放弃任何有价值的数据,只能让异常样本和正常样本一样多
决策树
熵的公式 P157
下面通过一个数据例子理解一下熵的概念:假设A集合为[1,1,1,1,1,1,1,1,2,2],B集合为[1,2,3,4,5,6,7,8,9,10]。在分类任务中,A集合里面的数据相对更纯,取到各自类别的概率值相对较大,此时熵值就偏低,意味着通过这次划分的结果还不错。反观B集合,由于里面什么类别都有,鱼龙混杂,取到各自类别的概率值都较低,由于对数函数的作用,其熵值必然偏高,也就是这次划分做的并不好。
模型评估方法
混淆矩阵
4.4.2分类模型评判指标(一) - 混淆矩阵(Confusion Matrix)
ROC曲线与AUC面积
4.4.2分类模型评判指标(二) - ROC曲线与AUC面积
静态分析基础技术
动态分析基础技术
乌云(WooYun.org)历史漏洞查询—http://wy.zone.ci/
乌云 Drops 文章在线浏览--------http://drop.zone.ci/ (推荐)
利用机器学习进行恶意代码分类 (推荐)
数据集:恶意软件
微软恶意软件数据集 (推荐)
微软恶意软件分析 (推荐)