支持向量机(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与李世石对战的过程大家都有基本的了解 ...
随机推荐
- linux常见系统调用函数列表
以下是Linux系统调用的一个列表,包含了大部分常用系统调用和由系统调用派生出的的函数.这可能是你在互联网上所能看到的唯一一篇中文注释的Linux系统调用列表,即使是简单的字母序英文列表,能做到这么完 ...
- Android USB gadget configfs学习笔记总结
1.一个config_item 是通过显式用户空间mkdir操作创建的,通过rmdir销毁.属性(文件)在mkdir之后出现,可以通过read和write读取或修改属性文件.与sysfs一样,read ...
- C# to IL 8 Methods(方法)
The code of a data type is implemented by a method, which is executed by the ExecutionEngine. The CL ...
- 关于 php 和 python 的浮点计算 0.1+0.2
关于 php 和 python 的浮点计算 0.1+0.2 看到群里有小伙伴说为什么 python 计算出 0.1+0.2 是 0.30000000000000004 >>> pri ...
- 将 vue 挂在 window 对象上,实现能调用 elementUI 的组件
html 部分: <div id="sample"> </div> js 部分(将js代码放在 body 的 onload事件中: <body onl ...
- centos安装netcat
Linux安装swoole后,测试UDP服务需要用到netcat,然而百度了很多安装方法,并没有一个好用的.几经尝试,终于安装成功,现在就分享给大家,以供参考. 配置环境:centos6.3 1.下载 ...
- MySQL的吞吐量
MySQL 的QPS吞吐量或者说TPS与很多因素有关,例如CPU.内存以及硬盘等. <高性能MySQL>第三版 1.5小节对各个版本的MySQL进行了测试,其结果如下. 测试机器 测试机器 ...
- Zookeeper Ha集群简介+jdbcClient访问Ha集群环境
Hadoop-HA机制HA概述high available(高可用) 所谓HA(high available),即高可用(7*24小时不中断服务). 实现高可用最关键的策略是消除单点故障.HA严格来说 ...
- Python 基础语法+简单地爬取百度贴吧内容
Python笔记 1.Python3和Pycharm2018的安装 2.Python3基础语法 2.1.1.数据类型 2.1.1.1.数据类型:数字(整数和浮点数) 整数:int类型 浮点数:floa ...
- windows环境下把Python代码打包成独立执行的exe
windows环境下把Python代码打包成独立执行的exe可执行文件 有时候因为出差,突然急需处理一批数据.虽然写好的脚本存储在云端随用随取,然而编译的环境还需要重新搭建,模块也需要重新装载,从 ...