深入浅出核函数

PRML读书会第六章 Kernel Methods(核函数,线性回归的Dual Representations,高斯过程 ,Gaussian Processes) 第六章Kernel Methods,介绍了核函数的定义、构建方法,通过线性回归的Dual Representations推导说明由基于特征到基于样本学习的转换;最后是动感十足的高斯过程Gaussian Processes,包括GP的协方差矩阵形式、超参、预测等内容。 阅读详情

前言

支持向量机是最重要的机器学习算法之一,支持向量机的一个重要特点是通过核函数进行非线性分类。本文深度剖析了核函数的含义,并从该角度去理解线性回归和非线性分类的问题。

 

目录


1、线性回归的核函数表示

2、核函数含义解析

3、核函数含义理解线性回归

4、核函数含义理解非线性分类

5、核函数的应用范围

6、总结

 

                                                    1、线性回归的核函数表示


我们先通过构建最优线性回归模型来引出核函数的表达式。

 

总结:

(1)1.5式就是传说中的核函数方程,核函数方程的展开式有很多种情况,这一节的核函数方程展开式是基函数向量的内积。

(2)1.4式是线性回归的核函数对偶形式,对偶形式都会包含下面这项:

 

                                                             2、核函数含义解析


我们用1.5式和1.6式来解析核函数的含义。

1.5式和1.6式结合,得:

                               

上式表示,先对输入变量映射为特征空间,然后在该特征空间下内积。

现在,我们考虑三种常用的基函数,分别为多项式基函数,高斯基函数,S型基函数。

令输入变量x'为常数,x'的值用红色叉号表示,可以画出x与k(x,x')的关系曲线:

 

图的第一行为基函数曲线,第二行为x与核函数k(x,x')的曲线。

由上图可知,核函数k(x,x')取得最大值的必要条件是x=x',核函数值的大小可以表示两个输入变量x和x'的相似度。举下面两例说明这一含义:

如上图第二列,归一化的正态分布在x=0具有最大概率,当两个输入变量值都是0时,核函数具有最大值,它们的相似度最高。

如上图第三列,S型函数值表示P(y=1|x)的概率,当两个输入变量都是1时,核函数具有最大值,它们的相似度最高。

 

因此,核函数的含义可以用相似度来解释,若两个输入变量的特征空间都较大,则两个输入变量在该核函数下具有较高的相似度。

 

                                                核函数含义理解线性回归


为了阅读方便,1.4式预测目标表达式:

 

结论

线性回归可以理解成训练目标值的权值相加,权值与核函数成正比,若输入特征与某一训练样本的特征相似度越高,相应的核函数越大,则对应的权值就越大,该训练样本的目标变量对预测目标变量的影响亦越大。

 

                                            核函数含义理解非线性分类


解决如下图的二分类问题,不同形状表示不同的类。

(1)显示映射法

 

分类效果图如下:

                                                           

(2)核函数法

我们知道核函数的含义是相似度,我们考虑用高斯核函数进行分类,高斯核函数用样本的相对距离来表示相似度,若相对距离越小,则相似度越大,反之相似度越小。

 

首先用核函数将低维映射成高维空间,然后用线性支持向量机的方法进行分类(后续文章会详细讲支持向量机算法)。

请用核函数法

第二节用显示映射函数的方法说明了核函数的含义,这一节用该方法求决策函数,但是这种方法难点在于定义显示映射函数,而核函数法是隐式的映射特征空间且核函数法计算k(x,x')比较容易,因此推荐核函数法作特征的多维映射。

 

                                                     核函数的应用范围


这一节用一句话来概括:凡是有特征内积出现的式子都可以用核函数来代替。

如下图:

 

左边为核函数,右边为内积。

 

                                                           总结


本文详细的解释了核函数的含义——相似度,然后从核函数的角度去理解线性回归和非线性分类,核函数是隐式的特征空间映射,不需要定义特征映射函数。特征内积出现的式子都可以用核函数来代替,因此,核函数在支持向量机的非线性分类具有不可替代的作用。

 

参考

李航 《统计学习方法》

Christopher M.Bishop <<Pattern Reconition and Machine Learning>>

                                                    

基于线性回归与核函数——linear function & basis function 的代码,处理马拉松数据 首先,线性规划,比较简单,对误差方程 Ex = (y-mx-c)^2 分别求偏导,再令偏导等于0 一步一步的求出m和c。 令偏导等于0的原因是为了寻找极致点,我们假设每次迭代的都是极值点,而极值点的特点是导数为0。 python代码表示就是: for i in np.arange(1000000):     m = ((y - c)*x).sum()/(x*x).sum() 阅读详情

相关推荐

深入浅出 Ascend C 算子开发:核心灵魂「核函数」详解

核函数是直接运行在上的 C/C++ 函数。它是主机侧(Host)调用设备侧(Device)逻辑的桥梁。编写核函数时,必须遵循严格的语法规范,否则无法通过编译器(CCE Compiler)的编译。核函数是 Ascend C 开发的核心。理解了它的SPMD 并行机制限定符要求以及类实例化范式,你就掌握了编写高效昇腾算子的金钥匙。注:本文参考昇腾 CANN 8.0.RC1.alpha003 官方文档整理。

fjqdxq的博客 329

回归问题的解释

转自http://blog.youkuaiyun.com/vshuang/article/details/5512853 1.    问题描述: 给定多个自变量、一个因变量以及代表它们之间关系的一些训练样本,如何来确定它们的关系?   2.    数学描述 建模:目的就是求这个因变量关于这多个自变量的函数。而这个函数能够比较精确的表示这个因变量和这多个自变量之间的关系。   3.    问题深入

小白的专栏 7049

核函数——原理剖析

(Kernel Function)是机器学习和统计学中的一个重要概念,特别是在支持向量机(SVM)和其他基于核方法的算法中。核函数的主要作用是通过一个隐式的方式将数据映射到一个高维空间,从而使得在该高维空间中线性不可分的问题变得线性可分。没关系,现在让我们抛开一切无关的事情,花20分钟来认真领会一下,核函数的原理到底是什么。然后我们来说什么什么样的函数有资格称为核函数,也就是上面说的一个函数的内积矩阵是半正定矩阵。中的分布如左图所示。中是不可实现的,那如果我们将原始空间中的所有样本点,通过一个映射关系。

m0_70254540的博客 1587

将线性回归模型处理成核函数版本

1. 训练数据(X,y)(X,y)(X,y),其中X是一个N∗dN*dN∗d的矩阵,表示训练数据有ddd个特征,一共有NNN个训练数据点,yyy是一个长度为NNN的向量。 X(i):X^{(i)}:X(i): \quad表示第iii个数据点(X的第i行X的第i行X的第i行) Xj:X_j:Xj​: \quad表示X的第j列X的第j列X的第j列 Xj(i):X_{j}^{(i)}:Xj(i)​:...

麦地与诗人 1466

你的SLAM地图为什么“歪”了?深入浅出图解位姿图优化(PGO)中的外点与核函数

本文深入解析SLAM系统中位姿图优化(PGO)导致地图歪斜的核心原因——外点干扰,并详细介绍了抗干扰策略。通过图解外点来源、核函数应用及多层级防御方案,帮助开发者有效提升建图精度,解决SLAM实践中的常见问题。

weixin_42552637的博客 375

JS逆向实战:从宿务航空机票搜索到参数签名算法解析

在现代Web应用开发中,前端与后端的数据交互安全是核心技术环节。其原理通常涉及参数签名、令牌验证等机制,用于防止未授权访问和数据篡改。这些技术的核心价值在于保障接口调用的合法性与数据完整性,广泛应用于电商、金融、旅行预订等对数据安全要求较高的场景。以机票搜索为例,网站常通过动态生成的签名参数来验证请求来源。本文以宿务太平洋航空为案例,深入解析其搜索请求中关键参数(如signature)的生成逻辑,并演示如何通过浏览器开发者工具进行断点调试、变量追踪,最终使用Node.js与crypto-js库本地复现完整请

weixin_26642481的博客 752

机器学习笔记(二十七):核函数(Kernel Function)

凌云时刻 · 技术导读:我们在机器学习笔记十六之多项式回归、拟合程度、模型泛化中讲过线性回归通过多项式回归方法处理非线性问题,同样SVM也可以使用多项式方法处理非线性问题。作者 | ...

云布道师 3872

VHDL按键消抖(状态机版本)

检测下降沿:设置一个和,分别代表之前的之前和之前的信号状态,若两个信号key_in_d2=1,key_in_d1=0,他俩的not key_in_d2 and key_in_d1为1,则说明下降沿产生,把它设置为标志位key_flag。延时计数:50MHz的板子每次计数需要20ns,而抖动时间大约为5-10ms。所以取7ms,作为延时时间。可以看见当检测到下降沿时,开始计数计数计满再次检测,若为低电平则为按下按键,否则为抖动。通过检测下降沿来临,延时计数再次检测,如果为低电平则为按键按下。

qq_69639216的博客 1084

[白话解析] 深入浅出支持向量机(SVM)之核函数

本文在少用数学公式的情况下,尽量仅依靠感性直觉的思考来讲解支持向量机中的核函数概念,并且给大家虚构了一个水浒传的例子来做进一步的通俗解释。

罗西的思考 1844

HMC7044芯片模拟SPI配置

摘要: HMC7044是一款高性能双环路整数N分频抖动衰减器,支持SPI接口配置,适用于高速数据转换器时钟系统。该芯片采用双PLL级联架构,具有14路可配置输出,可满足GSM/LTE基站设计需求。SPI接口采用3线模式(SLEN/SCLK/SDATA),支持24位寄存器读写(13位地址+8位数据)。驱动实现基于Zynq EMIO模拟SPI,提供初始化、数据传输及寄存器配置功能,支持三线制工作模式和多种时钟参数设置。

toonyhe的博客 1099

01-FreeSWITCH 的安装、部署、配置以及可能遇到的问题和解决方法

一文让您了解从FreeSWITCH 的安装、部署、配置、可能遇到的问题及解决方法。一切从实际项目出发,以工程应用为目的。

秋风的博客 2129

高斯核函数(深入浅出)

高斯核函数(深入浅出)

weixin_46713695的博客 7623

微信小程序 - 最新详细实现“全局实时监听页面发生跳转“ 当页面跳转后立即捕捉并触发某个操作或调用处理函数,小程序整个项目无时无刻只要路由发生变化改变了就能监听,时刻检测页面URL变化(获取路由数据)

微信小程序,vue2,vue3,监听路由,如何监听路由发生变化,如何watch监听路由,怎么全局监听页面发生变化,实现当页面路由发生变化时执行一个函数,当路由变化时执行一些操作执行一段代码,怎么监听路由变化时触发一个函数,监听页面变化,页面间的跳转如何监听,页面跳转时怎么拿到路由及参数,页面路由变化时拿到参数和url,使用watch监听路由变化,页面跳转后怎么触发事件,怎么监听页面跳转,监听页面跳转并拿到路由url路径,小程序怎么全局定义一个专门监听路由的函数,小程序怎么无时无刻实时监听路由页面跳转,监听当

🏆 前端领域优质创作者 4478

核函数的深入浅出讲解

前段时间热映的《星际穿越》想必大家都看过,在这部烧脑大片中,主角库珀进入到了高维度空间,在那里,时间这个维度变成实体存在,人们可以像散步一样沿着时间这个维度来回穿梭。 那么高维空间到底是什么样的? 有人说高位空间里其实只有数学意义,在实际中无意义,是这样的吗? 又有人说高维空间里其实有更高级的生物,他们看我们,就像我们看在一个平面进行爬行的虫子一样。 还有人说,若有

gaoxueyi551的专栏 1万+

LLM的MCP协议:初识MCP,搭建第一个MCP Server

MCP(Model Context Protocol),是一个开发的协议,标准化了应用程序如何为大模型提供上下文。MCP提供了一个标准的为LLM提供数据、工具的方式,使用MCP会更容易的构建Agent或者是基于LLM的复杂工作流。

Criss@陈磊 2万+

基于STM32、HAL库的TCA9555PWR I/O扩展器驱动程序设计

define TCA9555_ADDR_BASE 0x20 // 基础地址 (A0=A1=A2=0)* @param direction: 方向 (0=输出, 1=输入)* @param direction: 方向 (0=输出, 1=输入)* @param polarity: 极性 (0=正常, 1=反转)* @param polarity: 极性 (0=正常, 1=反转)

corlin6688的博客 528

svm核函数_深入浅出SVM(PART III)

点击上方“AI派”,选择“星标”公众号第一时间获取价值内容导读今天是该系列第九篇文章,介绍支持向量机原理(PART III)。 支持向量机(Support Vector Machine)是由Vapnik等人于1995年提出来的,之后随着统计理论的发展,支持向量机SVM也逐渐受到了各领域研究者的关注,在很短的时间就得到了很广泛的应用。支持向量机是被公认的比较优秀的分类模型,同时,在支...

weixin_39948111的博客 151

基于Proximal Policy Optimization的无人机姿态控制系统的研究及Matlab实现

本文简要介绍了基于Proximal Policy Optimization算法的无人机姿态控制系统,并使用Matlab实现了一个简化版的代码。PPO算法的特点在于能够解决强化学习中的部分可观察性问题,同时还能保持策略网络更新的稳定性。本文将介绍基于Proximal Policy Optimization(PPO)算法的无人机姿态控制系统,并使用Matlab进行简化版实现。无人机姿态控制是指通过调整飞行器各部件的参数,使其保持特定角度、方向和位置的状态。本文将实现无人机的横滚姿态控制,并将其作为实现的示例。

m0_47037246的博客 717

核函数详解

这篇博文开始的例子就很好地揭示了核函数的简单原理,写得很好!原地址:https://blog.youkuaiyun.com/zkq_1986/article/details/524482381 核函数K(kernel function)定义核函数K(kernel function)就是指K(x, y) = &lt;f(x), f(y)&gt;,其中x和y是n维的输入值,f(·) 是从n维到m维的映射(通常,m...

kateyabc的博客 10万+

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

常见核函数

这篇博文开始的例子就很好地揭示了核函数的简单原理,写得很好!原地址:https://blog.youkuaiyun.com/zkq_1986/article/details/524482381 核函数K(kernel function)定义核函数K(kernel function)就是指K(x, y) = <...

m0_37870385的博客 3838

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

支持向量机(SVM)之核函数

0x00 摘要 本文在少用数学公式的情况下,尽量仅依靠感性直觉的思考来讲解支持向量机中的核函数概念,并且给大家虚构了一个水浒传的例子来做进一步的通俗解释。 0x01 问题 在学习核函数的时候,我一直有几个很好奇的问题。 Why 为什么线性可分很重要? Why 为什么低维数据升级到高维数据之后,就可以把低维度数据线性可分? What 什么是核函数,其作用是什么? How 如何能够找到核函数? 不知道大家是否和我一样有这些疑问,在后文中, 我将通过逐步的学习梳理为大

liyunfei0816的博客 7053

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

机器学习有很多关于核函数的说法,核函数的定 义和作用是什么?

原文地址:http://www.360doc.com/content/16/0601/05/33848074_564071015.shtml (360图书馆你不是不让复制么,劳资就是复制下来了!你个恶心家伙!) 机器学习,具体以RBF网络里面的核函数为例,有童鞋说是通过径向基核函数可以把原始数据 投影到更高维的空间里去(从而增加数据可分的概率),对于这种说法,实在不是很理解(怎 么就...

weixin_30511107的博客 935

机器学习笔记之核函数

基本概念 举例理解核函数 常用的核函数 线性核函数 多项式核函数 高斯核函数(RBF) sigmoid核函数 核函数的选取原则 基本概念 核函数定义: 核函数:是映射关系的内积,映射函数本身仅仅是一种映射关系,并没有增加维度的特性,不过可以利用核函数的特性,构造可以增加维度的核函数,这通常是我们希望的。 例如这样一个图,数据集不是线性可分的: 该数据集在二维...

Haiwi-Song 6500
上一篇: 线性分类模型(二):logistic回归模型分析
下一篇: 清晰易懂的Numpy入门教程
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值