SVM学习笔记4-核函数和离群点的处理
核函数
在svm里,核函数是这样定义的。核函数是一个n*n(样本个数)的矩阵,其中:
$K_{ij}=exp(-\frac{||x^{(i)}-x^{(j)}||^{2}}{2\sigma ^{2}})$
也就是说,当两个向量越接近时,它们的核函数越接近于1;越远时,核函数越接近于0。在svm里,使用$K_{ij}$而不使用$(x^{(i)})^{T}x^{(j)}$,应该是就像神经网络或者逻辑回归里的激活函数吧。反正,以后出现两个样本内积的地方,都换成相应的核函数。那么从3最后求解的式子就变成了:
$\underset{\alpha}{min}W(\alpha)=\frac{1}{2} \sum_{i,j=1}^{n}y^{(i)}y^{(j)}\alpha_{i}\alpha_{j}k_{ij}-\sum_{i=1}^{n}\alpha_{i}$,使得满足(1)$\alpha_{i}\geq 0,1 \leq i \leq n$,(2)$\sum_{i=1}^{n}\alpha_{i}y^{(i)}=0$
离群点处理
在实际问题中,可能样本点并不是能够完全分成两类(比如有可能有几个正样本在负样本中间,或者相反),那这样岂不是有可能找不到超平面了?为了处理这个问题,我们将求解问题转换一下:$min_{w,b,\xi}$ $\frac{1}{2}||w||^{2}+C\sum_{i=1}^{n}\xi _{i}$,使得$y^{(i)}(w^{T}x^{(i)}+b)\geq 1-\xi _{i} ,1 \leq i \leq n$
那么对应的拉格朗日函数为:$L(w,b,\xi,\alpha,r)=\frac{1}{2}||w||^{2}+C\sum_{i=1}^{n}\xi _{i}-\sum_{i=1}^{n}\alpha_{i}[y^{(i)}(w^{T}x^{(i)}+b)-1+\xi_{i}]-\sum_{i=1}^{n}r_{i}\xi_{i}$
同样的,其对$w,b,\xi$的导数为0,然后化简,最后得到的问题为:
$\underset{\alpha}{min}W(\alpha)=\frac{1}{2} \sum_{i,j=1}^{n}y^{(i)}y^{(j)}\alpha_{i}\alpha_{j}k_{ij}-\sum_{i=1}^{n}\alpha_{i}$,使得满足(1)$0 \leq \alpha_{i}\leq C,1 \leq i \leq n$,(2)$\sum_{i=1}^{n}\alpha_{i}y^{(i)}=0$
同时有:
(1)$\alpha_{i}=0\Rightarrow y^{(i)}(w^{T}x^{(i)}+b)\geq 1$,正常样本
(2)$\alpha_{i}=C\Rightarrow y^{(i)}(w^{T}x^{(i)}+b)\leq 1$,异常样本,在支持向量之间
(3)$0< \alpha_{i}< C\Rightarrow y^{(i)}(w^{T}x^{(i)}+b)= 1$,支持向量
SVM学习笔记4-核函数和离群点的处理的更多相关文章
- SVM学习笔记(一)
支持向量机即Support Vector Machine,简称SVM.一听这个名字,就有眩晕的感觉.支持(Support).向量(Vector).机器(Machine),这三个毫无关联的词,硬生生地凑 ...
- SVM学习笔记
一.SVM概述 支持向量机(support vector machine)是一系列的监督学习算法,能用于分类.回归分析.原本的SVM是个二分类算法,通过引入“OVO”或者“OVR”可以扩展到多分类问题 ...
- SVM学习笔记(一):libsvm参数说明(转)
LIBSVM 数据格式需要---------------------- 决策属性 条件属性a 条件属性b ... 2 1:7 2:5 ... 1 1:4 2:2 ... 数据格式转换--------- ...
- SVM学习笔记(二)----手写数字识别
引言 上一篇博客整理了一下SVM分类算法的基本理论问题,它分类的基本思想是利用最大间隔进行分类,处理非线性问题是通过核函数将特征向量映射到高维空间,从而变成线性可分的,但是运算却是在低维空间运行的.考 ...
- DOCKER 学习笔记8 Docker Swarm 集群搭建
前言 在前面的文章中,已经介绍如何在本地通过Docker Machine 创建虚拟Docker 主机,以及也可以在本地Windows 创建虚拟主机,也是可以使用的.这一节,我们将继续学习 Docker ...
- Redis学习笔记(十七) 集群(上)
Redis集群是Redis提供的分布式数据库方案,集群通过分片来进行数据共享,并提供复制和故障转移操作. 一个Redis集群通常由多个节点组成,在刚开始的时候每个节点都是相互独立的,他们处于一个只包含 ...
- Docker Swarm Mode 学习笔记(创建 Swarm 集群)
Swarm 集群由管理节点与工作节点组成. 初始化集群 使用命令:docker swarm init 如果你的 Docker 主机有多个网卡, 拥有多个 IP 地址, 必须使用 --advertise ...
- SVM学习笔记-线性支撑向量机
对于PLA算法来说,最终得到哪一条线是不一定的,取决于算法scan数据的过程. 从VC bound的角度来说,上述三条线的复杂度是一样的 Eout(w)≤Ein0+Ω(H)dvc= ...
- SVM学习笔记5-SMO
首先拿出最后要求解的问题:$\underset{\alpha}{min}W(\alpha)=\frac{1}{2} \sum_{i,j=1}^{n}y^{(i)}y^{(j)}\alpha_{i}\a ...
随机推荐
- MyBatis基础入门《十 一》修改数据
MyBatis基础入门<十 一>修改数据 实体类: 接口类: xml文件: 测试类: 测试结果: 数据库: 如有问题,欢迎纠正!!! 如有转载,请标明源处:https://www.cnbl ...
- LeetCode107.二叉树的层次遍历II
给定一个二叉树,返回其节点值自底向上的层次遍历. (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 ...
- (转)使用yuicompressor-maven-plugin压缩js及css文件(二)
本文介绍通过使用yuicompressor-maven-plugin插件实现js及css代码的自动压缩,方便集成到持续集成环境中,如jenkins. 一.配置yuicompressor-maven-p ...
- centos python2升级为python3 升级旧版本django
阿里云centos python3 及django的配置 安装python3后 pip 会把下载的包安入python2.7 下面解决该问题 python3.5安装1,安装依赖包#yum install ...
- 20155228 2017-5-31 课堂测试:编写MyOD.java
20155228 2017-5-31 课堂测试:编写MyOD.java 题目和要求 编写MyOD.java:用java MyOD XXX实现Linux下od -tx -tc XXX的功能 提交测试代码 ...
- 财务自由VS精神自由
财务自由 财务自由,在物质层面改善人的生活.它使人不愁生计.住更宽敞明亮的房间,穿锦衣绸缎,自由自在地游玩,做自己想做的事儿.可是,这就是它的能力所及了.钱无法改变人的品味.审美和人格.它也无法告诉人 ...
- Linux服务器安装部署redis
参考地址: redis教程:http://www.runoob.com/redis/redis-tutorial.html redis百度百科:https://baike.baidu.com/item ...
- python字典的排序,按key排序和按value排序---sorted()
>>> d{'a': 5, 'c': 3, 'b': 4} >>> d.items()[('a', 5), ('c', 3), ('b', 4)] 字典的元素是成键 ...
- php 网站301重定向设置代码实战案例
php 网站301重定向设置代码实战案例 301重定向就是页面永久性移走的意思,搜索引擎知道这个页面是301重定向的话,就会把旧的地址替换成重定向之后的地址. 302重定向就是页面暂时性转移,搜索引擎 ...
- Step3 SQL Server 通过备份文件初始化复制
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 搭建过程(Process) 注意事项(Attention) 疑问(Questions) 参考文 ...