支持向量机
支持向量机是一种非常强大的分类算法,它可以实现分两类,也可以实现分成多类,支持向量机与核函数的配合成功解决了逻辑回归表现出的不足之处,是数据挖掘的十大算法之一。
对于分成两类的支持向量机
在线性回归或者逻辑回归中,我们都是希望找到一个超级平面把两类不同的样本点分隔开,但是分割的线的位置我们无法确定,因为有可能存在好多这样的平面符合题意。我们最希望找到的还是“最中间”的那一个超平面。
设超平面的方程为 f(x) = wx + b;
其中 w 是平面的法向量,
又点到平面的距离公式我们可以得到点到直线的距离为 r = |wx + b| / ||w|| 假设超平面可以正确分类。wx + b >= 0 正类 wx + b < 0 反类在支持向量机中 我们为了让边界划分的更明显一点我们让 wx + b >=1 正类 wx + b <= -1 反类。下面介绍一下支持向量的概念,支持向量就是正负样本点中距离超平面最近的两个点构成的,我们的目的也是使得这两个距离相等且使他们距离超平面的距离最大,这就是支持向量机的基本思想
用数学的方式表达就是
我们假设正样本点为 1 负样本点标记为 -1 支持向量机就是使得 2 / ||w|| (两个的距离之和) 最大同时满足
y * (wx + b) >=1 这样两个条件。最小化这个可以调包,也可以自己用拉格朗日插值法和偏导数算。上面所说的支持向量机只能用于线性边界的分类,对于非线性边界的分类我们需要用支持向量机配合核函数一起使用。核函数是一种描述相似程度的函数,一般我们使用高斯核函数或者