将所有的样本都选做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. 测试报告ExtentReport改进

    具体步骤Step-1:在pom.xml文件中添加 Maven 依赖包 <?xml version="1.0" encoding="UTF-8"?> ...

  2. linux环境变量 bash_profile

    linux环境变量 bash_profile [root@iZ23uewresmZ ~]# vi /root/.bash_profile <pre># .bash_profile # Ge ...

  3. [转帖]DCEP:中国自己的数字货币

    DCEP:中国自己的数字货币 https://cloud.tencent.com/developer/news/435883 前面我们讨论了Libra的革命性和局限性,接下来我想跟你聊一件重要的事,那 ...

  4. (五)linux 学习 --重定向

    The Linux Command Line 读书笔记 - 部分内容来自 http://billie66.github.io/TLCL/book/chap07.html 文章目录 标准输入.输出.错误 ...

  5. Java 总结篇2

    第02章:数据类型和运算符 一.概述: 1.数据类型:int.float.char.boolean 2.运算符:算术运算符.赋值运算符.关系运算符.逻辑运算符.位运算符(了解即可).条件运算符 3.基 ...

  6. DS 壹之型 头指针与头结点

    之前结合网上博客整理的笔记,希望能帮你解除疑惑!    

  7. SQL Server 索引优化-----数据库引擎优化顾问

    本文将根据“数据库引擎优化顾问”(DTA)来发现无用或缺失的索引. 要使用“数据库引擎优化顾问”,首先需要对数据库负载进行监控,为数据库负载分析准备数据.从SSMS的工具中,打开SQL Server  ...

  8. Spring Cloud Alibaba学习笔记(19) - Spring Cloud Gateway 自定义过滤器工厂

    在前文中,我们介绍了Spring Cloud Gateway内置了一系列的内置过滤器工厂,若Spring Cloud Gateway内置的过滤器工厂无法满足我们的业务需求,那么此时就需要自定义自己的过 ...

  9. C#程序结构(学习笔记01)

    C#程序结构 [原文参考官方教程] https://docs.microsoft.com/zh-cn/dotnet/csharp/tour-of-csharp/program-structure C# ...

  10. 关闭 禁止 window10 UpdateOrchestrator UsoSvc服务

    背景故事:w10流氓更新关了! 然后重启还更新? 读者肯定关过win10自动跟新服务 如图: 然后 还有这个流氓设置 然而微软还有一招啊! 前有win10 update 后有计划任务 powershe ...