美国电视剧《反恐24小时》中有一集,当一个恐怖分子用手机拨打了一个电话,从CTU(反恐部队)的计算机系统中便立刻发出恐怖分子出现的预警。很多好莱坞的大片中此类智能系统的应用也比比皆是,它能从茫茫人群中实时找出正在苦苦追踪的恐怖分子或间谍。而在2008年北京奥运会上,最引人注意的IT热点莫过于“实时人脸识别技术”在奥运会安检系统中的应用,这种技术通过对人脸关键部位的数据采集,让系统能够精确地识别出所有进出奥运场馆的观众身份。
目前人脸识别技术正广泛的应用于各种安检系统中,警方只需将犯罪分子的脸部数据采集到安检数据库,那么只要犯罪分子一出现,系统就能精确地将其识别出来。现如今人脸识别技术已经相对成熟,谷歌在Picasa照片分享软件的工具中就已经加入了人脸识别功能。当然,人脸识别技术牵涉到隐私,是把双刃剑,谷歌在谷歌街景地图中故意将人脸模糊化,变得无法识别就是这个原因。如图所示为人脸识别示意图。
虽然需要借力于其他技术,但是人脸识别中的主要技术还是来自于数据挖掘中的分类算法(Classification)。让我们从一个最简单的事实来解释分类的思想。设想一下,一天中午,你第一次到三里屯,站在几家以前从未去过的餐厅门前,现在的问题是该选择哪家餐厅用餐。应该怎样选择呢?假设您没有带手机,无法上网查询,那么可能会出现如下两种情况:
一种,你记起某位朋友去过其中一家,并且好像他对这家的评价还不错,这时,你很有可能就直接去这家了。
第二种,没有类似朋友推荐这类先验知识,你就只能从自己以往的用餐经历中来选择了,例如你可能会比较餐厅的品牌和用餐环境,因为似乎以前的经历告诉自己,品牌响、用餐环境好的餐厅可能味道也会好。不管是否意识得到,在最终决定去哪家吃的时候,我们已经根据自己的判断标准把候选的这几家餐厅分类了,可能分成好、中、差三类或者值得去、不值得去两类。而最终去了自己选择的那家餐厅,吃完过后我们自然也会根据自己的真实体验来判定我们的判断准则是否正确,同时根据这次的体验来修正或改进自己的判断准则,决定下次是否还会来这家餐厅或者是否把它推荐给朋友。
选择餐厅的过程其实就是一个分类的过程,此类分类例子是屡见不鲜的。在古时,司天监会依赖长时间积累的信息,通过观察天象对是否会有天灾做出分类预测。古人则通过对四季气候雨水的常年观察,总结出农作物最佳播种时间。在伯乐的《相马经》中,就通过简单分类区分出羸马的三条标准:“大头小颈,弱脊大腹,小颈大蹄”。
其实在数据挖掘领域,有大量基于海量数据的分类问题。通常,我们先把数据分成训练集(TrainingSet)和测试集(TestingSet),通过对历史训练集的训练,生成一个或多个分类器(Classifier),将这些分类器应用到测试集中,就可以对分类器的性能和准确性做出评判。如果效果不佳,那么我们或者重新选择训练集,或者调整训练模式,直到分类器的性能和准确性达到要求为止。最后将选出的分类器应用到未经分类的新数据中,就可以对新数据的类别做出预测了。