-
Svm简介
SVM的背景简介
支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中.
SVM的背景简介 支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中. Vapnik是统计机器学习的大牛,他出版的《Statistical Learning Theory》是一本完整阐述统计机器学习思想的名著。在该书中详细的论证了统计机器学习之所以区别于传统机器学习的本质,就在于统计机器学习能够精确的给出学习效果,能够解答需要的样本数等等一系列问题。与统计机器学习的精密思维相比,传统的机器学习基本上属于摸着石头过河,用传统的机器学习方法构造分类系统完全成了一种技巧,一个人做的结果可能很好,另一个人差不多的方法做出来却很差,缺乏指导和原则。 所谓VC维是对函数类的一种度量,可以简单的理解为问题的复杂程度,VC维越高,一个问题就越复杂。正是因为SVM关注的是VC维,后面我们可以看到,SVM解决问题的时候,和样本的维数是无关的(甚至样本是上万维的都可以,这使得SVM很适合用来解决文本分类的问题,当然,有这样的能力也因为引入了核函数). SVM的思想,目的就是找到一个超平面,将数据点都正确地分在超平面的两侧。那么,又怎么表示这个“都正确”呢?可以这样考虑:就是让那些“很有可能不正确”的数据点彼此分开得明显一点就可以了。对于其它“不那么可能不正确”或者说“一看就很正确”的数据点,就可以不用管了。这也是SVM名称的由来,模型是由那些支持向量(Support Vector)决定的。这也是为什么SVM对outlier不敏感s。...
2018, Oct 07 — 1 minute read
-
C++lamda表达式
C++用了很久,却很少用lambda表达式,其它其它语言倒是经常用。
C++用了很久,却很少用lambda表达式,其它其它语言倒是经常用。 C++11 提供了对匿名函数的支持,称为 Lambda 函数(也叫 Lambda 表达式)。Lambda 表达式把函数看作对象。Lambda 表达式可以像对象一样使用,比如可以将它们赋给变量和作为参数传递,还可以像函数一样对其求值。 1.lambda表达式语法...
2018, Sep 22 — 1 minute read
-
Tbb多线程笔记
1.tbb用来做什么
1.tbb用来做什么 TBB(Thread Building Blocks),获得过 17 届 Jolt Productivity Awards,是一套 C++...
2018, Sep 16 — 4 minute read
-
Python filter
1.filter()
1.filter() filter(function, iterable) 高阶函数,可以用来过滤能迭代的对象。关键是可以定制自己的过滤函数。返回一个迭代对象(python3.x) import math def is_sqr(x): return math.sqrt(x)...
2018, Sep 16 — 2 minute read
-
Python 子进程subprocess
python与系统交互,可以用命令行工具,但是命令行中的越写会越复杂,且多子进程的管理太麻烦,可以用subprocess模块来处理。此外也有其它运行子进程的方式,如popen、popen2、os.exex*等,在此只说subprocess。
python与系统交互,可以用命令行工具,但是命令行中的越写会越复杂,且多子进程的管理太麻烦,可以用subprocess模块来处理。此外也有其它运行子进程的方式,如popen、popen2、os.exex*等,在此只说subprocess。 1.subprocess模块常用函数 subprocess可以生成子进程,可以连接管道,将标准输入输出串在一起,方便使用。 run(args, *, stdin=None, input=None, stdout=None, stderr=None, shell=False,...
2018, Sep 14 — 3 minute read