Bootstrap

SVM算法用python实现

线性分类:

如果需要分类的数据都是线性可分的,那么直线f(x)=ax+b就可以分开了。这种方法被称为:线性分类器,一个线性分类器的学习目标便是要在n维的数据空间中找到一个超平面也就是说,数据不总是二维的,比如,三维的超平面是面。其实能有无数个超平面能将数据划分,但是我们要选择最优的进行划分。

这就有了最大间隔分类器,简称MMH, 对一个数据点进行分类,当超平面离数据点的“间隔”越大,分类的确信度也越大。所以,为了使得分类的确信度尽量高,需要让所选择的超平面能够最大化这个“间隔”值。

核函数:当是非线性分类即线性不可分的时候,需要转换高纬度,核函数就是先在低维上进行计算,将实质上的分类效果反映在高维上,避免了直接在高维上进行的复杂计算。

几种常用核函数:

h度多项式核函数(Polynomial Kernel of Degree h)

高斯径向基和函数(Gaussian radial basis function Kernel)

S型核函数(Sigmoid function Kernel)

图像分类,通常使用高斯径向基和函数,因为分类较为平滑,文字不适用高斯径向基和函数。没有标准的答案,可以尝试各种核函数,根据精确度判定。

 python代码实现:

1.导入模块

2.利用正态分布获取数字

3.超平面d(z)=wx+b,获取w,获取斜率a

4.画图画线,找出与点相切的线

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;