6-10 SVM支持向量机1

都是特征加上分类器。还将为大家介绍如何对这个数据进行训练。如何训练得到这样一组数据。

其实SVM支持向量机,它的本质仍然是一个分类器。既然是一个分类器,它就具有分类的功能。我们可以使用一条直线来完成分类,这是一种比较简单的情况。
这是在我们的二维平面上。二维平面上它是由直线和多个直线来组成。如果我们把当前的左边的这样一个图和右边的这样一个图,我们把它投影到一个高维空间上,实际上它就是一个超平面。
这就是SVM支持向量机的核心。首先它的本质它是一个分类器。这个分类器如何进行分类呢?它就是寻求一个最优的超平面来完成这样一个分类。
在寻求超平面的时候它有多种方式。可以使用若干条直线,也可以使用若干个曲线等等。
可以看到一个最简单的SVM分类器是如何进行训练的。
在进行SVM训练的时候,有一个对数据最基本的要求:所有的数据都必须要有标签label。标签是描述当前一组数据唯一的一个属性。我们当前的数据是男生的身高和体重和女生的身高和体重,所以这个标签描述的就是当前的这一个数据到底是男生还是女生。所以每一个身高和体重都要有一个唯一的标签来进行对应。
组装完之后每一个数据都对应的label中的一个标签,然后我们才可以进行训练。像这一种标签的训练我们把它交托为监督学习。监督学习其实最本质的含义,就是在学习的过程中,每学习一组数据就要告诉它学习得对还是不对。
# svm本质 寻求一个最优的超平面 分类
# svm 核: line
# 身高体重 训练 预测
import cv2
import numpy as np
import matplotlib.pyplot as plt
# 1 准备data 男生的身高体重 女生的身高体重
rand1 = np.array([155,48],[159,50],[164,53],[168,56],[172,60])#女生的五组数据,五组数据中分别描述五组人不同的身高和体重
rand2 = np.array([152,53],[156,55],[160,56],[172,64],[176,65]) # 2 label 标签
label = np.array([0],[0],[0],[0],[0],[1],[1],[1],[1],[1]) # 3 data 对数据进行一定的处理,特别是我们的训练数据.我们的训练数据要这样来做.
data = np.vstack((rand1,rand2))#给它一个元组,合并rand1和rand2
data = np.array(data,dtype='float32') # svm 所有的数据都要有label
# [155,48] -- 0 女生 [152,53] ---1 男生
# 监督学习
6-10 SVM支持向量机1的更多相关文章
- 机器学习实战 - 读书笔记(06) – SVM支持向量机
前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习笔记,这次是第6章:SVM 支持向量机. 支持向量机不是很好被理解,主要是因为里面涉及到了许多数学知 ...
- Python实现SVM(支持向量机)
Python实现SVM(支持向量机) 运行环境 Pyhton3 numpy(科学计算包) matplotlib(画图所需,不画图可不必) 计算过程 st=>start: 开始 e=>end ...
- SVM 支持向量机算法-实战篇
公号:码农充电站pro 主页:https://codeshellme.github.io 上一篇介绍了 SVM 的原理和一些基本概念,本篇来介绍如何用 SVM 处理实际问题. 1,SVM 的实现 SV ...
- SVM支持向量机的基本原理
SVM支持向量机的基本原理 对于很多分类问题,例如最简单的,一个平面上的两类不同的点,如何将它用一条直线分开?在平面上我们可能无法实现,但是如果通过某种映射,将这些点映射到其它空间(比如说球面上等), ...
- 6-11 SVM支持向量机2
SVM支持向量机的核:线性核.进行预测的时候我们需要把正负样本的数据装载在一起,同时我们label标签也要把正负样本的数据全部打上一个label. 第四步,开始训练和预测.ml(machine lea ...
- 机器学习进阶-svm支持向量机
支持向量机需要解决的问题:找出一条最好的决策边界将两种类型的点进行分开 这个时候我们需要考虑一个问题,在找到一条直线将两种点分开时,是否具有其他的约束条件,这里我们在满足找到一条决策边界时,同时使得距 ...
- 跟我学算法-SVM(支持向量机)
支持向量机是一个点离决策边界越近,离决策面越远的问题 求解的过程主要是通过拉格朗日乘子法,来求解带约束的优化问题,在问题中涉及两个方面,一个是线性的,一个是非线性的,非线性的有 我们平时比较常见的高斯 ...
- (转)R语言 SVM支持向量机在 R 语言中的实现和使用
支持向量机是一个相对较新和较先进的机器学习技术,最初提出是为了解决二类分类问题,现在被广泛用于解决多类非线性分类问题和回归问题.继续阅读本文,你将学习到支持向量机如何工作,以及如何利用R语言实现支持向 ...
- [分类算法] :SVM支持向量机
Support vector machines 支持向量机,简称SVM 分类算法的目的是学会一个分类函数或者分类模型(分类器),能够把数据库中的数据项映射给定类别中的某一个,从而可以预测未知类别. S ...
随机推荐
- [原创]安装Ubuntu Server 14.04后
安装后许多软件都没有,需要进行安装. 官方指南:https://help.ubuntu.com/lts/serverguide/index.html 1.修改网络配置文件 用ifconfig查看本地网 ...
- 搭建企业内部DNS服务器,docker 部署内部 dnsmasq
获取镜像 docker pull jpillora/dnsmasq 配置域名 # http://oss.segetech.com/intra/srv/dnsmasq.conf #log all dns ...
- minimum-depth-of-binary-tree——二叉树遍历、链表、广度优先
Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the short ...
- 令人赞叹的 MySQL
原文链接 译文链接 感谢 艾凌风 小伙伴校稿 令人赞叹的 MySQL 一个很棒的 MySQL 软件.库以及资源列表. 这个列表接受并鼓舞 pull requests,请看 CONTRIBUTING 文 ...
- OpenCV中使用SVM简介
下面这是opencv官方文档中的代码,我加了一部分注释: #include "stdafx.h" #include "opencv2/core/core.hpp" ...
- zookeeper 服务端上下线,客户端感知
package pfs.y2017.m11.zookeeper.demo03; import java.util.ArrayList; import java.util.List; import or ...
- enumerated types
控制台手动输入. package enums; import java.util.Scanner; public class EnumTest { public static void main(St ...
- .Net之路(十四)com组件、OLEDB导入EXCEL
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/chenfanglincfl/article/details/30546777 .NET com组件 ...
- (28)java web的hibernate使用
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自 ...
- 几个 PHP 的"魔术常量"
__LINE__ 文件中的当前行号. __FILE__ 文件的完整路径和文件名.如果用在被包含文件中,则返回被包含的文件名.自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径(如果是符 ...