机器学习和分类

什么是机器学习?在1959年,人工智能方向的先行者Arthur Samuel给出的定义是,机器学习是“让计算机拥有不需要明确指令、可以通过学习来解决问题的能力的研究领域”。Tom Mitchell给出了更加现代的定义,“一个计算机程序通过执行一些任务T得到评价P,从而得到经验E,如果程序能通过任务T和评价P得到更好的经验 E,那么我们就学这个程序进行了机器学习。” 机器学习在生物学中的应用主要分为监督学习 ( Supervised learning )和无监督学习( unsupervised learning )。

监督学习 ( Supervised learning ) 是从给定的训练数据集中学习出一个函数,当新的数据到来时,可以根据这个函数预测结果。通俗的说,确定是否是监督学习的方法就是,确定我们是不是要得到一个答案。监督学习中有非常重要的一类,就是分类( classification )问题。在分类问题中,我们要预测的变量是离散的,不是连续的。例如下面这个例子,我们得到的是肿瘤的大小、病人年龄和肿瘤是良性还是恶性的数据。

×表示是恶性,○表示是良性。

我们通过数据得到图中直线所示的分类面(这是两维,最简单的情况)。再有新的检测结果出来,我们就可以利用分类面来预测肿瘤是良性还是恶性的。在实际情况中,我们得到的信息的可能还要肿瘤细胞的形态,那么我们就需要再三维 中分类,或者有更多的信息需要更多更多维,甚至到无穷维中。

无监督学习( unsupervised learning )与监督学习相比,训练集没有人为标注的结果。就像上面的那个图中,我们并不知道哪些是恶性,哪些是良性,图中只有×,没有○。我们的目的就是能从这些数 据中看出什么规律。无监督学习中一个重要的部分就是聚类 ( clustering ) 算法。例如,我们如果想在混杂的生物或医学样本中分出不同类群,就是使用无监督学习的办法。

机器学习在序列比对分析中、人类基因组研究中、蛋白质组研究中以及生物样品的表达信息和分类中有着广泛的应用。典型的机器学习算法中有决策树C4.5算法、隐马尔可夫模型(HMM)、神经网络反向传播(BP)算法、支持向量机(SVM)和聚类分析(Clustering)。目前广泛采用分层聚类(Hierarchical  Clustering)方法对基因进行聚。


将样本聚成两类


聚类后,查看不同类别的分布情况


不同特征下不同类别的散点图