支持向量机(SVM)算法分析——周志华的西瓜书学习
1.线性可分
对于一个数据集:
如果存在一个超平面X能够将D中的正负样本精确地划分到S的两侧,超平面如下:

那么数据集D就是线性可分的,否则,不可分。
w称为法向量,决定了超平面的方向;b为位移量,决定了超平面与原点的距离。
样本空间中的任意点x到超平面X的距离(不太熟悉的可以复习高数中空间几何那一章的内容)可以写为:

使得下面两式成立的训练样本称为支持向量:

两个异类支持向量(一个等于+1,一个等于-1)到超平面的距离之和为:

它称之为“间隔”

想找到最大间隔的划分超平面,就是使最大:

等价于:

这就是支持向量机的基本模型。
对偶问题:
上式的拉格朗日函数可写为:

其中,
对参数w和b求导可得:

将上式带入到拉格朗日函数中,消去w和b,得到对偶表达式:


采用SMO算法完成对偶问题的求解:
原始论文地址:http://www-ai.cs.uni-dortmund.de/LEHRE/SEMINARE/SS09/AKTARBEITENDESDM/FOLIEN/Joerg_Nitschke_Sequential_minimal_optimization.pdf
核函数:
对于非线性可分的训练样本通过核函数将原始空间映射到更高维的特征空间来使得样本线性可分。
令表示x映射后的特征向量,那么新的模型可以表示为:

可以得出:

对偶问题表示为:


这里涉及到,这是样本
和
映射到高维特征空间后的內积,我们不直接计算
,设计一个函数:

重写为:

求解出,即可求出模型:



我会在优化理论里面更仔细地分析核函数。
软间隔和正则化:

软间隔允许某些样本不满足约束,优化目标可以改写为:

是非凸、非连续的函数,采用其他函数来代替
,称为surrogate loss。通常surrogate loss是凸的连续函数且是
的上界。下面有三种常用的代理损失函数:

若采用hinge损失:

引入松弛变量:


得到拉格朗日函数:

其中是拉格朗日乘子。

对偶问题:

支持向量机(SVM)算法分析——周志华的西瓜书学习的更多相关文章
- 周志华-机器学习西瓜书-第三章习题3.5 LDA
本文为周志华机器学习西瓜书第三章课后习题3.5答案,编程实现线性判别分析LDA,数据集为书本第89页的数据 首先介绍LDA算法流程: LDA的一个手工计算数学实例: 课后习题的代码: # coding ...
- python实现简单决策树(信息增益)——基于周志华的西瓜书数据
数据集如下: 色泽 根蒂 敲声 纹理 脐部 触感 好瓜 青绿 蜷缩 浊响 清晰 凹陷 硬滑 是 乌黑 蜷缩 沉闷 清晰 凹陷 硬滑 是 乌黑 蜷缩 浊响 清晰 凹陷 硬滑 是 青绿 蜷缩 沉闷 清晰 ...
- 【SVM】周志华
一.书籍(121-139)
- (二)《机器学习》(周志华)第4章 决策树 笔记 理论及实现——“西瓜树”——CART决策树
CART决策树 (一)<机器学习>(周志华)第4章 决策树 笔记 理论及实现——“西瓜树” 参照上一篇ID3算法实现的决策树(点击上面链接直达),进一步实现CART决策树. 其实只需要改动 ...
- 【Todo】【读书笔记】机器学习-周志华
书籍位置: /Users/baidu/Documents/Data/Interview/机器学习-数据挖掘/<机器学习_周志华.pdf> 一共442页.能不能这个周末先囫囵吞枣看完呢.哈哈 ...
- 偶尔转帖:AI会议的总结(by南大周志华)
偶尔转帖:AI会议的总结(by南大周志华) 说明: 纯属个人看法, 仅供参考. tier-1的列得较全, tier-2的不太全, tier-3的很不全. 同分的按字母序排列. 不很严谨地说, tier ...
- 机器学习周志华 pdf统计学习人工智能资料下载
周志华-机器学习 pdf,下载地址: https://u12230716.pipipan.com/fs/12230716-239561959 统计学习方法-李航, 下载地址: https://u12 ...
- 【转载】 AI会议的总结(by南大周志华)
原文地址: https://blog.csdn.net/LiFeitengup/article/details/8441054 最近在查找期刊会议级别的时候发现这篇博客,应该是2012年之前的内容,现 ...
- 《AlphaGo世纪对决》与周志华《机器学习》观后感
这两天看了<AlphaGo世纪对决>纪录片与南大周志华老师的<机器学习>,想谈谈对人工智能的感想. 首先概述一下视频的内容吧,AlphaGo与李世石对战的过程大家都有基本的了解 ...
随机推荐
- hasura graphql-engine v1.0.0-alpha30 功能试用
hasura graphql-engine v1.0.0-alpha30 有好多新的功能的添加 环境准备 docker-compose 文件 version: '3.6' services: post ...
- Quest for sane signals in Qt - step 1 (hand coding a Q_OBJECT)
探索qt的信号ref: http://crazyeddiecpp.blogspot.hk/2011/01/quest-for-sane-signals-in-qt-step-1.html If it ...
- taro 列表渲染
元素的 key 在他的兄弟元素之间应该唯一 数组元素中使用的 key 在其兄弟之间应该是独一无二的.然而,它们不需要是全局唯一的.当我们生成两个不同的数组时,我们可以使用相同的 key key 的取值 ...
- Jenkins进阶-部署Web项目到远程tomcat(7)
之前讲到的是如何构建一个项目,并且将代码进行编译.打包,那么打包完成最后的结果就需要发布到应用服务器,将项目部署成功.在之前的项目中我们采用的shell脚本来部署,下面讲解通过Jenkins部署web ...
- Redis list数据结构
1. 更换命名空间 2.lpush 往列表里放入10个值 3. llen列表长度 4. lrange 列表范围 8. lset将第0个元素设置为88 9. lindex 获得第2个元素 10. lpo ...
- Spring学习之SpringMVC框架快速搭建实现用户登录功能
引用自:http://blog.csdn.net/qqhjqs/article/details/41683099?utm_source=tuicool&utm_medium=referral ...
- Micro QR 和QR码
QRcode.com 什么是QR码 QR码的种类 如何导入 QR码的成功之路 常见问题解答 咨询 Language Micro QR码 返回 QR码的种类 首页 二维码上只有一个定位图案,这就是M ...
- oracle rename数据文件的两种方法
oracle rename数据文件的两种方法 2012-12-11 20:44 10925人阅读 评论(0) 收藏 举报 分类: oracle(98) 版权声明:本文为博主原创文章,未经博主允许不 ...
- Mysql 【影响性能的几个方面】以及【性能优化顺序】
服务器性能 cpu 可用内存大小 网络 IO (增加IO子系统) mysql 存储引擎 数据库服务器配置参数(主要优化方向) 数据库结构设计,sql语句. 慢查询
- 解决js输出汉字乱码问题
当我们需要使用js输出汉字时,偶然会出现输出的中文汉字乱码的情况,在网上收了很多解决方案 1.在mata中加 <meta content="text/html; charset=utf ...