Advertisement

An Introduction to Statistical Learning with Applicatio

阅读量:

作者:禅与计算机程序设计艺术

1.简介

1.1定义

统计学习(statistical learning)一门涉及从数据中提取知识并用于预测、决策或其他目的的学科。它属于机器学习、数据挖掘及计算机视觉等领域的范畴,并被视为当前人工智能领域的热点方向。

1.2特点

  • 数据驱动:统计学习倾向于采用组织化数据——常见于表格或矩阵形式——作为输入;
    • 假设空间少:统计学习通常只考虑概率模型类或概率分布类作为假设空间;
    • 模型复杂性高:统计学习模型一般都涉及大量参数用于描述其内在不确定性;
    • 有监督学习:基于训练样本建立目标函数相关模型,并要求样本具备标签信息或已明确区分训练集与测试集。

1.3市场现状

在过去十年间人工智能领域取得了长足进展。然而由于缺少系统的理论体系与完整的理论框架而导致目前市场仍存在巨大缺口。而统计学习已发展成为该领域的重要分支之一面临着一个关键的转型期。作为一门新兴学科统计学习广泛应用于各行业及企业中其重要性日益凸显。据相关数据显示截至目前全球拥有超过百万名AI从业者其中90%以上均接触过统计学习的相关技术而在经济快速发展中的国家如中国日本等则对该技术给予特别重视例如根据IDC数据2020年中国在全球统计学习领域的研究工作量位居首位并且有六成主要研究来自中国因此在国内也可以观察到这一深刻的技术变革

2021年 marks a historic moment for the field of artificial intelligence. As human society realizes, artificial intelligence technology can solve numerous practical issues, and by endowing humans with unique characteristics, it creates an even more beautiful life scenario. The era of "intelligent manufacturing," "intelligent cities," "intelligent healthcare," and "intelligent transportation" is particularly noteworthy. However, as these trends unfold, new challenges arise: How can we systematically, scientifically, and reliably implement and manage these technologies? Moreover, how to effectively protect personal privacy becomes an urgent concern.

鉴于此,在人工智能领域中运用统计学习的场景愈发广泛的应用前景不可忽视,并在其独特价值方面表现得尤为突出;同时,在全球科技发展中扮演着举足轻重的角色

2.相关概念术语

2.1样本

在统计学习中, 样本一般指用于训练模型的数据集. 一般情况下, 我们需收集多个样本来训练有效的模型, 并且样本数量越多, 则模型性能越佳.

2.2特征

在每个样本数据中, 每一列代表一个特定的特征. 具体来说, 特征可能分为连续变量(例如年龄)、类别变量(例如性别)以及文本变量等.

2.3标签/目标变量

目标标记是指用于预测结果或进行分类的目标变量。在分类任务中,目标标记标识样本所属的具体类别。

2.4假设空间

统计学习假设计划代表所有可能的机器学习算法集合。假设计算机学习中的各种算法都属于这一类算法范畴,并且通过不同方法对数据进行建模和分析。

2.5似然函数/目标函数

在统计学领域中, 似然函数常用于评估给定数据生成模型的概率. 目标函数旨在最小化目标变量与预测值之间的误差, 并通过选择合适的数据来优化模型.

2.6参数估计/后验概率

统计学习中采用极大似然估计、贝叶斯方法以及EM算法来完成模型参数的估计工作。后验概率指的是,在给定观测数据X的情况下,模型参数θ的概率密度函数P(θ|X)所描述的概率分布。

2.7超参数/算法参数

在训练模型的过程中,超参数被设定为特定数值。例如,在设置这些数值时通常会考虑的因素包括初始值设定、学习率大小以及惩罚系数的选择等。这些数值的选择会影响最终模型的表现效果。另一方面,在优化过程中涉及的关键因素包括迭代次数多少以及初始化策略等。这些因素共同决定了算法最终的表现效果。

2.8交叉验证

交叉验证法是一种用于评估机器学习模型性能的数据分析方法。它通过将原始数据集划分为两组来实现这一目标:一部分作为训练数据用于模型参数优化(parameter tuning),另一部分作为测试数据用于计算模型评估指标(performance metrics)。在训练阶段利用训练数据进行模型参数优化,在测试阶段则通过测试数据计算模型评估指标(如准确率等),从而有效调整模型参数并提高预测效果。

2.9正则化

通过正则化机制可以有效防止模型过拟合。正则化项会导致模型参数某些维度减小进而降低复杂度,并提升模型的抗干扰能力。

2.10偏差-方差权衡

偏差-方差平衡是机器学习过程中一个常见的挑战,在这一难题中,则不得不在这两个关键因素——模型复杂度和数据量大小之间做出权衡。简单来说法通常表现出较低但稳定的预测误差(偏差),然而它们对数据噪声较为敏感;相比之下,则可能拥有较高的方差……为了达到最佳效果……则需要找到最佳折中方案……

3.核心算法

3.1线性回归

简单线性回归分析是最基本的统计学习模型之一。其假设模型空间是一条直线,并通过应用最小二乘法获得相应的参数估计值来进行预测估计。

3.2逻辑回归

逻辑回归(logistic regression)模型可用于对分类且有序的输出变量进行建模。该模型借助Sigmoid函数将连续输出变量转换为0至1之间的数值。其图像呈S型,并呈现出与sigmoid函数相似的特点。此外,在实际应用中,我们可以观察到以下现象:当值接近0.5时,则认为样本属于正类;而当数值偏离这一范围较大时,则判断样本属于负类。

3.3支持向量机

该方法主要运用SVM作为分类工具,在特征空间中通过间隔最大化约束来区分不同类别样本。核函数的主要作用是实现对原始输入数据的非线性映射,在高维空间中完成分类任务。

3.4决策树

决策树(decision tree)被称为一种用于分类与回归任务的基本机器学习模型。该模型基于其结构特征将输入空间划分为互不重叠的区域,并按照特定条件将实例分配到相应的区域中去。此外,这种模型能够识别数据的最佳划分模式。这种模型不仅具备极高的灵活性,并且适用于各类不同类型的输入数据;特别适合处理具有大量特征的数据。

3.5随机森林

随机森林(random forest)是一种基于多棵决策树实现集成学习的技术方法。通过集成多棵决策树,该方法能够生成更为精确和可靠的预测模型。该方法中的每一棵决策树均基于从训练数据集中抽取的不同随机子集构建。

3.6Adaboost

AdaBoost( AdaBoost 的变体形式)属于一种基于迭代过程的弱学习器集成算法。该方法通过逐步调整各阶段模型在集成过程中的权重分配机制,在后续模型中着重优化对难以分类样本的关注。

3.7kNN

k-近邻(k-Nearest Neighbors, kNN)属于一种分类算法。该算法通过distance metric测量输入数据与样本之间的距离,并找出距离最近的k个样本;基于这些k个样本所包含的信息来确定输入数据所属的类别信息。

3.8朴素贝叶斯

Naive Bayes模型(naive Bayes)被用作分类任务的核心方法。基于独立性假设的基础上,该模型通过应用贝叶斯定理来推导先验概率和条件概率,并基于这两个概率值作出类别归属的判断。Naive Bayes模型提供了一个高效且易于理解的分类解决方案。

3.9PCA

主成分分析(principal component analysis, PCA)被用作一种降维技术。它被用来通过建立一组新的基变量(principal components)来最大化数据集的总方差。这种线性变换能够有效地去除冗余信息并将其映射到一个低维的空间中。

3.10LDA

线性判别式分析(LDA),亦被称作费舍尔线性判别式分析法的一种分类算法。其机制通过最大化两类之间的间距并最小化同一类别内部的数据分布情况之和来实现对输入空间的划分。该技术作为一种线性分类模型,在实现上较为简单易行且具备较高的效率。

4.具体操作步骤

下面将从基本概念到具体的代码示例这一部分开始详细阐述统计学习的基础理论以及各模型的操作流程。

4.1线性回归

假定输入变量间呈现线性关联关系

4.1.1 最小二乘法求回归系数

在给定条件下,在最小二乘法中,我们首先计算出:其中符号X^{\top}代表矩阵X的转置操作。

4.1.2 回归预测

假设我们有一个新的观测样本向量x^{*}属于矩阵X中的某一行,则根据线性回归模型推导出其对应的预测输出\hat{y}^{*}与相关参数向量\hat{\beta}之间的关系式为:\hat{y}^{*}= \hat{\beta}^T x^{*}

4.1.3 计算均方误差和决定系数

我们可以采用均方误差(Mean Squared Error, MSE)这一指标来评估模型的表现。具体而言,

MSE(\hat{\beta})=\frac{1}{n}\sum_{i=1}^n(y_i-\hat{y}_i)^2

其中,

R^2(\hat{\beta})=\frac{SS_{\text{reg}}}{\hat{\sigma}^2}, \quad SS_{\text{reg}}=\sum_{i=1}^n(y_i-\hat{y}_i)^2 = \sum_{i=1}^n(y_i - (\hat{\beta}_0 + \hat{\beta}_1 x_i))^2.

决策系数 R^2 是衡量模型拟合优度的关键指标,在理论范围内取值介于 0 和 1 之间。当 R^2 趋近于 1 时,
说明模型对数据具有极强的拟合能力;而若 R^2 出现负值,则表明该模型未能有效捕捉变量间的关联性。

4.2逻辑回归

逻辑回归是一种分类模型,在其响应变量中既可以取连续值也可取有序值。该方法假定响应变量遵循伯努利分布。其数学表达式为:P(Y=1|X) = \frac{1}{1 + e^{-(\beta^T X + \beta_0)}}其中\beta表示回归系数向量,Y表示响应变量(二元类别标签),\beta^T X表示输入向量X与其转置与系数向量\beta的点积加上截距项\beta_0的结果

4.2.1 对数似然函数

对数似然函数为: 其中 \mathbf{X} 是输入数据,\boldsymbol{\theta} 是参数。

4.2.2 梯度下降法求解

该算法被广泛应用于解决无约束优化问题,在机器学习领域具有重要地位。其基本原理在于通过沿负梯度方向更新参数以逐步逼近最优解。对于逻辑回归模型而言,则遵循以下具体的参数更新规则:其中\alpha^{(t)}表示第t次迭代的学习率。

4.2.3 损失函数和代价函数

损失度量(loss function)是用来衡量模型预测结果与真实值之间差异的标准,在机器学习中被广泛采用。成本计算(cost function),也被称为目标函数或价值函数,在监督学习任务中通常表示为一个可优化的目标。对于逻辑回归问题而言,在其二分类场景下其损失函数定义为:\text{其中} P(Y|X) \text{表示给定输入变量} X \text{时事件} Y \text{发生的概率}

4.2.4 最大熵模型

该方法是一种对数线性分类器,在训练过程中通过最大化数据的不确定性来拟合输入样本集。该方法假设数据分布的变化源于多个独立同分布的小干扰因素,并能有效规避高斯分布所固有的不确定性问题。其中 \tilde{H}(\mathbf{x}, Y) 代表基于给定输入向量\mathbf{x}及其对应类别Y的最大熵系统的边缘似然函数值;而Z则表示归一化常数项,在计算中用于保证概率分布的有效性。该方法通过最大化对数似然函数来确定最优参数配置以达到分类效果最佳化的目的。

4.3支持向量机

支持向量机(SVM)是一种基于支持向量的分类技术。这种技术特别擅长处理高维数据中的分类任务。通过划分不同区域来实现分类,在同一区域内的样本点将被归入同一类别。为了实现这一目标,在划分不同区域时需要运用核函数来计算样本点至决策边界的距离

4.3.1 硬间隔支持向量机

硬间隔支持向量机(Hard Margin Support Vector Machine, HSVM)是一种用于分类的任务。HSVM 的核心目标在于确定一个明确的决策边界,使得所有训练样本都能被正确归类。其优化目标函数可表示为:其中 \mathbf{w} 表示法向量,b 代表截距项,在此框架下 C>0 作为惩罚强度因子被引入以调节对误分样本的敏感度,并且对于每个样本 i 来说 \xi_i\geq 0 赋予了相应的误判惩罚系数。

4.3.2 软间隔支持向量机

带软间隔的支持向量机模型通过引入容错区间实现了对原始HSVM的优化。其特点在于能够容忍少量样本点被错误分类,并通过目标函数的设计引导学习过程以达成更好的泛化能力。具体而言,在目标函数中我们引入了松弛变量\xi_i来度量各训练样本点与决策面之间的偏离程度,并将这一偏离程度作为正则化项加入损失函数中进行最小化求解。具体形式如下:

\min_{\omega,b,r} \frac{1}{2}\|\omega\|^2 + C\sum_{i=1}^m \left[y_i(\omega^\top \phi(x_i) + b) - 1 + \xi_i\right]^+

其中当\xi_i = 0时,若满足y_i(\omega^\top \phi(x_i) + b) > 1 - \zeta_i则该样本点将被视为支持向量。这里\zeta_i \in (0,1)表示松弛参数用于控制容错区间的大小。

4.3.3 支持向量

支撑向量是SVM中的关键组成部分。这些输入点不仅通过最大化间隔边界来实现分类任务,并且其本质特征就是离分界面最近的那些点。

4.4决策树

决策树(Decision Tree)是一种常用的数据分析与预测工具,在分类和回归问题中表现卓越。其结构由节点、分支以及叶子节点构成。在构建过程中, 该模型从根节点出发, 并通过递归地分割内部节点来生成一系列判断准则。最终的叶子节点对应特定类别标签, 并标识出模型预测的结果。

4.4.1 ID3算法

该ID3算法(Iterative Dichotomiser 3, ID3)被认定为构建决策树的经典方案。该算法采用信息增益、信息 gain ratio 或 Gini impurity 作为划分依据。具体而言:
首先初始化参数基于属性集和实例集;
然后通过特征选择指标计算候选特征;
接着选择最优特征进行数据分割;
最后将数据集划分为若干子集。

  1. 当训练数据集中所有实例均属于同一类别Ck时,则构成单节点树,并将其类标记定为Ck后返回。
  2. 当训练数据集为空集时,则构成单节点树,并将其类标记定为空集后返回。
  3. 否则,在选定划分属性的基础上对训练数据集进行分割。
  4. 根据信息增益率最高的属性确定分割标准。
  5. 通过该属性设定分割点后将训练数据集划分为若干子集。
  6. 对子集依次递归地执行上述步骤直到满足终止条件。
  7. 创建新的子节点并将实例归入相应子节点完成决策树构建。

4.4.2 C4.5算法

C4.5算法基于启发式的优化是对ID3算法的改进方案,在生成分类树的过程中采用了更为灵活和高效的策略来确定划分特征。其运行流程与经典的ID3算法完全一致。

4.4.3 CART算法

基于(Classification and Regression Tree)的CART算法是另一种生成决策树的方法。 CART算法旨在通过最小化平方误差来构建决策树

  1. 确定最佳分割特征及其分割阈值后生成根节点。
  2. 当样本集合为空或者仅包含噪声样本时,则停止构建树并赋予当前节点最多的类标签。
  3. 否则依据选定的特征与阈值将训练数据分割;若子节点数量少于设定下限则不再细分。
  4. 只要剩余样本数满足最低实例数量要求则不再细分。
  5. 除非剩余数据无法满足最低实例要求否则生成新的内部节点并对每个新分支递归应用这一过程。
  6. 输出构建好的决策树模型及其分类结果。

4.5随机森林

随机集合模型(Random Forest)是由多个决策树组成的集成学习方法。每个决策树都是基于训练数据集的不同子集构建而成。该模型的核心理念在于通过构建一系列相互独立的决策树来进行协同完成预测目标。

4.5.1 Bootstrap aggregating

Bootstrap aggregating (Bagging)主要采用一种集成学习方法作为其核心技术。它通过构建多个独立的决策树来进行预测任务的协同作用。其核心理念是让每棵决策树基于各自独立且无交互影响的训练数据集进行模型构建。

4.5.2 随机特征

随机特征(Random Feature)是 Bagging 的一种核心变体。在每个分割过程中,它会对输入数据进行随机采样而非基于索引划分的方式操作。这种机制有助于提升决策树的泛化能力。

4.5.3 正则化

随机森林中采用正则化是一种重要方法。这种技术在构建决策树的过程中通过引入噪声来抑制模型过拟合。这些策略主要涉及两种不同的方法方案:一种是基于特征选择的限制另一种是基于样本空间划分的约束机制。

  • 剪枝:基于特定的损失函数对决策树的复杂性进行评估,并筛选出具有较高复杂度的子树结构。
  • 子采样:从训练样本中以一定比例进行抽样处理,在确保各棵决策树具备相似特征的基础上实现数据分布的一致性,并防止各棵决策树在学习过程中产生过拟合现象。

4.6AdaBoost

AdaBoost(Adaptive Boosting)是一种基于自适应增强学习的强大分类方法。该算法通过迭代过程不断调整各弱分类器的重要性系数,在逐步优化分类效果的过程中特别重视那些难以准确分类的对象。其基本工作流程主要包括以下几个关键环节:

初始化各个数据点的初始权重要求,在本算法中所有训练数据点被赋予相同的初始权值 D_t = \frac{1}{n}(其中 n 表示训练数据集中的总数据点数目)。随后系统将通过基本分类器(weak classifier)对这些训练数据集进行一次初步分类任务操作。在每次迭代过程中系统都会根据上一步计算得到的各数据点的新权值来进行下一轮的数据分析与学习工作流程:具体而言,在每一次迭代中系统都会动态地调整各个训练数据点所对应的权重要求;当系统的整体收敛条件得到满足或者达到了预先设定的最大迭代次数限制时则停止整个算法运行流程。

4.6.1 AdaBoost-SAMME 方法

AdaBoost-SAMME 方法源自于Adaboost家族中的一个分支体系。该方法主要基于优化各个基分类器的指数损失函数以确定分类阈值,并提供了相应的数学表达式框架。具体而言,在这个框架中:首先需要最小化一个由多个因素构成的目标函数;其次需要满足一系列约束条件;最后还需要定义一个用于衡量每个基分类器性能的关键指标——误分率变量γ(gamma)。整个过程均需严格遵循给定的数学公式指导进行操作并完成计算任务

其中\mathcal{D}_i表示第i个子模型所使用的训练数据集集合;β代表第i个子模型的学习系数;γ(gamma)则是一个缩放因子参数;ε_i则表示第i个子模型对应的误分率变量;d_γ(u,v)是一个由参数γ控制的双调函数形式;其作用机制在于能够动态地根据输入样本对当前子模型的学习效果进行反馈调节

4.6.2 AdaBoost-SAMME.R 方法

AdaBoost-SAMME.R 方法是一种基于Adaboost-SAMME算法的一种变体方法。该方法采用计算所有基分类器预测结果中位数的方式确定分类阈值,并寻求最小化目标函数F(β; D, m)的同时满足以下约束条件:对于所有的i来说,在特定的数据集Di(X)上进行训练时的所有基分类器预测结果之和小于1/2;并且对于每一个i来说,在Di(X)上的每一个基分类器预测结果都必须非负;最后在Di(X)上的误判率εi则由γ参数控制下的距离函数dγ来衡量。其中fi表示第i个基分类器;Di(X)表示用于训练第i个基分类器的数据集;而dγ是一个由参数γ调节的双调函数

4.7kNN

该算法利用距离测度评估输入数据与各个样本间的距离关系,在这一类别的方法体系中具有显著的应用价值。具体而言,在处理分类任务时,该方法首先通过预设的距离函数计算出输入实例与其他训练实例的距离值;随后系统地识别出与之最接近的前k个训练实例;最后依据这前k个实例所属类别出现频率较高的类别作为预测结果。

4.7.1 kNN 回归

k-Nearest Neighbors regression(KNN回归)是一种用于回归任务的方法。它基于邻居样本预测输入样本的目标属性。其预测结果通常通过计算与目标样本最接近的k个训练样本标签加权平均来实现。

4.7.2 kNN 分类

k-近邻分类法(k-Nearest Neighbors classification, KNC)是将kNN方法应用于分类任务的一种用途。其核心理念在于通过分析输入数据中选择k个近邻来进行投票来确定最终结果。具体而言,在KNC算法中,每个实例会被其邻居实例的影响所指导,并依据邻居实例的数量及其标签来进行预测决策

全部评论 (0)

还没有任何评论哟~