计算机系统应用教程网站

网站首页 > 技术文章 正文

曾经最热门的机器学习算法——支持向量机(一)

btikc 2024-11-19 02:02:58 技术文章 3 ℃ 0 评论



支持向量机简介

支持向量机(Support Vector Machine, SVM)是一类按监督学习(supervised learning)方式对数据进行二元分类的广义线性分类器(generalized linear classifier),其决策边界是对学习样本求解的最大边距超平面(maximum-margin hyperplane)。

SVM使用铰链损失函数(hinge loss)计算经验风险(empirical risk)并在求解系统中加入了正则化项以优化结构风险(structural risk),是一个具有稀疏性和稳健性的分类器。SVM可以通过核方法(kernel method)进行非线性分类,是常见的核学习(kernel learning)方法之一。

SVM被提出于1964年,在二十世纪90年代后得到快速发展并衍生出一系列改进和扩展算法,在人像识别、文本分类等模式识别(pattern recognition)问题中有得到应用。(来源:搜狗百科)

支持向量机学习包含以下几个由简入繁的模型:线性可分支持向量机,线性支持向量机,非线性支持向量机。简单模型是复杂模型的基础。也是复杂模型的特殊情况。

当数据集线性不可分时有一种核方法,可以在,输入空间是欧氏空间或离散集合,特征空间是希尔伯特空间时,将输入从输入空间映射到特征空间得到特征向量之积。这种方法是更为一般的机器学习方法。

线性可分支持向量机

给定线性可分数据集,通过间隔间隔最大化或等价的求解相应的凸二次规划问题学习得到的分离超平面为:

W^* ·x+ b^*= 0

以及相应的分类决策函数 :

f(x)=sign(W^* ·x+ b^*)

如下图所示:


我们需要找到一组最好的 w和b 确定的分割超平面使得支持向量距离此平面的间隔最大

其实就是现在数据点中找到距离分割平面最近的点(支持向量),然后优化w和b来最大化支持向量到分割超平面的距离。

就是优化下列函数

argmax{min{W^* ·x+ b^*}/||w||}

直接优化上面的式子很困难,我们需要做一些处理,使得同样的优化问题可以使我们用方便的优化算法来求解。

下期讲述其具体的优化方法。

关注头条号,下期更精彩。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表