10个最常见的机器学习算法介绍 (下)

1. 朴素贝叶斯(Naive Bayes)

朴素贝叶斯是一种基于贝叶斯定理的简单概率分类器(分类又被称为监督式学习,所谓监督式学习即从已知样本数据中的特征信息去推测可能出现的输出以完成分类,反之聚类问题被称为非监督式学习)

朴素贝叶斯假设了样本的每个特征之间是互相独立、互不影响的,而现实世界的数据中并不总是如此。尽管有这样的假设,朴素贝叶斯在许多实际应用中的表现仍旧良好。

图片

 

该算法通过使用贝叶斯定理来计算一个给定类别的概率,给定的输入特征值。贝叶斯定理指出:

后验概率 = (似然性*先验概率)/标准化常量

也就是说,后验概率与先验概率和相似度的乘积成正比。

朴素贝叶斯算法可以用不同类型的概率分布来实现,如高斯、多项式和伯努利。高斯朴素贝叶斯用于连续数据,多项式朴素贝叶斯用于离散数据,而伯努利朴素贝叶斯用于二进制数据。

朴素贝叶斯的主要优点是它的简单性和效率。它很容易实现,与其他算法相比,需要的训练数据更少。它在高维数据集上也表现良好,并能处理缺失数据。

朴素贝叶斯的主要缺点是假设特征之间是独立的,这在现实世界的数据中往往是不真实的。这可能导致不准确的预测,特别是当特征高度相关时。此外,朴素贝叶斯对数据集中存在的不相关特征很敏感,这会降低其性能。

总之,朴素贝叶斯是一种简单而有效的机器学习算法,它基于贝叶斯定理,用于分类任务,在高维数据集上表现良好,可以处理缺失的数据,缺点是假设特征之间是独立的,如果数据不独立,就会导致不准确的预测。

2.KNN

K-Nearest Neighbors(KNN)是一种简单而强大的算法,用于机器学习中的分类和回归任务。它是基于类似的数据点往往有类似的目标值的想法。该算法的工作原理是找到与给定输入的k个最近的数据点,并使用最近的数据点的多数类或平均值来进行预测。

图片

建立KNN模型的过程从选择一个k值开始,这是预测要考虑的近邻的数量。然后将数据分成训练集和测试集,用训练集来寻找最近的邻居。为了对一个新的输入进行预测,该算法计算输入与训练集中每个数据点之间的距离,并选择k个最近的数据点。然后将最近的数据点的多数类或平均值作为预测值。

KNN的主要优点是其简单性和灵活性。它可以用于分类和回归任务,并且不对基础数据分布做任何假设。此外,它可以处理高维数据,并可用于监督和无监督的学习。

KNN的主要缺点是其计算的复杂性。随着数据集大小的增加,寻找最近的邻居所需的时间和内存会变得非常大。此外,KNN对k的选择很敏感,找到k的最佳值可能很困难。

总之,KNN是一种简单而强大的算法,用于机器学习中的分类和回归任务。

3.K-means(K-均值)

K-means是一种用于聚类的无监督的机器学习算法。聚类是将类似的数据点分组的过程。K-means是一种基于中心点的算法,或者说是基于距离的算法,我们计算距离来把一个点分配到一个聚类中。

图片

该算法的工作原理是随机选择k个中心点,其中k是我们想要形成的聚类的数量。然后,每个数据点被分配到离中心点最近的聚类中。一旦所有的点都被分配,中心点将被重新计算为集群中所有数据点的平均值。这个过程不断重复,直到中心点不再移动或点的分配不再改变。

K-means的主要优点是其简单性和可扩展性。它很容易实现,可以有效地处理大型数据集。此外,它是一种快速和稳健的算法,它已被广泛用于许多应用,如图像压缩、市场细分和异常检测。

K-means的主要缺点是它假定集群是球形的,并且大小相等,而这在现实世界的数据中并不总是如此。此外,它对中心点的初始位置和k的选择很敏感。它还假定数据是数字的,如果数据不是数字的,在使用该算法之前必须进行转换。

总之,K-means是一种用于聚类的无监督的机器学习算法。它是基于相似的数据点往往相互接近的想法。

4.降维算法(Dimensionality reduction algorithm)

降维是一种用于减少数据集中特征数量,同时保持重要信息的技术。它被用来提高机器学习算法的性能,使数据可视化更容易。有几种可用的降维算法,包括主成分分析(PCA)、线性判别分析(LDA)和t分布随机邻居嵌入(t-SNE)。

图片

主成分分析(PCA)是一种线性降维技术,它使用正交变换将一组相关变量转换为一组称为主成分的线性不相关变量。PCA对于识别数据中的模式和在不丢失重要信息的情况下降低数据的维数非常有用。

线性判别分析(LDA)是一种监督降维技术,用于寻找分类任务中最具判别性的特征。LDA最大化了低维空间中类之间的分离。

t分布随机邻域嵌入(t-SNE)是一种非线性降维技术,特别适用于高维数据的可视化。它使用高维数据点对上的概率分布来找到保留数据结构的低维表示。

降维技术的主要优点是,它们可以通过降低计算成本和降低过拟合的风险来提高机器学习算法的性能。此外,它们可以通过将维度数量减少到更易于管理的数量来简化数据可视化。

降维技术的主要缺点是在降维过程中丢失重要信息。此外,降维技术的选择取决于数据类型和手头的任务,很难确定要保留的最佳维数。

总之,降维是一种在保留重要信息的同时减少数据集中特征数量的技术。有几种降维算法可用,如PCA, LDA和t-SNE,它们对于识别数据中的模式,提高机器学习算法的性能和使数据可视化更容易有用。然而,在降维过程中可能会丢失重要信息,降维技术的选择取决于数据的类型和手头的任务。

 

5.梯度增强算法和AdaBoosting算法

梯度增强和AdaBoost是两种流行的集成机器学习算法,用于分类和回归任务。这两种算法都是通过组合多个弱模型来创建一个强大的最终模型来工作的。

梯度增强是一种迭代算法,它以向前阶段的方式构建模型。它首先对数据拟合一个简单的模型,如决策树,然后添加额外的模型来纠正以前模型所犯的错误。每个新模型都适合于相对于前一个模型预测的损失函数的负梯度。最后的模型是所有单个模型的加权和。

图片

AdaBoost是Adaptive Boosting的缩写,是一种类似的算法,它也以向前阶段的方式构建模型。它侧重于通过调整训练数据的权重来提高弱模型的性能。在每次迭代中,算法重点关注被前一个模型错误分类的训练样例,并调整这些样例的权重,使其在下一次迭代中被选择的概率更高。最后的模型是所有单个模型的加权和。

图片

在许多实际应用中,梯度增强和AdaBoost都能产生高度精确的模型。

这两种算法的主要优点之一是它们可以处理广泛的数据类型,包括分类和数值数据。此外,这两种算法都可以处理缺失值的数据,并且它们对异常值具有鲁棒性。

这两种算法的主要缺点之一是它们的计算成本很高,特别是当集成中的模型数量很大时。此外,它们对基本模型和学习率的选择很敏感。

总之,梯度增强和AdaBoost是两种流行的集成机器学习算法,可用于分类和回归任务。这两种算法都是通过组合多个弱模型来创建一个强大的最终模型来工作的。在许多实际应用中,这两种方法都可以产生高度精确的模型,但它们的计算成本较高,并且对基本模型和学习率的选择很敏感。

THE END