核方法原理

article/2025/9/25 18:34:51

核方法原理


1.无力的线性分类器

一般情况下,我们考虑构造一个线性分类器来解决问题。但是实际中,线性分类器的效果达不到要求,因为大部分数据都不是线性可分的,如下面这幅图。一种改进的方法是把多个弱的线性分类器组合得到一个强分类器,如决策树,booting方法;另一个种方法就是接下来要说的高维投影。


2.高维线性可分

如果某个分类问题线性不可分,那么我们可以考虑把样本投影到非线性的高维空间上,从而实现高维可分。R(低维)->F(高维)。如下图。


3.高维计算的维数灾难

上面的映射会大大增加计算复杂度,因为投影需要计算复杂度,维数增加后再分类也要增加计算复杂度。

4.巧妙的核技巧(kernel trick)

有人发现了一些函数的特性,设为K(x,y)。有人发现,K(x,y)=<φ(x)* φ(y)>,也就是低维的函数(K(x,y)),可以得到高维空间的内积(<φ(x)* φ(y)>)。而如果内积<φ(x)* φ(y)>是我们投影到高维后,构造分类器所需要的主要计算,显然,我们只要在低维空间计算K(x,y)。通常情况下,K的计算复杂度会大大小于高维内积<φ(x)* φ(y)>。

以简单的线性核函数为例子阐述如下:

 

而考虑高维点积如下:


即核函数结果等于高维内积。

在考虑其时间复杂度:

核函数第一步的计算为N为向量点积后得到实数相乘,复杂度为O(N)。

高维投影后,两个N^2的向量点积,时间复杂度为O(N^2)。

 

也就是说,我们通过核函数,用低维的计算量得到了高维的结果,没有增加计算复杂度的同时,得到了性质更好的高维投影。也就是kernel trick。


5.广泛存在的内积运算

通过上面我们可以看出,只要涉及到内积运算,我们都能够运用核函数替代来得到高维投影的内积。而内积广泛存在于各种算法当中,最典型的有SVM,KNN,线性回归,聚类等。一些使用最小平方误差作为目标函数的方法也可以扩展为核最小平方误差。

6.常见的核函数

Mercer定理

那么,怎样的函数,得到的结果会是原向量的高维内积呢?如下推导核函数的Mercer定理。

对于给定的任意向量集合:


核矩阵定义为任意两个向量核函数组成的矩阵,也就是:

对于任意的矩阵z,根据内积的非负性,我们有:


也就是说,K如果是核函数,那么对于任意的样本集合,得到的核矩阵为半正定矩阵。


被证明可用的常见核函数如下


 

总结

核方法的好处

1.      在线性与非线性间架起一座桥梁

2.      通过巧妙地引进,避免了维数灾难,没有增加计算复杂度。

 


http://chatgpt.dhexx.cn/article/uvF5HkDi.shtml

相关文章

核方法(kernel method)的主要思想

kernel method是针对低维线性不可分而提出的一种解决方法&#xff0c;在PRML中有一章节的介绍&#xff0c;对其理解&#xff0c;也是迭代更进的过程。 简单来说&#xff0c;kernel method是一种低维和高维特征空间映射的方法&#xff0c;利用低维内积的函数来表征高维内积&…

python svm核函数_Python.SVM(三)核方法

Python.SVM(三)核方法 1 什么是核方法 往简单里说&#xff0c;核方法是将一个低维的线性不可分的数据映射到一个高维的空间、并期望映射后的数据在高维空间里是线性可分的。 我们以异或数据集为例&#xff1a;在二维空间中、异或数据集是线性不可分的&#xff1b;但是通过将其映…

核方法回归

参考论文-DENSITY ESTIMATION FOR STATISTICS AND DATA ANALYSIS 给定数据集&#xff0c;来估计概率密度函数 Histograms The naive estimator 也是分成段的平行x轴直线连接起来 The kernel estimator 其中kernel可以是高斯核&#xff0c;结果图: 可以见到&#xff0c;高斯核…

【机器学习】SVM核方法

https://blog.csdn.net/qq_32742009/article/details/81430534 Kernel Trick 在 SVM 中引入核方法便可使得 SVM 变为非线性分类器&#xff0c;给定非线性可分数据集 &#xff0c;如下图所示&#xff0c;此时找不到一个分类平面来将数据分开&#xff0c;核方法可以将数据投影到…

核函数与核方法整理

一些之前提到过的知识, 对核函数相关进行详细梳理和串联. 根据胡老师建议的重点, 学习了一下: 核函数公式&#xff0c;作用&#xff0c;选择, 调参, 如何简化运算 目录 SVM回顾 严格线性可分问题 近似线性可分 核函数 什么是核函数 如何使用核函数 为什么要用核函数 …

核方法也称为核技巧(Kernel method)

简介 核函数是干嘛的&#xff1f; 核方法的好处#套用ice110956的说法 1. 在线性与非线性间架起一座桥梁&#xff0c;低维空间里面数据特征是非线性的&#xff0c;没法儿用线性方法解决&#xff0c;当数据特征映射到高维的时候&#xff0c;可以用线性方法解决。 2. 通…

Kernel Method核方法—应用与理解

前一篇主要梳理了几个基本概念以及相关关系&#xff0c;这一篇主要针对核方法的应用进行讨论&#xff0c;并理解核方法的思想&#xff0c;了解为什么要引入核方法。 核方法在机器学习中是一种灵活的技术&#xff0c;主要归结为两个方面&#xff1a; 非线性问题转换为高维线性…

核方法学习

20201101 - 0. 引言 核方法&#xff08;kernel methods&#xff0c;核函数、核技巧&#xff09;是一种能够将在原始数据空间中的非线性数据转化到高维线性可分的方法。而最开始学习机器学习的时候&#xff0c;也是在SVM中接触到的。不过在那个时候之后&#xff0c;就很少从理…

核方法(kernel Method)

核方法 核方法定义 一种能够将在原始数据空间中的非线性数据映射到高维线性可分的方法。 核方法的用处 1、低维数据非线性&#xff0c;当其映射到高维空间&#xff08;feature space&#xff09;时&#xff0c;可以用线性方法对数据进行处理。 2、线性学习器相对于非线性学…

核方法概述----正定核以及核技巧(Gram矩阵推导正定核)

在再谈SVM&#xff08;hard-margin和soft-margin详细推导、KKT条件、核技巧&#xff09;中我们大致谈到了核函数以及为什么要用核函数&#xff0c;今天在这里更加详细的介绍一下。 核方法 1.核函数概述2.正定核2.1定义2.2证明 3.核技巧4.常见的核函数 1.核函数概述 从前面的学…

nginx编译器安装以及编译

一&#xff1a;nginx编译器安装 1&#xff1a;nginx编译器下载安装 http://nginx.org/download/nginx-1.23.1.tar.gz ----下载网址&#xff08;nginx-1.23.1.tar.gz-示例版本&#xff09; 2&#xff1a;将tar -zxvf nginx-1.23.1.tar.gz传入home目录下 mkdir /home/nginxchm…

mac编译安装Nginx

一、安装wget 使用homebrew安装wget brew install wget安装wget时报错 tar: Error opening archive: Failed to open /Users/xxx/Library/Caches/… 发现是install libunistring的时候失败报错&#xff1b; 单独安装此依赖; 安装成功&#xff0c;再继续安装wget&#xff1…

宝塔自定义html,宝塔面板Nginx编译安装添加自定义模块PageSpeed

我们在安装好宝塔的时候&#xff0c;首先要安装的都是nginx&#xff0c;PHP这些lnmp组合。估计很多童鞋选择的极速安装。确实&#xff0c;极速安装和编译安装在使用中&#xff0c;区别不大。但是&#xff0c;如果你想后期添加模块&#xff0c;极速安装就无法做到了&#xff0c;…

Linux中编译安装NGINX

1.去官网下载文件 nginx官网 nginx: downloadhttp://nginx.org/en/download.html?spma2c6h.12873639.0.0.222cda00jLs6QI 2.解决nginx安装中的各种依赖 GCC编译器:yum install gcc gcc-c正则表达式PCRE库:yum install -y pcre pcre-develzlib压缩库:yum install -y zlib z…

Centos7 编译安装Nginx

文章目录 前言一、编译安装nginx二、编译安装过程1.操作系统的选择&#xff0c;centos71.1关闭防火墙、selinux 2.安装编译开发环境2.1安装nginx所需的一些第三方系统库的支持 3.编译安装nginx3.1下载nginx源代码3.2解压缩nginx包&#xff0c;并进入该目录3.3开始编译安装3.4查…

Ubuntu 编译安装Nginx

文章目录 1. apt安装2. 编译安装2.1 启动Nginx 3. 防火墙问题 1. apt安装 # 默认版本安装 apt-get update apt-get install nginx# 选择版本安装 apt-get update apt-cache show nginx apt-get install nginx1.18.0-0ubuntu1.3# 启动 service nginx start# 重启 service nginx…

nginx 编译安装及增加模块

一&#xff0c;安装依赖 yum -y install gcc gcc-c pcre pcre-devel zlib zlib-devel openssl openssl-devel path二&#xff0c;下载nginx 通过nginx官网下载源码包&#xff1a;http://nginx.org/en/download.html 下载完后通过tar-zxf解压&#xff0c;并进入nginx 三&…

淘宝nginx编译安装

rootrancher:/opt/tnginx# ls -l -d -h * drwxrwxr-x 13 root root 4.0K 3月 29 2021 tengine-2.3.3 -rw-r--r-- 1 root root 2.8M 3月 21 10:03 tengine-2.3.3.tar.gz获取一个包&#xff0c;然后吧他解压 源代码内编辑脚本文件 编译安装需要用到的&#xff0c;编译工具 …

Nginx编译安装及配置文件详解

写在前面 Centos版本&#xff1a;Centos 7.6 - 64bit Nginx版本&#xff1a;1.20.2 一、什么是Nginx Nginx (engine x) 是一款轻量级的Web 服务器 、反向代理服务器及电子邮件&#xff08;IMAP/POP3&#xff09;代理服务器。 二、Nginx用在哪些地方 2.1 静态资源服务 动静…

3-1 Nginx编译安装

文章目录 Nginx服务一、Nginx服务基础1、Nginx简介2、简述Nginx和Apache的差异3、编译安装Nginx服务&#xff08;Nginx-1.12.2&#xff09;1&#xff09;环境准备&#xff1a;关闭防火墙&#xff0c;上传软件包2&#xff09;安装依赖环境3&#xff09;创建运行用户、组4&#x…