寻找分类决策平面

1.超平面

在2维空间中的超平面是一条线,在3维空间中的超平面是一个平面。

2.平面的法向量

如果一非零向量垂直于一平面,这向量就叫做该平面的法向量。容易知道,平面上的任一向量均与该平面的法线向量垂直。

3.超平面的正反

一个超平面可以将它所在的空间分为两半, 它的法向量指向的那一半对应的一面是它的正面, 另一面则是它的反面。如果利用数学来判断的话,需要利用到法向量 w。
超平面的正反

4.样本点到决策平面的距离

空间中任意一点 x 0 x_0 x0到超平面 S S S的距离公式: ∣ w ⋅ x 0 + b ∣ ∣ ∣ w ∣ ∣ \frac{|w\cdot x_0+b|}{||w||} wwx0+b.

推导过程:

取点空间中一点 x 0 x_0 x0,,超平面 S S S w ⋅ x + b = 0 w\cdot x+b=0 wx+b=0,其中 x 0 , w , x x_0,w,x x0,w,x均为N维向量;

设点 x 0 x_0 x0到平面 S S S的距离为 d d d,点 x 0 x_0 x0在平面 S S S上的投影点为 x 1 x_1 x1,则 x 1 x_1 x1满足 w ⋅ x 1 + b = 0 w\cdot x_1+b=0 wx1+b=0;

因为向量 x 0 x 1 → \overrightarrow{x_0x_1} x0x1 平行于 S S S平面的法向量 w w w,故有

∣ w . x 0 x 1 → ∣ = ∣ w ∣ ∣ x 0 x 1 → ∣ = w 1 2 + w 2 2 + . . . w n 2 2 d = ∣ ∣ w ∣ ∣ d |w.\overrightarrow{x_0x_1}|=|w||\overrightarrow{x_0x_1}|=\sqrt[2]{w_1^2+w_2^2+...w_n^2}d=||w||d w.x0x1 =wx0x1 =2w12+w22+...wn2 d=wd

其中||w||为向量 w w w L 2 L_2 L2范数;

又因,

w ⋅ x 0 x 1 → w\cdot \overrightarrow{x_0x_1} wx0x1

= w 1 ( x 0 1 − x 1 1 ) + w 2 ( x 0 2 − x 1 2 ) + . . . + w n ( x 0 n − x 1 n ) =w^{1}(x_{0}^{1}−x_{1}^{1})+w^{2}(x_{0}^{2}−x_{1}^{2})+...+w^{n}(x_{0}^{n}−x_{1}^{n}) =w1(x01x11)+w2(x02x12)+...+wn(x0nx1n)

= w 1 x 0 1 + w 2 x 0 2 + . . . + w n x 0 n − ( w 1 x 1 1 + w 2 x 1 2 + . . . + w n x 1 n ) =w^{1}x_{0}^{1}+w^{2}x_{0}^{2}+...+w^{n}x_{0}^{n}−(w^{1}x_{1}^{1}+w^{2}x_{1}^{2}+...+w^{n}x_{1}^{n}) =w1x01+w2x02+...+wnx0n(w1x11+w2x12+...+wnx1n)

= w ⋅ x 0 + b =w\cdot x_0+b =wx0+b

∣ w ⋅ x 0 x 1 → ∣ = ∣ w ⋅ x 0 + b ∣ = ∣ ∣ w ∣ ∣ d |w\cdot \overrightarrow{x_0x_1}|=|w\cdot x_0+b|=||w||d wx0x1 =wx0+b=wd

得, d = ∣ w ⋅ x 0 + b ∣ ∣ ∣ w ∣ ∣ d=\frac{|w\cdot x_0+b|}{||w||} d=wwx0+b

5.二分类问题

对于二分类问题,假设有m个训练样本 { ( X ( 1 ) , y ( 1 ) ) , ( X ( 2 ) , y ( 2 ) ) , . . . , ( X ( m ) , y ( m ) ) } \{ (X^{(1)},y^{(1)}), (X^{(2)},y^{(2)}),..., (X^{(m)},y^{(m)})\} {(X(1),y(1))(X(2),y(2))...(X(m),y(m))},其中, y ∈ { − 1 , 1 } y\in\{-1,1\} y{1,1}。那么,应该如何从训练样本中得到分割超平面 w ⋅ x + b = 0 w\cdot x+b=0 wx+b=0呢?

对于二分类问题,可以使用感知机模型来解决。其基本原理就是逐点修正,首先在超平面上随意取一条分类面,统计分类错误的点;然后随机对某个错误点就行修正,即变换直线的位置,使该错误点得以修正;接着再随机选择一个错误点进行纠正,分类面不断变化,直到所有的点都完全分类正确了,就得到了最佳的分类面。

感知机
对上图的二分类问题,我们试图找到图中的分隔超平面,能够分割图中的正负样本,其中,分隔超平面为:
w ⋅ x + b = 0 w\cdot x+b=0 wx+b=0
如果我们有m个样本,每个样本对应于n维特征和一个二元类别输出,如下:
  ( x 1 ( 0 ) , x 2 ( 0 ) , . . . x n ( 0 ) , y 0 ) , ( x 1 ( 1 ) , x 2 ( 1 ) , . . . x n ( 1 ) , y 1 ) , . . . ( x 1 ( m ) , x 2 ( m ) , . . . x n ( m ) , y m ) (x_1^{(0)},x_2^{(0)},...x_n^{(0)},y_0),(x_1^{(1)},x_2^{(1)},...x_n^{(1)},y_1),...(x_1^{(m)},x_2^{(m)},...x_n^{(m)},y_m) (x1(0),x2(0),...xn(0),y0),(x1(1),x2(1),...xn(1),y1),...(x1(m),x2(m),...xn(m),ym)
我们的目标是找到这样一个超平面,即:
w 0 + w 1 x 1 + . . . + w n x n = 0 w_0+w_1x_1+...+w_nx_n=0 w0+w1x1+...+wnxn=0
为了简化这个超平面的写法,我们增加一个特征 x 0 = 1 x_0=1 x0=1,这样超平面为 ∑ i = 0 n w i x i = 0 ∑_{i=0}^nw_ix_i=0 i=0nwixi=0

寻找决策面的算法过程

输入:m个训练样本 { ( X ( 1 ) , y ( 1 ) ) , ( X ( 2 ) , y ( 2 ) ) , . . . , ( X ( m ) , y ( m ) ) } \{ (X^{(1)},y^{(1)}), (X^{(2)},y^{(2)}),..., (X^{(m)},y^{(m)})\} {(X(1),y(1))(X(2),y(2))...(X(m),y(m))},其中 y ∈ { − 1 , 1 } y\in\{-1,1\} y{1,1}

输出: w , b w,b wb(即找到了分类的决策平面)

  1. 赋初值: w 0 , b 0 w_0,b_0 w0b0
  2. 从训练集中选取一个样本 ( x i , y i ) (x_i,y_i) xiyi
  3. 判断该数据点是否为当前模型的误分类点,即判断 y i ( w ⋅ x i + b ) y_i(w\cdot x_i+b) yi(wxi+b)的值,是大于0还是小于0,如果 y i ( w ⋅ x i + b ) &lt; 0 y_i(w\cdot x_i+b)&lt;0 yi(wxi+b)<0则更新;
    w = w + η y i x i w=w+\eta y_ix_i w=w+ηyixi
    b = b + η y i b=b+\eta y_i b=b+ηyi
  4. 转到2,直到训练集中没有误分类点
利用余弦相似度进行分类,慢慢向点积靠拢

现在我们假设,有m个训练样本 ( x 1 ( 0 ) , x 2 ( 0 ) , . . . x n ( 0 ) , y 0 ) , ( x 1 ( 1 ) , x 2 ( 1 ) , . . . x n ( 1 ) , y 1 ) , . . . ( x 1 ( m ) , x 2 ( m ) , . . . x n ( m ) , y m ) (x_1^{(0)},x_2^{(0)},...x_n^{(0)},y_0),(x_1^{(1)},x_2^{(1)},...x_n^{(1)},y_1),...(x_1^{(m)},x_2^{(m)},...x_n^{(m)},y_m) (x1(0),x2(0),...xn(0),y0),(x1(1),x2(1),...xn(1),y1),...(x1(m),x2(m),...xn(m),ym) y i y_i yi是第 i i i个数据的分类标签,我们的训练样本可以分成两个类别,所以标签可以假定为 + + + − - ,其中每一类的样本个数为 n + n_+ n+ n − n_- n

正样本的中心点 C + = 1 n + ∑ y i = + x i C_+=\frac{1}{n_+} \sum_{y_i=+}x_i C+=n+1yi=+xi,负样本的中心点 C − = 1 n − ∑ y i = − x i C_-=\frac{1}{n_-} \sum_{y_i=-}x_i C=n1yi=xi,

C + C_+ C+ C − C_- C有一条差向量 w = C + − C − w=C_+-C_- w=C+C,而 w w w的中心点为 C C C,所以在 C C C点垂直于 w w w的超平面就是两类的分类边界。

而想要把某个样本分为 + + +的依据为,从 C C C点到样本点的向量差与 w w w向量的夹角应该小于90°,也即 0 &lt; c o s θ &lt; 1 0&lt;cos\theta&lt;1 0<cosθ<1;反之, 0 &gt; c o s θ &gt; − 1 0&gt;cos \theta &gt;-1 0>cosθ>1。即,当内积为正,那就说明在分类1,内积为负,就说明在分类2。即:
y = s g n ( &lt; x i − C , w &gt; ) y=sgn(&lt;x_i-C,w&gt;) y=sgn(<xiCw>)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值