学习笔记:机器学习之支持向量机(七、求核函数)

2023-10-31

活动地址:CSDN21天学习挑战赛

​1 简介

  求和函数可以通过求映射函数 φ \varphi φ,再求 φ ( x ) \varphi(x) φ(x) φ ( z ) \varphi(z) φ(z)之间的内积即可得到核函数 K ( x , z ) K(x,z) K(x,z),但是实际应用中可以不直接定义映射函数 φ \varphi φ,而是直接计算核函数 K ( x , z ) K(x,z) K(x,z)

概念介绍

1.Gram矩阵介绍

   n维欧氏空间中任意k(k<n)个向量 α 1 , α 2 , . . . , α k \alpha_1,\alpha_2,...,\alpha_k α1,α2,...,αk内积组成的矩阵。
Δ ( α 1 , α 2 , ⋯   , α k ) = ( ( α 1 , α 1 ) ( α 1 , α 2 ) ⋯ ( α 1 , α k ) ( α 2 , α 1 ) ( α 2 , α 2 ) ⋯ ( α 2 , α k ) ⋯ ⋯ ⋯ ⋯ ( α k , α 1 ) ( α k , α 2 ) ⋯ ( α k , α k ) ) \Delta\left(\alpha_{1}, \alpha_{2}, \cdots, \alpha_{\mathrm{k}}\right)=\left(\begin{array}{cccc} \left(\alpha_{1}, \alpha_{1}\right) & \left(\alpha_{1}, \alpha_{2}\right) & \cdots & \left(\alpha_{1}, \alpha_{\mathrm{k}}\right) \\ \left(\alpha_{2}, \alpha_{1}\right) & \left(\alpha_{2}, \alpha_{2}\right) & \cdots & \left(\alpha_{2}, \alpha_{\mathrm{k}}\right) \\ \cdots & \cdots & \cdots & \cdots \\ \left(\alpha_{\mathrm{k}}, \alpha_{1}\right) & \left(\alpha_{\mathrm{k}}, \alpha_{2}\right) & \cdots & \left(\alpha_{\mathrm{k}}, \alpha_{\mathrm{k}}\right) \end{array}\right) Δ(α1,α2,,αk)= (α1,α1)(α2,α1)(αk,α1)(α1,α2)(α2,α2)(αk,α2)(α1,αk)(α2,αk)(αk,αk)

2.对称函数

   在对称函数中,函数的输出值不随输入变数的排列而改变。从函数的形式中可以看出若输入变量排列后,方程式不会改变。例如: c a 2 + 3 a b + c b 2 ca^2 + 3ab+ cb^2 ca2+3ab+cb2,在a和b对调后其值不变。

2 怎么找核函数

核函数满足的特征:

  1. 核函数应该是对称函数
       φ ( x i ) ⋅ φ ( x j ) = K ( x i , x j ) \varphi(x_i)\cdot \varphi(x_j)=K(x_i,x_j) φ(xi)φ(xj)=K(xi,xj),核函数变量对调后值不变,所以核函数应该是对称函数。
  2. K ( x i , x j ) K(x_i,x_j) K(xi,xj)对应的Gram矩阵半正定
       核函数是内积的形式,所以其值大于等于0。

得到核函数 K ( x i , x j ) K(x_i,x_j) K(xi,xj)之后构成一个希尔伯特空间(Hilbert Space)。
步骤为:
  1.定义映射φ ,并构成向量空间S;
    映射关系: ϕ : x → K ( ⋅ , x ) \phi: x \rightarrow K(\cdot, x) ϕ:xK(,x)
    定义线性组合: f ( ⋅ ) = ∑ i = 1 m α i K ( ⋅ , x i ) f(\cdot)=\sum_{i=1}^{m} \alpha_{i} K\left(\cdot, x_{i}\right) f()=i=1mαiK(,xi)
    此时就构成了一个向量空间S。
  2.在S上定义内积构成内积空间;
    定义一个运算*, f ∗ g = ∑ i = 1 m ∑ j = 1 l α i β j K ( x i , z j ) f * g = \sum_{i=1}^{m} \sum_{j=1}^{l} \alpha_{i} \beta_{j} K\left(x_{i}, z_{j}\right) fg=i=1mj=1lαiβjK(xi,zj),再证明*是空间S的内积。
  3.最后将S完备化构成希尔伯特空间.

3 引入和函数后的非线性支持向量机

输入:训练集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } , y i ∈ − 1 , + 1 , i = 1 , 2 , . . . , N T=\left\{\left(x_{1}, y_{1}\right),\left(x_{2}, y_{2}\right), \cdots,\left(x_{N}, y_{N}\right)\right\},y_i \in{-1,+1},i=1,2,...,N T={(x1,y1),(x2,y2),,(xN,yN)},yi1,+1,i=1,2,...,N
构造最优化问题:
min ⁡ α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j K ( x i , x j ) − ∑ i = 1 N α i \min _{\alpha} \frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_{i} \alpha_{j} y_{i} y_{j} K\left(x_{i}, x_{j}\right)-\sum_{i=1}^{N} \alpha_{i} minα21i=1Nj=1NαiαjyiyjK(xi,xj)i=1Nαi
s . t . ∑ i = 1 N α i y i = 0 , 0 ⩽ α i ⩽ C , i = 1 , 2 , ⋯   , N s.t. \quad \sum_{i=1}^{N} \alpha_{i} y_{i}=0 ,\qquad 0 \leqslant \alpha_{i} \leqslant C, \quad i=1,2, \cdots, N s.t.i=1Nαiyi=0,0αiC,i=1,2,,N
得到最优解 α ∗ \alpha^* α.
计算 b ∗ = y j − ∑ i = 1 N α i ∗ y i K ( x i ⋅ x j ) b^*=y_{j}-\sum_{i=1}^{N} \alpha_{i}^{*} y_{i} K\left(x_{i} \cdot x_{j}\right) b=yji=1NαiyiK(xixj)
构造决策函数:
f ( x ) = sign ⁡ ( ∑ i = 1 N α i ∗ y i K ( x ⋅ x i ) + b ∗ ) f(x)=\operatorname{sign}\left(\sum_{i=1}^{N} \alpha_{i}^{*} y_{i} K\left(x \cdot x_{i}\right)+b^{*}\right) f(x)=sign(i=1NαiyiK(xxi)+b)

输出:分类决策函数

参考

1.《统计学习方法》——李航
2.https://zh.m.wikipedia.org/zh-cn/%E5%AF%B9%E7%A7%B0_(%E6%95%B0%E5%AD%A6)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

学习笔记:机器学习之支持向量机(七、求核函数) 的相关文章

  • QT使用ODBC连接MySQL

    本文主要讲述QT使用ODBC连接MySQL数据库的过程 第一步 下载连接工具 链接如下 https cdn mysql com Downloads Connector ODBC 8 0 mysql connector odbc 8 0 28
  • vmware17:下载安装

    1 访问vm官网下载vm17安装包 下载 VMware Workstation Pro CN 选择windows下载 下载成功后 双击装包安装 直接下一步安装 勾选接受许可条款下一步 更改安装路径 继续下一步 最后点击安装 最后等待完成输入
  • 线程的属性 —— 分离的状态(detached state)、栈地址(stack address)、栈大小(stack size)

    参考 四十二 线程 线程属性 作者 FadeFarAway 发布时间 2017 01 17 14 09 55 网址 https blog csdn net FadeFarAway article details 54576771 目录 引入
  • 科技云报道:生成式AI已成为企业新兴风险,但我们不应该因噎废食

    科技云报道原创 2023年 生成式AI技术破茧成蝶 引发了一场全球范围的数字革命 从最初的聊天 下棋开始 到医疗 金融 制造 教育 科研等 生成式AI表现出了强大的创造力和无限潜力 据不完全统计 截至今年8月底 全国已经发布了逾百个行业AI
  • cccccc

    Source code recreated from a class file by IntelliJ IDEA powered by FernFlower decompiler package com gb soa omp ccommon
  • idea找不到版本的可能性总结

    当spring boot starter parent下面的版本报红时并不是这个版本不存在 而是因为idea会默认缓存Maven本地仓库已存在的中的依赖项 只是我们引入的的父依赖版本 本地仓库中不存在 所以就报错了 解决方案就是我们清除一下

随机推荐

  • 【Pytorch with fastai】第 3 章 :数据伦理

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • Linux 篇:Linux定时任务

    什么是crond crond是linux用来定期执行命令或指定程序任务的一种服务 安装完操作系统后 默认会启动crond任务调度服务 crond服务会定期检查系统中是否有要执行的任务 如果有要执行的任务便会自动执行该任务 crond定时任务
  • Oracle数据库DBA权限回收操作参考

    1 基本操作指令 查看当前系统 ORACLE SID linux su oracle cat etc oratab orcl oracle app oracle product 11 2 0 dbhome 1 N crm oracle ap
  • 网络层协议介绍

    网络层的功能 1 定义了基于IP协议的逻辑地址 2 链接不同的媒介类型 3 选择数据通过网络的最佳路径 IP数据包格式 数据封装的时候在网络层会封装ip地址的头部 形成ip数据包 IP数据包格式 分为20字节的固定部分 表示每个ip数 据包
  • python压缩文件夹下的文件及子文件夹

    压缩某一文件夹下的所有文件 python import os import zipfile def is child dir dir1 dir2 if dir1 dir2 return True return dir1 startswith
  • stat函数详解

    Linux系统函数之文件系统管理 二 stat函数 作用 获取文件信息 头文件 include
  • 【Matlab】基于SVM支持向量机的时间序列预测(Excel可直接替换数据)

    Matlab 基于SVM支持向量机的时间序列预测 Excel可直接替换数据 1 模型原理 2 文件结构 3 Excel数据 4 分块代码 5 完整代码 6 运行结果 1 模型原理 基于支持向量机 Support Vector Machine
  • HCIPR&S223-V2.5一些总结

    1 下列关于DHCP Server仿冒者攻击说法正确的是 多选 AC A DHCP Server仿冒者攻击通过仿冒DHCP服务器向终端下发错误的IP地址和网络参数 导致用户无法上网 B 华为交换机接口下开启DHCP snooping功能后默
  • elementui的轮播图

    需求是需要把左右切换分页的大小于号放在轮播图外面 涉及到了一些问题 1 实现思路 2 绝对定位垂直居中 3 需要覆盖一些组件里的样式 直接给设置样式无法覆盖 解决1 实现思路 没有找到插件原生的方法 于是看了一遍文章 制作两个div装着图片
  • R语言主成分分析

    head swiss 查看数据 cor swiss 查看相关性矩阵 方阵中绝对值最小的是0 06085861 比0 05大 因此swiss中变量相互之间均有或强或弱的相关关系 这份数据适合做主成份分析 由于变量的量纲不同会使主成份得分系数的
  • LeetCode:动态规划【基础题目求解】

    PS 本文是参考代码随想录做的一些笔记 完整版本请戳链接 非常好的教程 如果某一问题有很多重叠子问题 使用动态规划是最有效的 所以动态规划中每一个状态一定是由上一个状态推导出来的 这一点就区分于贪心 贪心没有状态推导 而是从局部直接选最优
  • 解决vue2.x在ie浏览器打开空白问题

    排查一 先看看项目中是否安装并引入babel polyfill这个东西 Babel是一个广泛使用的转码器 可以将ES6代码转为ES5代码 引入则跳过 vue项目在IE浏览器中显示空白 是因为js文件没有加载 需要引入babel polyfi
  • CSS3-转换之rotate

    在讲解之前 我们先将我们要变换的元素看做一个正方体 为了方便理解 我标注了X Y Z轴以及方向 如下图 1 rotateX angle 定义沿着X轴的3D旋转 如上图 第一张为俯视图 第二张是3D视图 沿X轴顺时针旋转30度 它俯视图的宽度
  • python 实现 短信登录 b站 并打印cookie内容

    前言 本程序是get bili medal list项目 的一个子程序 用于大批量获取用户数据时的cookie替换 使用 项目根目录运行python login get cookie py 根据提示完成短信验证登录 期间需要访问http g
  • 数学建模——微分方程介绍

    一 基础知识 1 一阶微分方程 称为一阶微分方程 y x0 y0为定解条件 其常规求解方法 1 变量分离 再两边积分就可以求出通解 2 一阶线性求解公式 通解公式 有些一阶微分方程需要通过整体代换 比如u x y u xy u x y u
  • 【vue】导航跳转页面空白

    解决 index js里检查代码 component 多加了s const routes path component 这里写成components就会出现错误
  • linux虚拟机长时间没启动,一启动报错,解决办法。

    1 遇到此问题 具体报错信息 另一个程序已锁定文件的一部分 进程无法访问打不开磁盘 C Users let it out Documents Virtual Machines CentOS 64 103 CentOS 64 cl2 vmdk
  • 泛型集合排序,根据实体类对象的某个属性排序

    泛型集合排序 根据实体类对象的某个属性排序 import java util ArrayList import java util Collections import java util Comparator import java ut
  • Java中使用正则表达式

    正则表达式 正则表达式 Regular Expression 是一种用于匹配 查找和替换文本的强大工具 它由一系列字符和特殊字符组成 可以用来描述字符串的模式 在编程和文本处理中 正则表达式常被用于验证输入 提取信息 搜索和替换文本等操作
  • 学习笔记:机器学习之支持向量机(七、求核函数)

    活动地址 CSDN21天学习挑战赛 1 简介 求和函数可以通过求映射函数 varphi 再求 x v