在生产生活中,因为设备的偏差或者人为操做失当,产品不免会出现错误。而后检查错误对人来讲又是一个十分琐碎的事情。利用机器学习进行异常值检测可让人类摆脱检错的烦恼。算法
\[ {\sigma ^2} = {1 \over m}\sum\limits_{i = 1}^m {(x_j^{(i)}} - {\mu _j}{)^2} \]机器学习
3.给定监测点\(x\).计算\(p(x)\)
\[p(x) = \prod \limits_{j = 1}^n {p({x_j};{\mu_j},\sigma_j^2)}\]函数
4.若是\(p(x)< \epsilon\),则为异常值;反之,不是。学习
异常检测算法是一个非监督学习算法,意味着咱们没法经过结果变量判断咱们的数据是否异常。因此咱们须要另外一种方法检测算法是否有效。当咱们开发一个系统时,咱们从有标签(知道是否异常)的数据入手,从中找出一部分正常数据做为训练集,剩余的正常数据和异常数据做为交叉检验集和测试集。测试
具体评价方法以下:spa
异常检测 | 监督学习 |
---|---|
大量的正常值(y=0)和少许的异常值(y=1) | 大量的正向类(y=0)和少许的负向类(y=1) |
异常数据太少,只能根据少许数据进行训练 | 有足够多的正向和负向数据以供训练 |
举例:1.欺诈行为检测;2.生产废品检测;3.检测机器运行状态 | 举例:1.邮箱过滤器;2.天气预报;3.肿瘤分类 |
在偏差分析中,若是咱们能够发现个人选定的变量是否合适,进而进行相应的改正。如左图所示,异常点\(x\)对应的几率很高,显然这种分布方式不能很好地识别出异常值。因此咱们尝试增长变量或者改变变量的类型来识别异常值。如右图所示,经过增长一个变量,咱们可以更好地识别异常点。因此,偏差分析对于一个问题来讲仍是很重要的。blog