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

其实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的更多相关文章

  1. 机器学习实战 - 读书笔记(06) – SVM支持向量机

    前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习笔记,这次是第6章:SVM 支持向量机. 支持向量机不是很好被理解,主要是因为里面涉及到了许多数学知 ...

  2. Python实现SVM(支持向量机)

    Python实现SVM(支持向量机) 运行环境 Pyhton3 numpy(科学计算包) matplotlib(画图所需,不画图可不必) 计算过程 st=>start: 开始 e=>end ...

  3. SVM 支持向量机算法-实战篇

    公号:码农充电站pro 主页:https://codeshellme.github.io 上一篇介绍了 SVM 的原理和一些基本概念,本篇来介绍如何用 SVM 处理实际问题. 1,SVM 的实现 SV ...

  4. SVM支持向量机的基本原理

    SVM支持向量机的基本原理 对于很多分类问题,例如最简单的,一个平面上的两类不同的点,如何将它用一条直线分开?在平面上我们可能无法实现,但是如果通过某种映射,将这些点映射到其它空间(比如说球面上等), ...

  5. 6-11 SVM支持向量机2

    SVM支持向量机的核:线性核.进行预测的时候我们需要把正负样本的数据装载在一起,同时我们label标签也要把正负样本的数据全部打上一个label. 第四步,开始训练和预测.ml(machine lea ...

  6. 机器学习进阶-svm支持向量机

    支持向量机需要解决的问题:找出一条最好的决策边界将两种类型的点进行分开 这个时候我们需要考虑一个问题,在找到一条直线将两种点分开时,是否具有其他的约束条件,这里我们在满足找到一条决策边界时,同时使得距 ...

  7. 跟我学算法-SVM(支持向量机)

    支持向量机是一个点离决策边界越近,离决策面越远的问题 求解的过程主要是通过拉格朗日乘子法,来求解带约束的优化问题,在问题中涉及两个方面,一个是线性的,一个是非线性的,非线性的有 我们平时比较常见的高斯 ...

  8. (转)R语言 SVM支持向量机在 R 语言中的实现和使用

    支持向量机是一个相对较新和较先进的机器学习技术,最初提出是为了解决二类分类问题,现在被广泛用于解决多类非线性分类问题和回归问题.继续阅读本文,你将学习到支持向量机如何工作,以及如何利用R语言实现支持向 ...

  9. [分类算法] :SVM支持向量机

    Support vector machines 支持向量机,简称SVM 分类算法的目的是学会一个分类函数或者分类模型(分类器),能够把数据库中的数据项映射给定类别中的某一个,从而可以预测未知类别. S ...

随机推荐

  1. pinpoint 应用性能管理工具安装部署

    原文:http://www.cnblogs.com/yyhh/p/6106472.html pinpoint 安装部署   阅读目录 1. 环境配置 1.1 获取需要的依赖包 1.2 配置jdk1.7 ...

  2. MMT事务处理来源类型-INV_OBJECT_GENEALOGY.GETSOURCE

    INV_OBJECT_GENEALOGY.GETSOURCE (MTL_MATERIAL_TRANSACTIONS.ORGANIZATION_ID,                           ...

  3. 全卷积网络FCN详解

    http://www.cnblogs.com/gujianhan/p/6030639.html CNN能够对图片进行分类,可是怎么样才能识别图片中特定部分的物体? (图像语义分割) FCN(Fully ...

  4. 【CV知识学习】神经网络梯度与归一化问题总结+highway network、ResNet的思考

    这是一篇水货写的笔记,希望路过的大牛可以指出其中的错误,带蒟蒻飞啊~ 一.    梯度消失/梯度爆炸的问题 首先来说说梯度消失问题产生的原因吧,虽然是已经被各大牛说烂的东西.不如先看一个简单的网络结构 ...

  5. 总结下JavaWeb应用里正确显示中文需要的设置

    1.前台页面需要加的设置: <%@ page contentType="text/html; charset=UTF-8"%> html标签后加上<meta ht ...

  6. 【试水CAS-4.0.3】第06节_CAS服务端配置HTTPS

    完整版见https://jadyer.github.io/2012/05/30/tomcat-https/ /** * @see CAS服务端配置HTTPS * @see -------------- ...

  7. palindrome-partitioning I&II——回文切割、深度遍历

    I: Given a string s, partition s such that every substring of the partition is a palindrome. Return ...

  8. [ACM] POJ 3253 Fence Repair (Huffman树思想,优先队列)

    Fence Repair Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 25274   Accepted: 8131 Des ...

  9. Variable 'bop' is uninitialized when captured by block

    代码: - (void)doTest { NSBlockOperation * bop = [NSBlockOperation blockOperationWithBlock:^{ if (!bop. ...

  10. 在linux中安装.sh 文件

    有一些linux的安装包是.sh后缀的安装包,可以通过$bash xxx.sh的命令来进行安装.