9150
2021年4月10日-12日,吴文俊人工智能科学技术奖十周年颁奖盛典暨2020中国人工智能产业年会在北京和苏州同期圆满成功举办。电子科技大学教授邹权受邀在苏州工业园区希尔顿酒店,2020中国人工智能产业年会—生物医学人工智能专题论坛上发表主题报告《新的集成分类、降维策略与生物信息应用》。
以下为演讲实录:
我今天主要讲两个方面的,一个是集成分类,一个是降维方面的。先说一说集成学习,它的主要思想,用多个人来共同的做一个决策,用多数战胜少数的机制完成每一个单个人都不能很准确预测的时候,用多数人来投票的方式达到很准确的预测结果,这也是我们会议制度的来源,为什么开人民代表大会,就是说要多个人一起决断这个事情。
但是集成学习有一个麻烦,三个臭皮匠真的顶一个诸葛亮么?如果真是这样,就没有必要三顾茅庐了,找三个臭皮匠就可以了。而且从学术角度来说,最难的事情是怎么能够证明集成后的结果一定会优于集成前的结果,这个证明是非常困难的,当然我也没有解决这个问题,我只是从其他的角度来说明一下我们集成的方法,最后的结果应该会比集成之前的效果好。
基于PageRank的集成降维方法
我主要包括三个部分:集成降维报告、集成分类方法、讲两个生物信息学的应用。
我们应用的是移动标识物的识别。如果大家觉得比较陌生的话,事实上在美国,包括奥斯卡的影星,切割了乳腺、切割了卵巢,都是在健康的情况下预测,通过基因的预测发现她未来若干年患乳腺癌、卵巢癌的概率超过80%,所以在正常健康的情况下把这个割掉,规避未来患癌症的风险。
问题是很典型的机器学习问题,一行是一个样本,一列是基因表达情况,很多基因和后面是否得疾病是没有关系的,我们只有几列跟这个疾病是有关系的,我们把这几列找出来,称为标识物。这是降维的问题。
我们提出了基于PageRank的降维方法,试图把它做一个降维,简单的想一想,很有可能比之前的其他降维方法效果要好,我看方法很简单,但是我们核心的地方在于我们怎么说明它会比集成之前的效果好。
PageRank发明人是拉里佩奇,为什么叫做PageRank?PageRank经常用在谷歌的网页排序上面,得到以为Page是网页、Rank是排序,所以叫做PageRank。事实上不对,PageRank是一个叫Page的人提出的Rank算法,所以叫做PageRank。Page提出了这个Rank的算法,PageRank出名了,后来Page也有纸的含义,所以互联网在2000年左右把网页叫Page了。
Page很有意思,也是谷歌创始人之一,之前他在斯坦福大学攻读博士学位,读一半提出了PageRank算法,觉得很有意义,没有继续读下去,直接就去创业了,取得了很大的成功。
一提起这个故事,我们就想到他的一个前辈,跟我们生物信息学也相关。基因组重排的问题,基因组上面10个基因,DNA打结缠绕,中间有一些发生变化,给了你这样一个排序如何用最少的次数变成这个1、2、3、4、5、6、7、8、9、10?这就是基因组重排。
这是一个非常有名的漫画,一个教授把这个问题比喻成侍者翻馅饼问题,他的一个学生提出了一个很巧妙的方法,能够证明最少用多少次把馅饼,一开始随机排列大小不一的馅饼,翻几次变成最大的在下面,最小的在上面,这实际上是很有意思的数学问题。
数学课上,这个年轻的学者也没有说解决它,提出了上限,发表了论文,这是1979年发表的论文,第一作者是学生,第二作者是老师,这个学生跟Page一样,大学没有读完就去创业了,取得了成功。如果想成功,先发表一篇学术论文再创业,成功概率更高一点。
我们再说一下PageRank,当时这是什么核心思想?简单来说,PageRank,一堆网页哪个网页重要、哪个不重要?我们可以通过网页之间的链接关系找出来。网页有链接关系,一个网页链向另一个网页。我们看一个笑脸是一个网页,链向别的网页,指向别的网页。笑脸越大,我们认为越重要。
当然还有一个想法,非常重要的网页,链向其中一个网页,那个网页虽然没有其他的网页链向它,但是重要的网页链向了它,我们认为它也很重要。这个思想跟我们会议选举也差不多,大家坐在一起,咱们选一选谁最聪明,所有人说诸葛亮最聪明。诸葛亮自己很谦虚,诸葛亮说××很聪明,诸葛亮推荐的,虽然其他人没有推荐,但是诸葛亮推荐的,他也很重要,所以红色笑脸也比较大。这是PageRank整个的核心思想。
我们怎么用PageRank基因排序?1—7是7个不同的网页,互相有复杂的链接关系,怎样把重要性排出来呢?看起来很难,但是有大概一年级的数学水平就可以听明白这个。先做出来这个链接矩阵,一个网页指向另外一个网页,我们认为是1;没有指向,是0。第一个网页指向2、3、4、5、7。没有指向就是0。有了连接矩阵,可以转移矩阵,第一个网页指向五个网页,下一步每个跳转的概率是1/5。第二个网页只指向了一个网页。第三个网页指向两个网页,第三页那两个数是1/2。这是有了连接矩阵。
我们一开始7个网页,每个网页人数都是1/7的话,经过一轮链接跳转之后,每个网页上的人数是多少呢?第一个网页上面原来的人跳转到第一个网页的概率,再加上第二个网页跳转到第一个网页上面的,再加上第三个网页跳转到第一个网页,一列乘以这一行,等于每一个网页上面的人数了。
既然这个1/7乘以转移矩阵,等于每个网页上面的人数,再乘转移矩阵,相当于跳了一轮没有结束,一直跳下去。这个M每一轮之后网页上面的人数,乘以转移矩阵,等于下一轮每个网页上面的人数,再乘以转移矩阵,又等于下一个人数,无穷无尽的乘下去,直到最后达到一个稳态。也就是说每个网页上面的人数乘以转移矩阵,人数不变,达到了稳态,就认为我们到了最后的阶段。最后一个阶段哪个网页的人数多,我们认为哪个网页的人数重要。最后求给定转移矩阵,这个已经很熟悉了。特值为的特征向量,非常简单的数学方法求出来的。
解出来之后哪个网页人数多,就说明哪个网页很重要。所以我们能够看出来,就是说这些网页仅仅通过指向链接关系,我们可以给这些网页进行排序。这个排序好不好呢?我们没有办法说好,谷歌之前用了这个方法,经过十年二十年的发展,成为互联网搜索引擎的巨头,我们可以认为它目前核心技术方法比其他人排序方法好,因为十年、二十年的用户给的是肯定的回答。所以我们认为目前来说,通过网页链接关系找网页的重要性排序,目前最好的方法。
既然是最好的方法,我们用到特征进行排序。比如说我们有五个特征,不同的统计学方法,给出不同的排序。比如说这种方法,比我岁数都大,可能比计算机的岁数都大,但是没有一个统计学方法能够证明它比别的统计学方法优秀。不同的数据集在不同的统计学方法有不同的效果。
如果给出了不同的排序,我们把每一个特征抽象成一个网页,每一个统计学方法给出的排序我们就认为由不重要指向重要的排序关系。如果这四个方法分别给出四种不同的排序,我们把五个特征抽样和五个网页,四种不同排序我们认为四种不同的指向关系。如果指向关系是网页的话,我们很轻松的捏合在一起,原来是线性的指向关系,五个不同的网页,捏在一起变成复杂的指向关系。因为这个复杂的指向关系,用PageRank的方法,迄今为止我们觉得人类智力范围之内最好的排序方法。如果认为不是最好的排序方法,可以提出一个好的排序方法来战胜谷歌,既然现在还没有人战胜谷歌,我们认为现在这个排序方法应该是很理想的排序。我们通过特征抽象成网页给出了一个,我们虽然不能从数学上面证明是最优的排序,但是从情理上说明它是一个比较优秀的排序,很有可能比任何一个排序都好。当然我们还可以做下一步,第一个特征拿出来,第一个、第二个拿出来,第一个、第二个、第三个拿出来,找哪一个效果最好,我们实现了降维,这是我们很简单的工作。核心思想说明它比任何一个统计学方法效果都要好。
我们开发1.0、2.0、3.0的软件版本,有现成的软件直接可以用。原来用JAVA版本,速度比较快。但是要安装JAVA,用户不太愿意。2.0、3.0用了python的版本,直接上传Excel表就能实现数值特征的采取。这是第一个工作。
处理不平衡数据的集成分类方法
第二个工作我们讲集成分类。集成分类的思路也比较简单,看这个方块和圆圈是两个不同的类别,用直线都没有办法把它分开,但是不同的分割方法效果不一样,每一个分割方法都分得不太好,但如果把他们进行投票,投出一个曲线来,最后把这个方块分开,这是集成分类。这个方法不是我提出来的,很早有人提出来。
我们处理生物信息学问题的时候,经常碰到这样的情况,正例很少,反例非常多。负的非常多。在分类的时候我们可以利用这种集成分类的方法,比如说把负的样本按照正例的大小分割成若干份,每一份跟正例组成一个平衡的训练集,最后投票,变成一个集成后的结果。
这个思想也很简单,不是我提出来的。我在这个思想上面进一步提出策略,第一个分类器当中分错的样本,加入到第二、第三个分类器中。第二个分错的样本加入到第三个、第四个样本之中。为什么要这么加呢?假如一个样本,在第一个分类器中分错了,我们放到第二个、第三个里面。假设第二个错了,第三个对的,我们把第二个放到第四、第五个里面。第五个分对了结束,第四个分错了,加到第六个、第七个里面,直到结束为止,我们看分对的分类器有4个,分错的有3个,最后投票4比3战胜了。
我们证明一下为什么会被分对呢?分错往后两个分类器里面加,相当于二叉树的过程。如果分对了,就停止。分错了,再生出两个儿子,直到分对为止。二叉树有非常好的性质,叶子节点永远比内部节点多一个。所以最后投票的时候尽管有3个分错了,4个分对了,多一个就可以。这虽然不是非常严格的证明,但是可以说明通过加入我们这个策略,尽管一小半的分类器分错的情况下,这是为什么分类器的效果都不太好,最后投票就变成强分类器了,这是我们提出的策略,集成学习的分类。
这个策略十年前我上学时候想的,后来被用到百度贴吧反作弊系统中,当时比较傻,当时跟它合作了一个项目,给了我20万块钱,就不计较了,就随便用这个东西了,那时候比较傻。后来想明白了,那时候没有申请专利。等申请完专利我找人家说快来买我的专利,人家说我们现在用深度学习了。
生物信息学应用
集成的排序和转移,代表性的应用有两个:一个是肿瘤的转移,原发位置。就是说这个肿瘤患者,通过影像学方法拍照片,医生看有没有阴影,诊断患者是否得肿瘤,但是不能诊断这个肿瘤是原发位置还是从别的地方转移过来的。这个判断就要依靠大夫和患者交流,除了这个地方疼,别的地方疼不疼,这是非常不靠谱的。但是通过基因预测是可以预测这个肿瘤原发位置在哪。因为不同位置,原发肿瘤,这是完全不同的疾病。胃癌和胆囊癌是两种完全不同的疾病,在人的基因表达上面是完全不一样的。测这个基因表达,可以定位出这个肿瘤原发位置在哪,这个基因非常多,再加上其他的标志物,几十万个特征,绝大部分跟肿瘤没有关系的,怎么删掉,用之前介绍的方法,得到了比较好的效果。具体的工作就不讲了,发表在期刊上,而且被这个期刊评为近年来高影响力的论文。
第二个工作是预测与甲基化DNA结合的肿瘤因子。肿瘤因子结合到DNA上,然后才可以开始转路。但是如果DNA被甲基化之后,肿瘤因子就不往上结合了。当然还有一些特殊的因子,专门挑未甲基化的结合。这是两种非常不同的因子。我们也分析理化特征,因为理化特征非常多,几百种,不知道哪些跟这个是否相关,最后我们降维处理,最后降维出两种:一个是Polar、一种是hydrophobic。而且是两个相互结合,单从一个特征,就发现是混在一起,分不开的。如果是两个特征,直线也分不开,集成的方法就可以分开。