第二种情况类。
Case 2: Without Labels
这一集就是介绍类这个例子。
一款网络游戏,主角是由N个人同时操控,系统会选择其中一个指令进行操作。
·Why is the game so difficult?
答:Probably because of “Troll”(网络小白)
· Players that are not familiar with the game
· Just for fun .…
· Malicious players…
in all, the players who don’t want to complete the game.
假设想要通关的玩家的操作是正常数据,能否使用异常检测找到Troll?
下面看如何解决这个问题
Problem Formulation
Given a set of training data:
We want to find a function detecting input x is similar to training data or not.
这里的输入信息x 是一个玩家
也就是每一个玩家要先表示成一个feature vector,才能进行机器学习
例如第一维x1 可以表示为说垃圾话的频率;
第二维x2可以表示为无政府状态下的发言频率。(这里系统操作角色有两种模式,一种是取所有输入操作中取操作最多的动作进行操作,例如:100个玩家有90个输入←,那么游戏角色就向←走,一种是随机模式(无政府状态),不管输入操作的多少,都随机选一个进行操作。有研究表明,在无政府状态下,troll倾向于发起操作。)
现在我们有大量的输入,但是没有标签y,我们可以建立一个几率模型P(x),用来表示某一个玩家操作发生的几率,然后根据P(x)来设置阈值看玩家是否是异常。
然后把所有玩家的x1和x2 的分布可视化出来:
从图中可以看到,P(x)大的玩家可能是正常玩家(左上角的点),反之是异常玩家。
下面要像更加精确的用数字来表达这个事情,就要用的MLE: