内容来自:https://github.com/GreedyAIAcademy/Machine-Learning

最初

支持向量机的目的:找到一条好的分割线
什么杨的分割线最好?
有最大间隔的分割线最好。

推导过程

Support Vector是被选中用于计算的点,也就是距离分界线最近的几个点。

显然d1+d2=“向量(x1-x2)的模”*cosθ。
根据向量内机的算法:向量w*向量(x1-x2)=|w|*|x1-x2|cosθ
因此,d1+d2=向量w*向量(x1-x2)/|w|,又根据上面的两个方程式相加就可以知道d1+d2=2/|w|

又因为向量w向量w的转置矩阵=|w|的平方
所以为了让(d1+d2)最大,也就是让"向量w
向量w的转置矩阵"最小,然后再加上一个松弛变量就有了这样的方程:

实际生活中如果考虑全部的点很有可能画不出分割线,松弛变量的意思就是舍弃一些点画出分割线:

最终的向量内积方程的形式是:

扩展SVM到支持多个类别

两种方法:

  1. OVR (one versus rest): 对于K个类别的情况, 训练K个SVM, 第 j 个SVM用于判读任意条数据是属于类别 j 还是属于类别非 j. 预测的时候, 具有最大值的

    机器学习笔记4:SVM支持向量积的推导过程的更多相关文章

    1. Python机器学习笔记:SVM(1)——SVM概述

      前言 整理SVM(support vector machine)的笔记是一个非常麻烦的事情,一方面这个东西本来就不好理解,要深入学习需要花费大量的时间和精力,另一方面我本身也是个初学者,整理起来难免思 ...

    2. 机器学习笔记——支持向量机 (SVM)

      声明: 机器学习系列主要记录自己学习机器学习算法过程中的一些参考和总结,其中有部分内容是借鉴参考书籍和参考博客的. 目录: 什么支持向量机(SVM) SVM中必须知道的概念 SVM实现过程 SVM核心 ...

    3. 吴恩达机器学习笔记(六) —— 支持向量机SVM

      主要内容: 一.损失函数 二.决策边界 三.Kernel 四.使用SVM (有关SVM数学解释:机器学习笔记(八)震惊!支持向量机(SVM)居然是这种机) 一.损失函数 二.决策边界 对于: 当C非常 ...

    4. Python机器学习笔记:sklearn库的学习

      网上有很多关于sklearn的学习教程,大部分都是简单的讲清楚某一方面,其实最好的教程就是官方文档. 官方文档地址:https://scikit-learn.org/stable/ (可是官方文档非常 ...

    5. [ML从入门到入门] 支持向量机:从SVM的推导过程到SMO的收敛性讨论

      前言 支持向量机(Support Vector Machine,SVM)在70年代由苏联人 Vladimir Vapnik 提出,主要用于处理二分类问题,也就是研究如何区分两类事物. 本文主要介绍支持 ...

    6. 机器学习之支持向量机—SVM原理代码实现

      支持向量机—SVM原理代码实现 本文系作者原创,转载请注明出处:https://www.cnblogs.com/further-further-further/p/9596898.html 1. 解决 ...

    7. Python机器学习笔记:使用Keras进行回归预测

      Keras是一个深度学习库,包含高效的数字库Theano和TensorFlow.是一个高度模块化的神经网络库,支持CPU和GPU. 本文学习的目的是学习如何加载CSV文件并使其可供Keras使用,如何 ...

    8. Python机器学习笔记:不得不了解的机器学习面试知识点(1)

      机器学习岗位的面试中通常会对一些常见的机器学习算法和思想进行提问,在平时的学习过程中可能对算法的理论,注意点,区别会有一定的认识,但是这些知识可能不系统,在回答的时候未必能在短时间内答出自己的认识,因 ...

    9. 机器学习 支持向量机(SVM) 从理论到放弃,从代码到理解

      基本概念 支持向量机(support vector machines,SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器.支持向量机还包括核技巧,这使它成为实质上的非线性分 ...

    随机推荐

    1. 2090. 「ZJOI2016」旅行者 分治,最短路

      2090. 「ZJOI2016」旅行者 链接 loj 思路 \((l,mid)(mid+1,r)\).考虑跨过mid的贡献. 假设选的中间那条线的点为gzy,贡献为\(dis(x,gzy)+dis(g ...

    2. python基础_格式化输出(%用法和format用法)(转载)

      python基础_格式化输出(%用法和format用法) 目录 %用法 format用法 %用法 1.整数的输出 %o -- oct 八进制%d -- dec 十进制%x -- hex 十六进制 &g ...

    3. Linux 中【./】和【/】和【.】之间有什么区别?

      /是指根目录,就和Windows的我的电脑那个位置差不多../是指用户所在的当前目录.如下所示:[root~]# cd /etc[root etc]# pwd/etc[rootetc]# cd /[r ...

    4. USDT

      如果刚刚接触比特币,你可能会看到USDT并把它误认为美元. 实际上就是这样,这正是USDT开发团队的意思. Tether(USDT)是基于在Bitcoin Blockchain上发布的Omni Lay ...

    5. PostgreSQL中的Toast Pointer

      1.分析背景 在使用数据库的过程中(PG的版本为9.2),遇到了错误"missing chunk number 0 for toast value XX in pg_toast_2619&q ...

    6. slf4j log4j logback

      最先大家写日志都用log4j,后来作者勇于创新,又搞了个logback,又为了统一江湖,来了个slf4j,所以目前在代码中进行日志输出,推荐使用slf4j,这样在运行时,你可以决定到底是用log4j还 ...

    7. 桥接(Bridge)模式

      桥接模式又称为柄体模式或接口模式.桥接模式的用意就是"将抽象化与实现化解耦,使得二者可以独立变化". 抽象化: 存在于多个实体中的共同的概念性联系,就是抽象化.作为一个过程,抽象化 ...

    8. cmake 配置

      罗列一下cmake常用的命令.CMake支持大写.小写.混合大小写的命令. 1. 添加头文件目录INCLUDE_DIRECTORIES 语法:include_directories([AFTER|BE ...

    9. Jvm内存总结

      对于不同的Jvm及不同的jdk版本内存模型不同 内存区域 名称 作用 参数 异常 分析方法 解决方案 Heap 堆内存 存储对象 -Xms -Xmx Java.lang.OutOfMemeoryErr ...

    10. python装饰器的使用场景(转)

      原文:https://www.cnblogs.com/wupeiqi/articles/4980620.html 1.必备 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #### ...