支持向量机(SVM)的主要思想:

给定训练样本,支持向量机建立一个超平面作为决策曲面,使得正例和反例之间的隔离边缘被最大化。

线性可分模式的最优超平面

训练样本{(xi,di)}^N i=1 ,其中xi是输入模式的第i个样例,di是对应的期望相应(目标输出)。首先假设由子集di=+1代表的模式(类)和di=-1代表的模式是“线性可分的”。用于分离的产平面形式的决策曲面方程是:

W^T X + b = 0

其中X是输入向量,W是可调的权值向量,b是偏置。因此可以写成:

W^T X + b  >= 0  当di=+1

W^T X + b   < 0  当di=-1

在这里做了模式线性可分的假设,以便在相当简单的环境里解释支持向量机背后的基本思想;对于一个给定的权值向量W和偏置b,由式W^T X + b = 0定义的超平面和最近的数据点之间的间隔被称为分离边缘,用ρ表示。支持向量机的目标是找到一个特殊的超平面,这个超平面的分离边缘ρ最大。在这种条件下,决策曲面称为最优超平面

下面是二维空间中最优超平面的集合结构。

然后是进行处理和转化一下:

二维情况下点到最优超平面的袋鼠距离的几何解释:

满足

第一行或者第二行等号情况的特殊数据点(xi,di)称为支持向量,“支持向量机”因此得名。其他的训练样本完全不重要。由于支持向量的特点,这些向量在这类机器学习运行中起着主导作用。支持向量是最靠近决策面的数据点,这样的数据点是最难分类的。因此,他们和决策面的最优位置直接相关。同时各种推导之后会得到这么一个公式:

说明最大化两个类之间的分离边缘等价于最小化权值向量w的欧几里得范数。

最优超平面是唯一的,意味着最优权值向量w0提供正反例之间最大可能的分离。这个优化条件是通过最小化权值向量w的欧几里得范数获得的。

然后是基本上分四步类求这个超平面:

  1. 寻找最优超平面问题,以这样一个陈述为开始:即在原始权重空间的带约束的优化问题。
  2. 对于上述问题建立拉格朗日函数。[拉格朗日函数可以用来求目标函数约束条件下的极值]
  3. 推到出极值最优化条件。
  4. 问题的最后阶段是在对偶空间解决带拉格朗日乘子的优化问题。

神经网络与机器学习 笔记—支持向量机(SVM)(上)相关推荐

  1. 神经网络与机器学习 笔记—基本知识点(上)

    神经网络与机器学习 笔记-基本知识点(上) 0.1 什么是神经网络: 神经网络是由简单处理单元构成的大规模并行分布处理器,天然具有存储经验知识和使之可用的特性.神经网络在两个方面与大脑类似. 神经网络 ...

  2. 机器学习笔记——支持向量机SMO算法完整版代码分析

    机器学习笔记--支持向量机SMO算法完整版代码分析 代码大体分析 外循环 参数类 内循环 KKT条件判断 eCache参数 完整SMO代码 添加核函数代码 代码参考书籍:<机器学习实战> ...

  3. 神经网络与机器学习 笔记—LMS(最小均方算法)和学习率退火

    神经网络与机器学习 笔记-LMS(最小均方算法)和学习率退火 LMS算法和Rosenblatt感知器算法非常想,唯独就是去掉了神经元的压制函数,Rosenblatt用的Sgn压制函数,LMS不需要压制 ...

  4. 神经网络与机器学习 笔记—基本知识点(下)

                   神经网络与机器学习 笔记-基本知识点(下) 0.1 网络结构: 神经网络中神经元的构造方式与用于训练网络的学习算法有着密切的联系,有三种基本的网络结构: 0.7 知识表示 ...

  5. 机器学习实战 支持向量机SVM 代码解析

    机器学习实战 支持向量机SVM 代码解析 <机器学习实战>用代码实现了算法,理解源代码更有助于我们掌握算法,但是比较适合有一定基础的小伙伴.svm这章代码看起来风轻云淡,实则对于新手来说有 ...

  6. 机器学习:支持向量机SVM和人工神经网络ANN的比较

    在统计学习理论中发展起来的支持向量机(Support Vector Machines, SVM)方法是一种新的通用学习方法,表现出理论和实践上的优势.SVM在非线性分类.函数逼近.模式识别等应用中有非 ...

  7. 入门机器学习(十三)--支持向量机(SVM)

    1. 优化目标(Optimization Objective) 目前来说,我们已经学过了单变量与多变量的线性回归,逻辑回归以及神经网络等机器学习算法,他们在各自的领域都发挥着巨大的作用.但是还有一个算 ...

  8. svm 交叉验证 python_【python机器学习笔记】SVM实例:有毒蘑菇预测

    假如我手上有一个未知的蘑菇,我知道它的一系列特征(伞盖形状.发现地点.颜色.气味等等),但是仅仅依靠个人的经验判断能不能吃难免会翻车,这就要用到更多的经验.大数据就很好地解决了这个个人经验缺乏的问题: ...

  9. 机器学习之支持向量机SVM之python实现ROC曲线绘制(二分类和多分类)

    目录 一.ROC曲线 二.TP.FP.TN.FN 三. python绘制ROC曲线(二分类) 1.思路 2.关键代码 3.完整代码 四. python绘制ROC曲线(多分类) 五.参考文献 一.ROC ...

最新文章

  1. android 叉叉助手 弹幕原理
  2. 阿里数学竞赛最年轻金奖得主:15岁读少年班,21岁UC伯克利读博,想毕业就回国...
  3. Vivado篇(一)Notepad++编写的Verilog文件导入Vivado,中文注释乱码问题
  4. SQL2000自动备份
  5. secureCRT 右键的设置选中就copy or 选中即粘贴
  6. yum更新php版本,CentOS 5.4 通过yum升级PHP到5.3版本的两种方法
  7. 用iframe transform: scale() 缩小后点不到按钮_“打分”或者“打多少分”用英文可以怎样去表达?...
  8. ActiveMQ –经纪人网络解释–第4部分
  9. Android相关sdk使用
  10. Elasticsearch集群安装Version6.2.2
  11. iOS开发篇——C++函数模板介绍
  12. 结合Android源码分析总结单例模式的几种实现方式
  13. Java生鲜电商平台-提现模块的设计与架构
  14. spring(12)
  15. 购机测试软件重装上阵
  16. matlab如何画tanx图像,MATLAB画出sinx cosx tanx 图像
  17. 抖音seo,抖音优化系统,抖音seo矩阵系统源码技术搭建
  18. php6简介,[PHP框架] ThinkPHP6 介绍、安装及配置
  19. 绩效考核过程中会遇到的问题
  20. 一文解读如何评估项目的价值和可行性?

热门文章

  1. 数据分析行业需要具备哪些技术 如何快速进入
  2. Codeforces 809A - Do you want a date?(数学+排序)
  3. IP地址分类及子网掩码详解
  4. 自动布局(autoLayout)演练2
  5. 大数据分析-裙子颜色蓝黑还是白金是怎么炒作起来的?
  6. 心得体悟帖---开解语录
  7. 监督学习-逻辑回归及编程作业(一)
  8. jquery书写一个简易的二级联动
  9. C++指针与内存泄露
  10. 如何注册iClap账号?