热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

【机器学习-西瓜书】六、支持向量机:核技巧;软间隔;惩罚因子C;松弛变量

推荐阅读:核技巧;惩罚因子C关键词:核技巧;软间隔;惩罚因子C;松弛变量6.3核函数关键词:核函数;核技巧上一节讲到,SVM寻找的是使得间隔最大的那一个超平面作为分类器,这还是一

推荐阅读: 核技巧;惩罚因子C

关键词:核技巧;软间隔;惩罚因子C;松弛变量

6.3核函数

关键词:核函数;核技巧

上一节讲到,SVM寻找的是使得间隔最大的那一个超平面作为分类器,这还是一个线性分类器,然而很多情况下是非线性可分的,SVM是如何解决这个问题的呢?SVM是将样本从原始空间映射到一个更高维度的特征空间,使得样本在特征空间中线性可分。例如简单的异或问题在二维空间中线性不可分,但是映射到三维空间就线性可分,如图:
这里写图片描述
所以当任务是线性不可分(绝大多数任务都是线性不可分的)时,SVM就将样本从原始空间映射到特征空间(高维空间),在特征空间中分类器(划分超平面)还是一个线性模型,在特征空间该超平面可表示为: f(x)=wT(x)+b ,其中w,b是模型参数, (x) 表示将x映射到特征空间中的特征向量。则SVM的基本型变成: 这里写图片描述
上一节也说过,求原问题不如求其对偶问题来得方便,那我们来看看其对偶问题是什么: 这里写图片描述
对比上一节的对偶问题,可以发现,唯一的变化就是 线性可分时,要计算的是原始空间当中输入样本的内积 xTixj ,而处理线性不可分,需要计算特征空间(高维空间)当中样本的内积 (xTi)(xj) 。然而,特征空间维数可能很高,甚至是无穷维,直接计算 (xTi)(xj) 是相当困难的。为了避开这个障碍,可以设想这样一个函数: k(xi,xj)=<(xTi),(xj)>=(xTi)(xj)
,即 xi xj 在特征空间的内积等于它们在原始样本空间通过函数 k(,) 计算的结果。这个函数就称为核函数,通过核函数来避免在高维空间中求内积的技巧,称之为核技巧(kernel trick)
一句话总结:核技巧就是通过核函数去避免高维空间中的内积计算。
常用的核函数有:这里写图片描述

6.4 软间隔与正则化

关键词:软间隔;惩罚因子C;松弛变量
上一小节讲了SVM通过空间变换(原始空间变换到高维空间)把线性不可分问题转换成线性可分,并且是完美的线性可分(所有训练样本不允许出错)。通常来说,找到这么完美的映射是很难的,即使找到了,也很难说这个貌似线性可分的结果不是由于过拟合(overfitting)造成的。

缓解这一问题的一个办法就是允许支持向量机在一些样本上出错,如下图当中,红色圈圈的那些样本,就是错误分类的样本,在这里,总共有5个样本错误分类。 这里写图片描述
之前所讨论的,要求所有样本均满足约束条件( yi(wTx+b)1 ),这称为“硬间隔”(hard margin),而软间隔(Soft margin)是允许某些样本不满足约束( yi(wTx+b)1
那这个软间隔如何体现到目标方程当中呢?原目标方程是要最小化 12w2 ,要在这上面加一项,这一项要能表示错误样本所带来的分数,这个分数也就是通常所说的loss。假设我允许出错5个样本(5个是假设的,一开始压根不可能知道会出错几个),一个样本出错我就记为1分,那么就是5分。而5要和 12w2 这个值相加得到总的loss,从而去更新参数,进行训练,那么就会涉及到一个权衡问题,假如 12w2 的数量级是10e-5的话,那么loss完全由 错误样本所带来的分数所主导,反之亦然。很显然,我们并不希望这样,于是乎,要找一个因子C来权衡 12w2 与错误样本所带来的分数,也称之为惩罚因子。所以,我们的目标方程就可以变为:这里写图片描述
,其中惩罚因子C是用来权衡模型复杂度( 12w2 )和样本允许出错的大小的。而 l. 是计算错误样本所带来的分数的函数,这个函数通常用一下三种: 这里写图片描述
若采用hinge损失,我们的目标方程就是:
这里写图片描述
,max后面那一堆看着岂不是很烦? 引入一个名为松弛变量(slack variables)的东西 ξi0 ,(松弛变量呢,是用来表征样本不满足约束的程度
那么目标方程就很简洁了:
这里写图片描述
这个形式就是软间隔支持向量机了。
在这里讨论一下惩罚因子C,当C无穷大的时候,会发生什么呢?C无穷大的时候,还要最小化 12w2+Cmi=1ξi ,很显然,需要 mi=1ξi 等于零,也就是一个样本也不允许出错。所以说,C越大,允许出错的样本越小,模型的复杂度越高,越容易过拟合。所以当SVM过拟合的时候,适当的减小惩罚因子C,可以缓解过拟合问题。


推荐阅读
  • 开发笔记:小白python机器学习之路——支持向量机
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了小白python机器学习之路——支持向量机相关的知识,希望对你有一定的参考价值。支持 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 分享2款网站程序源码/主题等后门检测工具
    本文介绍了2款用于检测网站程序源码和主题中是否存在后门的工具,分别是WebShellkiller和D盾_Web查杀。WebShellkiller是一款支持webshell和暗链扫描的工具,采用多重检测引擎和智能检测模型,能够更精准地检测出已知和未知的后门文件。D盾_Web查杀则使用自行研发的代码分析引擎,能够分析更为隐藏的WebShell后门行为。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 本文介绍了绕过WAF的XSS检测机制的方法,包括确定payload结构、测试和混淆。同时提出了一种构建XSS payload的方法,该payload与安全机制使用的正则表达式不匹配。通过清理用户输入、转义输出、使用文档对象模型(DOM)接收器和源、实施适当的跨域资源共享(CORS)策略和其他安全策略,可以有效阻止XSS漏洞。但是,WAF或自定义过滤器仍然被广泛使用来增加安全性。本文的方法可以绕过这种安全机制,构建与正则表达式不匹配的XSS payload。 ... [详细]
  • cs231n Lecture 3 线性分类笔记(一)
    内容列表线性分类器简介线性评分函数阐明线性分类器损失函数多类SVMSoftmax分类器SVM和Softmax的比较基于Web的可交互线性分类器原型小结注:中文翻译 ... [详细]
  • 机器学习之数据均衡算法种类大全+Python代码一文详解
    目录前言一、为什么要做数据均衡?二、数据场景1.大数据分布不均衡2.小数据分布不均衡三、均衡算法类型1.过采样2.欠采样3.组合采样四、算法具体种类1 ... [详细]
  • Stanford机器学习第九讲. 聚类
    原文:http:blog.csdn.netabcjenniferarticledetails7914952本栏目(Machinelearning)包括单参数的线性回归、多参数的线性 ... [详细]
  • 使用机器学习的疾病预测原文:https://www.gees ... [详细]
  • 开源真香 离线识别率高 Python 人脸识别系统
    本文主要介绍关于python,人工智能,计算机视觉的知识点,对【开源真香离线识别率高Python人脸识别系统】和【】有兴趣的朋友可以看下由【000X000】投稿的技术文章,希望该技术和经验能帮到 ... [详细]
  • 偶然发现的Python自学宝藏地带!
    大家好最近发现一个自学python的好地方,这里全部都是原创文章,涉及爬虫、可视化、PythonWeb、数据分析、自动化办公、机器学习,应 ... [详细]
  • 1.支持向量机通俗导论(理解SVM的三层境界)2.机器学习算法实践- ... [详细]
  • 学堂在线_大数据与机器学习_第四章感知机
    感知机模型是神经网络和SVM的基础第一个最基本的模型几何解释,就是个平面损失函数,是根据距离定义出来的,并不是随便定义的,点 ... [详细]
  • Visualizing and Understanding Convolutional Networks(ZFNet网络)论文阅读笔记
    VisualizingandUnderstandingConvolutionalNetworksZFNet网络架构论文阅读笔记2022.4.4论文地址https:arxiv ... [详细]
  • IJCAI-18阿里妈妈搜索广告转化预测总结,Go语言社区,Golang程序员人脉社 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有