0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

支持向量机(核函数的定义)

RG15206629988 来源:行业学习与研究 2023-05-20 10:41 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

根据机器学习相关介绍(10)——支持向量机(低维到高维的映射),支持向量机可通过引入φ(x)函数,将低维线性不可分问题转换为高维线性可分问题。转换后支持向量机的优化问题可改写为:

最小化:1/2||ω||2+C∑δi或1/2||ω||2+C∑δi2,

限制条件:(1)δi≥0,i=1~N;(2)yi(ωTφ(Xi)+b)≥1-δi,i=1~N。

欲求解上述优化问题,需先知道φ(x)的形式。

但支持向量机的创始人Vladimir Vapnik提出结论:完成测试样本的类别预测不必须知道φ(x)的具体形式,如果对任意两个向量X1、X2已知:

K(X1,X2)=φ(X1)Tφ(X2)

则仍可以完成测试样本的类别预测(具体如何完成在下篇文章中叙述)。

上式中K(X1,X2)被定义为核函数(Kernel Function),核函数是一个实数(上式中φ(X1)Tφ(X2)为两个维度相同的行向量和列向量相乘的形式,其结果为一个实数)。

上述结论成立的一个必要条件是核函数K与低维到高维映射φ(x)具有一一对应的关系,即只有核函数K与映射φ(x)一一对应关系,核函数K才能代替φ(x)完成测试样本的类别预测。

一般情况下,核函数K与映射φ(x)具有一一对应关系,下文以两个案例说明核函数K与映射φ(x)的一一对应关系。

案例一:

假设:φ(x)是一个将二维向量映射为三维向量的映射,其中,二维向量X=[x1,x2]T,映射φ(x)=φ([x1,x2]T)=[x12,x1x2,x22];

再假设:X1=[x11,x12]T,X2=[x21,x22]T;

则φ(X1)=[x112,x11x12,x122],φ(X2)=[x212,x21x22,x222];

若核函数K(X1,X2)=φ(X1)Tφ(X2),则K(X1,X2)=[x112,x11x12,x122][x212,x21x22,x222]T=x112x212+x11x12x21x22+x122x222。

案例二:

假设:K(X1,X2)

=(x11x21+x12x22+1)2

=x112x212+x122x222+2x11x12x21x22+2x11x21+2x12x22

=φ(X1)Tφ(X2);

再假设:X=[x1,x2]T;

则φ(x)=φ([x1,x2]T)=[x12,x22,1,√2x1x2,√2x1,√2x2]T(该式中√代表根号,该式推导过程暂不知,若将X1=[x11,x12]T,X2=[x21,x22]T代入该式,再通过φ(X1)Tφ(X2)=K(X1,X2),可反推导出案例二中的核函数),φ(x)中各维度值可相互交换顺序。

但当核函数不能转化为两个φ(x)内积形式时,核函数与映射φ(x)不具有一一对应关系。因此,核函数需可以转化为两个φ(x)内积形式。

K(X1,X2)可转化为φ(X1)Tφ(X2)(即可转化为两个φ(x)内积形式)的充要条件:

(1)K(X1,X2)=K(X2,X1)(即核函数具有交换性)

(2)对于任意的Ci(i=1~N)和任意的N,有:

de67956c-f62c-11ed-90ce-dac502259ad0.png

即核函数K具有半正定性。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 向量机
    +关注

    关注

    0

    文章

    166

    浏览量

    21724
  • 机器学习
    +关注

    关注

    67

    文章

    8567

    浏览量

    137260

原文标题:机器学习相关介绍(11)——支持向量机(核函数的定义)

文章出处:【微信号:行业学习与研究,微信公众号:行业学习与研究】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用LTspice定义电压源和电流源的分段线性函数

    分段线性(PWL)函数是一系列直线段,可用于在LTspice中创建电压或电流波形。PWL段通过时间/数值对进行定义,是瞬态仿真中用于描述电压或电流波形的众多方式之一。
    的头像 发表于 04-14 10:21 166次阅读
    使用LTspice<b class='flag-5'>定义</b>电压源和电流源的分段线性<b class='flag-5'>函数</b>

    寻找对RISCV众并行计算感兴趣的伙伴、朋友

    : 1、编程简单、灵活。 GPU数据并行能力强大,但控制并行复杂,处理“分支,递归,循环”困难。而众芯片支持数据并行和控制并行编程更灵活——各个线程函数不会再共享代码,各个线程独立执行,所以可以
    发表于 03-28 14:41

    寻找对RISCV众并行计算感兴趣的伙伴

    : 1、编程简单、灵活。 GPU数据并行能力强大,但控制并行复杂,处理“分支,递归,循环”困难。而众芯片支持数据并行和控制并行编程更灵活——各个线程函数不会再共享代码,各个线程独立执行,所以可以
    发表于 03-28 14:37

    Oracle和NVIDIA合作加速向量搜索和企业数据处理

    Oracle 和 NVIDIA 正在与客户合作,将 GPU 加速的向量索引构建应用于实际工作负载。Oracle Private AI Services Container 初期支持 CPU 执行,现
    的头像 发表于 03-23 15:26 464次阅读

    Vivado中IP被锁定的解决办法

    当使用不同版本的Vivado打开工程时,IP被锁定的情况较为常见。不同版本的Vivado对IP支持程度和处理方式有所不同。
    的头像 发表于 02-25 14:00 590次阅读
    Vivado中IP<b class='flag-5'>核</b>被锁定的解决办法

    keil定义fputc函数

    函数 fputc 是输出字符的底层函数,只需要实现这个函数,类似 printf、puts 等函数也可以正常使用了。 由于存在3种文件类型,这里分别
    发表于 01-22 08:25

    函数指针与回调函数解读

    ; func_ptr=cal_sum; 左边走义变量a,右边定义函数cal_sum; 左边定义int指针,右边定义func_ptr; 左边赋值指针,右边赋值
    发表于 01-19 07:34

    开源开放平台上架推出OpenSparseBlas高性能稀疏计算库

    在科学计算与工程仿真领域,高效处理大规模稀疏矩阵运算是提升整体计算效能的关键。为此,我们在炎开源开放平台上架推出 OpenSparseBlas——一个专为稀疏矩阵/向量计算而打造的高性能稀疏计算库
    的头像 发表于 12-15 15:18 1006次阅读

    用哪吒D1开发板体验riscv向量底层编程

    的ABI函数调用的规程。 4.RISCV向量计算的原理 在riscv的V扩展中,一共定义了32个寄存器,v0~v31,这32个寄存器,每个长度都是VLEN长度。在玄铁C906定义长度
    发表于 10-29 06:21

    使用MATLAB的支持向量解决方案

    支持向量 (SVM) 是一种有监督机器学习算法,它能找到分离两个类的数据点的最佳超平面。
    的头像 发表于 10-21 15:00 803次阅读
    使用MATLAB的<b class='flag-5'>支持</b><b class='flag-5'>向量</b><b class='flag-5'>机</b>解决方案

    在中断向量表中,数字较小的中断向量能否以 larg 中断中断向量

    在中断向量表中,数字较小的中断向量能否以 larg 中断中断向量
    发表于 08-21 08:17

    milvus向量数据库的主要特性和应用场景

    Milvus 是一个开源的向量数据库,专门为处理和分析大规模向量数据而设计。它适用于需要高效存储、检索和管理向量数据的应用场景,如机器学习、人工智能、计算机视觉和自然语言处理等。
    的头像 发表于 07-04 11:36 1264次阅读
    milvus<b class='flag-5'>向量</b>数据库的主要特性和应用场景

    RISC-V架构下的编译器自动向量

    进迭时空专注于研发基于RISC-V的高性能新AICPU,对于充分发挥CPU的性能而言,编译器是不可或缺的一环,而在AI时代,毫无疑问向量算力将发挥越来越重要的作用。进迭时空非常重视RISC-V
    的头像 发表于 06-06 16:59 1458次阅读
    RISC-V架构下的编译器自动<b class='flag-5'>向量</b>化

    如何使用自定义设置回调函数

    你好,我正在尝试编写自己的自定义设置回调函数,并使用 fastEnum=false。 是否有任何代码示例或资料可供我参考? void CyU3PUsbRegisterSetupCallback
    发表于 05-21 06:11

    Redis 8 向量搜索实测:轻松扩展至 10 亿向量

    艾体宝Redis 8 向量搜索实测轻松支持 10 亿向量,仍保持低延迟与高吞吐。中位延迟仅200毫秒,90%精确度;处理50并发搜索请求中位延迟仅1.3秒,95%精确度。
    的头像 发表于 05-13 14:00 921次阅读
    Redis 8 <b class='flag-5'>向量</b>搜索实测:轻松扩展至 10 亿<b class='flag-5'>向量</b>