正负样本
在机器学习和特别是在分类任务中,正样本和负样本是相对于某一分类目标而言的,通常在二分类问题(yes or no)中,分类后想要的类别就是正样本,其他均为负样本!!!
- 正样本(Positive Samples):这类样本代表了分类任务中的感兴趣的类别。例如,在垃圾邮件检测中,所有垃圾邮件构成的样本被视为正样本。
- 负样本(Negative Samples):这类样本则代表非目标类别。继续垃圾邮件的例子,所有非垃圾邮件的样本被视为负样本。
正负样本在二分类和多分类问题中的应用
-
二分类问题:在二分类问题中,正负样本的概念最为明确,通常直接对应于问题中的两个类别。一个类别被标记为正,另一个被标记为负。这种划分有助于算法明确地学习区分这两个类别。
-
多分类问题:虽然正负样本的概念最直观地应用于二分类问题,但它们也可以适用于多分类场景。在多分类问题中,可以通过将多类问题分解为多个二分类问题来使用正负样本的概念。这种方法称为“一对多”(One-vs-All)策略。例如,如果有三个类别A、B和C,那么可以创建三个二分类任务:
- 第一个任务可能涉及将A类作为正样本,而将B和C类合并作为负样本。
- 第二个任务将B类作为正样本,A和C类作为负样本。
- 第三个任务将C类作为正样本,A和B类作为负样本。
在每个任务中,模型只关注于区分两个“超类”(即目标类和所有其他类的组合)。
支持向量机(SVM)中的正负样本
在支持向量机(SVM)中,正负样本的概念尤其重要,因为SVM的目标是在特征空间中找到一个超平面,该超平面能最大化地分开正样本和负样本。SVM通过最大化正样本和负样本之间的间隔来实现这一点,而最靠近这个决策边界的样本点被称为“支持向量”。
引入核方法后,SVM能够通过映射数据到更高维的空间来处理非线性问题,这使得即使在原始特征空间中数据不是线性可分的情况下,也可以在这个新空间中找到一个线性决策边界来有效地分离正负样本。也就是说,核方法能够赋予SVM对于高维空间复杂超平面的探索与分离能力。
SVM与核技术
在讨论支持向量机(SVM)时,核心技术之一就是使用所谓的“核技巧”来处理非线性可分问题。这部分内容是理解SVM在复杂数据集上应用的关键。以下详细解释这一技术:
1. SVM和线性可分问题
支持向量机最初是为线性可分的数据设计的。在这种情况下,SVM的目标是在n维空间中找到一个最优的超平面(决策边界),这个超平面可以清晰地分隔开属于不同类别的数据点,即正样本和负样本。超平面的选择基于最大化两个类别之间的间隔,这个间隔是从超平面到最近的、任一类中的数据点(称为支持向量)的最短距离。
2. 非线性问题和核方法
在现实世界的应用中,数据往往不是线性可分的,这意味着不存在一个简单的直线或平面能完美地分隔两个类别的数据。为了解决这个问题,SVM引入了核方法(Kernel Method),允许SVM在更高维度的空间中有效地找到决策边界,从而处理原始空间中的非线性关系。
3. 核函数的作用
核函数的基本思想是将原始输入空间的数据映射到一个更高维的特征空间中。在这个新的高维空间中,数据集可能变得线性可分,SVM随后可以在这个空间中找到一个线性决策边界。关键的优势是,通过核函数,我们可以在高维空间中进行计算,而无需显式地构造这个空间中的坐标系统,这样可以避免直接处理相对较高维数中存在的计算和存储负担。
4. 常见的核函数
- 线性核(Linear Kernel):没有映射到更高维度,保持数据在原始空间。
- 多项式核(Polynomial Kernel):通过一个多项式的形式增加数据特征的维度,参数包括多项式的阶数。
- 径向基函数核(Radial Basis Function, RBF,或 Gaussian Kernel):将每个数据点映射到一个无限维的空间,非常适合处理那些在原始空间中类别之间有复杂边界的情况。
- Sigmoid核:使用Sigmoid函数作为核函数,将数据映射到高维空间。
选择哪个核函数通常基于数据的特性和问题的需求。没有一种核函数适合所有类型的数据,选择合适的核函数和其参数(如RBF核的带宽)通常需要通过交叉验证等模型选择技术来确定。
虽然核方法使SVM能够处理非线性问题,但它也引入了如何选择合适核函数和调整参数的挑战。此外,当数据集非常大时,SVM的训练过程可能会非常耗时,尤其是在使用复杂核函数时。