支持向量机的近邻理解:图像二分类为例(3)
前言:
假设空间
在图像识别领域,灰度图像被称为传说中的2维张量,任意图像为由所有二类图像构成的这个二维张量空间内的一个点。由人类专家完成图像属性归纳,把二维张量空间图像的特征显式的归结为一维张量空间的n维向量上,被称为特征提取。一般提取的特征并不一定能在n维向量空间中线性可分,这就需要再由模型进行一次映射,把向量样本转换到新的空间实现线性可分。
在样本线性可分时,可以证明出支持向量机最终等价于压缩近邻法,最终可以使用边界样本用于最终的分类。
非线性可分的向量机模型使用近邻法
我们假设训练样是线性可分的,即存在一个划分超平面能将训练样本正确分类,然而在现实任务中,原始样本空间中也许并不存在一个能正确划分两类样本的超平面,例如在下图中的非线性问题或者异或问题。
绕开样本的真实属性,根据VC维的原则,总能找到一个变换后的空间,可以使有限维数的有限样本集合线性可分。一般原则是将原始样本从原始空间映射到一个更高维度的空间,使得样本在新的特征空间内线性可分。
令<f> (x) 表示将z映射后的特征向量,于是在特征空间中划分超平面所对应的模型可表示为:
其对偶问题为:
求解式(6.21)涉及到计算Φ(xi),Φ(xj),这是样本Xi与Xj映射到特征空间之后的内积。根据映射函数Φ(xi)的不同,特征的维数可能会很高,甚至可能是无穷维。因此直接计算通常是困难的,因此为了避开这个障碍,可以设想这样一个函数:
Ker( xi, xj ) = <Φ(xi),Φ(xj)> = Φ(xi)TΦ(xj) 公式13
把内积运算转换为核函数运算Ker( xi, xj ),仅仅是形式上的转换,即计算模型时通过对核函数进行操纵而不是直接对高维特征进行转换。
因此寻找特征映射函数Φ(xi)转变为寻找核函数Ker( ) 。
神经网络、核函数与相似性度量
支持向量机的基本思想可以概括为,首先通过非线性变换将输入空间变换到另外一个空间,然后在这个新空间内求最优分类面及最大间隔分类面,而这种非线性变换通过定义适当的内积核函数实现。
数量积/内积(dot product; scalar product,也称为点积)是接受在实数R上的两个向量并返回一个实数值标量的二元运算。它是欧几里得空间的标准内积。向量的内积表示向量的相似性,即近邻特性。
支持向量机求得的分类函数,形式上类似于一个神经网络,其输出是若干中间层节点的线性组合,而每一个中间层的中间节点对应于输入样本与一个支持向量的内积,形成一个支持向量网络。
网络中的训练结果为:K(xi,x)为相同的核函数,但对每一个向量有一个特定的系数。训练过程为支持向量系数的调整。
三层网络:
输出(决策规则 ): 权值:wi=aiyi 顶层
基于s个支持向量的X1,X2....Xd的非线性变换(内积核函数K( ) ) 中间层
输入向量:x = [ x1,x2,......, xd ] 底层
决策过程:
SVM的决策过程也可以看做相似性比较的过程。第一:将输入样本一系列模板进行相似性比较,模板样本就是训练过程中决定的支持向量,采用的相似性度量是核函数;第二:样本经过核函数之后,与各支持向量样本进行比较后的得分进行加权求和,权值就是训练时得到的个支持向量的系数a与类
别标号y的乘积;最后:根据加权求和值的大小进行决策。
采用不同的核函数,可以看做使用不同的相似性度量,线性SVM是直接使用欧式空间中的内积作为相似性度量。
核函数的选择条件
使用核函数替换非线性特征变换的可行性,可由泛函空间的有关理论得到。条件是需要找到能够构成某一变换空间内积变换里面的核函数,这个核函数必须符合Mercer定理:
常见的核函数形式
采用非零的u和c,采用Sigmod核的支持向量机直接等价于包含一个Sigmod函数隐层的神经网络。
支持向量机的近邻理解:图像二分类为例(3)相关推荐
- 支持向量机的近邻理解:图像二分类为例(1)
前言: 机器学习在是否保留原始样本的层面划分为两类:参数学习和非参数学习.参数学习使用相对固定框架,把样本分布通过训练的方式回归到一个使用参数描述的数学模型里面,最终使用的是归纳方法:非参数模型保留了 ...
- 支持向量机的近邻理解:图像二分类为例(2)
前言: 假设空间 一个古老的哲学原理:世界并不是以小包的形式来到我们面前,除非遍历整个空间,任何训练得到的模型都是过拟合的.面对学习问题,首先面对这一个空间的认知问题,对空间结构的认识来自于接口,而全 ...
- Python图像识别实战(四):搭建卷积神经网络进行图像二分类(附源码和实现效果)
前面我介绍了可视化的一些方法以及机器学习在预测方面的应用,分为分类问题(预测值是离散型)和回归问题(预测值是连续型)(具体见之前的文章). 从本期开始,我将做一个关于图像识别的系列文章,让读者慢慢理解 ...
- RDKit | 基于支持向量机(SVM)的二分类活性预测模型
基于结构-活性相互作用数据,使用SVM(支持向量机),尝试判断测试化合物的活性. SVM SVM:(Support Vector Machine, 支持向量机)是一种二分类模型,它的基本模型是定义在特 ...
- 【图像处理】——Python实现图像特征提取BP神经网络实现图像二分类
目录 一.图像特征提取 二.BP实现图像二分类 1.输入层.隐层.输出层结点个数设置 (1)one hot码(假设是n分类问题) (2)一个输出,输出层结点为1 一.图像特征提取 图像具有灰度特征.G ...
- 基于CNN的海面舰船图像二分类
基于CNN的海面舰船图像二分类 1. 模型依赖的环境和硬件配置 Python3.8 Pillow==8.2.0 torch-1.5.1(cuda9.2) torchfile==0.1.0 torchv ...
- 基于cnn的图像二分类算法(一)
本算法是基于tensorflow,使用python语言进行的一种图像分类算法,参考于谷歌的mnist手写识别,包括以下几个模块:图像读取,图像处理,图像增强.卷积神经网络部分包括:卷积层1,汇合层1( ...
- 深入理解GBDT二分类算法
我的个人微信公众号: Microstrong 微信公众号ID: MicrostrongAI 微信公众号介绍: Microstrong(小强)同学主要研究机器学习.深度学习.计算机视觉.智能对话系统相关 ...
- 基于SVM的图像二分类算法
本实验是用的python代码实现图像的二分类问题,我是在eclipse中搭建python环境. 一.数据集处理 我采用的是甜椒叶数据集(我忘了下载地址在哪里,我只用了一部分数据集),其中健康叶片有37 ...
最新文章
- 游遍中国 —— 大街小巷、秘境与远方
- 剑指offer:二叉树的镜像
- python 面向对象(三)多继承
- Linux下解压缩命令
- linux-basic(10)vim程序编辑器
- [教程]一份简单易懂的 TensorFlow 教程
- 数值分析牛顿法 matlab,科学网—数值分析--非线性函数牛顿迭代法matlab程序 - 殷春武的博文...
- U3D脚本开发基础(转载)
- MVC+EF 随笔小计——NuGet程序包管理
- linux grep egrep fgrep bash条件判断 bash测试 if 条件判断
- Atitit.404错误解决标准流程and url汉字中文路径404错误resin4 resin chinese char path 404 err解决
- C#Excel上传批量导入sqlserver
- 无线通信设备安装工程概预算编制_电气设备安装工程工程量清单项目设置及计价,内附图解及计算公式...
- 互联网进入网盘新时代
- 风控模型——评分卡模型
- 一文掌握SQLite3基本用法
- 基于HTML5 Canvas的3D动态Chart图表
- sakila数仓实战案例
- 将视频分割成多张图片和多张图片生成视频
- cubuide RS485问题排查