如今有一个网站,为了防止该网站被人恶意攻击,你采起了如下措施。给每一个用户创建用户画像,记录他的一些操做,例如:打字速度,浏览时间,点击网页次数等等... 能够将这些特征创建一个模型,让它有一个阈值,当低于这个阈值时,就多是有人在恶意攻击你的网站,这时候你就要当心了。就像下图,若是超出蓝圈,那这个数据就有可能发生了异常:算法
那么这个模型是怎么创建出来的呢?用到的是异常检测算法(Anomaly detection)。异常检测算法是用高斯正态分布推导出来的,方法很简单,就是将每一个特征的高斯正态分布值相乘,获得的结果与阈值相比较,若大于这个阈值,就认为是没有异常的。微信
1.对于无标签的样本选取特征;机器学习
2.每一个特征根据公式计算出高斯分布中所须要的参数 μ 和 σ^2;编辑器
3.画出高斯分布的图像;学习
4.将交叉验证集中的数据根据是否异常打上标签;网站
5.在交叉验证集中根据 F 值选择阈值;spa
6.阈值选好后,将每一个特征的高斯正态分布值相乘,并与阈值进行比较,若小于阈值,则为异常数据。cdn
当正样本(出错的样本)不多时,咱们就须要用到异常检测法,而正负样本都不少时,咱们就须要用监督学习。blog
ps. 本篇文章是根据吴恩达机器学习课程整理的学习笔记。若是想要一块儿学习机器学习,能够关注微信公众号「SuperFeng」,期待与你的相遇。图片