HOME 首页
SERVICE 服务产品
XINMEITI 新媒体代运营
CASE 服务案例
NEWS 热点资讯
ABOUT 关于我们
CONTACT 联系我们
创意岭
让品牌有温度、有情感
专注品牌策划15年

    精细高斯SVM(高斯部件)

    发布时间:2023-04-13 15:11:48     稿源: 创意岭    阅读: 127        

    大家好!今天让创意岭的小编来大家介绍下关于精细高斯SVM的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。

    开始之前先推荐一个非常厉害的Ai人工智能工具,一键生成原创文章、方案、文案、工作计划、工作报告、论文、代码、作文、做题和对话答疑等等

    只需要输入关键词,就能返回你想要的内容,越精准,写出的就越详细,有微信小程序端、在线网页版、PC客户端

    官网:https://ai.de1919.com

    创意岭作为行业内优秀的企业,服务客户遍布全球各地,如需了解SEO相关业务请拨打电话175-8598-2043,或添加微信:1454722008

    本文目录:

    精细高斯SVM(高斯部件)

    一、SVM中的核函数与概率密度估计中的非参数估计里的核函数有什么内在联系?

    我觉得一样,都是对距离的度量。

    二、12、核支持向量机SVM

    核支持向量机kernelized support vector machine,支持就是重要的意思,向量就是点,机就是机器,即重要的点。

    位于类别之间边界上的那些点,这些点叫作支持向量。想要对新样本点进行预测,需要测量它与每个支持向量之间的距离。

    核支持向量机可用于回归SVR和分类SVC。

    下面利用乳腺癌数据集对模型进行训练:

    输出

    训练集的精度为1,但测试集精度只有63%,存在过拟合。SVM要求所有特征有相似的变化范围,乳腺癌数据集的特征具有不同的量级,对核SVM有很大的影响,我们对每个特征进行缩放,使其大致都位于同一范围,如将所有特征缩放到0和1之间(每一个数-最小值/范围,注意测试集也是采用训练集的最小值和范围的标准)。

    输出

    因为训练集和测试集的性能非常接近,但还没有接近100%的精度,所以模型还是处于欠拟合的状态。我们可以尝试增大C或gamma来拟合更为复杂的模型。

    gamma是控制高斯核宽度的参数,它决定了点与点之间靠近是指多大的距离,gamma越小,更多的点被看作比较靠近。C是正则化参数,它限制每个特征的重要性(确切的说每个点的dual_coef_)。两个参数的设定通常是强烈相关的,应该同时调节。默认情况下,C=1,gamma=1。

    输出

    增大C显著改进了模型,得到了97%的精度。

    SVM允许决策边界很复杂,即使数据只有几个特征,它在低维数据和高维数据(即很少特征和很多特征)上的表现都很好。

    缺点:1 需要进行数据预处理,对数据的缩放和参数的设定非常敏感,所以数据预处理和调参都需要非常小心。这也是为什么如今很多应用中用的都是基于树的模型,比如随机森林或梯度提升(需要很少的预处理,甚至不需要预处理)。 2 SVM模型很难检查,也很难解释为什么会这么预测,难以将模型向非专家进行解释。

    三、如何利用 Python 实现 SVM 模型

    我先直观地阐述我对SVM的理解,这其中不会涉及数学公式,然后给出Python代码。

    SVM是一种二分类模型,处理的数据可以分为三类:

    • 线性可分,通过硬间隔最大化,学习线性分类器

    • 近似线性可分,通过软间隔最大化,学习线性分类器

    • 线性不可分,通过核函数以及软间隔最大化,学习非线性分类器

    • 线性分类器,在平面上对应直线;非线性分类器,在平面上对应曲线。

      硬间隔对应于线性可分数据集,可以将所有样本正确分类,也正因为如此,受噪声样本影响很大,不推荐。

      软间隔对应于通常情况下的数据集(近似线性可分或线性不可分),允许一些超平面附近的样本被错误分类,从而提升了泛化性能。

      如下图:

      精细高斯SVM(高斯部件)

      实线是由硬间隔最大化得到的,预测能力显然不及由软间隔最大化得到的虚线。

      对于线性不可分的数据集,如下图:

      精细高斯SVM(高斯部件)

      我们直观上觉得这时线性分类器,也就是直线,不能很好的分开红点和蓝点。

      但是可以用一个介于红点与蓝点之间的类似圆的曲线将二者分开,如下图:

      精细高斯SVM(高斯部件)我们假设这个黄色的曲线就是圆,不妨设其方程为x^2+y^2=1,那么核函数是干什么的呢?

      我们将x^2映射为X,y^2映射为Y,那么超平面变成了X+Y=1。

      那么原空间的线性不可分问题,就变成了新空间的(近似)线性可分问题。

      此时就可以运用处理(近似)线性可分问题的方法去解决线性不可分数据集的分类问题。

      ---------------------------------------------------------------------------------------------------------------------------

      以上我用最简单的语言粗略地解释了SVM,没有用到任何数学知识。但是没有数学,就体会不到SVM的精髓。因此接下来我会用尽量简洁的语言叙述SVM的数学思想,如果没有看过SVM推导过程的朋友完全可以跳过下面这段。

      对于求解(近似)线性可分问题:

    • 由最大间隔法,得到凸二次规划问题,这类问题是有最优解的(理论上可以直接调用二次规划计算包,得出最优解)

    • 我们得到以上凸优化问题的对偶问题,一是因为对偶问题更容易求解,二是引入核函数,推广到非线性问题。

    • 求解对偶问题得到原始问题的解,进而确定分离超平面和分类决策函数。由于对偶问题里目标函数和分类决策函数只涉及实例与实例之间的内积,即<xi,xj>。我们引入核函数的概念。

    • 拓展到求解线性不可分问题:
    • 如之前的例子,对于线性不可分的数据集的任意两个实例:xi,xj。当我们取某个特定映射f之后,f(xi)与f(xj)在高维空间中线性可分,运用上述的求解(近似)线性可分问题的方法,我们看到目标函数和分类决策函数只涉及内积<f(xi),f(xj)>。由于高维空间中的内积计算非常复杂,我们可以引入核函数K(xi,xj)=<f(xi),f(xj)>,因此内积问题变成了求函数值问题。最有趣的是,我们根本不需要知道映射f。精彩!

    • 我不准备在这里放推导过程,因为已经有很多非常好的学习资料,如果有兴趣,可以看:CS229 Lecture notes

      最后就是SMO算法求解SVM问题,有兴趣的话直接看作者论文:Sequential Minimal Optimization:A Fast Algorithm for Training Support Vector Machines

      我直接给出代码:SMO+SVM

      在线性可分数据集上运行结果:

      图中标出了支持向量精细高斯SVM(高斯部件)这个非常完美,支持向量都在超平面附近。

      在线性不可分数据集上运行结果(200个样本):

      核函数用了高斯核,取了不同的sigma

      sigma=1,有189个支持向量,相当于用整个数据集进行分类。

      精细高斯SVM(高斯部件)

      sigma=10,有20个支持向量,边界曲线能较好的拟合数据集特点。

      精细高斯SVM(高斯部件)我们可以看到,当支持向量太少,可能会得到很差的决策边界。如果支持向量太多,就相当于每次都利用整个数据集进行分类,类似KNN。

    四、「数据分类」15支持向量机(SVM)及混淆矩阵

    1.支持向量机(SVM)概述

    (1)支持向量机(Support Vector Machines,SVM)是一种二元分类模型,它是一类模型的统称,其中包括:

    ①线性可分支持向量机;

    ②线性支持向量机;

    ③非线性支持向量机。

    (2)核心思想:

        训练阶段在特征空间中寻找一个超平面,它能(或尽量能)将训练样本中的正例和负例分离在它的两侧,预测时以该超平面作为决策边界判断输入实例的类别。寻找超平面的原则是,在可分离的情况下使超平面与数据集间隔最大化。

    (3)支持向量机的分类示意图为:

    简单来说,SVM的原理就是在平面内找到一条直线,使得这两类不同的样本点分开,并且保证能够尽可能远的远离这条直线。用向量表示两类样本点之间的分类间隔(Margin)为:

    支持向量机的目的是使r最大,等价于使||w||/2最小。而几何向量使分类间隔最大问题可以转化为运筹学上的约束优化问题。因为涉及太多复杂公式,此处省略。

    只要理解了SVM的原理,并且学会利用sklearn库调用SVM模块,就达到了数据分析的目的。

    2.SVM算法实现

    (1)重要参数说明:

    ①kernel :核函数,默认是rbf,可以是‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’, ‘precomputed’ 。

    ·kernel='linear'时为线性核,C越大分类效果越好,但有可能会过拟合(defaul C=1);

    ·kernel='poly'时为多项式核函数;

    ·kernel='rbf'时(default)为高斯核,gamma值越小,分类界面越连续;gamma值越大,分类界面越“散”,分类效果越好,但有可能会过拟合。

    ②decision_function_shape:

    ·decision_function_shape='ovr'时,为one v rest,即一个类别与其他类别进行划分;

    ·decision_function_shape='ovo'时,为one v one,即将类别两两之间进行划分,用二分类的方法模拟多分类的结果。

    (2)程序实现过程:

    【注】

    在分类型模型评判的指标中,常见的方法有如下三种:

    ①混淆矩阵(也称误差矩阵,Confusion Matrix)

        混淆矩阵是评判模型结果的指标,属于模型评估的一部分。此外,混淆矩阵多用于判断分类器(Classifier)的优劣,适用于分类型的数据模型,如分类树(Classification Tree)、逻辑回归(Logistic Regression)、线性判别分析(Linear Discriminant Analysis)等方法。

    混淆矩阵的一级指标:

    通过混淆矩阵可以计算出评估模型的几个指标(二级指标):

    三级指标:F1-score

    其中,P代表Precision,R代表Recall。

    F1-Score指标综合了Precision与Recall的产出的结果。F1-Score的取值范围从0到1的,1代表模型的输出最好,0代表模型的输出结果最差。

    Ps:当分类结果多于两种时,需要将结果转化为上面的类型。

    详细内容参考博文https://blog.csdn.net/Orange_Spotty_Cat/article/details/80520839

    ②ROC曲线

    ③AUC面积

    以上就是关于精细高斯SVM相关问题的回答。希望能帮到你,如有更多相关问题,您也可以联系我们的客服进行咨询,客服也会为您讲解更多精彩的知识和内容。


    推荐阅读:

    杭州欣阳精细化工有限公司(杭州欣阳精细化工有限公司招聘)

    办公室管理的根本特征(办公室精细化管理)

    精细到极致的日本人(精细到极致的日本人是谁)

    小茅台100ml不建议收藏(小茅台100ml 53度)

    小红书发布的评论别人看不到(小红书发布的评论别人看不到怎么办)