背景知识
无监督算法(unsupervised learning)属于机器学习(machine learning)的一种,机器学习属于人工智能(artificial intelligence)领域。要了解无监督,我们先来讨论什么是人工智能。
人工智能的定义包含了“人工”和“智能”,即人工创造出来的模拟人类智慧的科学。人工是非常好去理解的,但是智能就变得复杂了。但其实简单地来说就是拥有人一样的智能技术和智慧:拿机器和小朋友举例,给小朋友看图片A,那么在看到图片B时,小朋友也会高兴地挥舞着手臂识别出这也是一只猫。而如果将图片输入一台非人工智能机器,告诉机器这是一只猫,那么在输入B时,机器就难以识别了。
图1 两种猫的图片
这样的能力就是人类“智能”的一种表现。那么,如果机器也具备了根据真实猫推演识别出卡通猫的能力,我们就说这台机器被赋予了“智慧”,也就是具有了人工智能。
正如上面例子中谈到,人工智能具备一定的推演能力,这就不得不说到机器学习。如果把人类识猫的过程理解成一种学习,那么机器识猫的过程就是机器学习。所谓学习,就是举一反三。你能通过A认出B,这就是最简单的学习。学习需要去模拟人的思维方式,而人的大脑极其复杂,我们只能将其抽象成某些算法,比如:神经网络、贝叶斯、决策树和聚类算法等等。从A识别B是比较初级的学习方式,如果在以后会给接触很多动物的照片,通过知识就可以了解到,老虎、豹、狮子等这些长得像猫的动物有一个共同的名字——猫科动物。
图2 猫科动物
这个学习的过程属于高级一点的,称为“深度学习”。深度学习的概念源于人工神经网络的研究。含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。例如,猫科动物通常具有条纹、斑点或玫瑰花纹,眼睛大且位于头部前方,舌头粗糙,有胡须等等。学习了猫科动物后,小学生再看到一个动物的图片,例如猞猁时,虽然不知道这个动物的实际名字,但是可以根据之前的特征学习,断定这个毛茸茸的家伙一定是猫科动物。
图3 猞猁
机器学习的分类
了解了机器学习的概念后,我们来看一下机器学习的分类。机器学习种类有:监督学习(supervised Learning)、增强学习(reinforcement learning)、无监督学习(unsupervised learning),如下图。
图4 机器学习分类
a) 有监督学习是最常见的一种机器学习,它的训练数据是有标签的,训练目标是能够给新数据(测试数据)以正确的标签。例如,将邮件进行是否垃圾邮件的分类,一开始我们先将一些邮件及其标签(垃圾邮件或非垃圾邮件)一起进行训练,学习模型不断捕捉这些邮件与标签间的联系进行自我调整和完善,然后我们给一些不带标签的新邮件,让该模型对新邮件进行垃圾邮件的分类。
b)无监督学习常常被用于数据挖掘,用于在大量无标签数据中发现些什么。它的训练数据是无标签的,训练目标是能对观察值进行分类或区分等。例如无监督学习应该能在不给任何额外提示的情况下,仅依据所有“猫”的图片的特征,将“猫”的图片从大量的各种各样的图片中将区分出来。
c) 强化学习通常被用在机器人技术上(例如机械狗),它接收机器人当前状态,算法的目标是训练机器来做出各种特定行为。工作流程多是:机器被放置在一个特定环境中,在这个环境里机器可以持续性地进行自我训练,而环境会给出或正或负的反馈。机器会从以往的行动经验中得到提升并最终找到最好的知识内容来帮助它做出最有效的行为决策。
而DataVisor独有的反欺诈算法就是运用的无监督学习,此处着重讲解一下:无监督主要有三种:聚类,离散点检测和降维,聚类是比较经典的一种。聚类就是将观察值聚成一个一个的组,每一个组都含有一个或者几个特征。恰当地提取特征是无监督最为关键的环节。例如在对猫的识别中,来尝试提取猫的特征:皮毛、四肢、耳朵、眼睛、胡须、牙齿、舌头等等。通过对特征相同的动物的聚类,可以将猫或者猫科动物聚成一类。但是此时,我们不知道这群毛茸茸的东西是什么,只知道这团东西属于一类,兔子不在这个类(耳朵不符合),飞机也不在这个类(有翅膀)。特征有效性直接决定着算法有效性。如果我们拿体重来聚类,而忽略体态特征,恐怕就很难区分出兔子和猫了。
DataVisor的反欺诈工作是抓欺诈分子,包括各种恶意注册、盗号、骗贷、刷量等等欺诈行为。相信你已经猜到了,DataVisor的强项就是对用户行为建模并分析用户之间的异常关联,可以高效地抓到欺诈团伙,及时阻止欺诈行为。
算法的评价
算法不分好坏,只有是否适合。那么,如何评价算法的适合度呢?先来看几个概念:
TP:True Positive 正样本被识别为正样本(抓对了)
TN:Ture Negative 负样本被识别为负样本(不该抓,也确实没抓)
FN: False Positive 正样本被识别为负样本(漏抓了)
FP:False Negative 负样本被识别为正样本(抓错了)
还是拿猫的识别来举例,假设机器通过学习,已经具备了一定的识别能力。那么,我们输入4张图片,机器的判断如下:
图5 机器的判断结果
常用的评价指标有三种:准确率(precision)、召回率(recall)和精准率(accuracy),其中:
Precision = TP/(TP+FP),表示我们抓到的人中,抓对了的比例;
Recall = TP/ (TP+FN),表示我们抓到的坏人占所有坏人的比例;
Accuracy = (TP + TN)/ 所有数据,表示识别对了(好人被识别成好人,坏人被识别成坏人)的比例。
三个指标越高,表示算法的适应性越好。