支持向量机

机器学习之支持向量机

删除回忆录丶 提交于 2020-02-08 20:31:39
SVM与神经网络 支持向量机并不是神经网络,这两个完全是两条不一样的路吧。不过详细来说,线性SVM的计算部分就像一个单层的神经网络一样,而非线性SVM就完全和神经网络不一样了(是的没错,现实生活中大多问题是非线性的),详情可以参考知乎答案。 这两个冤家一直不争上下,最近基于神经网络的深度学习因为AlphaGo等热门时事,促使神经网络的热度达到了空前最高。毕竟,深度学习那样的多层隐含层的结构,犹如一个黑盒子,一个学习能力极强的潘多拉盒子。有人或许就觉得这就是我们真正的神经网络,我们不知道它那数以百千计的神经元干了什么,也不理解为何如此的结构能诞生如此美好的数据 —— 犹如复杂性科学般,处于高层的我们并不能知道底层的”愚群“为何能涌现。两者一比起来,SVM似乎也没有深度学习等那么令人狂热,连Hinton都开玩笑说SVM不过是浅度学习(来自深度学习的调侃)。 不然,个人觉得相对于热衷于隐含层的神经网络,具有深厚的数学理论的SVM更值得让我们研究。SVM背后伟大的数学理论基础可以说是现今人类的伟大数学成就,因此SVM的解释性也非神经网络可比,可以说,它的数学理论让它充满了理性,这样的理性是一个理工科生向往的。就如,你渴望知道食物的来源以确定食物是否有毒,如果有毒是什么毒,这样的毒会在人体内发生了什么反应以致于让你不适 —— 我的理性驱使我这么想,一个来路不明的食物是不能让我轻易接受的。

支持向量机

北慕城南 提交于 2020-02-07 02:53:34
支持向量机 简要介绍 支持向量机(support vector machine),又称SVM,是一种常见的数据分类学习算法,目的是求得参数建立函数 f ( X ) = W T X + b f(X)=W^TX+b f ( X ) = W T X + b ,将样本代入,大于0的与小于0的为不同类别,求得参数有两种方法,其一,满足一个条件,即 f ( X ) = 0 f(X)=0 f ( X ) = 0 分开的两个类别间隔要最大化,所以SVM亦称为最大间隔算法,见图一,另外一种方法是类似对数几率回归一样,即使得损失函数最小化,损失函数比较特殊,此处建议观看 吴恩达老师的课程支持向量机一章 ,下文对第一种方法推导。 具体原理 两个类别的最大间距为 2 ∣ ∣ w ∣ ∣ {2}\over{||w||} ∣ ∣ w ∣ ∣ 2 ​ ,最大化间距即最小化 ∣ ∣ w ∣ ∣ ||w|| ∣ ∣ w ∣ ∣ ,即我们最终要求 求 参 数 w , b 使 得 1 2 ∣ ∣ w ∣ ∣ 2 最 小 约 束 条 件 : y i ( w T x i + b ) ≥ 1 , i = 1 , 2 , ⋯   , m 求参数w,b使得\\ \frac{1}{2}||w||^2最小\\ 约束条件:y_i(w^Tx_i+b)\ge 1,i=1,2,\cdots,m 求 参 数 w , b 使 得 2 1 ​ ∣

理解支持向量机

社会主义新天地 提交于 2020-02-06 21:10:57
支持向量机是一个二类分类模型,但也能够扩展为多类分类。 其基于间隔最大化和核技巧的特点能够使它能够灵活处理线性或非线性分类问题。 支持向量机但是形式化为一个凸二次规划问题。学习算法是求解基于 凸二次规划的最优化算法 。 依照训练数据是否线性可分。支持向量机能够分为基于硬间隔的线性可分支持向量机、基于软间隔的线性支持向量机、基于核技巧和软间隔最大化的非线性支持向量机。 三者复杂性是依次添加的。 1、基于硬间隔最大化的线性可分支持向量机 我们知道。感知机和决策树等学习方法没有区分模型的输入空间和特征空间,即觉得两者所处的空间是一样的。 支持向量机的输入空间和特征空间是不同的。输入空间为欧氏空间或离散集合。特征空间是 希尔伯特空间 。 希尔伯特空间能够看作是欧氏空间的扩展,其空间维度能够是随意维的,包括无穷维。并且一个重要的性质是其具有欧氏空间不具备的完备性。 这些特点都是支持向量机在做非线性特征空间映射所须要的。 以下从最简单的线性可分支持向量机入手,学过感知机的都知道,感知机通过训练一个超平面将平面或空间线性可分的点进行划分。 其超平面方程为 w∙x+b=0; 分类决策函数f(x)=sign(w∙x+b)。 线性可分支持向量机也是如此,通过找寻切割平面来划分数据集。不同的是, 感知机的学习策略是误分类点到超平面距离和最小化,而线性可分支持向量机是基于硬间隔最大化的 。

数据挖掘---支持向量机(SVM)

与世无争的帅哥 提交于 2020-02-06 21:02:17
•1.SVM 的基本思想: •SVM把分类问题转换成寻求分类平面的问题,并通过最大化分类边界点到分类平面的距离来实现分类。通俗的讲支持向量机的解决的问题是找到最好的分类超平面。支持向量机(Support vector machine)通常用来解决二分类问题 ​ 2.构造目标函数 类似于点到直线的距离,可以得到点到超平面的距离为 ​ •在Logistic回归算法,我们是把数据分成0类和 1 类,而同样为了推导式子的方便性,采用-1 和 1 两类。 可以将红色框的式子转换成: ​ •目标方程: ​ ​ 我们需要求的是:两数据集中几个数据最近的点的最大的距离。 在满足约束条件(即样本点为支持向量)下,最大的几何间隔中取最小的值。max L(w,b,a) 是得到支持向量的样本点,然后再这些样本点中找到min 1/2 || w ||2 的最小值(最大间隔)。 •可以得到有条件约束的最优化问题,通常引入拉格朗日函数简化上述问题,称此类问题为对偶问题(The wolfe dualproblem)。 •使用拉格朗日乘数法用来解决等式约束下的最优化问题: ​ •对偶问题的求解: •步骤1 :固定 α ,然后L(ω, b, α)对 ω 、b 求偏导,令其偏导数等于0。 ​ •把上述2式带入到L(ω, b, α)当中: ​ •步骤2 :对 α 求极大,通过步骤1 已经把变量 ω 、b 消去,函数只有 α

python大战机器学习——支持向量机

纵然是瞬间 提交于 2020-02-06 18:20:10
  支持向量机(Support Vector Machine,SVM)的基本模型是定义在特征空间上间隔最大的线性分类器。它是一种二类分类模型,当采用了核技巧之后,支持向量机可以用于非线性分类。   1)线性可分支持向量机(也称硬间隔支持向量机):当训练数据线性可分是,通过硬间隔最大化,学得一个线性可分支持向量机   2)线性支持向量机(也称为软间隔支持向量机):当训练数据近似线性可分时,通过软间隔最大化,学得一个线性支持向量机   3)非线性支持向量机:当训练数据不可分时,通过使用核技巧以及软间隔最大化,学得一个非线性支持向量机。 1、线性可分支持向量机   输入:线性可分训练数据集T   输出:最大几何间隔的分离超平面和分类决策函数   算法步骤:     1)构造并且求解约束优化问题,求得最优解w*,b*     2)由此得到分离超平面,以及分类决策函数   若训练数据集T线性可分,最大间隔分离超平面存在且唯一   下面是线性可分支持向量机学习算法的对偶算法:   输入:线性可分训练数据集T   输出:最大集合间隔的分离超平面和分类决策函数   算法步骤:     1)构造并且求解约束最优化问题,求得最优解α*     2)计算w*,同时选择α*的一个正的分量αj*>0,计算b*     3)由此得到最大集合间隔分离超平面和分类决策函数 2、线性支持向量机  

支持向量机

一个人想着一个人 提交于 2020-02-05 00:58:49
简介 在机器学习中,支持向量机(英语:support vector machine,常简称为SVM,又名支持向量网络[1])是在分类与回归分析中分析数据的监督式学习模型与相关的学习算法。 给定一组训练实例,每个训练实例被标记为属于两个类别中的一个或另一个,SVM训练算法创建一个将新的实例分配给两个类别之一的模型,使其成为非概率二元线性分类器。 SVM模型是将实例表示为空间中的点,这样映射就使得单独类别的实例被尽可能宽的明显的间隔分开。 然后,将新的实例映射到同一空间,并基于它们落在间隔的哪一侧来预测所属类别。 @维基百科 之下的总结顺序皆来自 Andrew Ng 我的理解 对于我个人的理解,这是一个尝试实现将新输入的数据分类的算法。 即预先准备 标记点 \[ \begin{bmatrix} f_1\\ f_2\\ {\vdots}\\ f_n\\ \end{bmatrix} \] 对于一个新输入的数据 \(x_1\) 。 \(x_1\) 经过 核函数 处理后,得到f矩阵 \[ \begin{bmatrix} f_1^1\\ f_2^1\\ {\vdots}\\ f_n^1\\ \end{bmatrix} \] 后带入 相似度函数 \(h_{\theta}=\theta_0+\theta_1*f_1+\theta_2*f_2+...+\theta_n*f_n\)

第 7 章 支持向量机

我的未来我决定 提交于 2020-01-22 00:11:26
支持向量机(support vector machine, SVM)是一种二类分类模型,它的基本模型是 定义在特征空间上的间隔最大的线性分类器 ,间隔最大使它有别于感知机; 支持向量机还包括核技巧,这使它成为实质上的非线性分类器, 支持向量机的学习策略就是间隔最大化,可形式化为一个求解凸二次规划(convex quadratic programming)的问题, 也等价于正则化的合页损失函数的最小化问题,支持向量机的学习算法是求解凸二次规划的最优化算法。 支持向量机学习方法包含创建由简至繁的模型。 线性可分支持向量机、线性支持向量机及非线性支持向量机。 简单模型是复杂模型的基础,也是复杂模型的特殊情况。 当训练数据线性可分时,通过硬间隔最大化(hard margin maximization),学习一个线性的分类器,即 线性可分支持向量机 (也叫硬间隔支持向量机)。 当训练数据近似线性可分时,通过软间隔最大化,也学习一个线性的分类器,即 线性支持向量机 , 又称为软间隔支持向量机; 当训练数据线性不可分时,通过使用核技巧(kenel trick)及软间隔最大化,学习 非线性支持向量机 。 当输入空间为欧式空间或者离散集合、特征空间为希尔伯特空间时,核函数(kernel function)表示将输入从输入空间映射到特征空间得到的特征向量之间的内积。 通过核函数可以学习非线性支持向量机

从机器学习谈起

前提是你 提交于 2020-01-20 10:56:09
本文原地址 https://www.cnblogs.com/subconscious/p/4107357.html 拜读原文之后,无比喜欢,怕以后找不到,所以转载,大家喜欢可以去看原文,真的很精彩。 从机器学习谈起   在本篇文章中,我将对机器学习做个概要的介绍。本文的目的是能让即便完全不了解机器学习的人也能了解机器学习,并且上手相关的实践。这篇文档也算是EasyPR开发的番外篇,从这里开始,必须对机器学习了解才能进一步介绍EasyPR的内核。当然,本文也面对一般读者,不会对阅读有相关的前提要求。   在进入正题前,我想读者心中可能会有一个疑惑:机器学习有什么重要性,以至于要阅读完这篇非常长的文章呢?   我并不直接回答这个问题前。相反,我想请大家看两张图,下图是图一: 图1 机器学习界的执牛耳者与互联网界的大鳄的联姻     这幅图上上的三人是当今机器学习界的执牛耳者。中间的是Geoffrey Hinton, 加拿大多伦多大学的教授,如今被聘为“Google大脑”的负责人。右边的是Yann LeCun, 纽约大学教授,如今是Facebook人工智能实验室的主任。而左边的大家都很熟悉,Andrew Ng,中文名吴恩达,斯坦福大学副教授,如今也是“百度大脑”的负责人与百度首席科学家。这三位都是目前业界炙手可热的大牛,被互联网界大鳄求贤若渴的聘请,足见他们的重要性。而他们的研究方向

什么是机器学习

走远了吗. 提交于 2020-01-18 20:28:32
原文链接: https://www.cnblogs.com/lsgsanxiao/p/6955502.html 机器学习入门好文,强烈推荐(转) 转自 飞鸟各投林 史上最强----机器学习经典总结---入门必读----心血总结-----回味无穷 让我们从机器学习谈起 导读:在本篇文章中,将对 机器学习 做个概要的介绍。本文的目的是能让即便完全不了解机器学习的人也能了解机器学习,并且上手相关的实践。当然,本文也面对一般读者,不会对阅读有相关的前提要求。 在进入正题前,我想读者心中可能会有一个疑惑:机器学习有什么重要性,以至于要阅读完这篇非常长的文章呢? 我并不直接回答这个问题前。相反,我想请大家看两张图,下图是图一: 图1 机器学习界的执牛耳者与互联网界的大鳄的联姻 这幅图上上的三人是当今机器学习界的执牛耳者。中间的是Geoffrey Hinton, 加拿大多伦多大学的教授,如今被聘为“Google大脑”的负责人。右边的是Yann LeCun, 纽约大学教授,如今是Facebook人工 智能 实验室的主任。而左边的大家都很熟悉,Andrew Ng,中文名吴恩达,斯坦福大学副教授,如今也是“百度大脑”的负责人与百度首席科学家。这三位都是目前业界炙手可热的大牛,被互联网界大鳄求贤若渴的聘请,足见他们的重要性。而他们的研究方向,则全部都是机器学习的子类-- 深度学习 。 下图是图二: 图2

支持向量机(SVM)中的对偶问题

时光总嘲笑我的痴心妄想 提交于 2020-01-18 17:29:49
前言 在SVM中有一个求极小值的问题转换过程,转换为一个对偶问题,但是我不太清楚这个问题为什么可以转换,而且还不太清楚为什么这么转换?不太明确转换后有什么优点,写个文章来了解这些内容。 原始问题转换 min ⁡ 1 2 ∣ ∣ w ∣ ∣ 2 s . t . y i ( x i + b ) > = 1 i=1,2...,n \min \quad \frac{1}{2} ||w||^2 \\ s.t. \quad y_i(x_i+b) >=1 \qquad \text{i=1,2...,n} min 2 1 ​ ∣ ∣ w ∣ ∣ 2 s . t . y i ​ ( x i ​ + b ) > = 1 i=1,2...,n 拉格朗日乘子之后的公式为: F ( w , b , a ) = 1 2 ∣ ∣ w ∣ ∣ 2 + ∑ i = 1 n a i [ 1 − y i ( w x i + b ) ] s . t . a i > = 0 F(w,b,a)= \frac{1}{2} ||w||^2+\sum_{i=1}^{n}a_{i}[1-y_i(wx_i+b)] \\ s.t. \quad a_i>=0 F ( w , b , a ) = 2 1 ​ ∣ ∣ w ∣ ∣ 2 + i = 1 ∑ n ​ a i ​ [ 1 − y i ​ ( w x i ​ + b ) ] s . t