1. 模式识别总论
第一种是经典的(参数)统计估计方法。现有机器学习方法共同的重要理论基础之一是统计学。参数方法正是基于传统统计学的,在这种方法中,参数的相关形式是已知的,训练样本用来估计参数的值。这种方法有很大的局限性。
首先,它需要已知样本分布形式,这需要花费很大代价,还有,传统统计学研究的是样本数目趋于无穷大时的渐近理论,现有学习方法也多是基于此假设。但在实际问题中,样本数往往是有限的,因此一些理论上很优秀的学习方法实际中表现却可能不尽人意。
我觉得NB、ME、CRF等算法都属于这一类。
第二种方法是不考虑概率分布,直接进行分类。比如线性分类器、非线性分类器。如人工神经网络 (ANN)。这种方法利用已知样本建立非线性模型,克服了传统参数估计方法的困难。但是,这种方法缺乏一种统一的数学理论。
这个路线的后期就是SVM,过去各种分类器都只考虑经验风险最小化,SVM提出了结构风险最小化。
这两种路线之间存在关系,我还不是特别明白。不过直观上想,经典的统计方法有清晰的概率含义,而且还能够通过规定模型的结构来融合更多的知识。而SVM不关心模型的含义。
2.Maximum Margin Classifier
最大边缘分类器就是早期的SVM,它是一个线性分类器,还没有引入kernel呢。但是已经体现了SVM的基本特点:结构风险最小化。
经验风险是Remp[f],期望风险是R[f],则R[f]<=(Remp[f]+g(h/n))。其中g(h/n)是VC维 h 的增函数,也是样本数n的减函数。右端称为结构风险。VC维h是模型复杂度的度量。总的来看,就是在经验风险一样的情况下,训练样本数n越大,则结构风险越小,模型复杂度h越小,则结构风险越小。结构风险最小化,就是平衡了经验风险和模型复杂度。过去的模型常常不考虑这个问题,比如多项式函数显然比线性函数表达能力强,但是它们的模型复杂度更高。
VC维的定义如下:对于一个指示函数集,如果存在h个样本能够被函数集中的函数按所有可能的2的h次幂种形式分开,则称函数集能够把h个样本都打散,h的最大值就是函数集的VC维。VC维是SLT中的一个重要概念,它是函数集学习性能的重要指标。目前尚没有通用的关于任意函数集VC维计算的理论,只知道一些特殊的函数集的VC维。比如,在n维空间中线性分类器和线性实函数的VC维是 n+1,而 f(x,a) = sin(ax) 的VC维则为无穷大。对于给定的学习函数集,如何(用理论或实验的方法)计算其VC维是当前统计学习理论中有待研究的一个问题。
这时的SVM有一个另外的重要概念,就是margin。现在我们假设数据线性可分。所谓margin,就是从分类面生成两个与分类面平行的平面,分别向正例和负例数据集靠拢,直到这两个平面首次通过某个正例或负例点。
这两个平面间的距离称为margin。设margin为a,则超平面集合的 VC 维 h 满足下面关系:
h=f(1/(a^2))
其中, f是单调增函数,即 h 与a的平方成反比关系。因此,当训练样本给定时,分类间隔越大,则对应的分类超平面集合的 VC 维就越小。
因为数据是线性可分的,所以总可以找到一个超平面使得经验风险等于0,接下来,我们就要在所有的超平面中找到边缘最大的。另外,边缘等于2/||w|| ,所以,整个问题是:
在满足c_i(w*x_i-b)>=1的情况下,最小化||w||。一个等价的问题是:在满足c_i(w*x_i-b)>=1的情况下,最小化0.5*(||w||)^2。
3. Soft Margin
当数据不是线性可分的时候,以上的理论出现瑕疵了,我们无法在经验风险为0的情况下最大化margin。这时,我们允许c_i(w*x_i-b)<1。然后就得到了SVM最常见的定义:
4.Kernel
http://en.wikipedia.org/wiki/Kernel_trick
kernel是一个独立的方法,就是帮助线性分类器解决非线性问题的。
在传统的分类方法中,如果分类模型的复杂性提高,很容易就出现过拟合的情况。所以,传统上有两种方法解决:1、使用模型选择,使用较简单的模型;2、用Regulation。虽然使用了更复杂的模型,但是还是避免模型过分拟合数据。SVM中,选择各种不同的核就对应于第一种方法,而SVM自己的结构风险最小化中就包含了regulation,对应第二种方法。
分享到:
相关推荐
本文来源于csdn,介绍了SVM,线性分类器,线性分类器的求解,松弛变量,SVM用于多类分类等。支持向量机(SupportVectorMachine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出...
#### 三、SVM原理简介 1. **线性可分情况**:在最简单的情况下,假设数据是线性可分的,SVM通过寻找一个超平面来最大化正负样本间的间隔。这个超平面不仅能够正确分类所有样本点,而且使得两类样本之间的距离最大化...
### SVM基础原理快速入门知识点详解 #### 一、支持向量机(SVM)概述 - **定义**: 支持向量机(Support Vector Machine, SVM)是一种基于统计学习理论的监督学习模型,主要用于分类和回归分析。SVM的核心思想在于找到...
本篇文章将深入探讨SVM的基本原理,以及如何用Python进行实现,同时会涉及到拉格朗日乘子法和Karush-Kuhn-Tucker (KKT) 条件。 一、SVM基本原理 1. **间隔最大化**:SVM的核心思想是找到一个超平面,使得数据点到...
### weka-svm原理详解 #### 一、理论背景与机器学习视角 支持向量机(SVM,Support Vector Machine)作为机器学习领域中的一个重要算法,其理论基础来源于统计学习理论,尤其是Vapnik-Chervonenkis (VC) 维度理论...
支持向量机(SVM,Support Vector ...通过深入学习《理解svm原理书籍整合》中的内容,无论是初学者还是经验丰富的从业者,都能对SVM有更全面和深入的理解,掌握其背后的数学原理和实战技巧,为实际项目提供有力的工具。
该word文档详细介绍了SVM基本原理,并对其进行了简要分析
### SVM交叉验证原理详解 #### 一、交叉验证概述 交叉验证(Cross Validation)是一种评估统计分析、机器学习算法在独立于训练数据的数据集上的泛化能力的方法,它有助于避免模型过拟合的问题。在机器学习领域,尤其...
SVM原理详解 支持向量机(SVM)作为一种机器学习算法,在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。下面我们将详细介绍SVM的原理和分类器的工作...
SVM 算法基本原理详解 SVM(Support Vector Machine,支持向量机)是一种基于统计学习理论的机器学习算法,由 Cortes 和 Vapnik 于 1995 年首先提出。它在解决小样本、非线性及高维模式识别中表现出许多特有的优势...
### SVM入门:SVM的八股简介 #### 1.1 SVM的基本概念 支持向量机(Support Vector Machine,简称SVM)是一种监督学习模型,主要用于分类和回归分析。SVM最早是由Cortes和Vapnik在1995年提出的。其核心思想是在特征...
在本PPT中,我们将深入探讨SVM的基本概念、工作原理以及实际应用。 首先,我们需要理解什么是特征空间和决策边界。在SVM中,我们把原始数据映射到高维特征空间,这样可以更容易找到线性可分的决策边界。对于非线性...
该代码主要是从原理上实现了SVM,一步一步的解析和实现
SVM原理推导,带公式推导,公式纯手敲;知识向量机原理推导;
### SVM的基本原理与应用 #### 引言与统计学习理论 支持向量机(SVM)作为一种有效的机器学习方法,在分类和回归问题中表现出色。本文旨在深入探讨SVM的基本原理及其在实际中的应用,适合于对SVM感兴趣的学习者。 ...
### 机器学习 SVM算法原理 #### 一、引言 支持向量机(Support Vector Machine, SVM)是一种广泛应用于分类和回归分析的监督学习方法。它最初由Vladimir Vapnik和他的同事提出,并在90年代后期逐渐受到学术界和工业...
支持向量机(Support Vector Machine, SVM)是一种广泛应用于分类和回归分析的机器学习模型,其核心思想是找到一个超平面最大化数据集的间隔。在实际应用中,尤其是在高维特征空间,SVM的参数优化成为一个挑战,因为...