将所有的样本都选做landmarks

一种方法是将所有的training data都做为landmarks,这样就会有m个landmarks(m个trainnign data),这样features就是某个x(可以是trainning data/cross validation data/test data里面的)与这些landmarks之间的距离的远近程度的描述。

landmarks选定后得出新的features向量

给出一个x,则通过这些landmarks来计算features向量,和之前的类似,将f0=1;

对于在training data里面的x(i)则通过kernel函数映射后变为f1(i),f2(i).....fm(i)(m个trainning data,m个landmarks),对于fi(i),由高斯核函数计算得出1

如何minimize cost function得出parameters-- θ

我们根据核函数计算出new features f(有m+1维):m个landmarks(m个data set),+1是f0=1

cost function与之前的有些不同,因为我们用了新的features,所以z不是θTx(i)而是θTf(i);后面的正则化项因为θ为m+1维,不对θ0正则化,即从θ1-m进行累加

这儿需要注意的是在使用SVM与核函数时,不是使用θTθ来表示parameters的平方的累加,而是使用θTMθ(M为依赖于采用的某个核函数的矩阵),为另一种略有区别的距离度量方式,不使用||θ||2进行最小化,而是最小化另一种类型的度量(参数向量θ的变尺度形式,这种变化和核函数有关),这样使得SVM有效率的运行,之所以这样做是为了适应大的数据集,因为当我们的数据集很大的时,landmarks就会很多,θ的维数也会很大,这样计算θ就会很慢,所以做了这样的优化。

kernels能应用到其它算法吗?如logistic regression等?可以将kernels应用到其它算法,但是用于SVM的计算技巧却不能较好的推广到其它算法(如logistic regression),所以将kernels应用到logistic regression时,会变得非常慢。

SVM与kernels是相配的,而logistic regression与kernels会十分慢。

一些计算小技巧是人们专门为使用kernels的SVM来开发的

如何确定SVM的一些参数(如C与高斯核函数的σ2)--bias与variance之间的权衡

C=1/λ,λ为正则化参数,当C大时,表示λ小,则会high variance,low bias(overfitting)

当C小是,表示λ大,则会high bias, low variance(underfitting)

σ2为高斯核函数的参数,用来表示f(新的features)与x之间变化是平缓的还是急剧的。

大的σ2,表示参数的值随着x的变化而变化平缓,所以会出现underfitting(high bias,lower variance)

小的σ2,表示参数的值随着x的变化而变化急剧所以会出现overfitting(high variance,lower bias)

SVM: 使用kernels(核函数)的整个SVM算法过程的更多相关文章

  1. SVM: 用kernels(核函数)来定义新的features,避免使用多项式,高斯kernel

    应用kernels来进行非线性分类 非线性分类:是否存在好的features的选择(而不是多项式)--f1,f2,f3.... 上图是一个非线性分类的问题,前面讲过,我们可以应用多项式(feature ...

  2. (转载)python应用svm算法过程

    除了在Matlab中使用PRTools工具箱中的svm算法,Python中一样可以使用支持向量机做分类.因为Python中的sklearn库也集成了SVM算法,本文的运行环境是Pycharm. 一.导 ...

  3. 解密SVM系列(四):SVM非线性分类原理实验

    前面几节我们讨论了SVM原理.求解线性分类下SVM的SMO方法.本节将分析SVM处理非线性分类的相关问题. 一般的非线性分类例如以下左所看到的(后面我们将实战以下这种情况): 能够看到在原始空间中你想 ...

  4. 解密SVM系列(二):SVM的理论基础(转载)

    解密SVM系列(二):SVM的理论基础     原文博主讲解地太好了  收藏下 解密SVM系列(三):SMO算法原理与实战求解 支持向量机通俗导论(理解SVM的三层境界) 上节我们探讨了关于拉格朗日乘 ...

  5. 牛客网Java刷题知识点之垃圾回收算法过程、哪些内存需要回收、被标记需要清除对象的自我救赎、对象将根据存活的时间被分为:年轻代、年老代(Old Generation)、永久代、垃圾回收器的分类

    不多说,直接上干货! 首先,大家要搞清楚,java里的内存是怎么分配的.详细见 牛客网Java刷题知识点之内存的划分(寄存器.本地方法区.方法区.栈内存和堆内存) 哪些内存需要回收 其实,一般是对堆内 ...

  6. 【机器学习算法-python实现】svm支持向量机(3)—核函数

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/gshengod/article/details/24983333 (转载请注明出处:http://b ...

  7. SVM(三)—Kernels(核函数)

    (整理自AndrewNG的课件,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) 内容整理中...

  8. SVM为什么需要核函数

    生存?还是毁灭?——哈姆雷特 可分?还是不可分?——支持向量机 之前一直在讨论的线性分类器,器如其名(汗,这是什么说法啊),只能对线性可分的样本做处理.如果提供的样本线性不可分,结果很简单,线性分类器 ...

  9. SVM入门(十)将SVM用于多类分类

    源地址:http://www.blogjava.net/zhenandaci/archive/2009/03/26/262113.html 从 SVM的那几张图可以看出来,SVM是一种典型的两类分类器 ...

随机推荐

  1. Prometheus入门到放弃(3)之Grafana展示监控数据

    grafana我们这里采用docker方式部署 1.下载镜像 镜像官网地址:https://hub.docker.com/r/grafana/grafana/tags [root@prometheus ...

  2. #安装memcache

    安装memcache sudo apt-get install memcached sudo apt search php-memcache sudo apt-get install php-memc ...

  3. 47 容器(六)——HashMap

    HashMap的概念 HashMap底层实现了哈希表,这是一种非常重要的数据结构,对于以后我们理解很多技术都有帮助,例如 redis数据库的核心技术和HashMap一样,因此,非常有必要让大家理解. ...

  4. Codeblocks中文乱码解决方法。

    如需安装包请后台留言!! Codeblocks中文乱码解决方法: 特别提示:出现中文乱码情况才执行以下操作,未出现请勿随意修改!!!! 打开Codeblocks -> 设置 -> 编辑器: ...

  5. SQL 向表中添加字段

    如果要在数据表中添加一个字段,应该如何表示呢?下面就为您介绍表添加字段的SQL语句的写法,希望可以让您对SQL语句有更深的认识. 通用式: alter table [表名] add [字段名] 字段属 ...

  6. python3+requests:post请求四种传送正文方式

    https://www.cnblogs.com/insane-Mr-Li/p/9145152.html 前言:post请求我在python接口自动化2-发送post请求详解(二)已经讲过一部分了,主要 ...

  7. 用pyinstaller打包一个exe程序

    打包单个exe文件 -F 选项可以打出一个exe文件,默认是 -D,意思是打成一个文件夹. pyinstaller -F TestDataGen.py 打出的桌面程序去掉命令行黑框 -w 选项可以打桌 ...

  8. AssemblyVersion、AssemblyFileVersion、AssemblyInformationalVersion 区别

    AssemblyVersion: 几乎保留在.NET内部,AssemblyFileVersion: 就是Windows所见.如果您转到位于目录中的程序集的属性并切换到版本选项卡, 映射到“文件版本”A ...

  9. TCP协议(下)

    TCP滑动窗口 发送端 LastByteAcked:第一部分和第二部分的分界线 LastByteSent:第二部分和第三部分的分界线 LastByteAcked + AdvertisedWindow: ...

  10. Springboot 之 静态资源路径配置

    1.静态资源路径是指系统可以直接访问的路径,且路径下的所有文件均可被用户通过浏览器直接读取. 2.在Springboot中默认的静态资源路径有:classpath:/META-INF/resource ...