三、【机器学习】【监督学习】- 支持向量机 (SVM)

系列文章目录

第一章 【机器学习】初识机器学习

 第二章 【机器学习】【监督学习】- 逻辑回归算法 (Logistic Regression)

第三章 【机器学习】【监督学习】- 支持向量机 (SVM)

 第四章【机器学习】【监督学习】- K-近邻算法 (K-NN) 

第五章【机器学习】【监督学习】- 决策树 (Decision Trees)

第六章【机器学习】【监督学习】- 梯度提升机 (Gradient Boosting Machine, GBM)

第七章 【机器学习】【监督学习】-神经网络 (Neural Networks)

第八章【机器学习】【监督学习】-卷积神经网络 (CNN)

第九章【机器学习】【监督学习】-循环神经网络 (RNN)

第十章【机器学习】【监督学习】-线性回归

第十一章【机器学习】【监督学习】-局部加权线性回归 (Locally Weighted Linear Regression, LWLR)

第十二章【机器学习】【监督学习】- 岭回归 (Ridge Regression)


文章目录 

前言

一、基本定义

(一)、监督学习

(二)、监督学习的基本流程

(三)、监督学习分类算法(Classification)

二、 支持向量机 (SVM) 

(一)、支持向量机(SVM)定义

(二)、基本概念

(三)、训练过程

(四)、扩展知识(交叉验证)

1.主要步骤:

2.常见的交叉验证类型:

3.总结

(五)、最优分类器的选择

(六)、特点与适应场景

(七)、扩展

三、总结


前言

        在上一章【机器学习】【监督学习】- 逻辑回归算法 (Logistic Regression)中主要介绍监督学习中的分类算法的逻辑归回算法。本章内容主要介绍【监督学习】中分类算法支持向量机 (SVM) 。

一、基本定义

(一)、监督学习

        监督学习(Supervised Learning)是机器学习中的一种主要方法,其核心思想是通过已知的输入-输出对(即带有标签的数据集)来训练模型,从而使模型能够泛化到未见的新数据上,做出正确的预测或分类。在监督学习过程中,算法“学习”的依据是这些已标记的例子,目标是找到输入特征与预期输出之间的映射关系。

(二)、监督学习的基本流程

  • 数据收集:获取包含输入特征和对应正确输出标签的训练数据集。
  • 数据预处理:清洗数据,处理缺失值,特征选择与转换,标准化或归一化数据等,以便于模型学习。
  • 模型选择:选择合适的算法,如决策树、支持向量机、神经网络等。
  • 训练:使用训练数据集调整模型参数,最小化预测输出与实际标签之间的差距(损失函数)。
  • 验证与调优:使用验证集评估模型性能,调整超参数以优化模型。
  • 测试:最后使用独立的测试集评估模型的泛化能力,确保模型不仅在训练数据上表现良好,也能在未见过的新数据上做出准确预测。

(三)、监督学习分类算法(Classification)

  • 定义:分类任务的目标是学习一个模型,该模型能够将输入数据分配到预定义的几个类别中的一个。这是一个监督学习问题,需要有一组已经标记好类别的训练数据,模型会根据这些数据学习如何区分不同类别。
  • 例子:垃圾邮件检测(垃圾邮件 vs. 非垃圾邮件)、图像识别(猫 vs. 狗)。

二、 支持向量机 (SVM) 

(一)、支持向量机(SVM)定义

         支持向量机(SVM, Support Vector Machines)是一种基于统计学习理论和结构风险最小化原则的监督学习模型,主要用于分类和回归任务。其核心思想是通过在特征空间中构建一个最优的超平面,使得不同类别的样本点被该超平面最大程度地分开,同时保证对未知数据有良好的泛化能力。

(二)、基本概念

  • 最大边际原则:SVM试图找到一个具有最大边际的超平面,即距离超平面最近的数据点(支持向量)到超平面的平均距离最大化。这样的超平面能更好地泛化到未见数据。
  • 支持向量:位于超平面附近,决定超平面位置的数据点称为支持向量。
  • 软间隔与惩罚因子C:在实际问题中,数据往往不是完全线性可分的。引入松弛变量允许一些点轻微地违反边际,这称为软间隔。惩罚因子C控制着误分类的容忍程度和模型的复杂度。
  • 核技巧:为了处理非线性可分问题,SVM采用核函数将原始特征空间映射到一个高维甚至无限维的空间,在这个新空间中数据可能变得线性可分。

(三)、训练过程

  1. 数据准备:收集并清洗数据,进行特征选择和标准化处理。
  2. 选择核函数:根据问题特性选择合适的核函数,如线性核、多项式核、RBF核等。
  3. 构建优化问题:构建一个目标函数,该函数最小化超平面到支持向量的距离的同时考虑误分类的惩罚(对于软间隔SVM)。
  4. 求解:利用如SMO(序列最小最优化)、梯度下降或其他优化算法求解上述凸优化问题,得到模型参数。
  5. 模型评估:使用交叉验证等方法评估模型性能,调整参数以优化模型

(四)、扩展知识(交叉验证)

        交叉验证(Cross-Validation,简称CV)是一种评估统计模型性能和泛化能力的重要方法,尤其适用于监督学习中的模型选择和参数调整。其基本思想是将原始数据集分成训练集和验证集(或测试集),通过多次重复分割和评估的过程,来估计模型在独立于训练数据的新数据上的表现。这种方法有助于减少因数据分割偶然性导致的评估偏差,提供更加稳定和可靠的模型性能评估。

1.主要步骤:

        数据分割:首先将数据集随机分成k个互不相交的子集(或“折”),其中k-1个子集用于训练模型,剩下的一个子集用于验证模型性能。这一过程重复k次,每次选择不同的子集作为验证集,其余作为训练集。

        模型训练与评估:对于每一次分割,使用选定的算法和参数在k-1个子集上训练模型,然后在保留的验证集上评估模型性能(比如计算准确率、AUC-ROC等指标)。这样,每个子集都有机会作为验证集被使用一次。

        结果汇总:将k次评估得到的性能指标平均,得到一个综合的性能评估结果。这个平均值可以较好地反映模型在未见数据上的预期表现,因为它考虑了模型在不同数据子集上的稳定性。

2.常见的交叉验证类型:

  • k折交叉验证(k-Fold Cross-Validation):是最常用的交叉验证形式,上面描述的就是k折交叉验证的基本流程,其中k通常是5或10。

  • 留一交叉验证(Leave-One-Out Cross-Validation, LOOCV):是k折交叉验证的一个特例,当k等于数据集的大小时,即每个折仅包含一个样本,适用于数据量较小的情况。

  • 时间序列交叉验证(Time-Series Cross-Validation):适用于时间序列数据,确保训练集总是早于验证集,保持时间顺序,防止未来信息泄露。

 3.总结

         通过交叉验证,不仅可以评估模型的性能,还可以用于模型选择(比如比较不同算法或同一算法的不同参数配置)和调参,帮助找到模型的最佳配置。        

(五)、最优分类器的选择

  1. 选择核函数:首先,需要根据问题的具体情况选择合适的核函数。SVM常用的核函数包括线性核、多项式核、高斯径向基核(RBF)等。选择核函数时,可以先尝试线性核,如果线性核无法达到满意的分类效果,再考虑非线性核。非线性问题中,RBF核因其灵活性和有效性而常被选用。

  2. 参数调优:SVM的主要参数包括正则化参数C和核函数的参数(如RBF核的γ)。C控制着误分类的惩罚程度和模型的复杂度,较大的C意味着对错误分类的惩罚更重,可能导致过拟合;较小的C则更倾向于简化模型,可能导致欠拟合。γ(针对RBF核)控制了数据映射到高维空间的分布密度,较大的γ意味着更复杂的决策边界,可能会过拟合;较小的γ则允许较宽的决策边界。

    • 交叉验证:使用k折交叉验证来评估不同参数组合下的模型性能。通过将数据集分割成k个子集,每次用k-1个子集训练模型,剩下的子集用来测试,然后平均所有轮次的测试结果来评估模型的泛化能力。

    • 网格搜索(Grid Search)或随机搜索(Randomized Search):遍历预先设定好的参数网格,寻找最佳参数组合。随机搜索相比于网格搜索更为高效,特别是在参数空间较大时。

  3. 评估指标:选择合适的评估指标来衡量模型性能,如准确率、精确率、召回率、F1分数或AUC-ROC曲线等,具体取决于问题的需求。

  4. 避免过拟合:监控训练误差和验证误差,确保模型不过分拟合训练数据。如果发现验证误差开始上升,而训练误差继续下降,说明模型可能已经过拟合。

  5. 模型选择:基于交叉验证结果,选择那些在验证集上表现最优的参数组合对应的分类器作为最终模型。

(六)、特点与适应场景

  • 特点:强泛化能力、擅长处理高维数据、对小样本数据友好、可通过核技巧处理非线性问题。
  • 适应场景:文本分类、图像识别、生物信息学、手写数字识别、金融风险评估等。

(七)、扩展

  • 多分类SVM:SVM原为二分类模型,通过一对多(One-vs-All, OvA)或一对一(One-vs-One, OvO)策略扩展至多分类任务。
  • SVM回归(SVR, Support Vector Regression):通过修改损失函数,使SVM可用于回归分析,预测连续值输出。
  • 核函数的选择与设计:不同的核函数适用于不同类型的数据分布,研究和设计更有效的核函数是SVM领域的一个重要方向。
  • 稀疏性:SVM模型往往具有稀疏性,特别是使用软间隔时,只依赖于支持向量,这使得模型易于解释和存储

三、总结

        综上所述,本章详细探讨了监督学习框架下的一种重要分类算法——支持向量机(SVM)。我们从监督学习的基本概念出发,理解了其通过已标记数据学习输入与输出间映射关系的过程,以及这一过程中的各个关键步骤,包括数据收集、预处理、模型选择、训练、验证调优和测试。在此基础上,深入剖析了支持向量机的核心原理,包括最大边际分类思想、支持向量的作用、软间隔的概念以及核技巧的应用,揭示了SVM如何通过优化超平面实现高效分类的机制。

        进一步地,我们阐述了SVM的训练流程,从数据准备到核函数的选择,再到模型的构建与求解,强调了模型评估中交叉验证的重要性及其在参数调优中的应用。通过网格搜索或随机搜索策略,结合适当的评估指标,能够在避免过拟合的同时,寻找到最优的模型参数配置,确保模型在未知数据上的泛化能力。

        此外,我们也探讨了SVM的扩展应用,如多分类问题的解决方案、SVM在回归任务中的变体SVR,以及核函数选择与设计的策略,突显了SVM在多个领域的广泛适用性和灵活性。SVM凭借其在高维数据处理、小样本学习及非线性问题建模方面的优势,成为众多领域中不可或缺的工具。

        总之,支持向量机作为监督学习领域的一项关键技术,不仅深刻体现了结构风险最小化和最大边际原则的价值,而且通过不断的实践与扩展,持续推动着机器学习领域的发展,为解决复杂分类与回归问题提供了强有力的手段。理解并掌握SVM的工作原理与应用,对于提升机器学习项目的性能与效率至关重要。

   更多内容,防止走丢,请关注公众号,公众号会持续更新各类技术内容和职场介绍:

                                             

码上云游

  • 8
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值