核函数

机器学习之支持向量机

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

理解支持向量机

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

核密度分析(KDE)原理总结

社会主义新天地 提交于 2020-01-25 00:56:04
粗浅的说,核密度分析的目的是获得能够近似表示数据分布的密度函数的每一点的估计值,从而表示出数据的分布情况。 从频率直方图开始 频率直方图( frequency histogram )亦称频率分布直方图,是统计学中表示频率分布的图形。在直角坐标系中,用横轴表示随机变量的取值,横轴上的每个小区间对应一个组的组距,作为小矩形的底边;纵轴表示频率与组距的比值,并用它作小矩形的高,以这种小矩形构成的一组图称为频率直方图。 一个很生动的图 注:图片来自 [维基百科] 频率直方图的特点是每一个小矩形的面积表示落入该小区间的频率,所以纵轴表示: 频 率 组 距 \frac{频率}{组距} 组 距 频 率 ​ 对应于上图,就是说彩色矩形的面积之和为1。 然后,我们运用微分的思想,使等分区间增加,于是组距取的愈来愈小,这样以来,矩形宽度越来越小,于是我们可以自然的想到,在极限情况下它就会变成一条线,频率直方图的阶梯型状就将逼近于概率密度曲线,能近似的反映了概率密度曲线的大致形状。 概率密度函数 现在我们来到了概率密度函数,概率密度函数用于描述概率密度曲线,上文已经说到概率密度曲线其实就是频率直方图的等分区间趋于极限的情况。 所以随机变量的取值落在某个区域之内的概率则为概率密度函数在这个区域上的积分。 我们来看一个正态分布的概率密度曲线图示。 很明显曲线下方的面积之和也就是 ∫ − ∞ + ∞ f (

从负无穷学习机器学习(五)支持向量机SVM

天大地大妈咪最大 提交于 2020-01-13 14:15:18
文章目录 一、支持向量机 二、支持向量机的核函数 (一)、线性(linear)内核的SVM的分类器 (二)、RBF内核的SVM的分类器 三、SVM核函数和参数选择 (一)、不同核函数的对比 (二)、不同参数的对比 四、SVM示例——波士顿房价回归分析 (一)、查看数据集 (二)、使用SVR建模 一、支持向量机 如果样本数据是线性不可分的,之前的分类器处理这类数据效果不太好,而SVM(Support Vector Machine)是一种专门处理线性不可分数据的算法。 SVM算法中,训练模型的过程实际上是对每个数据点对于 数据分类决定边界的重要性 进行判断。也就是说在训练数据集中, 只有一部分数据对于边界的确定是有作用的 ,而这些数据点 正好在决定边界上 ,这些数据被称为“ 支持向量 ”。 二、支持向量机的核函数 SVM可以将 二维数据 (2 Dimension)转变成 三维数据 (3 Dimension),这称为 将数据投射至高维空间 。 这正是SVM算法的核函数(kernel trick)功能,用的最普遍的用于将数据投射到高维空间的方法是 多项式内核 (Polynomial kernel)和 径向基内核 (Radial Basis Function kernel,RBF)多项式内核就是 将不同的特征乘方处理 。而RBF内核也称为 高斯内核 (Gaussian kernel)

SVM支持向量机

大城市里の小女人 提交于 2019-12-28 00:27:29
一个比较好的学习资源: http://www.aibbt.com/a/21005.html 看完了优达学城的机器学习基础的课程,发现没有讲解具体怎么实现学习曲线和复杂度曲线的,这里还是需要自己去网上查一下。 http://www.aibbt.com/a/21443.html 原来C参数是这样来的!松弛变量。 虽然我们不想深挖SVM背后的数学概念,但还是有必要简短介绍一下松弛变量(slack variable) ,它是由Vladimir Vapnik在1995年引入的,借此提出了软间隔分类(soft-margin)。引入松弛变量的动机是原来的线性限制条件在面对非线性可分数据时需要松弛,这样才能保证算法收敛。 松弛变量值为正,添加到线性限制条件即可: 新的目标函数变成了: 使用变量C,我们可以控制错分类的惩罚量。和逻辑斯蒂回归不同,这里C越大,对于错分类的惩罚越大。可以通过C控制间隔的宽度,在bias-variance之间找到某种平衡: 哇,这个资源太好了!很具体哦 注意看右上角子图到右下角子图的转变,高维空间中的线性决策界实际上是低维空间的非线性决策界,这个非线性决策界是线性分类器找不到的,而核方法找到了: 使用核技巧在高维空间找到可分超平面 使用SVM解决非线性问题,我们通过映射函数 将训练集映射到高维特征空间,然后训练一个线性SVM模型在新特征空间将数据分类。然后

Stanford机器学习笔记-8. 支持向量机(SVMs)概述

老子叫甜甜 提交于 2019-12-26 18:22:40
8. Support Vector Machines(SVMs) Content      8. Support Vector Machines(SVMs)       8.1 Optimization Objection       8.2 Large margin intuition       8.3 Mathematics Behind Large Margin Classification       8.4 Kernels       8.5 Using a SVM         8.5.1 Multi-class Classification         8.5.2 Logistic Regression vs. SVMs 8.1 Optimization Objection 支持向量机 (Support Vector Machine: SVM)是一种非常有用的监督式机器学习算法。首先回顾一下Logistic回归,根据log()函数以及Sigmoid函数的性质,有: 同时,Logistic回归的代价函数(未正则化)如下: 为得到SVM的代价函数,我们作如下修改: 因此,对比Logistic的优化目标 SVM的优化目标如下: 注1:事实上,上述公式中的Cost0与Cost1函数是一种称为 hinge损失 的 替代损失(surrogate loss)函数

处理分类问题常用算法(二)-----算法岗面试题

笑着哭i 提交于 2019-12-25 12:56:51
● 分层抽样的适用范围 参考回答: 分层抽样利用事先掌握的信息,充分考虑了保持样本结构和总体结构的一致性,当总体由差异明显的几部分组成的时候,适合用分层抽样。 ● LR的损失函数 参考回答: M为样本个数, 为模型对样本i的预测结果, 为样本i的真实标签。 ● LR和线性回归的区别 参考回答: 线性回归用来做预测,LR用来做分类。线性回归是来拟合函数,LR是来预测函数。线性回归用最小二乘法来计算参数,LR用最大似然估计来计算参数。线性回归更容易受到异常值的影响,而LR对异常值有较好的稳定性。 ● 生成模型和判别模型基本形式,有哪些? 参考回答: 生成式:朴素贝叶斯、HMM、Gaussians、马尔科夫随机场 判别式:LR,SVM,神经网络,CRF,Boosting 详情:支持向量机 ● 核函数的种类和应用场景。 参考回答: 线性核、多项式核、高斯核。 特征维数高选择线性核 样本数量可观、特征少选择高斯核(非线性核) 样本数量非常多选择线性核(避免造成庞大的计算量) 详情:支持向量机 ● 分类算法列一下有多少种?应用场景。 参考回答: 单一的分类方法主要包括:LR逻辑回归,SVM支持向量机,DT决策树、NB朴素贝叶斯、NN人工神经网络、K-近邻;集成学习算法:基于Bagging和Boosting算法思想,RF随机森林,GBDT,Adaboost,XGboost。 ●

SVM的点滴

核能气质少年 提交于 2019-12-25 12:56:18
SVM 1. 普通SVM的分类函数可表示为: 其中 ai 为待优化参数,物理意义即为支持向量样本权重, yi 用来表示训练样本属性,正样本或者负样本,为计算内积的核函数, b 为待优化参数。 其优化目标函数为: 其中 ||w|| 用来描述分界面到支持向量的宽度,越大,则分界面宽度越小。 C 用来描述惩罚因子,而 则是用来解决不可分问题而引入的松弛项。 在优化该类问题时,引入拉格朗日算子,该类优化问题变为: 其中待优化参数 ai 在数学意义上即为每个约束条件的拉格朗日系数。 而MKL则可认为是针对SVM的改进版,其分类函数可描述为: 其中, K k ( xi , x )表示第 K 个核函数, 则为对应的核函数权重。 其对应的优化函数可以描述为: 在优化该类问题时,会两次引入拉格朗日系数, ai 参数与之前相同,可以理解为样本权重,而 则可理解为核函数的权重,其数学意义即为对每个核函数引入的拉格朗日系数。具体的优化过程就不描述了,不然就成翻译论文啦~,大家感兴趣的可以看后面的参考文档。 通过对比可知,MKL的优化参数多了一层 其物理意义即为在该约束条件下每个核的权重。 Svm的分类函数形似上是类似于一个神经网络,输出由中间若干节点的线性组合构成,而多核学习的分类函数则类似于一个比svm更高一级的神经网络,其输出即为中间一层核函数的输出的线性组合。其示意图如下: 上图中