Machine Learning - Andrew Ng 笔记(7)

Anomaly Detection

异常检测算法经常用于非监督学习问题中,有点类似于logistic regression.

examples

Aircraft engine

如上图所示,红色的样本都是经过测试被证明是质量合格的引擎,如果有一个新的引擎称作与质量合格的样本位置接近那么大概率也质量合格,反之此样本可能需要作更进一步的安全测试.

量化来说就是如果p(X_{test})<\epsilon就被认为是异常样本,反之正常.调节\epsilon的值类似调节logistic regression中的Threshold值.

Density estimation

Anomaly Detection还用于欺诈行为识别和manufacturing


more examples

Gaussian((Normal) distribution

正态分布
如果随机变量X服从正态分布,记作X~N(\mu,\sigma^2),则其密度函数为:

Density

其中

被称为数学期望/期望值,被称为方差,被称为标准差

Parameter estimation

Anomaly detection algorithm

Anomaly detection algorithm

1.选择你认为可能会表明样本是一个异常样本的特征,用来筛选异常样本候选者.
2.构造{}样本集合用来训练,上图中的公式向量化可以写作,类似
3.给定新样本x,计算p(x)
符号表示乘积.,即

如果则x被认为是异常样本,值的选取下文会提到.
example

p(x)的函数图类似于上图中的3D图片(特征值n=2).

Developing and evaluating an anomaly detection system

数据准备阶段,如下图,需要
1.Training Set, unlabeled,由正常样本构成
2.Cross validation set, labeled,由正常样本和异常样本混合而成.
3.Test set, labeled,由正常样本和异常样本混合而成.


Data set

举个例子,如下图,不推荐粉色的样本分组方法.一般来说Training/CV/Test分组的样本最好不要重合,避免影响对算法的性能评估.


example

Algorithm evaluation

评估一个Anomaly detection algorithm算法的步骤如下:
1.使用training set的样本数据训练出
2.对CV set的样本进行预测,选择Fscore最高时对应的
3.将以及用于Test set观察算法表现.

Anomaly detection vs. supervised learning

Anomaly detection算法实际上也是预测样本的分类,飞机引擎是好的还是坏的;这笔交易是否有欺诈嫌疑等等.那既然如此为什么不使用logistic regression呢?
因为这两个算法针对的场景有细微的差别,如下图所示:


Anomaly detection vs. supervised learning
  • Anomaly detection算法适用于异常样本很少的情况下(通常是0-20),并且有大量的正常样本(因为训练p(x)需要的是正常样本).换句话说就是异常样本太少以至于使用监督学习算法无法很好的识别异常样本的特征,但是因为有大量的正常样本反而能很好的训练p(x),所以这种场景使用Anomaly detection更好.
  • Supervised learning适用于无论正常样本还是异常样本都很多的情况.


    example

Choosing what features to use

如何为Anomaly Detection 算法选择特征使得算法的性能更好呢?
需要思考以下两个方面:
1.选择的特征尽量满足Gaussian distribution.

Non-Gaussian features -> Gaussian features

在octave中我们可以使用hist函数打印特征值的图形,如果特征值的图形不符合Gaussian distribution我们可以使用如下手段:
Tranforms

注意:我们可以对每个特征使用不同的方式变形.

2.选择的特征需要尽可能可以区分正常/异常样本.

Error analysis

一般来说我们会选择特征值要么非常大要么非常小的特征去用于Anomaly Detection算法,更通常的做法是,选择一些特征看看能不能很好的区分,如果不行,观察本该是异常的样本,在挑选新的特征加入算法.但是有时候根据现有的特征无法还是不能够区分出异常样本.
举个例子,如下图所示,你想找出在数据中心中出现特定错误的机器(cpu空转,死循环导致),依靠现有的4个特征值很难将异常机器和正常机器区分开(有可能真的是在执行很耗cpu的任务),此时我们创建一个新特征值,这样就能很明显区分出正常机器和异常机器了.

example

Multivariate Gaussian Distribution

Motivating example

之前p(x)的计算方式(分别计算)没法很好的区分CPU低Memory Use高,CPU高Memory Use高两个样本,所以这里需要使用Multivariate Gaussian Distribution,新的p(x)如下:


Multivariate Gaussian Distribution

以下是一些例子:


example1
example2
example3
example4
example5
example6

如果使用example4中间的例子可以区分CPU低Memory Use高,CPU高Memory Use高两种情况.

Anomaly detection using the multivariate Gaussian distribution

Parameter fitting
Anomaly detection with multivariate Gaussian

Relationship to original model

Gaussian distribution的p(x)是multivariate Gaussian distribution 的特例(是一个n*n的矩阵当满足除对角线之外的元素都为0的时候).
另一个发现是original model的轮廓图始终是与坐标轴对齐的.

Original model vs. Multivariate Gaussian
  • Original model
    需要创建新的特征(现有特征值的组合)来更好的识别异常值.
    计算成本低(适用于大规模输入,like n=10000)
    training size很小也ok
  • Multivariate Gaussian
    无需考虑新建特征值
    计算成本高,求\Sigma的inverse
    必须满足m>n,否则\Sigma不可逆(推荐m>=10*n时才使用)

Recommender System

Recommender System Example

Content-based recommender systems

基于内容的推荐系统,以推荐电影为例,根据用户的打分数据和这些分数对应的电影特征去构造hypothesis去预测该用户对没打过分数的电影的打分,然后可以根据分高的推荐.

terms

上图中的可以理解为用户的对不同类型电影的喜好.

cost function for user j

,这其实是一个linear regression,带入linear regression的cost function可得recommender system用户j的cost function如上.
cost function for all users

Gradient descent

Collaborative filtering

协同过滤的动机在于(还是拿预测电影评分举例子):电影太多了,如果需要工作人员一个一个去看完然后给出每个电影的特征值太慢而且不现实.所以我们这样想,如果我们已知用户对于电影的喜好(\theta^{(j)}),并且知道用户对于电影的评分(y(i,j)),那么我们可以根据这些来倒推电影的特征(x^{(i)}).

cost function for X

如上图所示求出最优的X.
Collaborative filtering

Collaborative filtering的思想就是随机初始化用户的偏好,根据用户评分去估算电影特征X,再根据X和评分去优化,如此往复,虽然没给出证明,但是这样做最后和X都会收敛.

Collaborative filtering algorithm

cost function(simultaneously)

前一节中的先优化再优化X的反复的过程可以合并在一起同时进行,cost fucntion 如上.
Collaborative filtering algorithm

完整的Collaborative filtering algorithm步骤如上.
注意,这里不需要\theta_0,x_0

Vectorization:Low rank matrix factorization

Y

Predicted ratings


X是的矩阵,可以看成是影片的样本,每一行代表一部电影,每一列代表电影的特征,是的矩阵,可以看作用户的样本,每一行代表一个用户,每一列代表用户对电影特征的爱好程度.

Finding similar movies

有时候我们要根据用户喜爱的电影类型推荐相似的电影给他,当计算出用户喜欢的电影的特征值时,遍历所有电影,当最小时对应的电影j就是和i最类似的电影.

Implementational detail:Mean normalization

Users who have not rated any movies

对于从来没有打对电影打过分的用户,在使用Collaborative filtering algorithm时,cost function的第一项永远为0,那么在梯度下降算法执行的过程中对于上图中的Eve用户来说,倾向于把偏好都设置为0,如果使用去预测Eve的评分那将全部是0,我们没法给Eve做推荐,为了解决这种问题,我们需要使用Mean normalization,如下图所示,对于Y的每一行求平均值构成向量,再做类似于的操作,此时对于用户j在电影i上的打分则是 ,换句话说就是对于没有做过任何评分的用户,将他对电影的评分设置为该电影的平均分.
Mean normalization

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容