机器学习算法背后的数学原理

简介: 机器学习算法背后的数学原理

不同的机器学习算法是如何从数据中学习并预测未知数据的呢?

640.png


机器学习算法的设计让它们从经验中学习,当它们获取越来越多的数据时,性能也会越来越高。每种算法都有自己学习和预测数据的思路。在本文中,我们将介绍一些机器学习算法的功能,以及在这些算法中实现的有助于它们学习的一些数学方程。

机器学习算法的类型

机器学习算法大致可以分为以下四类:

监督学习:用于预测的目标是已知的情况。这些算法生成一个函数,该函数将输入映射到输出变量。回归和分类算法都属于这一类。在回归中,输出变量是连续的,而在分类中,输出变量包含两个或更多的离散值。监督学习算法包括线性回归,逻辑回归,随机森林,支持向量机,决策树,朴素贝叶斯,神经网络。

无监督学习:目标或输出变量是未知的情况。这些算法通常对数据进行分析并生成数据簇。关联、聚类和维数约简算法属于这一类。K-means聚类、PCA(主成分分析)、Apriori算法等也都是非监督学习算法。

半监督学习:它是监督和非监督学习方法的结合。它使用已知数据来训练自己,然后标记未知数据。

强化学习:机器从“试错”过程中学习的方法。机器从过去的决策经验中学习,并利用它的学习来预测未来决策的结果。强化学习算法的例子有Q-Learning, Temporal Difference等。

线性回归

线性回归是通过拟合数据点上的最佳直线来预测连续变量的结果。最佳拟合线定义了因变量和自变量之间的关系。该算法试图找到最适合预测目标变量值的直线。通过使数据点与回归线之间的差的平方和最小达到最佳拟合线。

640.png

线性回归(来源:onlinestatbook)


Equation: Y = c + m₁X₁ + m₂X₂ + ….. +mnXn

Y → Dependent Variable or Target Variable

m → Slope

c → Intercept

X → Independent Variables

逻辑回归

逻辑回归是一种基于自变量估计分类变量结果的分类算法。它通过将数据拟合到logistic函数来预测某一事件发生的概率。通过最大化似然函数,对logistic函数中自变量的系数进行优化。优化决策边界,使成本函数最小。利用梯度下降法可以使代价函数最小化。

640.png

逻辑回归的s型曲线

640.png

Logistic回归的成本函数

640.png

logistic回归方程

朴素贝叶斯算法

朴素贝叶斯是一种基于贝叶斯定理的分类算法。该算法假设自变量之间不存在相关性。也就是说,一个类中某个特性的出现与同一类中另一个特性的出现是没有关系的。我们针对类为所有预测器创建一个频率表(目标变量的不同值),并计算所有预测器的可能性。利用朴素贝叶斯方程,计算所有类别的后验概率。朴素贝叶斯分类器的结果将是所有类概率中概率最高的类。

640.png

决策树

决策树主要用于分类问题,但它们也可以用于回归。在该算法中,我们根据有效性划分数据集的属性,将数据集划分为两个或多个同构集。选择将分割数据集的属性的方法之一是计算熵和信息增益。熵反映了变量中杂质的数量。信息增益是父节点的熵减去子节点的熵之和。选择提供最大信息增益的属性进行分割。我们也可以使用基尼指数作为杂质标准来分割数据集。为了防止过度分割,我们优化了max_features、min_samples_split、max_depth等决策树的超参数。

640.png

信息熵, c → No. of classes

640.png

基尼系数

随机森林

随机森林由多个决策树组成,作为一个集合来运行。在随机森林中,每棵决策树预测一个类结果,投票最多的类结果成为随机森林的预测项。为了做出准确的预测,决策树之间的相关性应该最小。有两种方法可以确保这一点,即使用Bagging和特性选择。Bagging是一种从数据集中选择随机观察样本的技术。特征选择允许决策树仅在特征的随机子集上建模。这就防止决策树使用相同的特性进行预测的情况。

640.png

随机森林(来源:victorzhou)


k-NN (k - Nearest Neighbors)

该算法也可用于回归和分类。该算法通过计算数据点与所有数据点的距离来找到k个数据点的最近邻。数据点被分配给k个邻居中点数最多的类(投票过程)。在回归的情况下,它计算k个最近邻居的平均值。距离度量可以使用欧几里得距离,曼哈顿距离,闵可夫斯基距离等。为了消除距离相等的可能,k的值必须是一个奇数。由于每个数据点与其他数据点的距离都需要计算,因此该算法的计算时间开销较大。

640.png

距离度量knn(来源:tutorialspoint)640.png


K-Means

K-Means是一种无监督学习算法,用于形成数据簇。形成的集群应该使集群内的数据点尽可能相似,集群之间的差异尽可能明显。它随机选择K个位置,每个位置作为一个簇的质心。数据点被分配到最近的簇。在分配数据点之后,计算每个聚类的质心,再次将数据点分配到最近的聚类中。此过程将重复进行,直到在每次连续迭代中数据点保持在同一簇中,或簇的中心不改变为止。我们还可以指示算法在进行一定次数的迭代后停止计算。

640.png

K-Means聚类(来源:Stanford)


Apriori算法

Apriori算法是一种基于关联规则的数据库频繁项集识别算法。频繁项集是支持度大于阈值的项集。关联规则可以被认为是一种IF-THEN关系。它通常用于市场篮子分析中,发现不同商品之间的关联。支持、置信度和提升是帮助确定关联的三个措施。

640.png

支持(A和B是不同的项)

640.png

置信度

640.png

提升

支持指某些项目集一起出现的频率。

置信度计算项目集在其中一个项目出现的概率。

提升表示关联规则的强度。支持是用户定义的阈值。

640.png

XGBoost

XGBoost是一种基于决策树的梯度增强算法(集成的另一种类型)。XGBoost涉及一组较弱的学习者,它们结合在一起可以做出准确的预测。Boosting是一个序列集成,每个模型都是在修正之前模型错误分类的基础上构建的。换句话说,它接收到前一个模型的错误,并试图通过学习这些错误来改进模型。

640.png

支持向量机(SVM)

SVM也是一种监督学习算法,可用于分类和回归问题。支持向量机试图在N维空间(N指特征的数量)中找到一个最优超平面来帮助分类。它利用铰链损失函数,通过最大化类观测值之间的裕度距离来寻找最优超平面。超平面的维数取决于输入特征的数量。如果特征个数为N,则超平面的维数为N-1。

640.png


铰链损耗函数:t→目标变量,w→模型参数,x→输入变量(来源:维基百科)

感谢您阅读本文。

目录
相关文章
|
21天前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
65 4
|
14天前
|
机器学习/深度学习 存储 运维
分布式机器学习系统:设计原理、优化策略与实践经验
本文详细探讨了分布式机器学习系统的发展现状与挑战,重点分析了数据并行、模型并行等核心训练范式,以及参数服务器、优化器等关键组件的设计与实现。文章还深入讨论了混合精度训练、梯度累积、ZeRO优化器等高级特性,旨在提供一套全面的技术解决方案,以应对超大规模模型训练中的计算、存储及通信挑战。
45 4
|
14天前
|
存储 人工智能 缓存
【AI系统】布局转换原理与算法
数据布局转换技术通过优化内存中数据的排布,提升程序执行效率,特别是对于缓存性能的影响显著。本文介绍了数据在内存中的排布方式,包括内存对齐、大小端存储等概念,并详细探讨了张量数据在内存中的排布,如行优先与列优先排布,以及在深度学习中常见的NCHW与NHWC两种数据布局方式。这些布局方式的选择直接影响到程序的性能,尤其是在GPU和CPU上的表现。此外,还讨论了连续与非连续张量的概念及其对性能的影响。
36 3
|
19天前
|
机器学习/深度学习 人工智能 算法
探索人工智能中的强化学习:原理、算法与应用
探索人工智能中的强化学习:原理、算法与应用
|
18天前
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
37 1
|
27天前
|
缓存 算法 网络协议
OSPF的路由计算算法:原理与应用
OSPF的路由计算算法:原理与应用
36 4
|
27天前
|
存储 算法 网络协议
OSPF的SPF算法介绍:原理、实现与应用
OSPF的SPF算法介绍:原理、实现与应用
65 3
|
27天前
|
机器学习/深度学习 自然语言处理 算法
深入理解机器学习算法:从线性回归到神经网络
深入理解机器学习算法:从线性回归到神经网络
|
19天前
|
机器学习/深度学习 人工智能 算法
探索人工智能中的强化学习:原理、算法及应用
探索人工智能中的强化学习:原理、算法及应用
|
27天前
|
机器学习/深度学习 算法
深入探索机器学习中的决策树算法
深入探索机器学习中的决策树算法
35 0