机器学习 - 监督学习
机器学习 - 监督学习
Section titled “机器学习 - 监督学习”监督学习 (Supervised learning) 是机器学习中一个基础范式,模型通过标记数据 (labeled data) 进行学习。这意味着每个训练样本都与一个输出标签或目标值 (target value) 配对。本章将探讨监督学习中常用的算法。
监督学习的关键算法
Section titled “监督学习的关键算法”有多种算法可用于监督学习任务(分类 (classification) 和回归 (regression))。一些最广泛使用的算法包括:
- k近邻 (k-Nearest Neighbours, kNN)
- 决策树 (Decision Trees)
- 随机森林 (Random Forests)
- 梯度提升机 (Gradient Boosting Machines, e.g., XGBoost, LightGBM)
- 朴素贝叶斯 (Naive Bayes)
- 逻辑回归 (Logistic Regression)
- 支持向量机 (Support Vector Machines, SVMs)
接下来我们将更详细地讨论这些算法。
k近邻 (kNN)
Section titled “k近邻 (kNN)”k近邻 (kNN) 算法是一种非参数方法 (non-parametric method),用于分类和回归。对于分类,想象一个二维图上有点属于不同的类别,比如红色、蓝色和绿色。每个类别可能形成一个松散的点簇。当一个新的未标记数据点出现在这张图上时,kNN 通过识别其“k”个最近的邻居(基于距离度量,如欧几里得距离 (Euclidean distance))对其进行分类。然后,新点被分配到其 k 个邻居中最常见的类别。例如,如果 k=5,并且五个最近邻居中有三个是蓝色,那么新点将被分类为蓝色。kNN 形成的决策边界 (decision boundaries) 可能很复杂且非线性。
对于回归,kNN 通过对 k 个最近邻居的值取平均来预测新点的值。kNN 易于理解,但对于大型数据集而言计算开销大 (computationally expensive),因为它需要为每个新预测计算与所有训练点的距离。
决策树 (Decision Tree) 是一种使用决策及其可能结果的树状图模型。它就像一个流程图,每个内部节点 (internal node) 代表一个对属性 (attribute) 的测试(例如,“电子邮件是否标记为紧急?”),每个分支 (branch) 代表测试的一个结果(例如,“是”或“否”),每个叶节点 (leaf node) 代表一个类别标签(例如,“立即阅读”)或一个连续值(用于回归树)。要对新实例进行分类,从根节点开始,根据测试结果沿着树向下遍历,直到到达叶节点。决策树直观且易于解释,但单个树可能容易对训练数据过拟合 (overfitting)。
随机森林 (Random Forests) 是一种集成学习 (ensemble learning) 方法,它在训练期间构建多个决策树,并输出单个树的类别众数 (mode)(分类)或平均预测 (mean prediction)(回归)作为结果。通过在树构建中引入随机性(例如,使用特征和数据样本的随机子集),随机森林通常比单个决策树具有更高的准确性,并且对过拟合更具鲁棒性 (robust)。
梯度提升机 (GBMs)
Section titled “梯度提升机 (GBMs)”梯度提升 (Gradient Boosting) 是另一种强大的集成技术,它顺序地构建树,其中每棵新树都纠正之前树的错误。像 XGBoost、LightGBM 和 CatBoost 这样的算法是梯度提升的高效且有效的实现,通常在结构化数据或表格数据 (structured or tabular data) 上提供最先进的结果 (state-of-the-art results)。它们以其高预测精度而闻名,但可能需要仔细调整超参数 (hyperparameters)。
朴素贝叶斯分类器 (Naive Bayes classifiers) 是一系列简单的概率分类器 (probabilistic classifiers),基于应用贝叶斯定理 (Bayes’ theorem),并对特征之间做出强(朴素)独立性假设 (independence assumptions)。例如,要根据颜色、大小和形状等特征对篮子里的水果进行分类,朴素贝叶斯会假设水果的颜色与其大小无关,前提是已知其类别(例如,“苹果”)。尽管这种独立性假设通常不切实际,但朴素贝叶斯分类器在许多实际情况中表现得非常好,尤其是在文档分类 (document classification) 和垃圾邮件过滤 (spam filtering) 中,并且需要相对较少的训练数据。
尽管名称如此,逻辑回归 (Logistic Regression) 是一种广泛用于二元分类问题 (binary classification problems)(输出是两个类别之一)的算法。想象一个二维图上有点属于两个不同组,比如红点和绿点。逻辑回归旨在找到一条线(或者更一般地,在高维空间中的一个超平面 (hyperplane)),可以最好地分隔这两个组。该算法使用逻辑函数或 Sigmoid 函数 (logistic (or sigmoid) function) 对给定输入点属于特定类别的概率进行建模。然后,新数据点根据它们落在哪一侧的决策边界 (decision boundary),或者更精确地说,根据它们的预测概率进行分类。
支持向量机 (SVMs)
Section titled “支持向量机 (SVMs)”支持向量机 (Support Vector Machines, SVMs) 是强大的分类器,旨在找到在特征空间 (feature space) 中最大限度地分隔类别的最优超平面 (optimal hyperplane)。考虑一种情况,不同类别的数据点无法用单一直线分隔;例如,一个类别可能围绕着另一个类别形成一个环。SVMs 可以通过使用“核技巧” (kernel trick) 来处理这种非线性分隔,该技巧将数据隐式映射到可能存在线性分隔的更高维空间 (higher-dimensional space)。SVMs 找到的边界由“支持向量” (support vectors) 决定,这些是离决策边界最近的数据点。SVMs 在高维空间中可能很有效,并且由于可以选择不同的核函数 (kernel functions) 而具有通用性。