分享

机器学习那些事|盘点组学研究中最常用的7大算法

 外科黄文斌 2023-03-06 发布于广东

本周二开播,请提前预约

前言

随着高通量测序和多组学技术的快速发展,无论是基因组、转录组、蛋白组还是代谢组,都积累了非常庞大的数据。然而传统的信息数据处理算法显然不能满足大数据的处理要求,因此机器学习凭借着更快的数据处理速度脱颖而出。它能对海量的组学数据进行更好的深度分析和挖掘,因此在疾病亚型识别、 生物标志物发现、 通路分析以及药物发现及其再利用等领域都有着非常广泛的应用。

图片

本文介绍了组学数据处理中常用的3种机器学习模型类型:分类算法、回归算法以及聚类算法,并简要介绍了每种类型中最广泛使用的算法模型,包括该方法的简介、原理、应用场景、优点以及不足等内容。

读完本文,相信大家都能够更好地了解这些模型应当如何应用!分类算法

分类算法和回归算法是对真实世界不同的建模方法。分类模型的输出是离散的,例如大自然的生物被划分为不同的种类。分类是一种基于一个或多个自变量确定因变量所属类别的技术,常见的支持向量机,随机森林以及朴素贝叶斯等均属于分类算法。

01支持向量机(SVM)

方法简介

支持向量机(Support Vector Machine)的基本思想是将样本映射到高维空间中,并寻找一个最优的超平面,使得不同类别的样本点在超平面两侧得到最大的间隔距离。该超平面称为最大间隔超平面,通过最大化间隔可以使分类器具有更好的泛化能力。

基本原理

SVM通过寻找最大间隔超平面来实现分类。对于二分类问题,我们需要寻找一个线性超平面,使得对于所有的训练样本,两个不同类别的样本都分别位于超平面两侧,并且超平面到这两类样本的距离之和最大。SVM在分类时只关注离超平面最近的一些样本,即支持向量,其他样本对分类不起作用。

SVM还可以通过核函数的方法将样本映射到高维空间,使得样本在高维空间中线性可分,从而解决线性不可分问题。常用的核函数包括线性核、多项式核、高斯核等。

适用场景

SVM适用于样本数较少、特征数较多的数据集,尤其是非线性不可分的数据集。

图片

优点

①SVM具有较好的泛化能力和鲁棒性,可以适用于多种不同类型的数据;

②SVM在处理高维数据时表现良好,适用于样本数较少的数据集;

③SVM通过引入核函数的方法,可以解决非线性不可分问题;

④SVM的求解过程可以通过凸优化算法实现,求解结果具有全局最优性。

缺点

①SVM在处理大规模数据时,训练时间较长;

②SVM对于噪声和异常值比较敏感,需要在训练前进行数据清洗和预处理;

③SVM的结果比较依赖于核函数的选择和参数的调整,不同的核函数和参数可能导致不同的结果。02随机森林(RF)

方法简介

随机森林(Random Forest)就是通过集成学习的思想将多棵树集成的一种算法,它的基本单元是决策树,而它的本质属于机器学习的一大分支——集成学习(Ensemble Learning)方法。

基本原理

随机森林顾名思义其是用随机的方式建立一个森林,森林里面有很多的决策树组成,随机森林的每一棵决策树之间是没有关联的。在得到森林之后,当有一个新的输 入样本进入的时候,就让森林中的每一棵决策树分别进行一下判断。对于分类算法,看看这个样本应该属于哪一类,然后看看哪一类被选择最多,就预测这个样本为那一类;对回归问题,计算k个模型的均值作为最后的结果。

图片

应用场景

1.通过随机森林分析可以进行特征选择

例如判断每个代谢物特征在随机森林的每棵树上的贡献度,然后取平均值,最后挑选出贡献度较大的一部分代谢物。“Mean Decrease Accuracy”和“Mean Decrease Gini”为随机森林模型中衡量贡献度的两个重要指标。

图片

2.通过随机森林分析可以进行分类

基于挑选出的贡献度较大的一部分代谢物,用它们重新构建随机森林模型,再对样本进行分类。

优缺点

随机森林模型有许多优点:

①在当前所有算法中,具有极好的准确率;

②能够有效地应用在大数据集上;

③能处理具有高维特征的输入样本,而且不需要降维;

④ 对于缺省值问题也能够获得很好的结果;

⑤能评估各个特征在分类问题上的重要性。03朴素贝叶斯(NBM)

方法简介

朴素贝叶斯算法(Naive Bayesian Model)基于贝叶斯定理,通过计算后验概率来进行分类。对于给定的样本,朴素贝叶斯算法先假设所有特征之间相互独立,然后计算每个类别的后验概率,最终将样本分配给后验概率最大的类别。朴素贝叶斯算法通常使用极大似然估计或贝叶斯估计来估计类别的概率和条件概率。

基本原理

朴素贝叶斯算法基于贝叶斯定理和条件独立假设,即假设样本的每个特征在给定类别的条件下相互独立。具体来说,假设有一个样本x=(x_1,x_2,⋯,x_n ),其中 x_i表示第 i个特征的取值,样本的类别为y,则朴素贝叶斯算法通过计算后验概率P(y|x) 来进行分类。根据贝叶斯定理:

P(y|x) = P(x|y)P(y)/P(x)

其中,P(y)表示类别 y的先验概率,P(x|y)表示在类别y 的条件下样本x出现的概率,P(x)表示样本 x出现的概率。根据条件独立假设,P(x|y)可以表示为各个特征条件概率的乘积:

图片

应用场景

朴素贝叶斯算法对于高维稀疏数据的处理效果较好,但对于存在关联的特征或输入数据先验知识不准确的情况,朴素贝叶斯算法的效果可能不佳。朴素贝叶斯算法对于输入数据的先验知识要求较高,如果先验知识不准确,将导致朴素贝叶斯算法的分类效果下降。

优点

①朴素贝叶斯算法简单、易于实现,计算速度快;

②朴素贝叶斯算法对于高维稀疏数据的处理效果较好,适用于文本分类等领域;

③朴素贝叶斯算法对于缺失数据和噪声具有较好的鲁棒性。

缺点

①朴素贝叶斯算法基于条件独立假设,因此对于特征之间存在关联的数据,朴素贝叶斯算法的效果可能较差;

②朴素贝叶斯算法假设各个特征之间相互独立,但实际上很多情况下特征之间是存在关联的,因此朴素贝叶斯算法可能出现欠拟合的情况。回归算法

回归模型的输出是连续的,例如人的身高变化过程是一个连续过程,而不是离散的。常见的混合线性模型,弹性网络回归以及XGBoost等方法均属于分类算法。

01混合线性模型(MLM)

方法简介

混合线性模型(Mixed Linear Model,MLM)是一种同时考虑固定效应和随机效应的统计模型,也称为多层次线性模型。在这种模型中,固定效应通常表示独立变量(自变量),而随机效应则表示被观测对象的随机差异。由于混合模型能够同时考虑固定和随机因素,因此可以更好地描述数据的结构,从而得到更准确的预测结果。

基本原理

混合线性模型的基本原理是,通过将固定效应和随机效应相结合来建立一个统一的统计模型,以描述因变量与自变量之间的关系,同时考虑被观测对象之间的随机差异。在混合线性模型中,固定效应和随机效应分别由固定效应系数和随机效应系数表示。固定效应系数通常表示独立变量的影响,而随机效应系数则表示被观测对象之间的随机差异。同时,混合线性模型中还会包括一个误差项,表示模型无法解释的随机差异。

图片

应用场景

在代谢组学中,混合线性模型可以用于挖掘不同样品中代谢产物的差异,识别代谢物、生物标志物和代谢通路等,并可以用于分类、预测和验证等任务。例如,可以使用混合线性模型来识别对疾病有影响的代谢物,并通过这些代谢物来诊断和预测疾病。在代谢组学数据中,样品数量通常比代谢产物数量少,因此存在缺失值的情况。混合线性模型可以通过随机效应和固定效应来处理缺失值,从而减小对样本数量的要求。

优点

①可以很好地处理因素之间的相关性。混合线性模型可以通过引入随机效应来捕捉因素之间的相关性,从而提高模型的准确性和可靠性;

②可以处理非独立同分布数据。混合线性模型可以通过引入随机效应来处理非独立同分布数据,从而减小对样本数量和分布的要求;

③可以很好地处理缺失数据。混合线性模型可以使用固定效应和随机效应来处理缺失数据,从而提高结果的准确性和可靠性;

④可以提供更准确的置信区间和假设检验。混合线性模型可以使用贝叶斯方法和蒙特卡洛模拟等方法来计算置信区间和假设检验,从而提供更准确的结果。

缺点

①对模型参数的解释不够直观。混合线性模型中的随机效应可能会使得模型参数的解释变得更加复杂和困难;

②模型计算复杂度较高。混合线性模型需要使用复杂的算法进行模型拟合和参数估计,因此计算复杂度较高;

③需要大量的数据和计算资源。混合线性模型需要大量的数据和计算资源来进行模型训练和拟合,因此在数据量较小或计算资源较有限的情况下可能不太适用。02弹性网络回归

方法简介

弹性网络回归是一种综合了岭回归(Ridge Regression)和Lasso回归(Lasso Regression)的线性回归模型。在岭回归中,采用L2正则化项对模型进行约束;在Lasso回归中,采用L1正则化项。而弹性网络回归在模型的损失函数中同时使用L1和L2正则化项,结合了两种正则化方法的优点。

弹性网络回归通过调整正则化系数,可以在保持模型稳定性的同时,减少特征的数量,提高模型的预测性能。这种方法在处理高维数据时特别有用,可以有效地降低过拟合的风险,提高模型的泛化能力。

基本原理

弹性网络回归是一种线性回归模型,它的损失函数可以写作以下形式:

图片

其中,y是目标变量,X是自变量,w是模型的参数,||.||表示L2范数(欧几里得距离),||.||_1表示L1范数(曼哈顿距离),alpha是正则化强度的超参数,rho是L1和L2正则化项的权重比例,通过调节正则化项的权重比例rho,可以实现对于L1和L2正则化的平衡,从而在保证模型稳定性的同时,有效地控制模型参数的数量和大小,提高模型的泛化能力。在求解时,需要先对自变量进行标准化,将所有的特征缩放到相同的尺度上,从而避免不同特征之间的差异对模型的影响。

图片

应用场景

①高维数据:当自变量数量很大时,弹性网络回归可以帮助减少不必要的特征,从而避免过拟合的风险,并提高模型的泛化能力;

②特征选择:由于弹性网络回归引入了L1正则化项,可以将部分模型参数压缩至0,从而实现特征选择的效果,对于具有稀疏特征的数据集表现良好;

③多重共线性:当自变量之间存在高度相关性时,传统的线性回归模型可能出现参数估计不稳定的问题,而弹性网络回归的L2正则化项可以减少模型参数的幅度,从而提高模型的稳定性;

④噪声干扰:当数据集中存在噪声或异常值时,弹性网络回归可以通过控制L1和L2正则化项的权重比例,减少噪声的影响,提高模型的预测性能;

⑤非线性关系:尽管弹性网络回归是一种线性模型,但它可以通过对自变量进行多项式扩展或其他非线性变换,来适应一定程度的非线性关系。

优点

①对于高维数据,弹性网络回归可以通过引入L1正则化项,实现特征选择的效果,从而避免了过拟合的风险;

②弹性网络回归可以通过控制L1和L2正则化项的权重比例,平衡模型的稀疏性和平滑性,从而更好地适应不同类型的数据;

③在处理多重共线性的数据时,弹性网络回归的L2正则化项可以减少模型参数的幅度,提高模型的稳定性和可靠性;

④弹性网络回归算法的实现相对简单,计算速度较快,可以适用于大规模数据集。

缺点

①弹性网络回归算法的优化参数不易确定,需要进行调参,较为耗时;

②当自变量的数量远大于样本数量时,弹性网络回归的表现可能会受到限制;

③对于非线性关系较为复杂的数据,弹性网络回归可能无法提供较为准确的预测结果。03梯度提升决策树(XGBoost)

方法简介

XGBoost是一种梯度提升决策树(Gradient Boosting Decision Tree)算法的实现,它采用决策树作为弱学习器。XGBoost在每一轮迭代中,训练一个新的决策树来拟合数据集的残差,通过不断迭代,最终组合多个决策树,形成一个强大的集成模型。在训练过程中,XGBoost采用一些特殊的技巧,例如列采样和行采样,以提高模型的泛化能力。

基本原理

XGBoost的基本原理是将多个弱学习器组合成一个强学习器,其中每个弱学习器都是一棵决策树。XGBoost在每一轮迭代中,训练一个新的决策树来拟合数据集的残差,通过不断迭代,最终组合多个决策树,形成一个强大的集成模型。为了避免过拟合,XGBoost在目标函数中加入了正则化项,以控制模型的复杂度。此外,XGBoost采用二阶导数信息来加速模型训练,同时支持并行化处理。

图片

应用场景

XGBoost在各种机器学习应用场景中都得到了广泛的应用。例如,它可以用于广告推荐、金融风控、自然语言处理、图像处理等领域。XGBoost具有良好的准确性和可解释性,可以处理大规模高维数据,且易于调参。

优点

①速度快:XGBoost利用了数据分块、稀疏矩阵压缩等技术,能够快速处理大规模数据;

②准确性高:XGBoost在处理高维稀疏数据时表现优异,可用于高精度预测问题;

③可解释性强:XGBoost支持特征重要性分析,可以帮助用户理解模型预测结果的原因;

④鲁棒性好:XGBoost支持自动处理缺失值、异常值等问题,同时支持L1和L2正则化,可以有效防止过拟合。

缺点

①对参数敏感:XGBoost需要调节较多的参数,对参数设置要求较高;

②不支持在线学习:XGBoost只支持离线训练模型,不支持在线学习和增量学习;

③内存占用高:XGBoost在处理大规模数据时需要占用较多内存,需要考虑内存管理问题。聚类算法

聚类算法是用来进行聚类分析的一项无监督学习任务,通常需要将数据分组到聚类中。与监督学习的已知目标变量不同,聚类分析中通常没有目标变量。比如常见的k-Means,分层聚类法,密度聚类等。

k近邻算法(KNN)

方法简介

k近邻算法(k-Nearest Neighbors)是一种基于实例的学习方法,通过计算新样本与训练集中样本之间的距离,选取k个距离最近的样本的标签进行分类或回归预测。分类问题中,采用投票法确定新样本的类别;回归问题中,采用平均值法确定新样本的输出值。

基本原理

k近邻算法的基本原理是相似的样本具有相同的类别或输出值,因此将距离最近的k个样本的标签或输出值作为预测结果。距离的计算通常采用欧氏距离、曼哈顿距离等方法。

图片

应用场景

k近邻算法适用于数据维度较低、数据量较小的情况。

优缺点

①优点:k近邻算法简单、直观,容易理解和实现,适用于不规则数据分布的分类问题;同时,在样本量较小、类别数目较少、噪声较少的情况下,其分类效果比较好。

②缺点:k近邻算法需要保存全部训练数据,分类计算复杂度高,不适用于高维数据,而且对于样本不平衡的数据集容易产生分类偏差;另外,需要确定k值大小,不同的k值会产生不同的分类效果。

图片

图片

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多