4月3日 今天谈谈支持向量机SVM 与超平面
1、超平面
n 维空间中的超平面由下面的方程确定:
n 维列向量,x 为平面上的点
n 维列向量,w 为平面上的法向量,决定了超平面的方向
b 是一个实数,代表超平面到原点的距离
难理解。。。先看看三维空间xyz
空间维度,例如三维就是3个维度
自由度的概念可以简单的理解为至少要给定多少个分量的值才能确定一个点. 例如, 三维空间里的(超)平面只要给定了(x,y,z)中任意两个分量, 剩下的一个的值就确定了.
超平面:空间维度大于3,且 自由度比空间维度小1
备注:二维空间里的超平面为一条直线. 一维空间里超平面为数轴上的一个点。
百度百科上对超平面的数学定义是这样的:超平面H是从n维空间到n-1维空间的一个映射子空间,它有一个n维向量和一个实数定义。因为是子空间,所以超平面一定过原点。
推到:对于xy平面(二维空间),点集合 i = (x,y)是直线:
- ax + 1/by + c = 0
- y = -abx - cb
- 容易看出过 (0, -cb) 点,方向向量为 (1, -ab) 的直线 L。
- 令 t = x,
- i (x,y) = ( t, -abt - cb)
- = t (1, -ab) + (0, -cb)
- 进一步,我们令向量 n = (a,1/b),则 ax + 1/by + c = 0 可以表示成 n* i + c = 0
- 神奇的一刻来临了。
- 假设在直线 L 上取一点 p0(x0,y0),显然,n* p0 + c = 0,那么 c = -n* p0.
- 更进一步,将 n* i + c = 0
- 可得 n* i-n* p0 = 0 ,
- 即可 n* (i - p0 ) = 0。
因为 n 和(i - p0 ) 均是向量,(i - p0 ) 在直线 L 上, 所以,n 垂直直线L ,即n为直线L 的法向量。更进一步,我们可以得到,那些与p的差向量与 n 向量正交的点,就是点集 i (x,y).
备注:和向量是两向量和,比如:AB+BC=AC,为AB向量的头减BC向量的尾巴
差向量是两向量差,比如:AB-BC=CA,为BC向量的尾巴减AB向量的头
进一步解释什么是超平面:
给定向量空间 Rn 中的一个点 P 和一个非零向量n ,满足
n * (i - p)= 0
则称点集 i 为通过点p 的超平面,向量 n为通过超平面的法向量。
Rn 空间的超平面是Rn 空间内的一个 n - 1 维的仿射子空间。
备注:
仿射空间是数学中的几何结构,这种结构是欧式空间的仿射特性的推广。在仿射空间中,点与点之间做差可以得到向量,点与向量做加法将得到另一个点,但是点与点之间不可以做加法。
仿射空间是一个点集,它的定义是:
(1)设A为一个点集,A中任意两个有序点P、Q对应于n维矢量空间中的一个矢量a;
(2)设P、Q、R为A中任意三点,P、Q对应于矢量a,Q、R对应于矢量b,则P、R对应于矢量a+b.
具有上面两个性质的点集A就叫做一个仿射空间。
概念理解
从基本数学概念上来说, 一个坐标系对应了一个仿射空间 (Affine Space) , 当矢量从一个坐标系变换到另一个坐标系时要进行线性变换 (Linear Transformation). 对点来说, 要进行仿射变换 (Affine Transformation). 这就是我们利用同源坐标的理由. 它能在对矢量进行线性变换的同时对点进行仿射变换. 坐标变换的基本操作就是将变换矩阵乘以矢量或点.
点到超平面的距离
平面:
样本空间中的任意一点 x,到超平面(w,b)的距离,可以表示为
点到超平面上的点为什么这么计算呢?
判断超平面的正反
一个超平面可以将它所在的空间分为两半, 它的法向量指向的那一半对应的一面是它的正面, 另一面则是它的反面。如果利用数学来判断的话,需要利用到法向量 w。
4月3日 今天谈谈支持向量机SVM 与超平面相关推荐
- 【Matlab电力负荷预测】日特征气象因素支持向量机SVM电力负荷预测【含源码 1612期】
一.代码运行视频(哔哩哔哩) [Matlab电力负荷预测]日特征气象因素支持向量机SVM电力负荷预测[含源码 1612期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文 ...
- 历经一个月,终于搞定了SVM(支持向量机)-附源代码解析
历经一个月,终于搞定了SVM(支持向量机)-附源代码解析 前言 其实整体算下来,断断续续的也得有快两个月了(原谅博主比较笨).中间也有好几次放弃,不想写这篇总结了,但是之前立下的誓言,要将学习到的每一 ...
- 【Python-ML】SKlearn库支持向量机(SVM) 使用
# -*- coding: utf-8 -*- ''' Created on 2018年1月15日 @author: Jason.F @summary: Scikit-Learn库支持向量机分类算法 ...
- 机器学习中的算法-支持向量机(SVM)基础
机器学习中的算法-支持向量机(SVM)基础 版权声明: 本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用,但请注明出处 ...
- 支持向量机SVM算法原理及应用(R)
支持向量机SVM算法原理及应用(R) 2016年08月17日 16:37:25 阅读数:22292更多 个人分类: 数据挖掘实战应用 版权声明:本文为博主原创文章,转载请注明来源. https://b ...
- 10月28日人工智能讲师叶梓为各工科院校老师进行了为期三天的人工智能培训
10月28日人工智能讲师叶梓为各工科院校老师进行了为期三天的人工智能培训,培训过程中人工智能讲师叶梓与各高校老师就人工智能前沿热点进行热烈的讨论. 根据人力资源和社会保障部办公厅<关于印发专业技 ...
- 数据挖掘笔记2017年3月1日-
2017年3月1日 1.使用ggplot2进行高级绘图 1.在ggplot2中,图是采用串联起来(+)号函数创建的,每个函数属于自己的部分. library(ggplot2) ggplot(data= ...
- 2020德勤面试开始了吗_2020下半年教师资格证面试时间已出!12月10日开始报名
安徽省2020年下半年中小学教师资格考试面试详情 一.面试时间安排 (一)报名:2020年12月10日8:00-13日17:00: (二)审核:2020年12月10日8:00-14日17:00: (三 ...
- 2021年4月22日 阿里供应链Java开发实习面试(三面)(含总结)
title: 2021年4月22日 阿里供应链Java开发实习面试(三面) tags: 面经 2021年4月22日 阿里供应链Java开发实习面试(三面) 上来就手撕一道代码--输入一个数,然后顺时针 ...
- 支持向量机SVM 参数选择
http://ju.outofmemory.cn/entry/119152 http://www.cnblogs.com/zhizhan/p/4412343.html 支持向量机SVM是从线性可分情况 ...
最新文章
- 干货丨从概念到实践,我们该如何构建自动微分库
- tensorflow l2_loss函数
- PHP培训教程 PHP里10个鲜为人知但却非常有用的函数
- boost::contract模块实现throw on failure的测试程序
- Identity Server 4 - Hybrid Flow - 使用ABAC保护MVC客户端和API资源
- 晓庄学院计算机科学分数,南京晓庄学院计算机单招分数
- 电脑键盘功能介绍_Excel应用041:全能电脑抽奖神器(功能介绍)(原创作品) ?...
- nodejs上传图片并展示
- 孔维滢201771010110《面向对象程序设计(java)》第一周学习总结
- ubuntu 设置tab键自动补全
- 数据库关于group by 两个或以上条件的分析
- COJ 0359 xjr考考你数据结构(根号2)线段树区间增加
- thinkphp下载MP4视频
- 在java中如何输入_java如何输入
- JavaScript——调试的使用
- 2opt邻域搜索算法—以旅行商问题为例
- 连载:面向对象葵花宝典:思想、技巧与实践(10) - “抽象” 详解
- DB2开启db2advis
- 原生代码加载网络图片和Volley和Picasso的简单介绍和优缺点对比
- 如何撰写商业计划书?
热门文章
- 【ArcGIS操作】3 数据制图篇
- 如何用有道词典查找论文
- WAMP安装redis扩展失败
- Java设计模式------工厂模式-------工厂方法模式
- Android studio 4.0 Layout Inspector查看当前Activity
- 乐高积木格斗机器人组装拼图_玩积木、组装机器人的多重好处,你一定想不到!(认识机器人)...
- 深度集成 Flink: Apache Iceberg 0.11.0 最新功能解读
- ​从 Spark Streaming 到 Apache Flink:bilibili 实时平台的架构与实践
- 程序员买房,买车,一个避不开的梗
- 中亿验钞机升级_最前线|火山小视频升级为抖音火山版,抗衡快手火力更足了吗?...