热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

支持向量机(SVM)的数学原理

支持向量机(SVM)的数学原理线性可分数据数据抽象为不同特征值作为不同维度的向量后,将分布在高维空间中,高维空间中的数据,如果能用一个维

支持向量机(SVM)的数学原理




线性可分数据

数据抽象为不同特征值作为不同维度的向量后,将分布在高维空间中,高维空间中的数据,如果能用一个维平面分开不同标签的数据,则称这组数据线性可分。




高维空间中的距离

如果高维空间中的数据线性可分,我们希望尽量用一个平面把两组数据分得开一点,那么我们需要引入度量,下面推导高维空间中的距离。
  
这里写图片描述




求解分隔平面的优化问题

考虑线性可分的数据,我们为了分得开一点,需要转化为以下优化问题,由于优化问题是一个带约束的最值问题,所以可以考虑使用拉格朗日乘子法求出平面参数符合的必要条件。
  
这里写图片描述

求解时,可以转化为对偶问题求解。(对偶问题以及KKL条件可以参考拉格朗日乘子法)

这里写图片描述




用SMO算法求解对偶问题

当优化变量很多的时候,可以先固定某些变量仅仅允许两个变量变动,且由于约束条件,事实上变成了一元函数,再对这个一元函数求最大值,而这个求解的难度会小很多,有闭合形式的代数解。
  那么一次固定调整过程后,优化值变大。重复迭代这一过程即可。

当然,因为我学习的时候仅仅关心数学原理,并不关心实现细节。所以没有深究选择变量的原则,事实上选择变量需要用启发式搜索,也就是说有某种原则,使得选择的变量可以令值上升尽量多。每次更新还需要更新阈值b保证KKT条件。




选择核函数处理线性不可分数据

当线性不可分的时候,需要选择合适的核函数,即认为分隔在核函数作用后的平面中进行:wTΦ(x)+b=0w^T\Phi(x)+b=0wTΦ(x)+b=0

那么我们实际不必求解Φ(x)\Phi(x)Φ(x),只需要求解Φ(xi)TΦ(xj)\Phi(x_i)^T\Phi(x_j)Φ(xi)TΦ(xj)即可。

关于核函数的选择,不同选择对应不同核,有线性核,多项式核,高斯(对应RBF神经网络),拉普拉斯核,sigmoids核(对应单层MLP神经网络)。




软间隔和正则化

因为允许的噪音和反例存在,所以约束不应该是硬约束,而是软约束,也就是违反会获得惩罚,但是违反这个0/1函数不可导,所以用对应的可导函数代替。这就是软间隔。
  
  正则化为了降低结构风险,构造关于参数大小的惩罚项。
  
  这两个技术是SVM中常见的技术。




支持向量

事实上由于很多点比较远,所以在KKT条件中,λi\lambda_iλi对应取0,而分隔平面不会经过它们,所以可以忽略它们降低复杂度。也就是说,学习的时候只学习最容易混淆的,最靠近分隔面的。那么这些留下来的向量称为支持向量。支持向量的思想可以减少运算量和复杂度。




结语

我学习的时候着重关注支持向量机的数学原理,所以前面部分推导总结较仔细,后面具体实现的知识简单地过一遍。
  
  下面解释一下,支持向量机名字,顾名思义:
  支持向量(Support Vector): 高维空间内平面分隔数据点向量,保留支持向量。
  机(Machine): 二分判定机器


推荐阅读
  • 机器学习中的相似度度量与模型优化
    本文探讨了机器学习中常见的相似度度量方法,包括余弦相似度、欧氏距离和马氏距离,并详细介绍了如何通过选择合适的模型复杂度和正则化来提高模型的泛化能力。此外,文章还涵盖了模型评估的各种方法和指标,以及不同分类器的工作原理和应用场景。 ... [详细]
  • 毕业设计:基于机器学习与深度学习的垃圾邮件(短信)分类算法实现
    本文详细介绍了如何使用机器学习和深度学习技术对垃圾邮件和短信进行分类。内容涵盖从数据集介绍、预处理、特征提取到模型训练与评估的完整流程,并提供了具体的代码示例和实验结果。 ... [详细]
  • 机器学习核心概念与技术
    本文系统梳理了机器学习的关键知识点,涵盖模型评估、正则化、线性模型、支持向量机、决策树及集成学习等内容,并深入探讨了各算法的原理和应用场景。 ... [详细]
  • 大数据时代的机器学习:人工特征工程与线性模型的局限
    本文探讨了在大数据背景下,人工特征工程与线性模型的应用及其局限性。随着数据量的激增和技术的进步,传统的特征工程方法面临挑战,文章提出了未来发展的可能方向。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 智能车间调度研究进展
    本文综述了基于强化学习的智能车间调度策略,探讨了车间调度问题在资源有限条件下的优化方法。通过数学规划、智能算法和强化学习等手段,解决了作业车间、流水车间和加工车间中的静态与动态调度挑战。重点讨论了不同场景下的求解方法及其应用前景。 ... [详细]
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • 基于2-channelnetwork的图片相似度判别一、相关理论本篇博文主要讲解2015年CVPR的一篇关于图像相似度计算的文章:《LearningtoCompar ... [详细]
  • 本文探讨了图像标签的多种分类场景及其在以图搜图技术中的应用,涵盖了从基础理论到实际项目实施的全面解析。 ... [详细]
  • 在Word中编辑复杂的数学公式常常让人感到头疼,尤其是处理偏微分方程(PDE)等高级数学内容时。然而,最近GitHub上的一个开源项目latexify_py展示了如何利用Python轻松生成LaTeX数学公式,极大地简化了这一过程。 ... [详细]
  • 支持向量机(SVM)算法综述
    支持向量机(Support Vector Machine, SVM)是由Cortes和Vapnik于1995年首次提出的一种机器学习算法。SVM在处理小样本、非线性及高维模式识别问题上表现出显著的优势,并广泛应用于函数拟合等其他机器学习任务中。 ... [详细]
  • 机器学习算法:SVM(支持向量机)
    SVM算法(SupportVectorMachine,支持向量机)的核心思想有2点:1、如果数据线性可分,那么基于最大间隔的方式来确定超平面,以确保全局最优, ... [详细]
  • 本文介绍如何使用OpenCV和线性支持向量机(SVM)模型来开发一个简单的人脸识别系统,特别关注在只有一个用户数据集时的处理方法。 ... [详细]
  • 2017年人工智能领域的十大里程碑事件回顾
    随着2018年的临近,我们一同回顾过去一年中人工智能领域的重要进展。这一年,无论是政策层面的支持,还是技术上的突破,都显示了人工智能发展的迅猛势头。以下是精选的2017年人工智能领域最具影响力的事件。 ... [详细]
  • 本文档旨在帮助开发者回顾游戏开发中的人工智能技术,涵盖移动算法、群聚行为、路径规划、脚本AI、有限状态机、模糊逻辑、规则式AI、概率论与贝叶斯技术、神经网络及遗传算法等内容。 ... [详细]
author-avatar
咖啡色的午后_905
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有